自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SDN網(wǎng)絡(luò)感知服務(wù)與最短路徑應(yīng)用

網(wǎng)絡(luò)
本文將介紹RYU中的網(wǎng)絡(luò)感知服務(wù),與基于網(wǎng)絡(luò)服務(wù)的最短路徑應(yīng)用,主要內(nèi)容包括網(wǎng)絡(luò)資源感知模塊,網(wǎng)絡(luò)監(jiān)控模塊和基于網(wǎng)絡(luò)信息的最短路由模塊介紹。

本文將介紹RYU中的網(wǎng)絡(luò)感知服務(wù),與基于網(wǎng)絡(luò)服務(wù)的最短路徑應(yīng)用,主要內(nèi)容包括網(wǎng)絡(luò)資源感知模塊,網(wǎng)絡(luò)監(jiān)控模塊和基于網(wǎng)絡(luò)信息的最短路由模塊介紹。在一個真實的網(wǎng)絡(luò)環(huán)境下,需掌握網(wǎng)絡(luò)的實時動態(tài),包括網(wǎng)絡(luò)的資源以及網(wǎng)絡(luò)流量狀況,其中網(wǎng)絡(luò)的信息包括交換機,端口,主機的信息,以及基于流的流量統(tǒng)計信息和基于端口的流量統(tǒng)計信息。在掌握這些關(guān)鍵的網(wǎng)絡(luò)信息后,控制器就可以根據(jù)這些信息作出當下最正確的路由決策,完成網(wǎng)絡(luò)的通信。

網(wǎng)絡(luò)資源感知

網(wǎng)絡(luò)資源感知模塊用于感知網(wǎng)絡(luò)資源的實時變化,包括拓撲信息以及主機信息的變化。任何網(wǎng)絡(luò)應(yīng)用,可達性都是最基本的要求。SDN網(wǎng)絡(luò)的集中控制,使得控制器可以根據(jù)全局的信息作出***決策而無需在交換節(jié)點上采用分布式的路由算法。所以感知網(wǎng)絡(luò)資源是SDN應(yīng)用最基礎(chǔ)的一項服務(wù)。

實現(xiàn)該模塊的類為Network_Aware類,該類描述如下:

SDN網(wǎng)絡(luò)感知服務(wù)與最短路徑應(yīng)用

其中數(shù)據(jù)結(jié)構(gòu)與其作用關(guān)系如下:

link_to_port字典存儲交換機之間鏈路與端口的映射關(guān)系;

access_table字典存儲主機的接入信息;

switch_port_table存儲交換機端口列表;

access_ports存儲外向端口(與終端連接的接口);

interior_ports存儲內(nèi)部端口;

grap存儲網(wǎng)絡(luò)拓撲圖;

pre_link_to_port等帶有pre前綴的數(shù)據(jù)結(jié)構(gòu)用于保存上一次獲取的信息,用于和當前獲取信息做比較。

_discover函數(shù)是主循環(huán)函數(shù)

在_discover函數(shù)中,周期執(zhí)行g(shù)et_topology和是show_topology函數(shù)。在get_topology函數(shù)中,控制器可以獲取到網(wǎng)絡(luò)中的交換機和端口信息、鏈路信息、主機接入信息等。此外,控制器通過實時檢測網(wǎng)絡(luò)變化的異步事件來更新網(wǎng)絡(luò)資源信息。show_topology函數(shù)則是將網(wǎng)絡(luò)信息格式化地展示在終端中。由于前端開發(fā)能力有限,目前僅僅簡單將后臺數(shù)據(jù)展現(xiàn)在終端。

Note that:可以通過置位IS_UPDATE來控制是否輸出信息。此外,若拓撲信息不發(fā)生變化,將不打印,即僅打印拓撲一次,直至拓撲更新??梢詫⑴袛嘀械腶nd 修改為or,即可每次都打印。

圖1.網(wǎng)絡(luò)資源信息

 圖1.網(wǎng)絡(luò)資源信息

網(wǎng)絡(luò)流量監(jiān)控

網(wǎng)絡(luò)的信息除了物理資源信息以外,還包括邏輯鏈路等信息;獲取流表信息可獲得對應(yīng)的邏輯連接信息。此外,獲取網(wǎng)絡(luò)的數(shù)據(jù)流量的統(tǒng)計情況對防止網(wǎng)絡(luò)故障,合理優(yōu)化網(wǎng)絡(luò)等方面起到了重要的作用。網(wǎng)絡(luò)流量監(jiān)控模塊實現(xiàn)了對端口流量和流表項流量的監(jiān)控。應(yīng)用可周期獲取到流量信息,并在終端中輸出展示。

實現(xiàn)網(wǎng)絡(luò)流量監(jiān)控的類為:Network_Monitor,具體描述如下:

 SDN網(wǎng)絡(luò)感知服務(wù)與最短路徑應(yīng)用

其中數(shù)據(jù)結(jié)構(gòu)的作用如下:

datapaths記錄與控制器連接的datapath;

port_stats保存端口的統(tǒng)計信息;

port_speed保存端口的速率信息;

flow_stats保存流的統(tǒng)計信息;

flow_speed保存流的速率信息;

stats保存所有的統(tǒng)計信息;

port_link保存link的特性信息;

_monitor函數(shù)為主循環(huán)函數(shù);

