Nexus OTV


OTV (Overlay Transport Virtualization) 是一种借助3层传输2层协议的技术,用于在NEUXS之间传递本地2层信息,让远端设备认为自己是在想2层对象传输信息。

OTV

Internal Interface:本地2层接口
OTV Join Interface:用于交换3层信息,建立邻接关系的纯3层接口(可以是独立接口也可以是Port Channel)
Overlay Interface:在邻接接口之上的逻辑链路,2层信息在此传输

OTV 连接方式:

otv_top

根据OTV VDC的位置,可以分为stick和inline两种。stick是OTV自己没有直接去往CE的三层链路,需要通过连接Aggregation VDC,从那里路由出去;inline是OTV自己有三层链路去往CE,所有数据通过OTV三层出去。一般来说STICK会好一些,因为它不论是在冗余还是布局以及以后规划中都有优势,INLINE的问题是所有数据都从它走容易给OTV VDC造成压力,同时还造成三层路由管理上比较复杂,不容易统一管理。

当OTV和AGG VDC相连涉及到F1卡的时候,记住OTV中无论三层还是二层都要用M卡,不可以用F卡,因为OTV需要M卡进行编码。即OTV中二层M卡,AGG中二层F卡。

OTV工作原理:

OTV的建立依靠EDGE DEVICE间的邻接关系,而邻接关系依靠IGMP。如果没有开启IGMP,新版NEXUS还支持一种类似OSPF中RD功能的注册邻接关系(Adjacency Server),不是发送广播,而是从收集信息的Adjacency Server开始发送多个OTV副本到所有其他邻接NEXUS,再各自发送自己收到的信息的副本给各自的邻居,如此延续下去。如果只有2-3个DC,这种方法会很实用。Adjacency Server可以是redundancy,但所有OTV设备都要同时和这两台机器注册关系。

如果是MULTICAST MODE,那么HOST和PIM路由器间的第一跳接口都需要IGMP V3,之后其他路由器之间可以不用IGMP V3。因为只有OTV只需要IGMP JOIN,HOST连入路由器之后JOIN就结束了。OTV VDC本身不需要开启PIM,无论STICK还是INLINE,因为它扮演的角色只是PIM中的一台HOST,只有上家路由器的所有参与MULTICAST的端口才需要开启PIM,以及设定RP。

默认SSM DATA GROUP RANGE是232.0.0.0/8。ip pim ssm range 可以改变这个值。因为/8 RANGE很大,只有GROUP RANGE超出这个范围才需要改。OTV Control Group只要不是在这个范围内就可以,OTV会把IGMP V3 JOIN信息发到这个地址。OTV DATA GROUP应该是在232.0.0.0/8内的,例如232.1.2.3/24。

IGMP开启时邻接关系建立的方法:

  1. Each OTV edge device sends an IGMP report to join the specific ASM (Any Source Multicast) group used to carry control protocol exchanges (group G in this example). The edge devices join the group as hosts, leveraging the Join interface. This happens without enabling PIM on this interface. The only requirement is to specify the ASM group to be used and associate it with a given Overlay interface.
  2. The OTV control protocol running on the left OTV edge device generates Hello packets that need to be sent to all other OTV edge devices. This is required to communicate its existence and to trigger the establishment of control plane adjacencies.
  3. The OTV Hello messages need to be sent across the logical overlay to reach all OTV remote devices. For this to happen, the original frames must be OTV-encapsulated, adding an external IP header. The source IP address in the external header is set to the IP address of the Join interface of the edge device, whereas the destination is the multicast address of the ASM group dedicated to carry the control protocol. The resulting multicast frame is then sent to the Join interface toward the Layer 3 network domain.
  4. The multicast frames are carried across the transport and optimally replicated to reach all the OTV edge devices that joined that multicast group G.
  5. The receiving OTV edge devices decapsulate the packets.
  6. The Hellos are passed to the control protocol process.

邻接关系建立后,A本地MAC信息会通过OTV Overlay以3层信息量的方式同步到它同组的邻居上,邻居B上的MAC表中,会以A发送信息的Join interface的IP作为A上全部MAC的绑定对象。在经过第一次ARP请求获得REPLY后,发起设备端的EDGE会CACHE这个ARP内容,这样以后的ARP信息就不用再发到远端获得目标位置的信息流,会直接发到远端目标上。

