• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      軟件定義網(wǎng)絡(luò)三層路由策略研究*

      2020-08-14 06:31:38黃徐祎李傳東顧憲鋒
      通信技術(shù) 2020年8期
      關(guān)鍵詞:域控制器子域流表

      黃徐祎,李傳東,顧憲鋒

      (中國(guó)電子科技集團(tuán)公司第28研究所,江蘇 南京 210007)

      0 引言

      IP通信技術(shù)是傳統(tǒng)網(wǎng)絡(luò)的核心技術(shù),其采用分布式控制架構(gòu),涵蓋眾多復(fù)雜的控制協(xié)議,擴(kuò)展性差,運(yùn)行維護(hù)困難,業(yè)務(wù)創(chuàng)新緩慢。傳統(tǒng)網(wǎng)絡(luò)雖然帶來了當(dāng)今網(wǎng)絡(luò)世界的繁榮,卻也越來越難以滿足當(dāng)前快速發(fā)展的需求。

      軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN[1-2])誕生于美國(guó)斯坦福大學(xué)的Clean Slate課題,是一種新型的網(wǎng)絡(luò)架構(gòu)。軟件定義網(wǎng)絡(luò)的關(guān)鍵特征包括集中控制、轉(zhuǎn)控分離和開放的接口,可以對(duì)網(wǎng)絡(luò)像軟件一樣進(jìn)行靈活編程[3]。SDN架構(gòu)如圖1所示,包括應(yīng)用層、控制層和轉(zhuǎn)發(fā)層??刂破魈幱诳刂茖樱ㄟ^南向接口請(qǐng)求轉(zhuǎn)發(fā)層的網(wǎng)絡(luò)設(shè)備生成流表和轉(zhuǎn)發(fā)數(shù)據(jù)包,并通過開放的北向接口為應(yīng)用層的應(yīng)用提供服務(wù),從而使各類應(yīng)用通過可編程的方式控制整個(gè)網(wǎng)絡(luò)。其中北向接口還缺少業(yè)界公認(rèn)的標(biāo)準(zhǔn),南向接口以O(shè)NF(Open Networking Foundation,開放網(wǎng)絡(luò)基金會(huì))組織倡導(dǎo)的OpenFlow[4-6]協(xié)議為代表。OpenFlow交換機(jī)使用基于安全連接的OpenFlow協(xié)議與SDN控制器通信,“流”是通信過程中數(shù)據(jù)分組特征(如MAC地址、IP地址、端口號(hào)等)的抽象,SDN控制器使用OpenFlow協(xié)議下發(fā)流表至OpenFlow交換機(jī),交換機(jī)按照流表對(duì)數(shù)據(jù)包進(jìn)行匹配和轉(zhuǎn)發(fā)。

      圖1 軟件定義網(wǎng)絡(luò)架構(gòu)

      自SDN問世以來,學(xué)術(shù)界進(jìn)行了大量研究和實(shí)踐,眾多企業(yè)也將SDN技術(shù)引入到實(shí)際應(yīng)用場(chǎng)景中并取得了相當(dāng)?shù)某尚?。本文研究了在軟件定義網(wǎng)絡(luò)架構(gòu)上進(jìn)行三層路由交換的方法,得益于架構(gòu)優(yōu)勢(shì),相對(duì)于傳統(tǒng)三層網(wǎng)絡(luò)大大簡(jiǎn)化且易于實(shí)現(xiàn),具有更好的性能優(yōu)化空間和功能拓展能力。

      1 路由機(jī)制探究

      傳統(tǒng)三層網(wǎng)絡(luò)采用分布式控制架構(gòu),通過路由協(xié)議交互來建立網(wǎng)絡(luò)拓?fù)浜陀?jì)算路由。為便于管理龐大的網(wǎng)絡(luò),網(wǎng)絡(luò)按區(qū)域劃分為自治系統(tǒng),域內(nèi)使用域內(nèi)路由協(xié)議(如OSPF),域間則使用BGP協(xié)議?;赟DN構(gòu)建三層網(wǎng)絡(luò)具有集中化控制[7]的優(yōu)勢(shì),SDN控制器擁有全局的網(wǎng)絡(luò)拓?fù)湟晥D,能以內(nèi)置的算法快速計(jì)算路徑并通過南向接口協(xié)議將流表下發(fā)至網(wǎng)絡(luò)設(shè)備,從而建立全網(wǎng)的路由。由于不需要部署各種路由協(xié)議,網(wǎng)絡(luò)得到了極大的簡(jiǎn)化。為達(dá)到全網(wǎng)拓?fù)湫畔⒌囊恢滦?,傳統(tǒng)分布式架構(gòu)網(wǎng)絡(luò)中的各節(jié)點(diǎn)之間同步路由信息要消耗大量帶寬且機(jī)制復(fù)雜,SDN集中控制方式只需中央控制器和各網(wǎng)絡(luò)交換設(shè)備同步信息,大大降低了帶寬消耗和計(jì)算復(fù)雜度。為滿足新的需求或提高性能,只需要對(duì)SDN控制器軟件進(jìn)行修改升級(jí),無需像傳統(tǒng)網(wǎng)絡(luò)那樣更新所有的路由交換設(shè)備,使基于SDN的三層網(wǎng)絡(luò)具備更好的靈活性和演進(jìn)能力。

      要管控規(guī)模龐大的網(wǎng)絡(luò),邏輯上單一的控制器是無法滿足處理性能要求的。要保持集中控制的優(yōu)勢(shì)并分解巨大的處理壓力,可參照傳統(tǒng)網(wǎng)絡(luò)將整個(gè)網(wǎng)絡(luò)劃分成多個(gè)域,并為各域分配獨(dú)立的SDN控制器進(jìn)行管控,同時(shí)部署中央SDN控制器管理所有域SDN控制器。域控制器負(fù)責(zé)域內(nèi)路由的建立,中央控制器協(xié)同[8]域控制器建立域間的路由。

      2 系統(tǒng)設(shè)計(jì)

      網(wǎng)絡(luò)管控模式如圖2所示,系統(tǒng)使用兩類控制器:域控制器和中央控制器。域控制器負(fù)責(zé)建立域內(nèi)路由,保證域內(nèi)主機(jī)間的IP通信。中央控制器負(fù)責(zé)建立域間路由,使不同域內(nèi)的主機(jī)能相互通信。為實(shí)現(xiàn)清晰的分層管控,以及簡(jiǎn)化域控制器和中央控制器協(xié)作模式,域控制器將網(wǎng)絡(luò)域抽象成虛擬交換機(jī)受中央控制器管控,域間的互聯(lián)鏈路則被抽象為虛擬交換機(jī)[8]的互聯(lián)鏈路,中央控制器通過在虛擬交換機(jī)上安裝流表建立域邊界上的域間路由。

      圖2 網(wǎng)絡(luò)管控模式

      2.1 系統(tǒng)參數(shù)

      當(dāng)域控制器虛擬成交換機(jī)連接中央控制器后,通過OpenFlow協(xié)議交互,中央控制器自動(dòng)獲得了虛擬交換機(jī)的id號(hào)、端口等信息,另外通過和所有虛擬交換機(jī)交互LLDP[9](Link Layer Discovery Protocol,鏈路層發(fā)現(xiàn)協(xié)議)獲取所有域的拓?fù)湫畔ⅰ4送膺€需給中央控制器設(shè)置各虛擬交換機(jī)所屬三層網(wǎng)段地址,用于設(shè)置域間路由。以上中央控制器所需的參數(shù)信息如表1所示,其中自動(dòng)獲取的信息來自O(shè)penFlow協(xié)議或LLDP協(xié)議,人工設(shè)置的參數(shù)則通過編程接口配置。

      同樣,域控制器通過OpenFlow協(xié)議自動(dòng)獲得物理交換機(jī)的id號(hào)、端口等信息,通過LLDP獲取本域的拓?fù)湫畔ⅰA硗猱?dāng)主機(jī)請(qǐng)求IP通信時(shí),可通過OpenFlow協(xié)議的packet-in消息獲取主機(jī)的MAC地址、IP地址以及所連的交換機(jī)端口。當(dāng)域控制器作為控制器管控三層域時(shí),需設(shè)置各三層域的網(wǎng)段地址、網(wǎng)關(guān)地址和管理的交換機(jī)。同時(shí)域控制器作為虛擬交換機(jī)運(yùn)行,可自動(dòng)生成唯一的虛擬交換機(jī)id號(hào),并設(shè)置底層物理交換機(jī)端口和虛擬端口的映射。以上域控制器所需的參數(shù)信息如表2所示。

      表1 中央控制器參數(shù)

      表2 域控制器參數(shù)

      Mininet[10]虛擬化網(wǎng)絡(luò)平臺(tái)可以模擬SDN的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),可對(duì)OpenFlow等協(xié)議進(jìn)行測(cè)試和驗(yàn)證,幾乎可以無縫遷移到真實(shí)的硬件環(huán)境中。為便于描述,設(shè)定系統(tǒng)連接關(guān)系用Mininet按圖3所示搭建。網(wǎng)絡(luò)分3個(gè)三層域,域2又分兩個(gè)子域。

      圖3 連接關(guān)系

      主機(jī)都連至所屬交換機(jī)端口1,此類型端口稱為交換機(jī)的訪問端口,主機(jī)具體網(wǎng)絡(luò)信息如表3所示。

      表3 主機(jī)信息

      2.2 流表設(shè)計(jì)

      從OpenFlow1.1開始設(shè)計(jì)了多級(jí)流表[11]而不是之前就1張表,因?yàn)閷⑵ヅ溥^程分解成多個(gè)步驟,以流水線形式處理,從而降低了流表記錄數(shù)量,提高了資源利用率。另外設(shè)計(jì)多級(jí)流表也便于對(duì)流表進(jìn)行功能劃分和管理。OpenFlow交換機(jī)中的表從0開始編號(hào),數(shù)據(jù)包進(jìn)入交換機(jī)后從流表0開始依次匹配,依據(jù)指令進(jìn)行操作。

      系統(tǒng)設(shè)計(jì)了三張表:表0為分類表,用于根據(jù)數(shù)據(jù)包類型進(jìn)行分類處理;表1為二層表,用于匹配在二層域轉(zhuǎn)發(fā)的數(shù)據(jù)包;表2為三層表,用于匹配三層轉(zhuǎn)發(fā)的數(shù)據(jù)包。流表對(duì)數(shù)據(jù)包的匹配流程如圖4所示。

      圖4 多級(jí)流表匹配流程

      2.3 域間路由

      域控制器模擬的虛擬交換機(jī)和中央控制器連接的建立遵循OpenFlow協(xié)議握手過程,狀態(tài)機(jī)如圖5所示。

      當(dāng)完成一系列協(xié)議交互處于ACTIVE狀態(tài)后,中央控制器通過packet-out消息要求所有虛擬交換機(jī)將封裝有設(shè)備標(biāo)識(shí)、接口標(biāo)識(shí)等信息的LLDP數(shù)據(jù)包從所有端口發(fā)送出去,相鄰虛擬交換機(jī)收到后將通過packet-in消息將數(shù)據(jù)包轉(zhuǎn)發(fā)至中央控制器,然后通過分析創(chuàng)建相鄰虛擬交換機(jī)之間的鏈接關(guān)系,從而建立域網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。

      網(wǎng)絡(luò)拓?fù)浣ǔ珊?,中央控制器?jì)算域間的路徑,并結(jié)合域三層網(wǎng)絡(luò)地址進(jìn)行歸納,最后生成流表下發(fā)至虛擬交換機(jī)。流表指定了域間路由規(guī)則,包括匹配的網(wǎng)段地址和轉(zhuǎn)發(fā)數(shù)據(jù)包的端口。域控制器依據(jù)映射關(guān)系在對(duì)應(yīng)的物理交換機(jī)安裝流表,至此完成了域邊界上域間路由的建立。域控制器還必須在域內(nèi)其它物理交換機(jī)上安裝相應(yīng)流表以建立到本域出口的路由,例如在交換機(jī)2上的流表是若目的網(wǎng)段為10.2.0.0/16或10.3.0.0/16,則從端口3轉(zhuǎn)發(fā)。但是交換機(jī)1沒有相關(guān)流表,主機(jī)1無法和域2和域3的主機(jī)通信,因此域控制器需依據(jù)域內(nèi)拓?fù)溆?jì)算路徑并在交換機(jī)1上安裝流表,當(dāng)數(shù)據(jù)幀目的網(wǎng)段為10.2.0.0/16或10.3.0.0/16時(shí),則從端口2轉(zhuǎn)發(fā)。各交換機(jī)域間流表如表4所示。

      圖5 域控制器握手流程

      表4 交換機(jī)域間流信息

      2.4 域內(nèi)路由

      域內(nèi)路由包括子域內(nèi)部二層路由和子域間三層路由,域內(nèi)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)也需要域控制器利用LLDP探測(cè)。

      2.4.1 二層通信

      在傳統(tǒng)二層網(wǎng)絡(luò)中,主機(jī)間IP通信需通過ARP協(xié)議先獲取對(duì)方MAC地址:源主機(jī)發(fā)送的ARP請(qǐng)求包在網(wǎng)絡(luò)中廣播,目的主機(jī)收到ARP請(qǐng)求后返回ARP響應(yīng)包至源主機(jī),至此通信雙方都學(xué)習(xí)到了對(duì)方的MAC地址,之后主機(jī)間交換的IP包中被填入對(duì)方MAC地址和IP地址,由交換機(jī)在依據(jù)生成樹協(xié)議STP[1213](Spanning Tree Protocol)計(jì)算的路徑上傳輸。

      軟件定義網(wǎng)絡(luò)二層交換須符合以上主機(jī)層面的通信過程,網(wǎng)絡(luò)層通信流程以主機(jī)3和5通信為例設(shè)計(jì)如下:

      (1)主機(jī)3發(fā)出的ARP請(qǐng)求包由交換機(jī)3封裝入 packet-in消息發(fā)送給域控制器2處理;

      (2)域控制器2將該ARP請(qǐng)求包在子域1內(nèi)廣播;

      (3)主機(jī)5收到ARP請(qǐng)求后返回包含本機(jī)MAC地址的ARP響應(yīng)包,該包由交換機(jī)5封裝入packet-in消息發(fā)送給域控制器2處理;

      (4)域控制器2依據(jù)拓?fù)湫畔⑾掳l(fā)流表至交換機(jī)3和5建立主機(jī)3和5雙向路徑,并把該ARP響應(yīng)包通過交換機(jī)1發(fā)送至主機(jī)3。

      (5)后續(xù)主機(jī)3和5可以互發(fā)IP包進(jìn)行通信。

      交換機(jī)3和5上和二層通信相關(guān)的流表如表5所示(表號(hào)0的條目從上往下的優(yōu)先級(jí)是從高到低)。

      表5 交換機(jī)二層流信息

      2.4.2 三層通信

      當(dāng)域控制器和域內(nèi)交換機(jī)建立連接后,通過LLDP探測(cè)獲取本域網(wǎng)絡(luò)拓?fù)?。域控制器?jì)算子域間的路徑,并依據(jù)給各子域設(shè)定的網(wǎng)絡(luò)地址下發(fā)流表至交換機(jī)建立子域間的三層路由,如表6所示。

      表6 交換機(jī)子域間三層流信息

      對(duì)于三層通信,主機(jī)發(fā)現(xiàn)目的IP地址與自己不在同一網(wǎng)段內(nèi),須先通過ARP協(xié)議解析網(wǎng)關(guān)的MAC地址,然后將IP數(shù)據(jù)包發(fā)至網(wǎng)關(guān)進(jìn)行轉(zhuǎn)發(fā),因此域控制器需實(shí)現(xiàn)網(wǎng)關(guān)的功能。

      以主機(jī)3和4跨三層域進(jìn)行通信為例,設(shè)計(jì)三層通信流程如下:

      (1)主機(jī)3發(fā)出對(duì)網(wǎng)關(guān)地址10.2.1.1的ARP請(qǐng)求,由交換機(jī)3封裝入 packet-in消息發(fā)送至域控制器2處理;

      (2)域控制器2構(gòu)造包含交換機(jī)3端口1(該端口與主機(jī)3直連)的MAC地址的ARP響應(yīng)包,發(fā)送至主機(jī)3;

      (3)主機(jī)3收到ARP響應(yīng)后,構(gòu)造IP數(shù)據(jù)包,其中源和目的MAC地址分別為主機(jī)3和網(wǎng)關(guān)的MAC,源和目的IP地址分別為主機(jī)3和主機(jī)4;

      (4)交換機(jī)3發(fā)現(xiàn)目的IP地址為主機(jī)4的包和子域間流表匹配,將該IP包經(jīng)端口3發(fā)送至交換機(jī)4;

      (5)交換機(jī)4沒有匹配目的IP為主機(jī)4的流表,將緩存這個(gè)數(shù)據(jù)包,并封裝入 packet-in消息發(fā)送至域控制器2處理;

      (6)域控制器2構(gòu)造對(duì)主機(jī)4的IP的ARP請(qǐng)求,在交換機(jī)4的所有訪問端口(與主機(jī)直連)泛洪;

      (7)主機(jī)4收到ARP請(qǐng)求后返回包含本機(jī)MAC地址的ARP響應(yīng)包,該包由交換機(jī)4封裝入packet-in消息發(fā)送給域控制器2處理;

      (8)域控制器2下發(fā)流表至交換機(jī)4建立從子域邊界端口2到端口1上主機(jī)4的通路,并將之前緩存的來自主機(jī)3的IP包由交換機(jī)4轉(zhuǎn)發(fā)至主機(jī)4;

      (9)主機(jī)4發(fā)送IP包給主機(jī)3的過程和以上過程類似;

      (10)當(dāng)主機(jī)3收到主機(jī)4的IP包后,雙向路由完全建立,后續(xù)主機(jī)3和4可以互發(fā)IP包進(jìn)行通信。

      以上流程如圖6所示。

      最后形成的滿足主機(jī)3和4通信的流表如表7所示。

      圖6 三層通信流程

      表7 交換機(jī)子域流信息

      2.5 域間通信

      域間三層通信建立在域間路由和域內(nèi)路由機(jī)制上,其通信流程和域內(nèi)三層通信類似但有所不同,以主機(jī)3和2通信為例,其與主機(jī)3和4的通信流程不同點(diǎn)如下:

      當(dāng)主機(jī)3發(fā)送IP包到主機(jī)2時(shí),交換機(jī)3匹配的是由中央控制器下發(fā)的域間流表,不是子域間流表;

      交換機(jī)2收到目的主機(jī)2的包將由域控制器1處理,不是主機(jī)3所在域的域控制器2。

      3 結(jié)語

      利用SDN集中控制的特點(diǎn)提出了SDN三層網(wǎng)絡(luò)的路由策略,通過把網(wǎng)絡(luò)劃分為多個(gè)區(qū)域并抽象成虛擬交換機(jī)受中央控制器管控,這種分布式和集中式相結(jié)合的控制平面不僅分解了控制器的處理壓力,而且保留了集中控制的優(yōu)勢(shì)和全局的視圖,降低了管控復(fù)雜度,具有很好的擴(kuò)展能力。開放的SDN使學(xué)術(shù)界和產(chǎn)業(yè)界充分加入到研究和創(chuàng)新行列中,促進(jìn)傳統(tǒng)網(wǎng)絡(luò)向新型網(wǎng)絡(luò)架構(gòu)快速演進(jìn)和發(fā)展。

      猜你喜歡
      域控制器子域流表
      基于鏡像選擇序優(yōu)化的MART算法
      基于子域解析元素法的煤礦疏降水量預(yù)測(cè)研究
      煤炭工程(2021年7期)2021-07-27 09:34:20
      基于時(shí)序與集合的SDN流表更新策略
      處理域控制器時(shí)間誤差
      基于緩存策略的OpenFlow流表存儲(chǔ)優(yōu)化方案研究
      簡(jiǎn)析yangUI流表控制
      軟件定義網(wǎng)絡(luò)中一種兩步式多級(jí)流表構(gòu)建算法
      一種基于壓縮感知的三維導(dǎo)體目標(biāo)電磁散射問題的快速求解方法
      基于軟件定義網(wǎng)絡(luò)的分層式控制器負(fù)載均衡機(jī)制
      修復(fù)域控制器故障
      冕宁县| 湘乡市| 锡林浩特市| 红安县| 清河县| 晋城| 镇赉县| 宁化县| 辽源市| 洪江市| 翁源县| 祁阳县| 泉州市| 盐城市| 额尔古纳市| 淮滨县| 永泰县| 新巴尔虎右旗| 汾西县| 贡嘎县| 辰溪县| 读书| 涟源市| 印江| 青冈县| 奇台县| 恩施市| 高淳县| 肇东市| 罗江县| 洮南市| 儋州市| 扎兰屯市| 梓潼县| 邢台县| 晋中市| 涟源市| 肇庆市| 祁连县| 绥化市| 乌兰察布市|