SD-WAN
集团多分支节点智能化组网
发布时间:2021-09-09 13:22:26 作者:颜采蘋阅读:0
今天来学习学习VXLAN-DCI隧道,该隧道在数据中心之间建立,主要用于不同数据中心之间虚拟机的互通。
数据中心的边缘设备为ED(Edge Device,边缘设备)。ED之间建立VXLAN-DCI隧道,该隧道采用VXLAN封装格式。ED与数据中心内部的VTEP建立VXLAN隧道。ED从VXLAN隧道或VXLAN-DCI隧道上接收到报文后,解除VXLAN封装,根据目的IP地址重新对报文进行VXLAN封装,并将其转发到VXLAN-DCI隧道或VXLAN隧道,从而实现跨数据中心之间的互通。
工作机制
EVPN数据中心互联组网中,ED之间、ED与VTEP之间建立BGP EVPN邻居。ED从本数据中心的VTEP或其他ED接收到BGP EVPN路由后,将路由的下一跳、Router MAC分别修改为自身的IP地址、Router MAC地址,并将该路由发布给其他ED或本数据中心的VTEP。ED、VTEP均学习到BGP EVPN路由后,根据路由信息转发报文的过程为:
(1) VTEP接收到VM发送的报文后,通过VXLAN隧道将报文转发给ED。
(2) ED解除VXLAN封装后,重新对报文进行VXLAN封装,通过VXLAN-DCI隧道将报文发送给远端ED。
(3)远端ED解除VXLAN封装后,重新封装报文,通过VXLAN隧道将报文转发VTEP。
(4) VTEP解除VXLAN封装后,将报文发送给目的VM。
组网需求
R1和R2为数据中心1的VTEP,R3和R4为数据中心2的VTEP,R2和R3为两个数据中心的ED。数据中心1和数据中心2都使用VXLAN 10处理同一业务的流量。通过EVPN数据中心互连实现数据中心1和数据中心2的二层互通。
组网图
配置步骤
1.配置IP地址和单播路由协议
配置各接口的IP地址和子网掩码;在IP核心网络内配置OSPF协议,确保路由器之间路由可达。具体配置如下:
R1
system-view
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
interface GigabitEthernet0/1
ip address 12.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 12.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 23.1.1.2 255.255.255.0
interface GigabitEthernet0/2
ip address 12.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 12.1.1.0 0.0.0.255
network 23.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
interface GigabitEthernet0/2
ip address 23.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 23.1.1.0 0.0.0.255
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/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 34.1.1.0 0.0.0.255
验证R4路由:
2.配置EVPN和VXLAN
R1
# 开启L2VPN能力。
system-view
l2vpn enable
# 关闭远端MAC地址自动学习功能。
vxlan tunnel mac-learning disable
# 在VSI实例vpna下创建VXLAN 10。
vsi vpna
vxlan 10
# 在VSI实例vpna下创建EVPN实例,并配置EVPN实例的RD和RT。RT需要手工配置。
evpn encapsulation vxlan
route-distinguisher auto
vpn-target 123:456
# 配置BGP发布EVPN路由。
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface loopback 0
address-family l2vpn evpn
peer 2.2.2.2 enable
# 配置接入服务器的接口G0/0与VSI实例vpna关联。
interface gigabitethernet 0/0
xconnect vsi vpna
R2
system-view
l2vpn enable
vxlan tunnel mac-learning disable
# 在与R3相连的三层接口上使能DCI功能,以便EVPN自动建立VXLAN-DCI隧道。
interface gigabitethernet 0/1
dci enable
vsi vpna
vxlan 10
evpn encapsulation vxlan
route-distinguisher auto
vpn-target 123:456
# 配置BGP发布EVPN路由,指定向R1发布路由时将路由下一跳修改为自身的地址,向R3发布路由、从R3接收路由并发布时修改Router MAC。
bgp 100
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface loopback 0
peer 3.3.3.3 ebgp-max-hop 64
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface loopback 0
address-family l2vpn evpn
peer 3.3.3.3 enable
peer 3.3.3.3 router-mac-local
peer 1.1.1.1 enable
peer 1.1.1.1 next-hop-local
R3
system-view
l2vpn enable
vxlan tunnel mac-learning disable
interface gigabitethernet 0/2
dci enable
vsi vpna
vxlan 10
evpn encapsulation vxlan
route-distinguisher auto
vpn-target 123:456
bgp 200
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface loopback 0
peer 2.2.2.2 ebgp-max-hop 64
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface loopback 0
address-family l2vpn evpn
peer 2.2.2.2 enable
peer 2.2.2.2 router-mac-local
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
R4
system-view
l2vpn enable
vxlan tunnel mac-learning disable
vsi vpna
vxlan 10
evpn encapsulation vxlan
route-distinguisher auto
vpn-target 123:456
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface loopback 0
address-family l2vpn evpn
peer 3.3.3.3 enable
interface gigabitethernet 0/0
xconnect vsi vpna
验证配置
1.验证R1(下文以R1为例,R4验证方法与此类似)
查看EVPN通过BGP自动发现的邻居信息,可以看到EVPN通过Inclusive Multicast Ethernet Tag Route发现邻居R1,R2和R3,并建立VXLAN隧道,隧道目的地址是2.2.2.2。
PE_address:远端VTEP在VSI内的标识
Tunnel_address:隧道的目的端地址
查看R1上的Tunnel接口信息,可以看到VXLAN模式Tunnel接口处于up状态。
<R1>dis 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 1.1.1.1, destination 2.2.2.2
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 12 bytes/sec, 96 bits/sec, 0 packets/sec
Input: 19 packets, 1710 bytes, 0 drops
Output: 1556 packets, 93930 bytes, 0 drops
查看R1上的VSI信息,可以看到VSI内创建的VXLAN,以及关联的VXLAN隧道等信息。
<R1>dis l2vpn vsi verbose
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
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood Proxy Split horizon
Tunnel0 0x5000000 UP Auto Disabled Enabled
ACs:
AC Link ID State
GE0/0 0 Up
查看EVPN的MAC地址表项,可以看到已经学习到虚拟机的MAC地址信息。
可以看到,学习VW2的MAC路由信息时,下一跳为2.2.2.2。此时查看R3上对应VM2的仅包含MAC的MAC/IP路由信息可以看到下一跳为4.4.4.4:
R2上查看对应VM2的仅包含MAC的MAC/IP路由信息可以看到由于是从EBGP邻居收到,所以下一跳地址在R3发出时被修改为了本地地址3.3.3.3:
再回过来查看R1上对应VM2的仅包含MAC的MAC/IP路由信息,可以看到从IBGP邻居R2收到的EVPN路由信息下一跳被修改成了2.2.2.2。这就是peer next-hop-local配置的作用。
2.验证ED(下文以R2为例,R3验证方法与此类似)
查看EVPN通过BGP自动发现的邻居信息,可以看到EVPN通过Inclusive Multicast Ethernet Tag Route发现邻居R1和R3,R4,并分别与其建立VXLAN隧道、VXLAN-DCI隧道。
查看R2上的Tunnel接口信息,可以看到VXLAN模式和VXLAN-DCI模式的Tunnel接口处于up状态。
<R2>dis 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: 12 bytes/sec, 96 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 672 packets, 40320 bytes, 0 drops
Output: 0 packets, 0 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_DCI/IP
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 12 bytes/sec, 96 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 669 packets, 40140 bytes, 0 drops
<R2>
查看R2上的VSI信息,可以看到VSI内创建的VXLAN,以及关联的VXLAN隧道、VXLAN-DCI隧道等信息。
<R2>dis l2vpn vsi verbose
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
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
<R2>
查看EVPN的MAC地址表项,可以看到已经学习到虚拟机的MAC地址信息。
3.验证主机互访
从VM1上测试:
<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=4.000 ms
56 bytes from 10.1.1.12: icmp_seq=1 ttl=255 time=6.000 ms
56 bytes from 10.1.1.12: icmp_seq=2 ttl=255 time=5.000 ms
56 bytes from 10.1.1.12: icmp_seq=3 ttl=255 time=6.000 ms
56 bytes from 10.1.1.12: icmp_seq=4 ttl=255 time=6.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 = 4.000/5.400/6.000/0.800 ms
<VM1>%Aug 25 17:28:47:686 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/st d-dev = 4.000/5.400/6.000/0.800 ms.
从VM2上测试:
<VM2>ping 10.1.1.11
Ping 10.1.1.11 (10.1.1.11): 56 data bytes, press CTRL+C to break
56 bytes from 10.1.1.11: icmp_seq=0 ttl=255 time=6.000 ms
56 bytes from 10.1.1.11: icmp_seq=1 ttl=255 time=4.000 ms
56 bytes from 10.1.1.11: icmp_seq=2 ttl=255 time=5.000 ms
56 bytes from 10.1.1.11: icmp_seq=3 ttl=255 time=5.000 ms
56 bytes from 10.1.1.11: icmp_seq=4 ttl=255 time=5.000 ms
--- Ping statistics for 10.1.1.11 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 4.000/5.000/6.000/0.632 ms
<VM2>%Aug 25 17:41:44:605 2021 VM2 PING/6/PING_STATISTICS: Ping statistics for 10.1.1.11: 5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss, round-trip min/avg/max/std-dev = 4.000/5.000/6.000/0.632 ms.
注意事项
缺省情况下,向EBGP对等体/对等体组发布的所有路由,都将下一跳属性修改为自身的地址;向IBGP对等体/对等体组发布的EBGP路由,不修改下一跳属性。所以当对等体应为本数据中心的VTEP时,需要配置修改下一跳为自身地址。(peer next-hop-local)
数据中心网络的ED设备上需要执行本命令,以便该设备将从数据中心内的对等体/对等体组学到的路由通告给其他数据中心网络的ED设备,或将从其他数据中心网络的ED设备学到的路由通告给数据中心内的对等体/对等体组时,将路由的Router MAC修改为本地的Router MAC。(peer router-mac-local)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
标题:EVPN数据中心二层互联如何实现?
TAG标签:数据中心
地址:https://www.kd010.com/hyzs/287.html
全天服务支持
资源覆盖全球
专属优质服务
技术全线支持