Overlay VPN – OTV(Overlay Transport Virtualization)

一、基本原理

OTV是Cisco的私有协议,Cisco2010年在其数据中心Nexus 7000上首次发布的一项软件特性。OTV实质上是一种MAC IN IP的Overlay VPN技术,用来扩展传统数据中心的二层网络,使不同的数据中心二层网络可以跨越任何三层IP网络,只需要保证三层网络IP可达。

OTV控制平面基于单播或者基于组播来发现和建立OTV的邻接关系,推荐使用组播的方式。建立邻接关系后,OTV的Edge Device之间通过ISIS来传递控制层面的信息,一切都是自动的,无需进行ISIS的任何相关配置;OTV 控制平面提供MAC可达,对于本数据中心内部不需要跨三层网络的二层流量转发同传统的二层MAC寻址方式,对于需要跨越三层网络的二层流量,到达运行OTV的Edge Device设备后依然会查询MAC地址表,此时设备上面的MAC地址对应远端OTV邻居的IP地址,运行OTV的Edge Device设备分装OTV报文头后穿越三层网络传递给远端的OTV邻居,解分装后进行传统的二层MAC寻址。

OTV数据层面报文封装如下图所示,报文在原始二层以太网帧基础上增加了共42字节的外部封装。新的14字节以太网头,20字节的IP头,后面跟着8字节的OTV Shim字段,原始以太网帧中的VLAN头也被移动到了Shim头中作为不同二层网络的标识,Shim字段里还包含Overlay Number等字段。

下面是一个典型的OTV网络单播通信流程:

1.服务器1发送ARP请求广播报文;
2.ED1收到ARP请求报文后,学到服务器1的MAC 1对应本地端口;
3.控制平面ED1通过control组播组通告ISIS LSP更新给它的所有邻居,里面封装了MAC 1信息,ED2收到ISIS LSP更新后后把MAC 1放进MAC表中,下一跳为ED1;
4.数据平面ED1将ARP广播封装到OTV报文,通过数据层面组播组通告给所有邻居,ED2收到OTV报文后,解分装,本地泛洪;
5.服务器2收到服务器1的广播ARP请求报文后,回复一个单播ARP相应报文,目的MAC地址为MAC 1;
6.ED2收到服务器2的单播ARP响应报文,学习到服务器2的MAC 2对应本地端口;
7.控制平面ED2通过control组播组通告ISIS LSP更新,里面包含MAC 2信息,ED1收到ISIS LSP更新,学习到MAC 2,放进MAC表,下一跳对应ED2
8.数据平面ED2查MAC表,知道MAC 1对应下一跳为ED1,ED2封装单播ARP响应报文,Core网络传递给ED1,ED1接封装,查MAC表,本地转发;

OTV IETF草案:https://tools.ietf.org/html/draft-hasmit-otv-04

二、实验拓扑

以下面这个拓扑来做个试验

三、基本配置

DC1-VM1:
IP/MASK : 192.168.1.1/24
GATEWAY : 0.0.0.0
MAC : 00:50:79:66:68:06
MTU : 1500

DC1-VM2:
IP/MASK : 192.168.1.2/24
GATEWAY : 0.0.0.0
MAC : 00:50:79:66:68:07
MTU : 1500

DC1-SW1:
interface GigabitEthernet0/0
switchport trunk allowed vlan 200
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
!
interface GigabitEthernet0/1
switchport access vlan 200
switchport mode access
media-type rj45
negotiation auto
!

DC1-OTV-1:
ip multicast-routing distributed
!
otv site bridge-domain 1
!
otv site-identifier 0001.0001.0001
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface Overlay1
no ip address
otv control-group 239.37.37.37
otv data-group 232.37.37.0/24
otv join-interface GigabitEthernet1
otv vpn-name OTV
service instance 200 ethernet
encapsulation dot1q 200
bridge-domain 1
!
!
interface GigabitEthernet1
ip address 10.1.1.1 255.255.255.252
ip pim passive
ip igmp version 3
negotiation auto
!
interface GigabitEthernet2
no ip address
negotiation auto
cdp enable
service instance 200 ethernet
encapsulation dot1q 200
bridge-domain 1
!
!
router ospf 1
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 10.1.1.0 0.0.0.3 area 0
!
ip pim rp-address 2.2.2.2
!

IPBB:
ip multicast-routing distributed
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip pim sparse-mode
!
interface GigabitEthernet1
ip address 10.1.1.2 255.255.255.252
ip pim sparse-mode
ip igmp version 3
negotiation auto
!
interface GigabitEthernet2
ip address 172.16.1.2 255.255.255.252
ip pim sparse-mode
ip igmp version 3
negotiation auto
!
router ospf 1
router-id 2.2.2.2
network 2.2.2.2 0.0.0.0 area 0
network 10.1.1.0 0.0.0.3 area 0
network 172.16.1.0 0.0.0.3 area 0
!

DC2-OTV-1:
ip multicast-routing distributed
!
otv site bridge-domain 2
!
otv site-identifier 0002.0002.0002
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface Overlay1
no ip address
otv control-group 239.37.37.37
otv data-group 232.37.37.0/24
otv join-interface GigabitEthernet1
otv vpn-name OTV
service instance 200 ethernet
encapsulation dot1q 200
bridge-domain 2
!
!
interface GigabitEthernet1
ip address 172.16.1.1 255.255.255.252
ip pim passive
ip igmp version 3
negotiation auto
!
interface GigabitEthernet2
no ip address
negotiation auto
cdp enable
service instance 200 ethernet
encapsulation dot1q 200
bridge-domain 2
!
!
router ospf 1
router-id 3.3.3.3
network 3.3.3.3 0.0.0.0 area 0
network 172.16.1.0 0.0.0.3 area 0
!

DC2-SW1:
interface GigabitEthernet0/0
switchport trunk allowed vlan 200
switchport trunk encapsulation dot1q
switchport mode trunk
media-type rj45
negotiation auto
!
interface GigabitEthernet0/1
switchport access vlan 200
switchport mode access
media-type rj45
negotiation auto
!

四、验证结果

查看OTV状态

查看OTV邻居关系

查看OTV MAC地址表

评测试

五、关键点

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s