■ 云南 李紅 盧立云
編者按: 虛擬機(jī)給傳統(tǒng)的二層和三層網(wǎng)絡(luò)帶來(lái)了極大的挑戰(zhàn),VxLAN技術(shù)的出現(xiàn)提供了良好的解決方案,本文講解了VxLAN在配置中出現(xiàn)的問(wèn)題及解決方法。
虛擬機(jī)的靈活遷移性、可擴(kuò)展性和高密度計(jì)算帶來(lái)的容量等問(wèn)題使傳統(tǒng)的二層和三層網(wǎng)絡(luò)無(wú)法滿足需求,VxLAN(虛擬擴(kuò)展局域網(wǎng))提供了良好的解決方案。
首先,它擴(kuò)充了VLAN容量,將傳統(tǒng)的VLAN數(shù)量由12位的4096個(gè)擴(kuò)展為24位的1600萬(wàn)個(gè)。其次,VxLAN通過(guò)隧道技術(shù)可實(shí)現(xiàn)服務(wù)器、虛擬機(jī)的無(wú)障礙平滑遷移。第三,VxLAN通過(guò)overlay技術(shù)在三層網(wǎng)絡(luò)基礎(chǔ)上實(shí)現(xiàn)大二層絡(luò)擴(kuò)展。第四,VxLAN兼容傳統(tǒng)的二層生成樹(shù)協(xié)議,限制了數(shù)據(jù)中心生成樹(shù)規(guī)模,提高收斂效率。
圖1 網(wǎng)絡(luò)拓?fù)鋱D
圖2 看不到對(duì)端
一次在做VxLAN實(shí)驗(yàn)時(shí),按照?qǐng)D1所示,添加了節(jié)點(diǎn),并在各個(gè)節(jié)點(diǎn)上做了配置,完成后,在NXOS-VTEP-EAST節(jié)點(diǎn)上通過(guò)命令”sh nve peers”查看,結(jié)果看不到對(duì)端,通過(guò)“sh run interface nve1”查看配置,未發(fā)現(xiàn)錯(cuò)誤,用命令“debug nve all”打開(kāi)調(diào)試后,在interface nve1中添加配置“overlayencapllusation vxlan”,仍 看 不 到對(duì)端,在NXOS-VTEP-EAST一端ping underlay網(wǎng)絡(luò)中的路由器如ISPEAST和ISP-WEST的接口地址可以ping通,ping對(duì) 端 NXOSVTEP-WEST接口地址30.1.1.2也可ping通。查看調(diào)試顯示“Active peer count: 0”,筆者百思不得其解,以為配置上出現(xiàn)錯(cuò)誤,才導(dǎo)致上述故障。
在幾處自己認(rèn)為可能出錯(cuò)的地方,修改了配置后,仍然沒(méi)有解決問(wèn)題。詳見(jiàn)圖2。
通過(guò)vxLAN的工作原理可以看出,在NXOS-VTEP-EAST處 和NXOS-VTEP-WEST處在配置了vxLan后,雙方?jīng)]有構(gòu)建控制平面地址映射表項(xiàng),也不知道彼此在哪里。只有當(dāng)LAN-East要與LANWest進(jìn)行通信時(shí),LANEast發(fā)ARP請(qǐng)求包,請(qǐng)求LAN-West的MAC地址,其格式為源MAC為L(zhǎng)AN-East的MAC地址,目的MAC為 全 F,NXOS-VTEP-EAST收到數(shù)據(jù)包后,由于沒(méi)有建立NXOS-VTEP-WEST的地址映射表項(xiàng),因此對(duì)其進(jìn)行vxLAN封 裝,其vxLAN 的vni為10000,外部 SRC-IP為 NXOSVTEP-EAST的ip地址,外部Dest-IP為230.1.1.1(加入的組播組地址),封裝完成后將其發(fā)送到組播組中。
加入到同一組播組的所有設(shè)備,如NXOS-VTEP-WEST收到了該組播包,對(duì)其進(jìn)行解封后,對(duì)比VxLAN vni是否與本地的vni匹配,發(fā)現(xiàn)匹配后通過(guò)交換機(jī)發(fā)至本地網(wǎng)絡(luò),同時(shí)建立對(duì)端NXOS-VTEP-EAST的控制平面地址映射表項(xiàng),當(dāng)LAN-West收到該ARP請(qǐng)求包并發(fā)ACK響應(yīng)后,由于NXOSVTEP-WEST有對(duì)端的控制平面地址映射表項(xiàng),所以NXOSVTEP-WEST收到ACK包,對(duì)其進(jìn)行VxLAN封裝,直接就以單播發(fā)送到對(duì)端NXOS-VTEPEAST處,這時(shí)外部SRC-IP為NXOS-VTEP-WEST的IP地址,外部Dest-IP為NXOS-VTEPEAST的IP地址。
圖3 發(fā)現(xiàn)對(duì)端并添加
NXOS-VTEP-EAST收到單播數(shù)據(jù)包后,對(duì)其解封,并對(duì)比vni是否與本地vni匹配,如果匹配就將數(shù)據(jù)包發(fā)送給LAN-East,并構(gòu)建控制平面地址映射表項(xiàng)。自此,雙方均建立了控制平面地址映射表項(xiàng),以后如果傳送VxLAN數(shù)據(jù)就以單播方式傳送。
通過(guò)以上原理分析得知,NXOS-VTEP-EAST、NXOS-VTEPWEST、ISP-EAST、ISP-WEST 配好后,雖然都運(yùn)行ospf路由協(xié)議,且彼此相互能夠ping通,這只是檢驗(yàn)underlay網(wǎng)絡(luò)的三層連通性,雙方的VTEP(VxLAN Tunnel Endpoint)并未構(gòu)建控制平面地址映射表項(xiàng),導(dǎo)致調(diào)試中顯示Active peer count為0。只有當(dāng)LANEast發(fā)出ping lanwest的命令時(shí),激發(fā)了NXOS-VTEP-EAST發(fā)出組播包,NXOSVTEP-WEST收到組播包后建立了控制平面地址映射表項(xiàng),并將LAN-West的ACK數(shù)據(jù)包封裝成VxLAN數(shù)據(jù)包以單播形式發(fā)給NXOS-VTEP-EAST,NXOS-VTEP-EAST收到VxLAN數(shù)據(jù)包后解封,發(fā)給LANEast,同時(shí)構(gòu)建自己的控制平面地址映射表項(xiàng)。此時(shí)雙方才彼此知道對(duì)端在哪,后續(xù)的相互通信以單播方式進(jìn)行。
在NXOS-VTEP-EAST和NXOS-VTEP-WEST都打開(kāi)調(diào)試,在LAN-East端ping LANWest,結(jié)果在兩臺(tái)設(shè)備上均顯示發(fā)現(xiàn)了對(duì)方,并將對(duì)方添加到自己的控制平面地址映射表項(xiàng),通過(guò)命令“sh nve peers”顯示有對(duì)端設(shè)備,狀態(tài)為UP,如圖3所示,至此問(wèn)題解決。