默认一般的广播流量都会被禁止,当然也可以手动指定允许某些特定MAC的广播。

Authoritative edge device (AED)是用来代表本SITE和其他SITE进行会话的EDGE,这样可以防止因为同时是同多个EDGE造成LOOP。当有两台EDGE在同一个SITE中时,默认高SYSTEM ID的EDGE负责基数VLAN,低SYS ID负责偶数VLAN。

Site-Adjacency:OTV EDGE面向本地VLAN设备方向的邻接设备,同一个SITE中的所有EDGE应该具有相同的ID,类似VPC;

Overlay-Adjacency:OTV EDGE面向远端邻接的OTV EDGE设备;

强烈建议过滤FHRP信息,因为如果OTV上可以随意交流FHRP,会造成站点A的信息影响站点B,比如HSRP10在A用来,B上就不能用。

nexus9

最佳实施方案,最大限度保证冗余

Join Interface是用的PORT CHANNEL,这样即扩充带宽又保证冗余。Link6,8是5,7的Internal Link冗余,保证Routing VDC和OTV VDC的二层连通性。

配置举例:

otv3

请忽略上图中所有标识,以以下标识取代:DC1 == DC1_OTV ==core== DC2_OTV == DC2

DC1_OTV配置:

otv site-identifier 0001.0001.0001

vlan 999

name OTV_Site_Vlan

otv site-vlan 999

interface Overlay0
otv join-interface Ethernet3/1
otv control-group 239.1.1.1
otv data-group 232.1.1.0/28
otv extend-vlan 300
no shutdown

interface Ethernet3/1
description OTV Edge Join Int Montreal OTV E3/10
ip address 10.239.77.2/26
ip router ospf 1 area 0.0.0.0
ip pim sparse-mode
ip igmp version 3
no shutdown

interface Ethernet3/2
description OTV Intra Green2 E1/40
switchport
switchport mode trunk
no shutdown

interface Ethernet3/3
description OTV Intra Orange1 E3/26
switchport
switchport mode trunk
no shutdown

ip pim rp-address 10.239.77.2 group-list 224.0.0.0/4
ip pim ssm range 232.0.0.0/8

DC2_OTV配置:

otv site-identifier 0001.0001.0002
ip pim ssm range 232.0.0.0/8
vlan 999
name OTV_Site_Vlan

otv site-vlan 999

interface Overlay0
description OTV Join Int
otv join-interface Ethernet3/9
otv control-group 239.1.1.1
otv data-group 232.1.1.0/28
otv extend-vlan 300
no shutdown

interface Ethernet3/9
description OTV Edge Join Int Creek OTV E3/2
ip address 10.239.77.34/26
ip router ospf 1 area 0.0.0.0
ip pim sparse-mode
ip igmp version 3
no shutdown

interface Ethernet3/10
description L2 Intra Green VDC E3/1
switchport
switchport mode trunk
no shutdown

interface Ethernet3/11
description L2 Intra Orange VDC E3/5
switchport
switchport mode trunk
no shutdown

注意事项:

  1. 对于同一SITE的OTV ADJ,ID号要相同,而远端的DC,要用不同的ID,因为这种拓扑中远端和本地不是在同一个SITE中。
  2. SITE-VLAN是本地同SITE中才有用,所以本例中其实没有实际作用。
  3. 因为是用OTV直接连去对端OTV,而没有用AGG VDC,所以省去了一条连往AGG VDC的纯三层链路(JOIN INT 需要)。也因此这个OTV上的JOIN口的真实接口需要开启SPARSE MODE(AGG中是AGG的口负责该任务),同样的也需要在某台NEXUS上指定RP是谁。
  4. OTV在从JOIN口送出后会将已在数据报头部添加42Byte的头部作为标记,所以如果CORE的MTU能力只有1500,而本地网络MTU也是1500,就会出现问题。因为OTV后的数据实际大小为1542,且有不能切割位,也就是说CORE无法传输这些流量,所以当数据流数据报大于1500的时候网络就会丢包。解决方法是1.本地MTU改小42Byte,或者CORE增加42Byte。
Advertisements

2 comments on “Nexus OTV

  1. magnificent points altogether, you simply received a new reader.
    What may you suggest about your put up that you simply made some days
    in the past? Any positive?

Leave a Reply

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s