在主循環(huán)函數(shù)中,周期調(diào)用了self._request_stats和self.show_stat函數(shù),前者用于下發(fā)統(tǒng)計信息請求報文,后者用于展現(xiàn)統(tǒng)計信息。統(tǒng)計信息回復(fù)報文處理函數(shù)為:_flow_stats_reply_handler和_port_stats_reply_handler,兩者分別使用的@set_ev_cls裝飾符,注冊監(jiān)聽了對應(yīng)的事件。至此流量統(tǒng)計模塊已經(jīng)完成了閉環(huán),可以作為底層的服務(wù)為上層的應(yīng)用提供實時的流量統(tǒng)計信息。

圖2. 端口流量統(tǒng)計信息

 圖2. 端口流量統(tǒng)計信息

圖3. 流表項流量統(tǒng)計信息

 圖3.-流表項流量統(tǒng)計信息

#p#

基于網(wǎng)絡(luò)資源的最短路徑

基于以上的網(wǎng)絡(luò)資源感知模塊與網(wǎng)絡(luò)流量監(jiān)控模塊提供的數(shù)據(jù),我們可以做很多事情,比如負載均衡等流量調(diào)度應(yīng)用,有比如安全接入等安全應(yīng)用。本小節(jié)介紹基于網(wǎng)絡(luò)資源的最短路徑應(yīng)用。衡量最短路徑的參考系是跳數(shù),稍加修改可以變?yōu)槭S鄮挘訒r或者多參考系加權(quán)的方案。源代碼鏈接:shortest_route最短路徑應(yīng)用流程圖如下:

圖4, 最短路由流程圖

圖4, 最短路由流程圖

首先,查詢主機表,若查找成功,則查詢主機位置表,之后直接由控制器將ARP數(shù)據(jù)包發(fā)送給對應(yīng)的端口,此時控制器并不做ARP的代理。當目標主機回復(fù)ARP時,將數(shù)據(jù)包直接發(fā)送到源主機的接入端口。從而完成了ARP的學(xué)習(xí)過程。由于此時已經(jīng)掌握了主機的接入信息以及網(wǎng)絡(luò)信息,當ICMP或其他數(shù)據(jù)包出發(fā)packet_in事件時,則可根據(jù)源目兩個IP查詢到接入交換機,再依據(jù)拓撲信息,計算最短路徑,從而完成最短路由。若希望使用其他的參考標準來計算最短路徑,只需修改計算最短路徑的算法即可。

在網(wǎng)絡(luò)初始化時,控制器并沒有辦法發(fā)現(xiàn)沉默的主機,原因在于我們沒有進行DHCP分配,導(dǎo)致控制器沒有掌握主機的IP/MAC信息。所以***步我們需要處理的數(shù)據(jù)包是ARP。處理流程具體如下所示:

圖5. ARP處理流程圖

 圖5. ARP處理流程圖

Note that:本應(yīng)用假設(shè)主機發(fā)起通信時需先發(fā)起ARP,不可通過其他途徑獲取到ARP的信息,否則控制器無法獲得目的端主機接入信息,則無法完成路由。對于域外的主機,只需在找不到目的端時,將其送給出口網(wǎng)關(guān)即可。此時需使用到子網(wǎng)掩碼,網(wǎng)段,路由等概念。本應(yīng)用僅針對簡單局域網(wǎng)計算路徑。

圖6. 流表項流量統(tǒng)計信息

 圖6. 流表項流量統(tǒng)計信息

總結(jié)

網(wǎng)絡(luò)感知服務(wù)對于SDN網(wǎng)絡(luò)而言非常重要,是一切網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)。充分利用網(wǎng)絡(luò)資源的信息,可以對網(wǎng)絡(luò)進行優(yōu)化,提高網(wǎng)絡(luò)的安全性。以上的Network_aware和monitor模塊均可以直接做為APP的service app(在RYU中需在_CONTEXTS添加)提供數(shù)據(jù)服務(wù),希望可以給有需要的讀者提供一些幫助。

責任編輯:何妍 來源: SDNLAB
相關(guān)推薦

2015-12-07 17:07:36

SDN網(wǎng)絡(luò)流量

2011-05-17 13:58:37

最短路徑

2015-09-17 14:54:07

SDNNFV網(wǎng)絡(luò)架構(gòu)

2021-09-08 10:32:29

微服務(wù)容器化Serverless

2015-09-17 15:45:06

SDNNFV網(wǎng)絡(luò)架構(gòu)

2024-05-24 08:00:00

2011-04-11 16:32:28

路徑C++

2011-06-01 09:27:00

OSPF路由路由器

2021-08-26 17:36:42

Floyd算法數(shù)據(jù)結(jié)構(gòu)

2013-04-23 09:31:52

SQL Server

2011-12-19 12:39:37

Java

2021-05-10 08:07:40

圖算法路徑頂點

2013-04-18 10:27:45

SDN虛擬化OmniSwitch

2014-04-22 13:05:38

虛擬化云計算應(yīng)用感知

2016-05-11 10:31:33

SDN傳統(tǒng)網(wǎng)絡(luò)

2021-03-10 09:50:15

算法Dijkstra短路問題

2012-05-18 09:30:27

InteropBYOD

2015-06-15 11:33:11

SDN網(wǎng)絡(luò)虛擬化

2013-04-28 10:18:42

SDNSDN應(yīng)用4-7層

2014-12-03 09:41:13

SDNSDN安全SDN網(wǎng)絡(luò)
點贊
收藏

51CTO技術(shù)棧公眾號