SD-WAN
集团多分支节点智能化组网
发布时间:2021-09-07 11:30:09 作者:颜采蘋阅读:0
VXLAN的运行机制为:
(1) 发现远端VTEP,在VTEP之间建立VXLAN隧道,并将VXLAN隧道与VXLAN关联。
(2) 识别接收到的报文所属的VXLAN,以便将报文的源MAC地址学习到VXLAN对应的VSI,并在该VSI内转发该报文。
(3) 学习虚拟机的MAC地址。
(4) 根据学习到的MAC地址表项转发报文。
VXLAN中没有定义控制平面,手工配置VXLAN 隧道,通过流量泛洪的方式进行主机地址的学习。这种方式实现上较为简单,但是会导致网络中存在很多泛洪流量、网络扩展困难。
为了解决上述问题,在VXLAN中引入了EVPN作为VXLAN的控制平面。为了支持EVPN,MP-BGP在L2VPN地址族下定义了新的子地址族——EVPN地址族,并新增了如下EVPN NLRI(Network Layer Reachability Information,网络层可达性信息),即EVPN路由:
Ethernet Auto-discovery Route:以太网自动发现路由
用来在站点多归属组网中通告ES信息
MAC/IP Advertisement Route:MAC/IP发布路由
用来通告MAC地址和主机路由信息(即ARP信息)
Inclusive Multicast Ethernet Tag Route:包含性组播以太网标签路由,又称为IMET路由
用来通告VTEP及其所属VXLAN信息,以实现自动发现VTEP、自动建立VXLAN隧道和自动关联VXLAN与VXLAN隧道
Ethernet Segment Route:以太网段路由
用来通告ES及其连接的VTEP信息
IP Prefix advertisement route:IP前缀路由
用来以IP前缀的形式通告BGP IPv4单播路由
其中以太网自动发现路由和以太网段路由是用于EVPN ESI多活场景,常见的主要是另外三类路由。
EVPN具有如下特点:
简化配置:通过MP-BGP实现VTEP自动发现、VXLAN隧道自动建立、VXLAN隧道与VXLAN自动关联,无需用户手工配置,降低网络部署难度。
分离控制平面与数据平面:控制平面负责发布路由信息,数据平面负责转发报文,分工明确,易于管理。
支持对称IRB(Integrated Routing and Bridging,集成的路由和桥接):MP-BGP同时发布二层MAC地址和三层路由信息,VTEP既可以进行二层转发,也可以进行三层路由。这样,不仅可以保证流量采用最优路径转发,还可以减少广播流量。
接下来看看EVPN转发二层流量和EVPN网关转发三层流量是如何部署的,转发三层流量本次采用集中式EVPN网关。
R1、R3为与服务器连接的VTEP设备;R2为与广域网连接的集中式EVPN网关设备;R4为RR,负责在路由器之间反射BGP路由。
虚拟机VM 1和VM 3属于VXLAN 10;VM 2和VM 4属于VXLAN 20。相同VXLAN之间可以二层互通,不同VXLAN之间、VXLAN与广域网之间可以通过集中式EVPN网关互通。
1.配置IP地址和单播路由协议
在VM 1和VM 3上指定网关地址为10.1.1.1;在VM 2和VM 4上指定网关地址为20.1.1.1。(具体配置过程略)
# 配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保路由器之间路由可达。
R1
system-view
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
interface GigabitEthernet0/1
ip address 14.1.1.1 255.255.255.0
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 14.1.1.0 0.0.0.255
R2
system-view
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
interface GigabitEthernet0/1
ip address 24.1.1.2 255.255.255.0
interface GigabitEthernet0/0
ip address 25.1.1.2 255.255.255.0
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 24.1.1.0 0.0.0.255
R3
system-view
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
interface GigabitEthernet0/1
ip address 34.1.1.3 255.255.255.0
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 34.1.1.0 0.0.0.255
R4
system-view
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
interface GigabitEthernet0/0
ip address 14.1.1.4 255.255.255.0
interface GigabitEthernet0/1
ip address 24.1.1.4 255.255.255.0
interface GigabitEthernet0/2
ip address 34.1.1.4 255.255.255.0
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 14.1.1.0 0.0.0.255
network 24.1.1.0 0.0.0.255
network 34.1.1.0 0.0.0.255
R5
system-view
interface GigabitEthernet0/0
ip address 25.1.1.5 255.255.255.0
ip route-static 10.1.1.0 24 25.1.1.2
ip route-static 20.1.1.0 24 25.1.1.2
2.配置VXLAN及EVPN
R1
# 开启L2VPN能力。
system-view
l2vpn enable
# 关闭远端MAC地址和远端ARP自动学习功能。
vxlan tunnel mac-learning disable
vxlan tunnel arp-learning disable
# 在VSI实例vpna下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。
vsi vpna
arp suppression enable
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto
# 在VSI下创建VXLAN 10。
vxlan 10
# 在VSI实例vpnb下创建EVPN实例,并配置自动生成EVPN实例的RD和RT。
vsi vpnb
arp suppression enable
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto
# 在VSI下创建VXLAN 20。
vxlan 20
# 配置BGP发布EVPN路由。
bgp 200
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface loopback 0
address-family l2vpn evpn
peer 4.4.4.4 enable
# 配置接入服务器的接口G0/0与VSI实例vpna关联。
interface gigabitethernet 0/0
xconnect vsi vpna
# 配置接入服务器的接口G0/2与VSI实例vpnb关联。
interface gigabitethernet 0/2
xconnect vsi vpnb
R2
配置与R1类似,还需添加网关配置:
l2vpn enable
vxlan tunnel mac-learning disable
vxlan tunnel arp-learning disable
vsi vpna
arp suppression enable
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto
vxlan 10
vsi vpnb
arp suppression enable
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto
vxlan 20
bgp 200
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface loopback 0
address-family l2vpn evpn
peer 4.4.4.4 enable
# 创建VSI虚接口VSI-int1,并为其配置IP地址,该IP地址作为VXLAN 10内虚拟机的网关地址。
interface vsi-interface 1
ip address 10.1.1.1 255.255.255.0
# 配置VXLAN 10所在的VSI实例和接口VSI-int1关联。
vsi vpna
gateway vsi-interface 1
# 创建VSI虚接口VSI-in2,并为其配置IP地址,该IP地址作为VXLAN 20内虚拟机的网关地址。
interface vsi-interface 2
ip address 20.1.1.1 255.255.255.0
# 配置VXLAN 20所在的VSI实例和接口VSI-int2关联。
vsi vpnb
gateway vsi-interface 2
R3
l2vpn enable
vxlan tunnel mac-learning disable
vxlan tunnel arp-learning disable
vsi vpna
arp suppression enable
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto
vxlan 10
vsi vpnb
arp suppression enable
evpn encapsulation vxlan
route-distinguisher auto
vpn-target auto
vxlan 20
bgp 200
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface loopback 0
address-family l2vpn evpn
peer 4.4.4.4 enable
interface gigabitethernet 0/0
xconnect vsi vpna
interface gigabitethernet 0/2
xconnect vsi vpnb
R4
# 配置Router D与其他路由器建立BGP连接。
bgp 200
group evpn
peer 1.1.1.1 group evpn
peer 2.2.2.2 group evpn
peer 3.3.3.3 group evpn
peer evpn as-number 200
peer evpn connect-interface loopback 0
# 配置BGP发布EVPN路由,并关闭BGP EVPN路由的VPN-Target过滤功能。
address-family l2vpn evpn
peer evpn enable
undo policy vpn-target
# 配置Router D为路由反射器。
peer evpn reflect-client
1验证EVPN网关设备R2
# 查看R2上的EVPN路由信息,可以看到MAC/IP路由和IMET路由:
# 显示路由标识符为1:10的BGP EVPN路由[2][0][48][340b-5757-0506][32][10.1.1.11]/136的详细信息。
Ext-Community:扩展团体属性值,包括:
· RT:Route Target属性
· Encapsulation Type:封装类型
· Router's Mac:路由器MAC
· MAC Mobility:MAC迁移属性。Flags表示是否为固定MAC地址,1为固定不可移动MAC,0为可以移动MAC;SeqNum用来标识最新的一次迁移
· Default GateWay:默认网关路由
EVPN route type:BGP EVPN路由类型,取值为MAC/IP advertisement route,表示MAC/IP发布路由
ESI:以太网段标识
Ethernet tag ID:以太网标签
MAC address:MAC地址
IP address:IP地址
MPLS label1:用于二层转发的VXLAN ID
MPLS label2用于三层转发的VXLAN ID,即L3VNI
# 查看R2上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
[R2-Vsi-interface2]display interface Tunnel
Tunnel0
Current state: UP
Line protocol state: UP
Description: Tunnel0 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Output queue - Urgent queuing: Size/Length/Discards 0/1024/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Tunnel source 2.2.2.2, destination 1.1.1.1
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 34 bytes/sec, 272 bits/sec, 0 packets/sec
Last 300 seconds output rate: 5 bytes/sec, 40 bits/sec, 0 packets/sec
Input: 209 packets, 13642 bytes, 0 drops
Output: 60 packets, 4904 bytes, 0 drops
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Output queue - Urgent queuing: Size/Length/Discards 0/1024/0
Output queue - Protocol queuing: Size/Length/Discards 0/500/0
Output queue - FIFO queuing: Size/Length/Discards 0/75/0
Last clearing of counters: Never
Tunnel source 2.2.2.2, destination 3.3.3.3
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 28 bytes/sec, 224 bits/sec, 0 packets/sec
Last 300 seconds output rate: 3 bytes/sec, 24 bits/sec, 0 packets/sec
Input: 174 packets, 11070 bytes, 0 drops
Output: 39 packets, 2948 bytes, 0 drops
# 查看R2上的VSI虚接口信息,可以看到VSI虚接口处于up状态。
<R2>display interface vsi-interface
Vsi-interface1
Current state: UP
Line protocol state: UP
Description: Vsi-interface1 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet address: 10.1.1.1/24 (Primary)
IP packet frame type: Ethernet II, hardware address: 24be-3b20-0200
IPv6 packet frame type: Ethernet II, hardware address: 24be-3b20-0200
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 60 packets, 4550 bytes, 0 drops
Output: 48 packets, 4032 bytes, 0 drops
Vsi-interface2
Current state: UP
Line protocol state: UP
Description: Vsi-interface2 Interface
Bandwidth: 1000000 kbps
Maximum transmission unit: 1500
Internet address: 20.1.1.1/24 (Primary)
IP packet frame type: Ethernet II, hardware address: 24be-3b20-0200
IPv6 packet frame type: Ethernet II, hardware address: 24be-3b20-0200
Physical: Unknown, baudrate: 1000000 kbps
Last clearing of counters: Never
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 25 packets, 2282 bytes, 0 drops
Output: 37 packets, 2980 bytes, 0 drops
# 查看R2上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的VSI虚接口等信息。
[R2-Vsi-interface2]dis l2vpn vsi ve
VSI Name: vpna
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
MAC Learning rate : -
Drop Unknown : -
PW Redundancy : Slave
Service Class : -
Flooding : Enabled
Gateway Interface : VSI-interface 1
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood Proxy Split horizon
Tunnel0 0x5000000 UP Auto Disabled Enabled
Tunnel1 0x5000001 UP Auto Disabled Enabled
VSI Name: vpnb
VSI Index : 1
VSI State : Up
MTU : 1500
Bandwidth : -
Broadcast Restrain : -
Multicast Restrain : -
Unknown Unicast Restrain: -
MAC Learning : Enabled
MAC Table Limit : -
MAC Learning rate : -
Drop Unknown : -
PW Redundancy : Slave
Service Class : -
Flooding : Enabled
Gateway Interface : VSI-interface 2
VXLAN ID : 20
Tunnels:
Tunnel Name Link ID State Type Flood Proxy Split horizon
Tunnel0 0x5000000 UP Auto Disabled Enabled
Tunnel1 0x5000001 UP Auto Disabled Enabled
# 查看R2上VSI的EVPN ARP表项信息,可以看到已学习到了虚拟机的ARP信息。
# 查看R2上FIB表项信息,可以看到已学习到了虚拟机的转发表项信息。
2.验证主机和广域网互访
从VM1(10.1.1.11)上测试:
<VM1>ping 10.1.1.12
Ping 10.1.1.12 (10.1.1.12): 56 data bytes, press CTRL+C to break
56 bytes from 10.1.1.12: icmp_seq=0 ttl=255 time=2.000 ms
56 bytes from 10.1.1.12: icmp_seq=1 ttl=255 time=2.000 ms
56 bytes from 10.1.1.12: icmp_seq=2 ttl=255 time=2.000 ms
56 bytes from 10.1.1.12: icmp_seq=3 ttl=255 time=2.000 ms
56 bytes from 10.1.1.12: icmp_seq=4 ttl=255 time=2.000 ms
--- Ping statistics for 10.1.1.12 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms
<VM1>%Aug 10 22:27:37:608 2021 VM1 PING/6/PING_STATISTICS: Ping statistics for 10.1.1.12: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms.
<VM1>ping 20.1.1.11
Ping 20.1.1.11 (20.1.1.11): 56 data bytes, press CTRL+C to break
56 bytes from 20.1.1.11: icmp_seq=0 ttl=254 time=3.000 ms
56 bytes from 20.1.1.11: icmp_seq=1 ttl=254 time=3.000 ms
56 bytes from 20.1.1.11: icmp_seq=2 ttl=254 time=3.000 ms
56 bytes from 20.1.1.11: icmp_seq=3 ttl=254 time=2.000 ms
56 bytes from 20.1.1.11: icmp_seq=4 ttl=254 time=3.000 ms
--- Ping statistics for 20.1.1.11 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 2.000/2.800/3.000/0.400 ms
<VM1>%Aug 10 22:27:44:958 2021 VM1 PING/6/PING_STATISTICS: Ping statistics for 20.1.1.11: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 2.000/2.800/3.000/0.400 ms.
<VM1>ping 20.1.1.12
Ping 20.1.1.12 (20.1.1.12): 56 data bytes, press CTRL+C to break
56 bytes from 20.1.1.12: icmp_seq=0 ttl=254 time=3.000 ms
56 bytes from 20.1.1.12: icmp_seq=1 ttl=254 time=3.000 ms
56 bytes from 20.1.1.12: icmp_seq=2 ttl=254 time=3.000 ms
56 bytes from 20.1.1.12: icmp_seq=3 ttl=254 time=3.000 ms
56 bytes from 20.1.1.12: icmp_seq=4 ttl=254 time=3.000 ms
--- Ping statistics for 20.1.1.12 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 3.000/3.000/3.000/0.000 ms
<VM1>%Aug 10 22:27:48:100 2021 VM1 PING/6/PING_STATISTICS: Ping statistics for 20.1.1.12: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 3.000/3.000/3.000/0.000 ms.
<VM1>ping 25.1.1.5
Ping 25.1.1.5 (25.1.1.5): 56 data bytes, press CTRL+C to break
56 bytes from 25.1.1.5: icmp_seq=0 ttl=254 time=2.000 ms
56 bytes from 25.1.1.5: icmp_seq=1 ttl=254 time=2.000 ms
56 bytes from 25.1.1.5: icmp_seq=2 ttl=254 time=2.000 ms
56 bytes from 25.1.1.5: icmp_seq=3 ttl=254 time=3.000 ms
56 bytes from 25.1.1.5: icmp_seq=4 ttl=254 time=3.000 ms
--- Ping statistics for 25.1.1.5 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 2.000/2.400/3.000/0.490 ms
<VM1>%Aug 10 22:27:54:082 2021 VM1 PING/6/PING_STATISTICS: Ping statistics for 25.1.1.5: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 2.000/2.400/3.000/0.490 ms.
路由跟踪测试发现同网段设备不会像分布式VXLAN经过两次分布式网关:
虚拟机VM 1、VM 2、VM 3、VM4之间可以互访;VM 1、VM 2、VM 3、VM4可以与R5上接口G0/0的地址25.1.1.5之间互访。
若想要路由跟踪时显示地址,所有经过的设备均需开启:
ip unreachables enable
ip ttl-expires enable
以上就是VXLAN搭档EVPN的介绍。如果你还有其他问题,欢迎进行咨询探讨,希望微云网络的专业的解决方案,可以解决你目前遇到的问题。微云网络提供全球主机托管、服务器租用、mpls专线接入、SD-WAN组网等方面的专业服务,资源覆盖全球。欢迎咨询。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
标题:VXLAN搭档EVPN
TAG标签:
地址:https://www.kd010.com/hyzs/280.html
全天服务支持
资源覆盖全球
专属优质服务
技术全线支持