美文网首页
1 实验1:基于静态Ingress Replication实现C

1 实验1:基于静态Ingress Replication实现C

作者: 小岳_ | 来源:发表于2020-03-23 21:31 被阅读0次

    一、VxLAN简介

    1.1、VxLAN简要说明

    • VxLAN是一种大二层网络技术,VxLAN也是SDN的基础;
    • VxLAN是网络Overlay技术的一种实现;
    • VxLAN具有良好的扩展性,支持数据中心多租户环境,解决了传统VLAN的局限性;
    • VxLAN更适合云环境,解耦了物理网络(Underlay)和虚拟网络(Overlay),将物理网络当作网络功能池,和服务器虚拟化资源池一样,可实现虚拟网络的按需交付,即由上层应用驱动虚拟网络;
    • VxLAN由RFC7348定义。

    1.2、 VxLAN名词释义

    • VTEP(Virtual Tunnel End Point):作为VxLAN隧道的起始点或终结点,负责VXLAN报文的封装与解封装,每个VTEP应具备两个接口:一个是本地桥接接口,负责原始以太帧接收和发送,另一个是IP接口,负责VXLAN数据帧接收和发送。VTEP可以是物理交换机或软件交换机;
    • VxLAN Gateway:负责VXLAN和非VXLAN之间、不同VXLAN之间的网络通讯;
    • VNI(Virtual Network Identifier):虚拟网络标识符,即VxLAN ID,用于划分不同的租户,需要和租户的VLAN ID进行映射绑定。不同租户通过不同的VNI实现隔离,每个租户的设备可以位于同一数据中心,也可以位于不同的数据中心,VNI类似传统网络中的VLAN,但是VNI比传统的VLAN容量要大;
    • VTI(VxLAN Tunnel Interface):VxLAN隧道接口,思科叫NVE(Network Virtual Interface)接口,主要用于封装/解封装VxLAN的UDP头,还用于建立VxLAN的隧道;
    • VxLAN Segment:指VxLAN的网络,一个VNI就是一个VxLAN Segment,类似于传统VLAN的概念,可以类比为一个广播域,但它运行在三层网络之上。

    二、VxLAN报文封装

    image.png
    image.png
    • 从以上两张图中可看出,VxLAN采用"MAC in UDP"的封装方式;
    • VxLAN在原始帧前添加了8个字节的VxLAN头,添加了8个字节的UDP头,加了20个字节的新IP头,加了14字节的新MAC头,共新加50字节;
    • VxLAN给原始帧新增了50字节的开销,所以在项目中使用VxLAN时应调整Underlay网络的MTU以减少报文分片;
    • VxLAN头中的"VxLAN"字段第5位(上图中红色箭头)如果为1,表示使用VxLAN;
    • VxLAN头中的"VNI"字段表示VxLAN ID,共24位(上图中红色箭头),所以VxLAN ID容量为:2^24=16,777,216个。

    三、VxLAN的实现和部署方式

    实现方式:

    • 单播:单播静态方式、BGP EVPN方式;
    • 组播:标准的组播方式。

    部署方式:

    • 单机方式:传统网络部署方式,按照网络规划登录到每台设备上进行配置。云计算数据中心中,此方式无法协同云平台实现网络的自动化部署;
    • 控制器方式:在大二层网络中,为了方便控制与部署引入了控制器。控制器是统一的网络控制平台,实现网络资源统一协调及管理,协同云平台可实现业务和网络的自动化部署。

    四、静态Ingress Replication实现VxLAN实验

    4.1 实验环境

    工具 版本 备注
    EVE-NG 2.0.3-105 模拟器
    Cisco Nexus 9000v 7.0.3.I7.8 支持VxLAN的交换机,拓扑中的N9K1和N9K-2
    IOL 15.7.3 用于模拟路由器,拓扑中的DC1、SP和DC2
    Wireshark 3.2.2 抓包软件

    4.2 实验拓扑

    image.png
    • Underlay:N9K-1的E1/1口、N9K-2的E1/1口、DC1、SP和DC2运行OSPF实现Underlay网络的互联互通;
    • Overlay:实现VPC6能ping通VPC7。

    4.3 实验配置

    4.3.1 配置Underlay

    4.3.1.1 接口IP与VLAN配置

    N9K-1配置:

    vlan 10
    interface Ethernet1/2
      switchport access vlan 10
      spanning-tree port type edge
    interface Ethernet1/1
      no switchport
      ip address 20.1.1.1/30
      no shutdown
    interface loopback0
      ip address 1.1.1.1/32
    

    DC1配置:

    interface Ethernet0/0
     ip address 20.1.1.2 255.255.255.252
     no shutdown
    interface Ethernet0/1
     ip address 40.1.1.1 255.255.255.252
     no shutdown
    

    SP配置:

    interface Ethernet0/1
     ip address 40.1.1.2 255.255.255.252
     no shutdown
    interface Ethernet0/2
     ip address 50.1.1.1 255.255.255.252
     no shutdown
    

    DC2配置:

    interface Ethernet0/2
     ip address 50.1.1.2 255.255.255.252
     no shutdown
    interface Ethernet0/0
     ip address 30.1.1.2 255.255.255.252
     no shutdown
    

    N9K-2配置:

    vlan 10
    interface Ethernet1/2
      switchport access vlan 10
      spanning-tree port type edge
    interface Ethernet1/1
      no switchport
      ip address 30.1.1.1/30
      no shutdown
    interface loopback0
      ip address 2.2.2.2/32
    

    VPC6设置:

    VPCS> ip  192.168.1.1/24
    Checking for duplicate address...
    PC1 : 192.168.1.1 255.255.255.0
    

    VPC7设置:

    VPCS> ip 192.168.1.2/24
    Checking for duplicate address...
    PC1 : 192.168.1.2 255.255.255.0
    

    4.3.1.2 OSPF配置

    N9K-1配置:

    feature ospf
    router ospf 1
      router-id 1.1.1.1
    interface loopback0
      ip router ospf 1 area 0.0.0.0
    interface Ethernet1/1
      ip router ospf 1 area 0.0.0.0
    

    DC1配置:

    router ospf 1
     network 20.1.1.0 0.0.0.3 area 0
     network 40.1.1.0 0.0.0.3 area 0
    

    SP配置:

    router ospf 1
     network 40.1.1.0 0.0.0.3 area 0
     network 50.1.1.0 0.0.0.3 area 0
    

    DC2配置:

    router ospf 1
     network 30.1.1.0 0.0.0.3 area 0
     network 50.1.1.0 0.0.0.3 area 0
    

    N9K-2配置:

    feature ospf
    router ospf 1
      router-id 2.2.2.2
    interface loopback0
      ip router ospf 1 area 0.0.0.0
    interface Ethernet1/1
      ip router ospf 1 area 0.0.0.0
    

    查看N9K-1 OSPF路由表:

    N9K-1# show  ip route  ospf
    IP Route Table for VRF "default"
    '*' denotes best ucast next-hop
    '**' denotes best mcast next-hop
    '[x/y]' denotes [preference/metric]
    '%<string>' in via output denotes VRF <string>
    
    2.2.2.2/32, ubest/mbest: 1/0
        *via 20.1.1.2, Eth1/1, [110/71], 00:02:15, ospf-1, intra
    30.1.1.0/30, ubest/mbest: 1/0
        *via 20.1.1.2, Eth1/1, [110/70], 00:02:15, ospf-1, intra
    40.1.1.0/30, ubest/mbest: 1/0
        *via 20.1.1.2, Eth1/1, [110/50], 00:04:59, ospf-1, intra
    50.1.1.0/30, ubest/mbest: 1/0
        *via 20.1.1.2, Eth1/1, [110/60], 00:04:59, ospf-1, intra
    

    查看N9K-2 OSPF路由表:

    N9K-2# show  ip route  ospf
    IP Route Table for VRF "default"
    '*' denotes best ucast next-hop
    '**' denotes best mcast next-hop
    '[x/y]' denotes [preference/metric]
    '%<string>' in via output denotes VRF <string>
    
    1.1.1.1/32, ubest/mbest: 1/0
        *via 30.1.1.2, Eth1/1, [110/71], 00:03:10, ospf-1, intra
    20.1.1.0/30, ubest/mbest: 1/0
        *via 30.1.1.2, Eth1/1, [110/70], 00:03:10, ospf-1, intra
    40.1.1.0/30, ubest/mbest: 1/0
        *via 30.1.1.2, Eth1/1, [110/60], 00:03:10, ospf-1, intra
    50.1.1.0/30, ubest/mbest: 1/0
        *via 30.1.1.2, Eth1/1, [110/50], 00:03:10, ospf-1, intra
    

    4.3.1.3 连通性测试

    N9K-1# ping 2.2.2.2 source  1.1.1.1
    PING 2.2.2.2 (2.2.2.2) from 1.1.1.1: 56 data bytes
    64 bytes from 2.2.2.2: icmp_seq=0 ttl=251 time=11.635 ms
    64 bytes from 2.2.2.2: icmp_seq=1 ttl=251 time=12.838 ms
    64 bytes from 2.2.2.2: icmp_seq=2 ttl=251 time=15.182 ms
    64 bytes from 2.2.2.2: icmp_seq=3 ttl=251 time=10.633 ms
    64 bytes from 2.2.2.2: icmp_seq=4 ttl=251 time=10.743 ms
    
    --- 2.2.2.2 ping statistics ---
    5 packets transmitted, 5 packets received, 0.00% packet loss
    round-trip min/avg/max = 10.633/12.206/15.182 ms
    
    N9K-2# ping 1.1.1.1 source 2.2.2.2
    PING 1.1.1.1 (1.1.1.1) from 2.2.2.2: 56 data bytes
    64 bytes from 1.1.1.1: icmp_seq=0 ttl=251 time=45.525 ms
    64 bytes from 1.1.1.1: icmp_seq=1 ttl=251 time=14.746 ms
    64 bytes from 1.1.1.1: icmp_seq=2 ttl=251 time=11.07 ms
    64 bytes from 1.1.1.1: icmp_seq=3 ttl=251 time=10.871 ms
    64 bytes from 1.1.1.1: icmp_seq=4 ttl=251 time=11.149 ms
    
    --- 1.1.1.1 ping statistics ---
    5 packets transmitted, 5 packets received, 0.00% packet loss
    round-trip min/avg/max = 10.871/18.672/45.525 ms
    

    4.3.2 配置Overlay(static Ingress Replication VxLAN)

    基于"Static Ingress Replication"实现的VxLAN,是流量驱动式的MAC地址泛洪和学习,没有控制层面。

    4.3.2.1 配置VTEP(N9K1和N9K-2)

    N9K-1配置:

    N9K-1(config)# feature nv overlay 
    N9K-1(config)# feature vn-segment-vlan-based 
    N9K-1(config)# vlan 10 
    N9K-1(config-vlan)# vn-segment 10010
    N9K-1(config-if-nve)#interface nve1
      no shutdown
      source-interface loopback0
      member vni 10010
        ingress-replication protocol static
          peer-ip 2.2.2.2
    

    N9K-2配置:

    N9K-2(config)# feature nv overlay 
    N9K-2(config)# feature vn-segment-vlan-based 
    N9K-2(config)# vlan 10 
    N9K-2(config-vlan)# vn-segment 10010
    N9K-2(config-if-nve)#interface nve1
      no shutdown
      source-interface loopback0
      member vni 10010
        ingress-replication protocol static
          peer-ip 1.1.1.1
    

    连通性测试:
    从VPC6 ping VPC7

    VPCS> ping  192.168.1.2
    
    84 bytes from 192.168.1.2 icmp_seq=1 ttl=64 time=52.581 ms
    84 bytes from 192.168.1.2 icmp_seq=2 ttl=64 time=38.518 ms
    84 bytes from 192.168.1.2 icmp_seq=3 ttl=64 time=34.455 ms
    84 bytes from 192.168.1.2 icmp_seq=4 ttl=64 time=39.765 ms
    84 bytes from 192.168.1.2 icmp_seq=5 ttl=64 time=35.878 ms
    

    从VPC7 ping VPC6

    VPCS> ping  192.168.1.1
    
    84 bytes from 192.168.1.1 icmp_seq=1 ttl=64 time=36.590 ms
    84 bytes from 192.168.1.1 icmp_seq=2 ttl=64 time=34.301 ms
    84 bytes from 192.168.1.1 icmp_seq=3 ttl=64 time=40.432 ms
    84 bytes from 192.168.1.1 icmp_seq=4 ttl=64 time=50.963 ms
    84 bytes from 192.168.1.1 icmp_seq=5 ttl=64 time=34.739 ms
    

    4.3.2.2 状态查看

    查看NVE接口状态

    N9K-1# show nve interface 
    Interface: nve1, State: Up, encapsulation: VXLAN
     VPC Capability: VPC-VIP-Only [not-notified]
     Local Router MAC: 5000.0001.0007
     Host Learning Mode: Data-Plane
     Source-Interface: loopback0 (primary: 1.1.1.1, secondary: 0.0.0.0)
    

    查看NVE下的VNI状态,其中"DP"为数据层面

    N9K-1# show nve vni 
    Codes: CP - Control Plane        DP - Data Plane          
           UC - Unconfigured         SA - Suppress ARP        
           SU - Suppress Unknown Unicast 
           Xconn - Crossconnect      
           MS-IR - Multisite Ingress Replication
     
    Interface VNI      Multicast-group   State Mode Type [BD/VRF]      Flags
    --------- -------- ----------------- ----- ---- ------------------ -----
    nve1      10010    UnicastStatic     Up    DP   L2 [10] 
    

    查看NVE邻居、NVE数据层面、NVE Ingress-replication信息

    N9K-1# show nve peers 
    Interface Peer-IP          State LearnType Uptime   Router-Mac       
    --------- ---------------  ----- --------- -------- -----------------
    nve1      2.2.2.2          Up    DP        00:17:33 n/a              
    
    N9K-1# 
    N9K-1# show nve vni data-plane 
    Codes: CP - Control Plane        DP - Data Plane          
           UC - Unconfigured         SA - Suppress ARP        
           SU - Suppress Unknown Unicast 
           Xconn - Crossconnect      
           MS-IR - Multisite Ingress Replication
     
    Interface VNI      Multicast-group   State Mode Type [BD/VRF]      Flags
    --------- -------- ----------------- ----- ---- ------------------ -----
    nve1      10010    UnicastStatic     Up    DP   L2 [10]                 
    N9K-1#         
    N9K-1# show nve vni ingress-replication 
    Interface VNI      Replication List  Source  Up Time      
    --------- -------- ----------------- ------- -------      
    
    nve1      10010    2.2.2.2           CLI     00:17:52 
    

    查看N9K-1的VxLAN MAC地址表
    N9K-1的VxLAN MAC地址表中,0050.7966.6806为VPC6的MAC地址,0050.7966.6807为VPC7的MAC地址。

    N9K-1# show  system internal l2fwder  mac 
    Legend: 
            * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
            age - seconds since last seen,+ - primary entry using vPC Peer-Link,
            (T) - True, (F) - False, C - ControlPlane MAC
       VLAN     MAC Address      Type      age     Secure NTFY Ports
    ---------+-----------------+--------+---------+------+----+------------------
    *    10    0050.7966.6806   dynamic   00:00:20   F     F     Eth1/2  
    *    10    0050.7966.6807   dynamic   00:00:20   F     F  (0x47000001) nve-peer1
     2.2.2.2 
    

    查看VPC6和VPC7的MAC地址

    VPC6
    VPCS> show ip
    NAME        : VPCS[1]
    IP/MASK     : 192.168.1.1/24
    GATEWAY     : 0.0.0.0
    DNS         : 
    MAC         : 00:50:79:66:68:06
    LPORT       : 20000
    RHOST:PORT  : 127.0.0.1:30000
    MTU         : 1500
    
    VPC7
    VPCS> show ip 
    NAME        : VPCS[1]
    IP/MASK     : 192.168.1.2/24
    GATEWAY     : 0.0.0.0
    DNS         : 
    MAC         : 00:50:79:66:68:07
    LPORT       : 20000
    RHOST:PORT  : 127.0.0.1:30000
    MTU         : 1500
    

    4.3.3 数据转发流程

    验证:从VPC6 ping VPC7,即从192.168.1.1 ping 192.168.1.2

    1. VPC6发出ARP请求报文,报文中源MAC为VPC6的MAC,目的MAC为广播MAC即FF:FF:FF:FF:FF:FF,ARP协议中源IP为192.168.1.1,目的IP为192.168.1.2;
    2. VTEP N9K-1收到VPC6的ARP请求报文,除了转发给本地的Trunk(已放行VLAN 10)和Access Vlan10接口外,还要对ARP请求进行VxLAN的封装,封装后VxLAN头部中VNI值为10010,外层新帧头源MAC为N9K-1 E1/1口的MAC,目的MAC为DC1 E0/0口的MAC,新IP包头即外层源IP为1.1.1.1,目的IP为2.2.2.2,被封装的原始数据包中源目MAC和源目IP不变(BUM流量,即广播、未知单播和组播流量会发给这个VNI下的所有peer)
    3. 通过Underlay网络数据包抵达VTEP N9K-2,N9K-2收到后解封装VxLAN报文,然后检查报文中的VxLAN ID:10010是否有本地的VLAN与其匹配,N9K-2发现VxLAN ID:10010对应本地的VLAN 10,这时N9K-2将原始ARP广播报文发送至VPC7,N9K-2同时也会记录报文中的VxLAN ID、原始报文的源MAC、外层的源IP信息,以构建VxLAN MAC地址表;
    4. VPC7收到ARP请求报文后,开始以单播发送ARP回复报文;
    5. N9K-2收到来自VPC7的单播报文后,由于之前构建的VxLAN MAC地址表中含有VPC6的MAC信息,N9K-2了解到去往VPC6的MAC下一跳为VTEP N9K-1即1.1.1.1,这时单播ARP回复报文被VxLAN封装后通过Underlay网络到达VTEP N9K-1(N9K-2发出报文时:报文的外层源IP为2.2.2.2,目的IP为1.1.1.1,外层源MAC为N9K-2 E1/1口的MAC,目的MAC为DC2的E0/0口的MAC。内层源IP为192.168.1.2,目的IP为192.168.1.1,内层源MAC为VPC7的MAC,目的MAC为VPC6的MAC);
    6. VTEP N9K-1收到单播ARP回复报文进行VxLAN解封装,找到报文中VxLAN ID与本地VLAN对应关系并转发报文,N9K-1同时也会记录报文中的VxLAN ID、原始报文的源MAC、外层的源IP信息,以构建VxLAN MAC地址表;
    7. 此时VTEP N9K-1和VTEP N9K-2完成控制层面的VxLAN MAC地址表构建,后续的ICMP报文均开始采用单播传输。

    4.3.4 抓包分析

    4.3.4.1 设备MAC信息表

    下表中的MAC地址对应报文中的MAC地址。

    设备 接口 MAC地址
    N9K-1 E1/1 50:00:00:01:00:07
    DC1 E0/0 aa:bb:cc:0030:00
    N9K-2 E1/1 50:00:00:02:00:07
    DC2 E0/0 aa:bb:cc:00:50:00
    VPC6 Eth0 00:50:79:66:68:06
    VPC7 Eth0 00:50:79:66:68:07

    4.3.4.2 VPC6 Eth0口抓包

    1. ARP请求报文


      image.png
    2. ARP回复报文


      image.png

    4.3.4.3 N9K-1 E1/1口抓包

    1. 使用icmp ping
    VPCS> ping 192.168.1.2
    84 bytes from 192.168.1.2 icmp_seq=1 ttl=64 time=51.790 ms
    84 bytes from 192.168.1.2 icmp_seq=2 ttl=64 time=33.325 ms
    84 bytes from 192.168.1.2 icmp_seq=3 ttl=64 time=39.743 ms
    84 bytes from 192.168.1.2 icmp_seq=4 ttl=64 time=34.220 ms
    84 bytes from 192.168.1.2 icmp_seq=5 ttl=64 time=44.490 ms
    

    报文分析,可看出VxLAN采用"MAC in UDP"封装,UDP中源端口根据Hash随机,目的端口为4789。


    image.png
    1. 使用TCP ping
    VPCS> ping 192.168.1.2 -3
    Connect   7@192.168.1.2 seq=1 ttl=64 time=36.241 ms
    SendData  7@192.168.1.2 seq=1 ttl=64 time=44.041 ms
    Close     7@192.168.1.2 seq=1 ttl=64 time=46.372 ms
    Connect   7@192.168.1.2 seq=2 ttl=64 time=48.133 ms
    SendData  7@192.168.1.2 seq=2 ttl=64 time=34.389 ms
    Close     7@192.168.1.2 seq=2 ttl=64 time=58.858 ms
    Connect   7@192.168.1.2 seq=3 ttl=64 time=49.761 ms
    SendData  7@192.168.1.2 seq=3 ttl=64 time=35.541 ms
    Close     7@192.168.1.2 seq=3 ttl=64 time=57.278 ms
    Connect   7@192.168.1.2 seq=4 ttl=64 time=37.148 ms
    SendData  7@192.168.1.2 seq=4 ttl=64 time=34.683 ms
    Close     7@192.168.1.2 seq=4 ttl=64 time=50.096 ms
    Connect   7@192.168.1.2 seq=5 ttl=64 time=36.775 ms
    SendData  7@192.168.1.2 seq=5 ttl=64 time=37.062 ms
    Close     7@192.168.1.2 seq=5 ttl=64 time=50.684 ms
    

    报文分析,可看出VxLAN采用"MAC in UDP"封装,UDP中源端口根据Hash随机,目的端口为4789。


    image.png
    1. 使用UDP ping
    VPCS> ping  192.168.1.2 -2
    84 bytes from 192.168.1.2 udp_seq=1 ttl=64 time=48.823 ms
    84 bytes from 192.168.1.2 udp_seq=2 ttl=64 time=56.103 ms
    84 bytes from 192.168.1.2 udp_seq=3 ttl=64 time=34.814 ms
    84 bytes from 192.168.1.2 udp_seq=4 ttl=64 time=37.074 ms
    84 bytes from 192.168.1.2 udp_seq=5 ttl=64 time=34.839 ms
    

    报文分析同上


    image.png

    4.3.4.4 SP E0/2口抓包

    1. 使用icmp ping
    VPCS> ping  192.168.1.2   
    84 bytes from 192.168.1.2 icmp_seq=1 ttl=64 time=38.286 ms
    84 bytes from 192.168.1.2 icmp_seq=2 ttl=64 time=34.641 ms
    84 bytes from 192.168.1.2 icmp_seq=3 ttl=64 time=36.486 ms
    84 bytes from 192.168.1.2 icmp_seq=4 ttl=64 time=35.365 ms
    84 bytes from 192.168.1.2 icmp_seq=5 ttl=64 time=38.622 ms
    

    报文抓取,分析同上


    image.png

    4.3.5 VxLAN网关

    4.3.5.1 集中式网关配置说明

    通过三层网关能实现不同子网之间的互通。

    基于泛洪学习(非BGP EVPN)的VxLAN网关配置注意:

    image.png
    • NX-OS版本7.0(3)I1(2)或之前,集中式网关必须在外部路由设备上配置;
    • NX-OS版本7.0(3)I2(1)或之后,为保障可靠性,集中式网关建议配置在一对运行了vPC+FHRP(HSRP/VRRP)协议的设备上;
    • NX-OS版本7.0(3)I2(1)或之后,仅支持集中式3层网关,不支持任播网关;
    • 需配置"hardware access-list tcam region arp-ether size double-wide"命令以使保障正常的L3泛洪和学习,使用此命令之前,必须释放现有TCAM区域的空间占用;
      a,通过"show hardware access-list tcam region"命令查看当前TCAM的分配情况;
      b,举例:通过"hardware access-list tcam region racl 512"命令释放"racl"占用的TCAM空间;
      c,举例:通过"hardware access-list tcam region arp-ether 256 double-wide"命令为"arp-ether"分配TCAM空间;
      d,配置完毕后保存并重启设备生效;
      e,注:本实验未配置"hardware access-list tcam region arp-ether size double-wide"命令。
    • 基于BGP EVPN实现的VxLAN,建议在所有VTEP上配置分布式任播网关。

    参考链接:

    https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/vxlan/configuration/guide/b_Cisco_Nexus_9000_Series_NX-OS_VXLAN_Configuration_Guide_7x/b_Cisco_Nexus_9000_Series_NX-OS_VXLAN_Configuration_Guide_7x_chapter_011.html

    4.3.5.2 在VTEP上配置集中式三层网关

    由于本实验未规划vPC环境,所以不在本篇展示vPC环境下的VxLAN配置,vPC环境下的VxLAN将在另外一篇中展示。
    N9K-1变更后的配置:

    vlan 20
      vn-segment 10020
    interface nve1
      no shutdown
      source-interface loopback0
      member vni 10010
        ingress-replication protocol static
          peer-ip 2.2.2.2
      member vni 10020
        ingress-replication protocol static
          peer-ip 2.2.2.2
    feature interface-vlan
    interface Vlan10
      no shutdown
      ip address 192.168.1.254/24
    interface Vlan20
      no shutdown
      ip address 192.168.2.254/24
    

    N9K-2变更后的配置:

    vlan 20
      vn-segment 10020
    interface nve1
      no shutdown
      source-interface loopback0 
     member vni 10020
        ingress-replication protocol static
          peer-ip 1.1.1.1
    interface Ethernet1/2
      switchport access vlan 20
    

    VPC7变更后的配置:

    VPCS> show ip all
    NAME   IP/MASK              GATEWAY           MAC                DNS
    VPCS1  192.168.2.1/24       192.168.2.254     00:50:79:66:68:07  
    

    连通性测试:
    VPC6 ping VPC7:

    VPCS> ping  192.168.2.1
    84 bytes from 192.168.2.1 icmp_seq=1 ttl=63 time=71.132 ms
    84 bytes from 192.168.2.1 icmp_seq=2 ttl=63 time=41.996 ms
    84 bytes from 192.168.2.1 icmp_seq=3 ttl=63 time=44.948 ms
    84 bytes from 192.168.2.1 icmp_seq=4 ttl=63 time=113.173 ms
    84 bytes from 192.168.2.1 icmp_seq=5 ttl=63 time=40.646 ms
    

    VPC7 ping VPC6:

    VPCS> ping  192.168.1.1
    84 bytes from 192.168.1.1 icmp_seq=1 ttl=63 time=42.753 ms
    84 bytes from 192.168.1.1 icmp_seq=2 ttl=63 time=45.416 ms
    84 bytes from 192.168.1.1 icmp_seq=3 ttl=63 time=38.233 ms
    84 bytes from 192.168.1.1 icmp_seq=4 ttl=63 time=45.141 ms
    84 bytes from 192.168.1.1 icmp_seq=5 ttl=63 time=39.792 ms
    

    数据流分析:

    • 当VPC7 ping VPC6时,VPC7发现目的IP为非本地直连网段,所以会将流量通过VxLAN隧道交由网关即192.168.2.254处理;
    • 由于VPC7并不知道网关的MAC地址,所以需发起ARP请求以获取网关的MAC,在N9K-2的E1/1口抓包,可看到数据包内层二层帧头源MAC为00:50:79:66:68:07,目的MAC为ff:ff:ff:ff:ff:ff,此ARP请求(属于BUM中的广播)报文会被封装进VxLAN然后被泛洪到N9K-1;
    • N9K-1收到VxLAN报文并解封装后,N9K-1的SVI 20以单播回复来自VPC7的ARP请求,至此第一个ICMP包结束,由于ping第一个ICMP包ARP请求的时间超过了ping ICMP包连续发送的间隔时间,通常跨网段ping测试时第一个包会丢包;
    • 第二个ICMP包,N9K-1解封装后发现报文中目标IP为192.168.1.1,查询路由表后发现为本地直连路由,N9K-1将直接进行ARP/MAC地址表查询,然后将流量从E1/2口发出,此时流量到达VPC6;
    • VPC6回复报文原理同上,此处不再赘述。

    N9K-1 SVI 20的MAC地址:

    N9K-1# show interface  vlan 20
    Vlan20 is up, line protocol is up, autostate enabled
      Hardware is EtherSVI, address is 5000.0001.0007
      Internet Address is 192.168.2.254/24
      MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
       reliability 255/255, txload 1/255, rxload 1/255
      Encapsulation ARPA, loopback not set
      Keepalive not supported
      ARP type: ARPA
      Last clearing of "show interface" counters never
      L3 in Switched:
        ucast: 0 pkts, 0 bytes
    

    N9K-2 E1/1口抓包:
    ARP请求报文:

    image.png
    ARP回复报文:
    image.png

    4.3.5.3 在外部路由设备上配置集中式网关

    本实验采用单臂路由方式,SW3作为外部路由设备。
    N9K-1变更后的配置:

    N9K-1(config)# no interface vlan 10
    N9K-1(config)# no interface vlan 20
    N9K-1(config)# no feature interface-vlan 
    interface nve1
      no shutdown
      source-interface loopback0
      member vni 10010
        ingress-replication protocol static
          peer-ip 2.2.2.2
    

    N9K-2变更后的配置:

    interface nve1
      no shutdown
      source-interface loopback0
      member vni 10010
        ingress-replication protocol static
          peer-ip 1.1.1.1
      member vni 10020
        ingress-replication protocol static
          peer-ip 1.1.1.1
    interface Ethernet1/3
      switchport mode trunk
      switchport trunk allowed vlan 10,20
    

    SW1配置:

    ip routing
    interface Ethernet0/0
     no ip address
    interface Ethernet0/0.1
     encapsulation dot1Q 10
     ip address 192.168.1.254 255.255.255.0
    interface Ethernet0/0.2
     encapsulation dot1Q 20
     ip address 192.168.2.254 255.255.255.0
    

    连通性测试:
    VPC6 ping VPC7:

    VPCS> ping  192.168.2.1
    84 bytes from 192.168.2.1 icmp_seq=1 ttl=63 time=59.828 ms
    84 bytes from 192.168.2.1 icmp_seq=2 ttl=63 time=83.546 ms
    84 bytes from 192.168.2.1 icmp_seq=3 ttl=63 time=60.527 ms
    84 bytes from 192.168.2.1 icmp_seq=4 ttl=63 time=63.410 ms
    84 bytes from 192.168.2.1 icmp_seq=5 ttl=63 time=61.804 ms
    

    VPC7 ping VPC6:

    VPCS> ping  192.168.1.1
    84 bytes from 192.168.1.1 icmp_seq=1 ttl=63 time=131.247 ms
    84 bytes from 192.168.1.1 icmp_seq=2 ttl=63 time=61.279 ms
    84 bytes from 192.168.1.1 icmp_seq=3 ttl=63 time=102.038 ms
    84 bytes from 192.168.1.1 icmp_seq=4 ttl=63 time=63.945 ms
    84 bytes from 192.168.1.1 icmp_seq=5 ttl=63 time=65.245 ms
    
    • 以上在VTEP上配置集中式网关和在外部路由设备上配置集中式网关时,应注意VTEP上NVE接口下VNI的映射关系;
    • 在一个VTEP上配置集中式网关或外部路由设作为网关连接到这个VTEP,那么这个Ingress VTEP上应有完整的VNI,否则流量无法被封装进VxLAN隧道!

    相关文章

      网友评论

          本文标题:1 实验1:基于静态Ingress Replication实现C

          本文链接:https://www.haomeiwen.com/subject/zrbwyhtx.html