天天看點

區域網路SDN技術硬核内幕 一 從二層交換到三層路由

區域網路SDN技術硬核内幕 一 從二層交換到三層路由

昨天,我們在《從二層到大二層》中介紹了VXLAN二層轉發的機制。同一個網段的虛拟機需要跨越三層網絡通信時,可以将二層以太網資料包封裝在VXLAN隧道中穿越三層網絡。那麼,當不同網段的虛拟需要通信時應當如何實作呢?

在Neutron中的實作如下圖:

區域網路SDN技術硬核内幕 一 從二層交換到三層路由

當網段100的VM,和網段200的VM互聯互通的時候,會在VXLAN隧道的兩端VTEP各更改一次網段ID (VNI, Virtual Network Index),使用公用的VNI互通。這種機制叫做對稱IRB。更改VNI的操作,叫做VXLAN路由 (VXLAN Routing),或RIOT(Routing In/Out Tunnel)。

在VMWare NSX中,則使用另一種叫做非對稱IRB的方式實作互通:

區域網路SDN技術硬核内幕 一 從二層交換到三層路由

注意到圖中存在兩條VXLAN隧道,其VNI是不一樣的。在非對稱IRB中,在入隧道方向的VTEP進行VXLAN Routing,将VNI更換為目标網段的VNI,而出隧道方向的VTEP進行VXLAN Bridging,拆除VXLAN隧道標頭。由于往返的VNI、封裝點均不一樣,是以被稱為非對稱IRB。

我們發現,在對稱IRB的場景下,每個VTEP隻需要維護自身所在的各個網段下的所有VM的MAC和FIB資訊即可。而非對稱IRB場景下,每個VTEP不但需要維護所有VM的MAC和FIB資訊,還需要維護ARP資訊。

VTEP可以通過MAC/ARP學習等方式,得到所在主控端下VM的MAC和FIB資訊。當VTEP需要擷取同一網段内其他VM的MAC/FIB資訊的時候,它是如何得知的呢?

明天我們将繼續詳解VTEP之間資訊互通的機制。