基于click自定義協(xié)議軟件路由器的 設(shè)計(jì)與實(shí)現(xiàn)
《基于click自定義協(xié)議軟件路由器的 設(shè)計(jì)與實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于click自定義協(xié)議軟件路由器的 設(shè)計(jì)與實(shí)現(xiàn)(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、網(wǎng)絡(luò)協(xié)議設(shè)計(jì)實(shí)驗(yàn) 設(shè)計(jì)文檔 基于click自定義協(xié)議軟件路由器的 設(shè)計(jì)與實(shí)現(xiàn) 二〇一四年十二月 目 錄 一、實(shí)驗(yàn)概要及實(shí)驗(yàn)設(shè)計(jì) 1 (一)實(shí)驗(yàn)概要 1 (二)實(shí)驗(yàn)?zāi)康?1 (三)實(shí)驗(yàn)分析 1 1、協(xié)議分析 1 2、協(xié)議設(shè)計(jì) 2 二、實(shí)驗(yàn)設(shè)計(jì) 4 (一)實(shí)驗(yàn)流程 4 (二)click路由器總體設(shè)計(jì) 5 1. 路由器報(bào)文分類概要設(shè)計(jì) 5 2。 路由器報(bào)文轉(zhuǎn)發(fā)概要設(shè)計(jì) 6 3。 Label標(biāo)簽信息庫(kù)結(jié)構(gòu) 9 4. 優(yōu)先級(jí)調(diào)度概要設(shè)計(jì) 9 5。 基于優(yōu)先級(jí)的限速功能的概要設(shè)計(jì) 10 (三)click路由器轉(zhuǎn)發(fā)流程設(shè)計(jì) 11 1. PSP路由轉(zhuǎn)發(fā)流程詳細(xì)
2、設(shè)計(jì) 11 2. Label報(bào)文轉(zhuǎn)發(fā)詳細(xì)設(shè)計(jì) 12 (四)主要組件設(shè)計(jì) 14 1。 Fastpspsource組件 14 2。 LableRouteTable 15 3. LableLookup 15 4。 RateLimit 16 三、實(shí)驗(yàn)演示 17 (一)PSP路由轉(zhuǎn)發(fā)測(cè)試 17 1。 實(shí)驗(yàn)拓?fù)鋱D 17 2。 實(shí)驗(yàn)測(cè)試方法 17 3. 配置文件 17 4。 測(cè)試結(jié)果 18 5。 結(jié)果總結(jié) 20 (二)基于Label的路由轉(zhuǎn)發(fā)測(cè)試 21 1。 實(shí)驗(yàn)拓?fù)鋱D 21 2。 配置文件 21 3。 測(cè)試結(jié)果 21 4. 結(jié)果總結(jié) 21 (三)優(yōu)先級(jí)隊(duì)列調(diào)度功能測(cè)試
3、 21 1。 實(shí)驗(yàn)拓?fù)鋱D 21 2. 實(shí)驗(yàn)測(cè)試方法 21 3. 配置文件 22 4。 測(cè)試結(jié)果 23 5。 結(jié)果總結(jié) 24 (四)標(biāo)簽流按優(yōu)先級(jí)分別進(jìn)行限速功能測(cè)試 24 1. 實(shí)驗(yàn)拓?fù)鋱D 24 2。 配置文件 25 3。 測(cè)試結(jié)果 26 4。 結(jié)果總結(jié) 27 四、實(shí)驗(yàn)分工 27 17 一、實(shí)驗(yàn)概要及實(shí)驗(yàn)設(shè)計(jì) (一)實(shí)驗(yàn)概要 本實(shí)驗(yàn)?zāi)康臑榛谝延械腸lick開(kāi)源軟件實(shí)現(xiàn)一個(gè)自定義協(xié)議的軟件路由器完整轉(zhuǎn)發(fā)流程,具體包含五個(gè)核心任務(wù):報(bào)文分類處理;PSP報(bào)文分組轉(zhuǎn)發(fā)流程(包含PSP頭檢查、TTL減一、轉(zhuǎn)發(fā)表);定長(zhǎng)標(biāo)簽交換流程(包含標(biāo)簽頭解封裝、標(biāo)簽表、標(biāo)簽頭封
4、裝);標(biāo)簽流8個(gè)優(yōu)先級(jí)隊(duì)列調(diào)度;標(biāo)簽流按照優(yōu)先級(jí)分別進(jìn)行限速。 (二)實(shí)驗(yàn)?zāi)康? 通過(guò)實(shí)驗(yàn)設(shè)計(jì),深入理解軟件路由器的基本原理、組成和實(shí)現(xiàn),掌握計(jì)算機(jī)網(wǎng)絡(luò)研究所需的基本設(shè)計(jì)技能,包括系統(tǒng)設(shè)計(jì)能力、軟件編程能力、整體表述能力和新思想的實(shí)驗(yàn)驗(yàn)證能力,為開(kāi)展計(jì)算機(jī)網(wǎng)絡(luò)方向的深入研究奠定實(shí)際驗(yàn)證基礎(chǔ)。 (三)實(shí)驗(yàn)分析 1、協(xié)議分析 一個(gè)完整的路由協(xié)議需要完成的功能包含以下內(nèi)容:制定指導(dǎo)數(shù)據(jù)報(bào)文分組從一個(gè)網(wǎng)絡(luò)到另一個(gè)網(wǎng)絡(luò)的規(guī)定和標(biāo)準(zhǔn);創(chuàng)建路由表,并維護(hù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);運(yùn)行路由協(xié)議,執(zhí)行路由選擇和分組轉(zhuǎn)發(fā)功能。這對(duì)我們接下來(lái)的協(xié)議設(shè)計(jì)提出了基本的要求,即對(duì)于網(wǎng)絡(luò)中的每一層都需要定義報(bào)文的格式,然后對(duì)
5、于報(bào)文在網(wǎng)絡(luò)中的發(fā)送、接收和轉(zhuǎn)發(fā)都有穩(wěn)定的拓?fù)浣Y(jié)構(gòu). 2、協(xié)議設(shè)計(jì) 一個(gè)自定義的協(xié)議簇(ABC),包括地址編址結(jié)構(gòu)、網(wǎng)絡(luò)互連與路由轉(zhuǎn)發(fā)等多個(gè)簡(jiǎn)單協(xié)議,對(duì)其進(jìn)行詳細(xì)說(shuō)明如下: (1) 地址編制結(jié)構(gòu)(64位),其中前16位為網(wǎng)絡(luò)標(biāo)識(shí),后48為接口標(biāo)識(shí)。實(shí)際操作中,接口標(biāo)識(shí)為該接口的MAC地址,與前16位拼接為64位地址。 (2) 鏈路層協(xié)議,規(guī)定了以太網(wǎng)的封裝格式如下: 其中,IP報(bào)文類型定義為0x6000,標(biāo)簽(LABEL)報(bào)文類型定義為0x6001。 (3) 2。5層標(biāo)簽交換協(xié)議,規(guī)定了標(biāo)簽交換頭的封裝格式,并約定標(biāo)簽交換頭后默認(rèn)為PSP格式的報(bào)文。 (4) 網(wǎng)絡(luò)層協(xié)議,定義了
6、網(wǎng)絡(luò)層報(bào)文頭格式。 其中TOS為0—15,表示報(bào)文的傳輸優(yōu)先級(jí);標(biāo)識(shí)符標(biāo)注報(bào)文的序號(hào);載荷長(zhǎng)度為不包括報(bào)文頭的報(bào)文內(nèi)容長(zhǎng)度;下一報(bào)頭類型為1時(shí)表示為ABC_ICMP協(xié)議,為2時(shí)表示為ABC_UDP協(xié)議;跳數(shù)限制最大為64,并且每經(jīng)過(guò)一個(gè)路由器,其值減1,其值為0時(shí)報(bào)文被丟棄;源地址和目的地址分別記錄發(fā)送方和目的方地址。 (5) 定義了ABC_UDP(ABC不可靠傳輸協(xié)議)報(bào)文頭格式。 (6) 基本實(shí)驗(yàn)拓?fù)? 如圖所示,根據(jù)以太網(wǎng)報(bào)文頭中包含的以太網(wǎng)的目的地址、源地址和報(bào)文類型, ABC協(xié)議就能實(shí)現(xiàn)一個(gè)簡(jiǎn)單的報(bào)文收發(fā)過(guò)程。 (7) 包含轉(zhuǎn)發(fā)過(guò)程的實(shí)驗(yàn)拓?fù)? 一個(gè)簡(jiǎn)單的轉(zhuǎn)發(fā)過(guò)程包含以下的步
7、驟:從發(fā)送方接收?qǐng)?bào)文;更改報(bào)文的源地址以及目的地址;通過(guò)端口發(fā)出報(bào)文.示意圖如下: 二、實(shí)驗(yàn)設(shè)計(jì) (一)實(shí)驗(yàn)流程 1. 準(zhǔn)備工作 a) 下載修改后的Click源代碼; b) 安裝Fedora虛擬機(jī),配置開(kāi)發(fā)、測(cè)試環(huán)境; c) 編譯源碼,運(yùn)行Demo實(shí)驗(yàn); d) 學(xué)習(xí)Click基礎(chǔ)知識(shí),查看源碼,了解組件的設(shè)計(jì)方法和組件的配置文件。 2. 系統(tǒng)概要設(shè)計(jì) 充分了解實(shí)驗(yàn)任務(wù),進(jìn)行初步的概要設(shè)計(jì),設(shè)計(jì)包括組件的功能和組織。 3. 編碼 4. 實(shí)驗(yàn)環(huán)境搭建 5. 代碼集成和測(cè)試 首先各個(gè)組件需要通過(guò)單元測(cè)試,最后集成起來(lái)進(jìn)行系統(tǒng)測(cè)試。 6. 編寫(xiě)實(shí)驗(yàn)報(bào)告文檔 (二)cl
8、ick路由器總體設(shè)計(jì) 1. 路由器報(bào)文分類概要設(shè)計(jì) 報(bào)文主要分為四種類型:ARP Query報(bào)文、ARP Response報(bào)文、PSP報(bào)文、Label報(bào)文。從輸入組件中獲取數(shù)據(jù)包,發(fā)送到數(shù)據(jù)包分類器.概要圖如下圖所示: 其中,根據(jù)以太網(wǎng)頭部類型信息進(jìn)行分類,如下所示: 類型碼 0x0806 0x6000 0x6001 0x0806 2. 路由器報(bào)文轉(zhuǎn)發(fā)概要設(shè)計(jì) 路由器報(bào)文轉(zhuǎn)發(fā)的概要設(shè)計(jì)圖如下所示,其中包含兩條主線:一是基于PSP協(xié)議的路由轉(zhuǎn)發(fā),二是基于Label標(biāo)簽的路由轉(zhuǎn)發(fā). 兩條主線的公用組件的作用如下表所示: FromDevice 從
9、指定端口獲取數(shù)據(jù)包,轉(zhuǎn)發(fā)給下一個(gè)組件 Classifier 數(shù)據(jù)包類型分類器,根據(jù)以太網(wǎng)頭部類型信息把數(shù)據(jù)分為四類:ARP Query 、ARP Response 、PSP 報(bào)文、Label 報(bào)文 TTL — 1 將報(bào)文的TTL 進(jìn)行減一操作,當(dāng)TTL為時(shí),不再轉(zhuǎn)發(fā)報(bào)文 ARP Query 查詢目的IP對(duì)應(yīng)的Mac地址 Modify Ether Header 修改以太網(wǎng)頭部 ToDevice 將數(shù)據(jù)包發(fā)送到指定端口 對(duì)于PSP報(bào)文的路由轉(zhuǎn)發(fā),其中的兩個(gè)組件功能如下: Get Dest Address 獲取PSP報(bào)文的目的地址 Lookup Router Ta
10、ble 查詢路由表,得到要轉(zhuǎn)發(fā)的端口 對(duì)于Label報(bào)文的路由轉(zhuǎn)發(fā),其中的兩個(gè)組件的功能如下: Lookup LIB 根據(jù)標(biāo)簽號(hào),查詢標(biāo)簽信息庫(kù),得到新的標(biāo)簽號(hào)和轉(zhuǎn)發(fā)端口。 Modify Label for next jump 修改標(biāo)簽頭部信息中的標(biāo)簽號(hào)為查表得到新標(biāo)簽號(hào) (1) 對(duì)于PSP報(bào)文路由轉(zhuǎn)發(fā),首先根據(jù)PSP頭部中的目的地址查詢路由表,得到轉(zhuǎn)發(fā)端口;然后進(jìn)行TTL—1、修改Ether頭部中的目的Mac,然后從查詢到的轉(zhuǎn)發(fā)端口進(jìn)行發(fā)送. (2) 對(duì)于急于標(biāo)簽的路由轉(zhuǎn)發(fā),首先根據(jù)Label頭部的標(biāo)簽號(hào)查詢標(biāo)簽信息庫(kù),得到新的標(biāo)簽號(hào)和轉(zhuǎn)發(fā)端口,并修改Label頭部的
11、標(biāo)簽號(hào)為新的標(biāo)簽號(hào)。然后進(jìn)行TTL—1,修改Ether頭部中的目的Mac,然后從查詢到的轉(zhuǎn)發(fā)端口進(jìn)行發(fā)送。 3. Label標(biāo)簽信息庫(kù)結(jié)構(gòu) 標(biāo)簽信息庫(kù)維護(hù)基于標(biāo)簽交換的路由轉(zhuǎn)發(fā)信息。當(dāng)一個(gè)帶有標(biāo)簽的報(bào)文進(jìn)入路由器的時(shí)候,首先根據(jù)標(biāo)簽頭部的Label ID查找標(biāo)簽信息庫(kù),得到下一跳的Label ID和轉(zhuǎn)發(fā)端口。其結(jié)構(gòu)信息如下: 4. 優(yōu)先級(jí)調(diào)度概要設(shè)計(jì) 對(duì)于標(biāo)簽交換,當(dāng)輸入組件獲取數(shù)據(jù)包,經(jīng)數(shù)據(jù)分類器分類后,確定為L(zhǎng)abel報(bào)文,轉(zhuǎn)發(fā)給優(yōu)先級(jí)分類器。優(yōu)先級(jí)分類器根據(jù)Label頭部中的QOS字段進(jìn)行優(yōu)先級(jí)判定,分別加入不同優(yōu)先級(jí)的隊(duì)列中.優(yōu)先級(jí)調(diào)度組件根據(jù)優(yōu)先級(jí)調(diào)度算法進(jìn)行調(diào)度,從不同優(yōu)先
12、級(jí)的隊(duì)列中獲取數(shù)據(jù)包,發(fā)送到待發(fā)送數(shù)據(jù)隊(duì)列。其中,調(diào)度算法是為了保證低優(yōu)先級(jí)的報(bào)文不至于餓死,采用時(shí)間片輪轉(zhuǎn)的方式,即給高優(yōu)先的隊(duì)列分配更多的時(shí)間。 5. 基于優(yōu)先級(jí)的限速功能的概要設(shè)計(jì) (三)click路由器轉(zhuǎn)發(fā)流程設(shè)計(jì) 1. PSP路由轉(zhuǎn)發(fā)流程詳細(xì)設(shè)計(jì) 組件/流程 功能描述 FastPSPSource組件 按照一定的速度產(chǎn)生PSP報(bào)文,模擬發(fā)送端 FromDevice組件 從指定的端口獲取數(shù)據(jù)包,轉(zhuǎn)發(fā)到下一個(gè)組件 Classifier組件 數(shù)據(jù)包分類器,根據(jù)以太網(wǎng)頭部的類型信息進(jìn)行分類,PSP報(bào)文的類型信息為0x6000 Get Dest Address 該步驟從
13、PSP報(bào)文頭部獲取目的地址,用來(lái)查詢路由表,獲取轉(zhuǎn)發(fā)端口 Lookup Router table 根據(jù)目的地址,查找路由表,獲取轉(zhuǎn)發(fā)端口 TTL—1 將報(bào)文TTL進(jìn)行減一操作 ARP Query ARP查詢,獲取下一跳的目的Mac地址 Modify Ethernet Header 根據(jù)查詢到的下一跳目的Mac地址,修改報(bào)文以太網(wǎng)頭部目的Mac字段 Add to Queue 添加到待發(fā)送數(shù)據(jù)包的隊(duì)列中 ToDevice組件 從Queue中獲取數(shù)據(jù)包,從指定網(wǎng)口發(fā)送出去 2. Label報(bào)文轉(zhuǎn)發(fā)詳細(xì)設(shè)計(jì) 發(fā)送者生成PSP報(bào)文,經(jīng)過(guò)AddLabelHeader組件添加標(biāo)簽
14、頭,發(fā)送到路由器;Click 路由器從網(wǎng)口接受數(shù)據(jù),進(jìn)過(guò)分類器后,確定為基于標(biāo)簽交換的報(bào)文。然后查詢標(biāo)簽信息庫(kù),并修改下一條標(biāo)簽號(hào),經(jīng)過(guò)TTL—1,目的MAC地址修改,轉(zhuǎn)發(fā)到相應(yīng)端口。接受者從網(wǎng)口獲取數(shù)據(jù)包,丟掉LabelHeader。 組件/流程 功能介紹 AddLabelHeader 在普通PSP數(shù)據(jù)包上添加標(biāo)簽頭信息,讓路由器可以基于標(biāo)簽進(jìn)行交換 Lookup LIB 查詢標(biāo)簽信息庫(kù),獲取下一跳Label ID和輸出端口 Modify Label for next jump 修改標(biāo)簽頭 Label ID字段,讓下一跳路由可以轉(zhuǎn)發(fā) Remove Label Header
15、 移除Label Header,得到PSP報(bào)文 (四)主要組件設(shè)計(jì) 1. Fastpspsource組件 組件名字 Fastpspsource 功能描述 按照一定的速度生成PSP報(bào)文 端口類型 PORTS_0_1 0個(gè)輸入端口,一個(gè)輸出端口 處理方式 PULL方式 參數(shù)描述 FASTPSPSOURCE(RATE, LIMIT, LENGTH, SRCETH, SRCIP, SPORT, DSTETH, DSTIP, DPORT) RATE:發(fā)送速度; LIMIT:生成最大報(bào)文數(shù)量; LENGTH:報(bào)文的長(zhǎng)度 SRCETH:源Mac地址 SRCIP:源IP地址
16、 SPORT:源端口號(hào) DSTETH:目的Mac地址 DSTIP:目的IP地址 DPORT:目的端口號(hào) 2. LableRouteTable 主要功能:定義標(biāo)簽信息結(jié)構(gòu),維護(hù)標(biāo)簽信息庫(kù),可以向里面添加、查詢、刪除標(biāo)簽信息. 3. LableLookup 組件名字 LableLookup 功能描述 (1) 靜態(tài)配置標(biāo)簽信息庫(kù) (2) 實(shí)現(xiàn)基于標(biāo)簽的查找轉(zhuǎn)發(fā) 端口類型 一個(gè)輸入端口,多個(gè)輸出端口 處理方式 PUSH方式 當(dāng)一個(gè)帶有標(biāo)簽的報(bào)文發(fā)送到LabelLookup組件,首先獲取Label標(biāo)簽頭部的標(biāo)簽號(hào),查找標(biāo)簽信息庫(kù),以獲取“Out Label”和“Out
17、Port”,然后修改標(biāo)簽頭部的標(biāo)簽號(hào)為“Out Label”,并從“Out Port”端口發(fā)送出去。流程圖如下: 4. RateLimit 組件名字 RateLimit 功能描述 限制一個(gè)報(bào)文流的速度,即每秒發(fā)送多少報(bào)文 端口類型 PORTS_1_1 1個(gè)輸入端口,1個(gè)輸出端口 處理方式 PULL 參數(shù)描述 RateLimit (RATE) RATE:報(bào)文流的最大速率,即最多每秒發(fā)送多少個(gè)報(bào)文 三、實(shí)驗(yàn)演示 (一)PSP路由轉(zhuǎn)發(fā)測(cè)試 1. 實(shí)驗(yàn)拓?fù)鋱D 2. 實(shí)驗(yàn)測(cè)試方法 實(shí)驗(yàn)拓?fù)鋱D如下所示:Client 從Eth1網(wǎng)口發(fā)送數(shù)據(jù)到Router1 Eth1,Rou
18、ter1轉(zhuǎn)發(fā)到Router2,Router2收到數(shù)據(jù)后再次轉(zhuǎn)發(fā)給Client 的Eth2,Client收到數(shù)據(jù)后打印消息內(nèi)容. 3. 配置文件 i. Client 發(fā)送報(bào)文配置文件 FastPSPSource(2,2000,128,00:0C:29:0E:9F:0D,0x0100000A,2345, 00:0C:29:61:C0:3E , 0x0200000A,2346) —> PSPPrint() —〉 ToDevice(eth1); ii. Client 接受報(bào)文配置文件 FromDevice(eth2) -> PSPPrint() -> Discard; iii. Route
19、r1 轉(zhuǎn)發(fā)報(bào)文配置文件 psp :: Print(”Forward PSP Pkt") —> rt :: PSPLookup( 10.0.0.1.0。0。0.0 0, 10。0。0.2。0.0。0.0 0) ; c0 :: Classifier(12/0600, —); out0 :: Queue(200) —〉 todevice0 :: ToDevice(eth1); FromDevice(eth1) —> c0; c0[0]—〉psp; c0[1]->Discard; rt[0]-〉 PSPMacap(00:
20、0C:29:F4:DD:E6) —> Print(rt2) -〉 out0; iv. Router2 轉(zhuǎn)發(fā)報(bào)文配置文件 psp :: Print("Forward PSP Pkt”) —> rt :: PSPLookup( 10.0。0。1。0。0。0。0 1, 10。0。0。2.0.0.0。0 1) ; c0 :: Classifier(12/0600, -); out0 :: Queue(200) -> todevice0 :: ToDevice(eth2); FromDevice(eth1) -〉
21、c0; c0[0]->psp; c0[1]->Discard; rt[0]—>Discard; rt[1]—> PSPMacap(00:0C:29:0E:9F:17) —〉 Print(rt2) -> out0; 4. 測(cè)試結(jié)果 v. 客戶端發(fā)送報(bào)文 vi. Router1 建立路由表以及轉(zhuǎn)發(fā) vii. Router2 建立路由表以及轉(zhuǎn)發(fā) viii. Client 接受到數(shù)據(jù)包并打印 5. 結(jié)果總結(jié) 實(shí)驗(yàn)采用通過(guò)模擬兩臺(tái)路由器之間的路由轉(zhuǎn)發(fā)來(lái)測(cè)試,從實(shí)驗(yàn)結(jié)果來(lái)看,Client 從Eth1網(wǎng)口發(fā)送出去的數(shù)據(jù)包,進(jìn)過(guò)Router1和Router2的路由轉(zhuǎn)發(fā)后,能成
22、功到達(dá)目的端。該實(shí)驗(yàn)結(jié)果說(shuō)明,基于PSP報(bào)文的路由轉(zhuǎn)發(fā)功能完整實(shí)現(xiàn)。 (二)基于Label的路由轉(zhuǎn)發(fā)測(cè)試 1. 實(shí)驗(yàn)拓?fù)鋱D 2. 配置文件 3. 測(cè)試結(jié)果 4. 結(jié)果總結(jié) (三)優(yōu)先級(jí)隊(duì)列調(diào)度功能測(cè)試 1. 實(shí)驗(yàn)拓?fù)鋱D 2. 實(shí)驗(yàn)測(cè)試方法 Client發(fā)送優(yōu)先級(jí)不同的數(shù)據(jù)包到Router1.Router1在接收到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包優(yōu)先級(jí)不同,放置到相應(yīng)的優(yōu)先級(jí)隊(duì)列中。由于采用包限流調(diào)度算法,越高的優(yōu)先級(jí)隊(duì)列能在一秒內(nèi)通過(guò)更多的數(shù)據(jù)包,越低的優(yōu)先級(jí)隊(duì)列通過(guò)的數(shù)據(jù)包個(gè)數(shù)越少。因此,低優(yōu)先級(jí)的數(shù)據(jù)包會(huì)被緩存在隊(duì)列中,高優(yōu)先級(jí)的數(shù)據(jù)包能盡快地從隊(duì)列中被讀出,使得從優(yōu)先級(jí)隊(duì)列中讀出數(shù)
23、據(jù)包的順序和Client發(fā)送數(shù)據(jù)包的順序會(huì)有差異。通過(guò)對(duì)比讀出數(shù)據(jù)包和發(fā)送數(shù)據(jù)包的順序,我們就可以驗(yàn)證優(yōu)先級(jí)隊(duì)列調(diào)度的功能是否正常、合理。 Client發(fā)送數(shù)據(jù)包順序如下:依次分別發(fā)送5個(gè)優(yōu)先級(jí)為n的數(shù)據(jù)包,其中n從8變化到1,并循環(huán)往復(fù).即發(fā)送5個(gè)優(yōu)先級(jí)為8的數(shù)據(jù)包,再發(fā)送5個(gè)優(yōu)先級(jí)為7的數(shù)據(jù)包······,并循環(huán)往復(fù).其中我們?cè)O(shè)定數(shù)據(jù)包QoS位的范圍為1—8。其中1代表最高優(yōu)先級(jí),8代表最低優(yōu)先級(jí). 3. 配置文件 1) Router1接收端部分配置文件如下所示: c :: Classifier(14/41, 14/42, 14/43, 14/44, 14/45, 14/46, 1
24、4/47, 14/48, -); ps :: PrioSched; queue1 :: Queue(100); queue2 :: Queue(100); queue3 :: Queue(100); queue4 :: Queue(100); queue5 :: Queue(100); queue6 :: Queue(100); queue7 :: Queue(100); queue8 :: Queue(100); queue9 :: Queue(100); FromDevice(eth1) —〉 c; c[0]-> queue1 —〉 Shaper(6) —> ps;
25、 c[1]—〉 queue2 —> Shaper(6) —〉 [1]ps; c[2]-〉 queue3 -〉 Shaper(3) —〉 [2]ps; c[3]-> queue4 —> Shaper(3) -> [3]ps; c[4]-〉 queue5 -> Shaper(2) —〉 [4]ps; c[5]-〉 queue6 -〉 Shaper(2) -〉 [5]ps; c[6]-> queue7 —〉 Shaper(1) -〉 [6]ps; c[7]—> queue8 -> Shaper(1) —> [7]ps; c[8]—〉 queue9 -〉 Shaper(10) -> [
26、8]ps; ps -> Discard; 根據(jù)數(shù)據(jù)包QoS的不同,定義一個(gè)輸出端口數(shù)為9的分類器。優(yōu)先級(jí)調(diào)度組件PrioSched采用時(shí)間片調(diào)度方式。同時(shí),定義了9個(gè)大小為100的隊(duì)列,最后一個(gè)隊(duì)列處理其他的數(shù)據(jù)包. 4. 測(cè)試結(jié)果 1) Client數(shù)據(jù)包發(fā)送順序如下圖所示: 2) Router1從優(yōu)先級(jí)隊(duì)列中讀出數(shù)據(jù)包的順序如下圖所示: 對(duì)比以上數(shù)據(jù)包順序,可以發(fā)現(xiàn),產(chǎn)生數(shù)據(jù)包的優(yōu)先級(jí)是從大變化到小,而通過(guò)優(yōu)先級(jí)隊(duì)列的調(diào)度,從隊(duì)列中讀出的數(shù)據(jù)包的優(yōu)先級(jí)從小變化到大.由于對(duì)每秒讀出各隊(duì)列的數(shù)據(jù)包數(shù)量進(jìn)行了限制,因此不會(huì)有產(chǎn)生低優(yōu)先級(jí)被餓死的現(xiàn)象. 5. 結(jié)果總結(jié) (四)標(biāo)簽流
27、按優(yōu)先級(jí)分別進(jìn)行限速功能測(cè)試 1. 實(shí)驗(yàn)拓?fù)鋱D 1) 實(shí)驗(yàn)測(cè)試方法 針對(duì)不同的優(yōu)先級(jí),設(shè)置RateLimit組件不同的參數(shù)以達(dá)到限速的目的,報(bào)文由發(fā)送方產(chǎn)生并在一秒鐘之內(nèi)發(fā)送200個(gè)報(bào)文給接收方,接收方接收時(shí)進(jìn)行基于優(yōu)先級(jí)的限速,并將結(jié)果進(jìn)行打印. 2. 配置文件 a) 報(bào)文發(fā)送端 FastPSPSource(200,200, 128, 00:0c:29:34:3e:ad, 0x800a000a, 2345,00:0C:29:eb:05:0f,0x810a000a,2346) -〉 ToDevice(eth1); b) 報(bào)文接收端 :: Classifier(13/0041,
28、13/0042, 13/0043, 13/0044, 13/0045, 13/0046, 13/0047, 13/0048, -); queue1 :: Queue(100); queue2 :: Queue(100); queue3 :: Queue(100); queue4 :: Queue(100); queue5 :: Queue(100); queue6 :: Queue(100); queue7 :: Queue(100); queue8 :: Queue(100); queue9 :: Queue(100); ps :: PrioSched; FromDev
29、ice(eth1) —〉 c; c[0]-> queue1 -〉Print("enter 0”)—>RateLimit(5)-> ps; c[1]—〉 queue2 —>Print("enter 1”)—> RateLimit(4) —> [1]ps; c[2]-〉 queue3 -〉 RateLimit(3) ->Print("enter 2")—> [2]ps; c[3]-〉 queue4 -> RateLimit(2) —>Print(”enter 3”)—〉 [3]ps; c[4]-> queue5 —〉 RateLimit(1) ->Print("enter 4")-> [
30、4]ps; c[5]—〉 queue6 —〉 RateLimit(1) —〉Print("enter 5")-〉 [5]ps; c[6]-〉 queue7 —〉 RateLimit(1) —〉Print("enter 6")-> [6]ps; c[7]-> queue8 -〉 RateLimit(1) -〉Print(”enter 7")-〉 [7]ps; c[8]-〉 queue9 —〉 RateLimit(0) ->Print(”enter 8”)-〉 [8]ps; ps -〉 Discard; 3. 測(cè)試結(jié)果 a) 將所有優(yōu)先級(jí)速率設(shè)為1(即一秒鐘接收一個(gè)報(bào)文)的情況時(shí),結(jié)果如下: 這樣的限速結(jié)果等同于一個(gè)純優(yōu)先級(jí)隊(duì)列。 b) 將最高優(yōu)先級(jí)(0)速率設(shè)為5,然后低優(yōu)先級(jí)遞減的情況下,結(jié)果如圖所示: 由于發(fā)送與接收是同時(shí)進(jìn)行的,所以結(jié)果看起來(lái)比較散亂,但是還是可以發(fā)現(xiàn)存在著明顯的優(yōu)先級(jí)關(guān)系以及最多存在最高優(yōu)先級(jí)連續(xù)的5個(gè)報(bào)文,這說(shuō)明限速過(guò)程是有效的 。 4. 結(jié)果總結(jié) 四、實(shí)驗(yàn)分工
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語(yǔ)一年級(jí)上冊(cè)Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認(rèn)識(shí)線段課件
- 患者病情評(píng)估培訓(xùn)完整
- 早產(chǎn)兒的護(hù)理教學(xué)
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級(jí)科學(xué)上冊(cè)課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細(xì)部處理龍湖
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟(jì)的發(fā)展
- 如何繪制出高品質(zhì)的學(xué)科思維導(dǎo)圖
- 美國(guó)癲癇學(xué)會(huì)驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設(shè)計(jì)理論及方法課件
- (課件)正弦定理公開(kāi)課