EVPN数据中心二层互联如何实现?

发布时间:2021-09-09 13:22:26 作者:颜采蘋阅读:0

[导读]:今天来学习学习VXLAN-DCI隧道,该隧道在数据中心之间建立,主要用于不同数据中心之间虚拟机的互通。 数据中心的边缘设备为ED(Edge Device,边缘设备)。ED之间建立VXLAN-DCI隧道,该隧道采用V...

今天来学习学习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的二层互通。

组网图

EVPN数据中心二层互联如何实现?

配置步骤

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路由:

EVPN数据中心二层互联如何实现?

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。

EVPN数据中心二层互联如何实现?

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地址信息。

EVPN数据中心二层互联如何实现?

可以看到,学习VW2的MAC路由信息时,下一跳为2.2.2.2。此时查看R3上对应VM2的仅包含MAC的MAC/IP路由信息可以看到下一跳为4.4.4.4:

EVPN数据中心二层互联如何实现?

EVPN数据中心二层互联如何实现?

R2上查看对应VM2的仅包含MAC的MAC/IP路由信息可以看到由于是从EBGP邻居收到,所以下一跳地址在R3发出时被修改为了本地地址3.3.3.3:

EVPN数据中心二层互联如何实现?

再回过来查看R1上对应VM2的仅包含MAC的MAC/IP路由信息,可以看到从IBGP邻居R2收到的EVPN路由信息下一跳被修改成了2.2.2.2。这就是peer next-hop-local配置的作用。

EVPN数据中心二层互联如何实现?

2.验证ED(下文以R2为例,R3验证方法与此类似)

查看EVPN通过BGP自动发现的邻居信息,可以看到EVPN通过Inclusive Multicast Ethernet Tag Route发现邻居R1和R3,R4,并分别与其建立VXLAN隧道、VXLAN-DCI隧道。

EVPN数据中心二层互联如何实现?

查看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地址信息。

EVPN数据中心二层互联如何实现?

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)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:sales@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:EVPN数据中心二层互联如何实现?

TAG标签:数据中心

地址:http://www.kd010.com/hyzs/287.html

上一篇:什么是云托管?使用云托管的优势是什么?
下一篇:“IPv6+”赋能千行百业数字化转型,助力数字城市建设

Vecloud云网络解决方案

点击获取方案