1. 程式人生 > >SDN控制器的拓撲管理與LLDP鏈路發現

SDN控制器的拓撲管理與LLDP鏈路發現

SDN控制器通過LLDP(Link Layer Discovery Protocol,鏈路發現協議)協議進行鏈路發現,然後根據發現協議蒐集的資訊來識別和管理網路拓撲結構。

LLDP協議

為了講解SDN控制器的發現原理,首先簡要介紹LLDP協議的相關內容,先關內容來自百度百科和這篇博文

LLDP幀的格式如下:



圖中的TLV都屬於LLDP幀的的資料欄位。這張圖中顯示的LLDP幀是使用Ethernet II幀格式進行的封裝,除此之外也可以使用SNAP進行封裝,但是型別欄位處要更改為0xAAAA-0300-0000-88CC。

實際起作用的LLDP協議內容都是資料欄位的各種TLV。裝置標識TLV,埠TLV,生存期TLV和結束TLV是必備的欄位

,進行拓管理的設別會根據裝置標識TLV+埠TLV來定位拓撲結構中的節點,當解析到結束TLV時就表示TLV欄位已經結束。

TLV的所有可選的值(Mandatory表示必須存在的TLV型別):


SDN控制器的鏈路發現機制

瞭解過LLDP協議的相關內容就可以大致粗淺的理解SDN控制器的鏈路發現機制了。

SDN控制器會首先通過一個Packet_out訊息向所有與之相連的交換機發送LLDP資料包,這些交換機收到該訊息後會向自己的所有埠發出LLDP資料包。如果某個OpenFlow交換機接收到了這些發出來的LLDP資料包,就會通過Packet_in訊息將兩臺交換機之間的鏈路資訊傳送給控制器。控制器在蒐集了自己管理區域內的諸多鏈路資訊之後,就可以根據這些資訊來構建網路的拓撲結構了。

但是在實際的網路中,可能還包含了一些非OpenFlow交換機,所以控制器在發出Packet_out訊息時,還會同時要求交換機發出廣播包。廣播包會被髮送給出了交換機與控制器相連的埠之外的其他所有埠。// 此處內容有待繼續瞭解,資料上的描述有些歧義,請待更新