click協(xié)議軟件路由器設計實踐_第1頁
click協(xié)議軟件路由器設計實踐_第2頁
click協(xié)議軟件路由器設計實踐_第3頁
click協(xié)議軟件路由器設計實踐_第4頁
click協(xié)議軟件路由器設計實踐_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

網(wǎng)絡協(xié)議設計試驗

設計文檔

基于click自定義協(xié)議軟件路由器的

設計與實現(xiàn)

二。一四年十二月

目錄

一、試驗概要及試驗設計................錯誤味定義書簽。

(-)試驗概要........................錯誤!未定義書簽。

(二)試驗目的........................錯誤!未定義書簽。

(三)試驗分析........................錯誤!未定義書簽。

1、協(xié)議分析.......................錯誤!未定義書簽。

2、協(xié)議設計.......................錯誤!未定義書簽。

二、試驗設計..............................錯誤味定義書簽。

(一)試驗流程........................錯誤!未定義書簽。

(二)click路由器總體設計..............錯誤!未定義書簽。

1.路由器報文分類概要設計........錯誤!未定義書簽。

2.路由器報文轉發(fā)概要設計........錯誤!未定義書簽。

3.Label標簽信息庫構造...........錯誤!未定義書簽。

4.優(yōu)先級調(diào)度概要設計............錯誤!未定義書簽。

5.基于優(yōu)先級日勺限速功能日勺概要設計…錯誤!未定義書簽。

(三)click路由器轉發(fā)流程設計..........錯誤!未定義書簽。

1.PSP路由轉發(fā)流程詳細設計........錯誤!未定義書簽。

2.Label報文轉發(fā)詳細設計..........錯誤!未定義書簽。

(四)重要組件設計....................錯誤!未定義書簽。

1.Fastpspsource組件...............錯誤!未定義書簽。

2.LableRouteTable.....................................錯誤!未定義書簽。

3.LableLookup.............................................錯誤!未定義書簽。

4.RateLimit...................................................錯誤!未定義書簽。

三、試驗演示..............................錯誤味定義書簽。

(一)PSP路由轉發(fā)測試................錯誤!未定義書簽。

1.試驗拓撲圖.....................錯誤!未定義書簽。

2.試驗測試措施...................錯誤!未定義書簽。

3.配置文獻.......................錯誤!未定義書簽。

4.測試成果.......................錯誤!未定義書簽。

5.成果總結.......................錯誤!未定義書簽。

(二)基于Label的路由轉發(fā)測試........錯誤!未定義書簽。

1.試驗拓撲圖.....................錯誤!未定義書簽。

2.配置文獻.......................錯誤!未定義書簽。

3.測試成果.......................錯誤!未定義書簽°

4.成果總結.......................錯誤!未定義書簽。

(三)優(yōu)先級隊列調(diào)度功能測試..........錯誤!未定義書簽。

L試驗拓撲圖......................錯誤!未定義書簽。

2.試驗測試措施...................錯誤!未定義書簽。

3.配置文獻.......................錯誤!未定義書簽。

4.測試成果.......................錯誤!未定義書簽。

5.成果總結.......................錯誤!未定義書簽。

(四)標簽流按優(yōu)先級分別進行限速功能測試錯誤!未定義書

簽。

1.試驗拓撲圖錯誤!未定義書簽。

2.配置文獻錯誤!未定義書簽。

3.測試成果錯誤!未定義書簽。

4.成果總結錯誤!未定義書簽。

四、試驗分工錯誤!未定義書簽。

一、試驗概要及試驗設計

(-)試驗概要

本試驗目的為基于己經(jīng)有的click開源軟件實現(xiàn)一種自定義協(xié)

議的軟件路由器完整轉發(fā)流程,詳細包括五個關鍵任務:報文分類處

理;PSP報文分組轉發(fā)流程(包括PSP頭檢查、TTL減一、轉刊登);

定長標簽互換流程(包括標簽頭解封裝、標簽表、標簽頭封裝);標

簽流8個優(yōu)先級隊列調(diào)度;標簽流按照優(yōu)先級分別進行限速。

(二)試驗目的

通過試驗設計,深入理解軟件路由器的基本原理、構成和實現(xiàn),

掌握計算機網(wǎng)絡研究所需的基本設計技能,包括系統(tǒng)設計能力、軟件

編程能力、整體表述能力和新思想的試驗驗證能力,為開展計算機網(wǎng)

絡方向的深入研究奠定實際驗證基礎。

(三)試驗分析

1、協(xié)議分析

一種完整的路由協(xié)議需要完畢的功能包括如下內(nèi)容:制定指導數(shù)

據(jù)報文分組從一種網(wǎng)絡到另一種網(wǎng)絡的規(guī)定和原則;創(chuàng)立路由表,并

維護網(wǎng)絡拓撲構造;運行路由協(xié)議,執(zhí)行路由選擇和分組轉發(fā)功能。

這對我們接下來H勺協(xié)議設計提出了基本H勺規(guī)定,即對于網(wǎng)絡中的每一

層都需要定義報文的格式,然后對于報文在網(wǎng)絡中的發(fā)送、接受和轉

發(fā)均有穩(wěn)定的拓撲構造。

2、協(xié)議設計

一種自定義H勺協(xié)議簇(ABC),包括地址編址構造、網(wǎng)絡互連與

路由轉發(fā)等多種簡樸協(xié)議,對其進行詳細闡明如下:

(1)地址編制構造(64位),其中前16位為網(wǎng)絡標識,后48

為接口標識。實際操作中,接口標識為該接口日勺MAC地址,

與前16位拼接為64位地址。

16位48位

網(wǎng)絡標識接口標識

(2)鏈路層協(xié)議,規(guī)定了以太網(wǎng)的封裝格式如下:

目的地址源地址類型數(shù)據(jù)CRC

66246-15004

其中,IP報文類型定義為0x6000,標簽(LABEL)報文類

型定義為0x6001。

(3)2.5層標簽互換協(xié)議,規(guī)定了標簽互換頭的封裝格式,并約

定標簽互換頭后默認為PSP格式日勺報文。

標簽ID|QoS|TTL

24位4位4位

(4)網(wǎng)絡層協(xié)議,定義了網(wǎng)絡層報文頭格式。

0347815162431

版本|TOS]標識符

載荷《度|下二報頭類型[跳軌限制

源地址(8字節(jié))

目的地址(8字節(jié))

其中TOS為0-15,表達報文的傳播優(yōu)先級;標識符標注報

文的序號;載荷長度為不包括報文頭的報文內(nèi)容長度;下

一報頭類型為1時表達為ABC_ICMP協(xié)議,為2時表達為

ABC_UDP協(xié)議;跳數(shù)限制最大為64,并且每通過一種路由

器,其值減1,其值為0時報文被丟棄;源地址和目口勺地

址分別記錄發(fā)送方和目日勺方地址。

(5)定義了ABC_UDP(ABC不可靠傳播協(xié)議)報文頭格式。

16位源端口號16位II的端口號

32位UDP我荷氏度

(6)基本試驗拓撲

如圖所示,根據(jù)以太網(wǎng)報文頭中包括的以太網(wǎng)的目的地址、

源地址和報文類型,ABC協(xié)議就能實現(xiàn)一種簡樸的報文收

發(fā)過程。

(7)包括轉發(fā)過程的試驗拓撲

一種簡樸日勺轉發(fā)過程包括如下日勺環(huán)節(jié):從發(fā)送方接受報文;

更改報文H勺源地址以及目的地址;通過端口發(fā)出報文。示

意圖如下:

二、試驗設計

(-)試驗流程

1.準備工作

a)下載修改后日勺Click源代碼;

b)安裝Fedora虛擬機,配置開發(fā)、測試環(huán)境;

c)編譯源碼,運行Demo試驗;

d)學習Click基礎知識,查看源碼,理解組件日勺設計措施和

組件日勺配置文獻。

2.系統(tǒng)概要設計

充足理解試驗任務,進行初步日勺概要設沖,設計包括組件的功

能和組織。

3.編碼

4.試驗環(huán)境搭建

5.代碼集成和測試

首先各個組件需要通過單元測試,最終集成起來進行系統(tǒng)測

試。

6.編寫試驗匯報文檔

(二)click路由器總體設計

1.路由器報文分類概要設計

報文重要分為四種類型:ARPQuery報文、ARPResponse

報文、PSP報文、Label報文。從輸入組件中獲取數(shù)據(jù)包,發(fā)送

到數(shù)據(jù)包分類器。概要圖如下圖所示:

其中,根據(jù)以太網(wǎng)頭部類型信息進行分類,如下所示:

ARPQueryPSPLabelARPResponse

類型碼0x08060x60000x60010x0806

2.路由器報文轉發(fā)概要設計

路由器報文轉發(fā)的概要設計圖如卜所不,其中包括兩條主線:一

是基于PSP協(xié)議的路由轉發(fā),二是基于Label標簽的路由轉發(fā)。

兩條主線口勺公用組件口勺作用如下表所示:

組件/流程名稱組件/流程作用

FromDevice從指定端口獲取數(shù)據(jù)包,轉發(fā)給下一種組件

Classifier數(shù)據(jù)包類型分類器,根據(jù)以太網(wǎng)頭部類型信息

把數(shù)據(jù)分為四類:ARPQuery>ARPResponse、

PSP報文、Label報文

TTL-1將報文B<JTTL進行減一操作,當TTL為時,不

再轉發(fā)報文

ARPQuery查詢目的IP對應的Mac地址

ModifyEtherHeader修改以太網(wǎng)頭部

ToDevice將數(shù)據(jù)包發(fā)送到指定端口

對于PSP報文的路由轉發(fā),其中的兩個組件功能如下:

組件/流程名稱組件/流程作用

GetDestAddress獲取PSP報文的目的地址

LookupRouterTable查詢路由表,得到要轉發(fā)的端口

對于Label報文的路由轉發(fā),其中日勺兩個組件日勺功能如下:

組件/流程名稱組件/流程作用

LookupLIB根據(jù)標簽號,查詢標簽信息庫,得到新的標簽

號和轉發(fā)端口。

ModifyLabelfornext修改標簽頭部信息中的I標簽號為查表得到新

jump標簽號

(1)對于PSP報文路由轉發(fā),首先根據(jù)PSP頭部中日勺目的地址

查詢路由表,得到轉發(fā)端口;然后進行TTL-1、修改Ether頭部

中的目口勺Mac,然后從查詢到的轉發(fā)端口進行發(fā)送。

(2)對于急于標簽日勺路由轉發(fā),首先根據(jù)Label頭部的標簽號查

詢標簽信息摩,得到新日勺標簽號和轉發(fā)端口,并修改Label頭

部的標簽號為新的標簽號。然后進行TTL.1,修改Ether頭部中

的目Ef、JMac,然后從查詢到日勺轉發(fā)端口進行發(fā)送。

ToDevice

3.Label標簽信息庫構造

標簽信息庫維護基于標簽互換的路由轉發(fā)信息。當一種帶

有標簽日勺報文進入路由器的時候,首先根據(jù)標簽頭部的Label

ID查找標簽信息庫,得到下一跳的LabelID和轉發(fā)端口。其構

造信息如下:

LabelINPSPAddressPrefixLabelOut■OutPort

4.優(yōu)先級調(diào)度概要設計

對于標簽互換,當輸入組件獲取數(shù)據(jù)包,經(jīng)數(shù)據(jù)分類器

分類后,確定為Label報文,轉發(fā)給優(yōu)先級分類器。優(yōu)先級

分類器根據(jù)Label頭部中的QOS字段進行優(yōu)先級鑒定,分

別加入不一樣優(yōu)先級的隊列中。優(yōu)先級調(diào)度組件根據(jù)優(yōu)先

級調(diào)度算法進行調(diào)度,從不一樣優(yōu)先級的隊列中獲取數(shù)據(jù)

包,發(fā)送到待發(fā)送數(shù)據(jù)隊列。其中,調(diào)度算法是為了保證

低優(yōu)先級的報文不至于餓死,采用時間片輪轉區(qū)I方式,即

給高優(yōu)先的隊列分派更多日勺時間。

5.基于優(yōu)先級時限速功能的概要設計

(三)click路由器轉發(fā)流程設計

LPSP路由轉發(fā)流程詳細設計

Fastpspsource

ClickRouter

FromDevicel

Classifier(數(shù)據(jù)包分類器)

LookupRouter

GetDestAddressTTL-1

Table

ADDtoWaiting-ModifyEther

ARPQuerier

SendQueueHeader

ToDevice

組件/流程功能描述

FastPSPSource組件按照一定日勺速度產(chǎn)生PSP報文,模擬發(fā)送

FromDevice組件從指定的端口獲取數(shù)據(jù)包,轉發(fā)到下一種

組件

Classifier組件數(shù)據(jù)包分類器,根據(jù)以太網(wǎng)頭部的類型信

息進行分類,PSP報文日勺類型信息為

0x6000

GetDestAddress該環(huán)節(jié)從PSP報文頭部獲取目的地址,用

來查詢路由表,獲取轉發(fā)端口

LookupRoutertable根據(jù)目的1地址,查找路由表,獲取轉發(fā)端

TTL-1將報文TTL進行減一操作

ARPQueryARP杳詢,獲取下一跳的目的Mac地址

ModifyEthernet根據(jù)查詢到日勺下一跳目日勺Mac地址,修

Header改報文以太網(wǎng)頭部目的Mac字段

AddtoQueue添加到待發(fā)送數(shù)據(jù)包日勺隊列中

ToDevice組件從Queue中獲取數(shù)據(jù)包,從指定網(wǎng)口發(fā)

送出去

2.Label報文轉發(fā)詳細設計

發(fā)送者生成PSP報文,通過AddLabelHeader組件添加標簽

頭,發(fā)送到路由器;Click路由器從網(wǎng)口接受數(shù)據(jù),進過度類

器后,確定為基于標簽互換日勺報文c然后查詢標簽信息庫,并

修改下一條標簽號,通過TTL-1,目日勺MAC地址修改,轉發(fā)到

對應端口。接受者從網(wǎng)口獲取數(shù)據(jù)包,丟掉LabelHeader。

組件/流程功能簡介

AddLabelHeader在一般PSP數(shù)據(jù)包上添加標簽頭信息,讓路

由器可以基于標簽進行互換

LookupLIB查詢標簽信息庫,獲取下一跳LabelID和輸

出端口

ModifyLabelfor修改標簽頭LabelID字段,讓下一跳路由可

nextjump以轉發(fā)

RemoveLabel移除LabelHeader,得到PSP報文

Header

(四)重要組件設計

1.Fastpspsource組件

組件名字Fastpspsource

功能描述按照一定的速度生成PSP報文

端口類型PORTS_0_10個輸入端口,一種輸出端口

處理方式PULL方式

參數(shù)描述FASTPSPSOURCE(RATE,LIMITLENGTH,SRCETH,SRCIP,

SPORT,DSTETH,DSTIP,DPORT)

RATE:發(fā)送速度;

LIMIT:生成最大報文數(shù)量;

LENGTH:報文日勺長度

SRCETH:源Mac地址

SRCIP:源IP地址

SPORT:源端口號

DSTETH:目日勺Mac地址

DSTIP:目H'、JIP地址

DPORT:目日勺端口號

2.LableRouteTable

重要功能:定義標簽信息構造,維護標簽信息庫,可以向

里面添加、查詢、刪除標簽信息。

3.LableLookup

組件名字LableLookup

功能描述(1)靜態(tài)配置標簽信息庫

(2)實現(xiàn)基于標簽時查找轉發(fā)

端口類型一種輸入端口,多種輸出端口

處理方式PUSH方式

當一種帶有標簽的報文發(fā)送到LabelLookup組件,首先獲取Label

標簽頭部的標簽號,查找標簽信息庫,以獲取“OutLabel”和“Out

Port”,然后修改標簽頭部的標簽號為“OutLabel",并從"Out

Port”端口發(fā)送出去。流程圖如下:

4.RateLimit

組件名字RateLimit

功能描述限制一種報文流的速度,即每秒發(fā)送多少報文

端口類型PORTS」」1個輸入端口,1個輸出端口

處理方式PULL

參數(shù)描述RateLimit(RATE)

RATE:報文流的最大速率,即最多每秒發(fā)送多少個報

三、試驗演示

(-)PSP路由轉發(fā)測試

1.試驗拓撲圖

Router2

2.試驗測試措施

試驗拓撲圖如下所示:Client從Ethl網(wǎng)口發(fā)送數(shù)據(jù)到Routeri

Ethl,Routerl轉發(fā)到Router2,Router2收到數(shù)據(jù)后再次轉發(fā)給Client

WEth2,Client收到數(shù)據(jù)后打印消息內(nèi)容。

3.配置文獻

i.Client發(fā)送報文配置文獻

FastPSPSource(2z2023z128z00:0C:29:0E:9F:0D,0x0100000Az2345,

00:0C:29:61:C0:3E,0x0202300^2346)->PSPPrint()->ToDevice(ethl);

ii.Client接受報文配置文獻

FromDevice(eth2)->PSPPrint()->Discard;

iii.Routeri轉發(fā)報文配置文獻

psp::Print("ForwardPSPPkt")

->rt::PSPLookupf

10.0.0.1.0.0.0.00,

10.0.0.2.0.0.0.00);

cO::Classifier(1^0600z-);

outO::Queue(200)->todeviceO::ToDevice(ethl);

FromDevice(ethl)->cO;

cO[O]->psp;

cO[l]->Discard;

rt[O]->PSPMacap(00:0C:29:F4:DD:E6)->Print(rt2)

->outO;

iv.Router2轉發(fā)報文配置文獻

psp::Print("ForwardPSPPkt")

->rt::PSPLookupf

10.0.0.1.0.0.0.01,

10.0.0.2.0.0.0.01);

cO::Classifier11?/0600,-);

outO::Queue(200)->todeviceO::ToDevice(eth2);

FromDevice(ethl)->cO;

c0[0]->psp;

cO[l]->Discard;

rt[O]->Discard;

rt[l]->PSPMacap(00:0C:29:0E:9F:17)->Print(rt2)

->outO;

4.測試成果

v.客戶端發(fā)送報文

user@localhost:/home/user/click-2.0.1/conf/zxzconf/TestPl

FileEditViewTerminallabsHelp

[root@localhostTestPl]#../userlevel/clickpspgen.click

generatepsppacketseq1

128|seqisrclo.e.o.i.e.e.e.edesie.e.e.2.e.e.e.esreport16505desport19761eeoc296ic03eee

ec290e9f0d666946610666665302680300

generatepsppacketseq2

128|seq2src16.6.9.l.O.e.e.edes16.9.0.2.9.0.0.0sreport16595desport19761800c2961C63e90

Gc290e9fGd069640028606695362689366

generatepsppacketseq3

128|seq3src10.6.9.1.6.8.0.9des16.9.0.2.9.0.0.9sreport16595desport16761900C2961cG3e90

6c29Oe9f0d666640036600605a62688366

generatepsppacketseq4

128|seq4src10.6.0.1.6.0.0.0des16.0.0.2.9.0.0.9sreport10585desport10761000C2961c63eee

Oc290e9f0d660640646000665382680880

^generatepsppacketseq5

128|seq5src10.6.9.1.6.9.0.0des16.e.O,2.9.0.0.9sreport10505desport1976190002961C03e90

OC290e9fGd660946658600665962686800

generatepsppacketseq6

128|seq6srcio.e.9,i.e.e.o.edesle.e.o,z.e.o.e.esreport16595desport19761eeec296ice3eee

ec290e9fed066040069000605a02080300

generatepsppacketseq7

128|seq7src16.6.8.1.6.6.0.6des16.9.0.2.9.0.0.9sreport16595desport1976190OC2961C63eee

Oc29Oe9f0d06604007800。085a02686300

AC(root(aiocalhostTestPl)#

vi.Routeri建立路由表以及轉發(fā)

團userC^localhostVhome/user/click-Z.O.l/conf/zxzconf/TestPl

fileEditviewiferminallabsHelp

[root@localhostTestPl]#./userlevel/clickpsprouter.click

PSPRouteTable:ccnfigurethepsproutetable

configurethepsproutetable...10.G.0.1.0.G.0.0:6

ip:16777226port:0-

configurethepsproutetable...10.0.0.2.0.0.0.0:0

ip:33554442port:0

PSPLookup:configurethepsproutetable…

ForwardPSPPkt:128|000C2961c03eQ00c290e9f0d660040016000065302080360

PSPLOOkupPUSH...

src10.0.0.1.0.6.0.0des19.0.0.2.0.0.0.0I000C2961C03e000c290e9f0d0600490

1000G005a020803000001000000000aO00002000000000929092a005a000000005C000

0609Gleld085C0G000028000000

rickyherelookentry

FindaRouteforaPSPPacket

theoutputportis0

rt2:128|O00c29f4dde60OOc290e9fGd060940010000005aO2O80a00

ForwardPSPPkt:128|000C2961c03e000c290e9f0dG6004002G0Q0665a02086aOG

PSPLookupPUSH...

src10.0.0.1.0.6.0.0des10.0.0.2.0.0.0.0I000C2961C03e0G0C296e9f6d6666406

20000005a02080800000100000000090000020000000009290929005a000000005C000

000901eld085C0C000028000000

rickyherelookentry

FindaRouteforaPSPPacket

vii.Router2建立路由表以及轉發(fā)

團user@localhost:/home/user/dick-2.0.1/conf/zxzconf/TestPl

FileEditViewTerminalJabsHelp

[root@localhostTestPl]#../../../userlevel/clickpsprouter.click

PSPRouteTable:configurethepsproutetable

configurethepsproutetable...10.0.0.1.0.0.0.0:1

ip:16777226p6rt:l-

configurethepsproutetable...16.6.0.2.6.6.6.0:1

ip:33554442port:l

PSPLookup:configurethepsproutetable...

ForwardPSPPkt:128|000c29f4dde6000c290e9f0d060940010000005a02080300

PSPLookupPUSH...

srclo.w.u,i.u.w.tj.udesie.u.u.2.u.o.t).u|Gt)uc29f4ddebtiouc2yueyfudobowoui

0000005a02080300000100000000030000020000000009290923005a000000005C0O0O0

0901eld085C00900028000900

rickyherelookentry

FindaRouteforaPSPPacket

theoutputportis1

rt2:128|000c29Oe9fl7000c290e9f0d060O40O10000005a02O80a00

ForwardPSPPkt:128|0。0c29f4dde6000c290e9f0d060040020000005a02080a00

PSPLookupPUSH...

src10.0.0.1.0.0.0.0des16.0.0.2.0.0.0.0|069c29f4dde6000c290e9f0d06064092

9060005a0208030000010000600063060002000600000929092a。05a009000005C00000

0901eld085C00900028000000

rickyherelookentry

FindaRouteforaPSPPacket

viii.Client接受到數(shù)據(jù)包并打印

user(§>localhost:/home/user/dick-2.0.1/conf/zxzconf/TestPl.?*

fileEditViewgerminalJabsHelp

[root(aiocalhostTestPl]#./userlevel/clickprintpsp.click

128|seq1src10.0.6.1.0.6.0.0des10.0.6.2.0.0.0.0sreport10505desport1076

1|000c290e9fl7000c290e9fOd0600400100000。5a02。80a00

128|seq2src10.0.6.1.0.0.0.0des10.0.0.2.0.。.。.。sreport1G505desport1076

1|000c290e9fl7000c290e9f0d069040020000065a02080300

128|seq3src10.0.0.1.0.6.0.0des10.0.0.2.0.0.0.0sreport10505desport1076

1|00Gc290e9fl7000c290e9f0d060040030060005302。80a0?

128|seq4src10.0.0.1.0.6.0.0des10.0.0.2.0.6.0.0sreport16505desport1076

1|000c290e9fl700Oc290e9f0d060040040000005a62680309

128|seq5src10.0.0.1.0.0.0.0des10.0.0.2.0.0.0.0sreport10505desport1076

1|000c290e9fl7000c290e9f0d060040050000005902080300

128|seq6src10.0.0.1.0.6.0.0des10.0.6.2.0.0.0.0sreport10505desport1076

1I000C290C9fl7000C290e9f0d060040060000005a02080300

128|seq7src10.0.0.1.0.0.0.0des10.0.6.2.0.9.0.0sreport10505desport1076

1|000c290e9fl7O00c29Oe9f0d069040076066905802。80a00

r

5.成果總結

試驗采用通過模擬兩臺路由器之間口勺路由轉發(fā)來測試,從

試驗成果來看,Client從Ethl網(wǎng)口發(fā)送出去的數(shù)據(jù)包,進過

Routeri和Router2的I路由轉發(fā)后,能成功抵達目日勺端。該試

驗成果闡明,基于PSP報文的路由轉發(fā)功能完整實現(xiàn)。

(二)基于Label的路由轉發(fā)測試

1.試驗拓撲圖

2.配置文獻

3.測試成果

4.成果總結

(三)優(yōu)先級隊列調(diào)度功能測試

1.試驗拓撲圖

2.試驗測試措施

Client發(fā)送優(yōu)先級不一樣口勺數(shù)據(jù)包到RouterioRouteri在接受

到數(shù)據(jù)包后,根據(jù)數(shù)據(jù)包優(yōu)先級不一樣,放置到對應的優(yōu)先級隊

列中。由于采用包限流調(diào)度算法,越高的優(yōu)先級隊列能在一秒內(nèi)

通過更多的數(shù)據(jù)包,越低n勺優(yōu)先級隊列通過的數(shù)據(jù)包個數(shù)越少。

因此,低優(yōu)先級日勺數(shù)據(jù)包會被緩存在隊列中,高優(yōu)先級的數(shù)據(jù)包

能盡快地從隊列中被讀出,使得從優(yōu)先級隊列中讀出數(shù)據(jù)包日勺次

序和Client發(fā)送數(shù)據(jù)包的次序會有差異。通過對比讀出數(shù)據(jù)包和

發(fā)送數(shù)據(jù)包的次序,我們就可以驗證優(yōu)先級隊列調(diào)度日勺功能與否

正常、合理。

Client發(fā)送數(shù)據(jù)包次序如下:依次分別發(fā)送5個優(yōu)先級為n的

數(shù)據(jù)包,其中n從8變化到1,并循環(huán)往復。即發(fā)送5個優(yōu)先級

為8的數(shù)據(jù)包,再發(fā)送5個優(yōu)先級為7的數(shù)據(jù)包.....,并循環(huán)

往復。其中我們設定數(shù)據(jù)包QoS位的范圍為1-8o其中1代表最

高優(yōu)先級,8代表最低優(yōu)先級。

3.配置文獻

1)Routeri接受端部分派置文獻如下所示:

c::Classifier^的1,1破2,1徼3,1徼4,1破5,1鈉6,1鈉7,1陰8,?);

ps::PrioSched;

queuel::Queue(lOO);

queue2::Queue(lOO);

queue3::Queue(lOO);

queue4::Queue(lOO);

queues::Queue(lOO);

queue6::Queue(lOO);

queue?::Queue(lOO);

queue8::Queue(lOO);

queue9::Queue(lOO);

FromDevice(ethl)->c;

c[0]->queuel->Shaper(6)->ps;

c[l]->queue2->Shaper(6)->[l]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]->queue?->Shaper(l)->[6]ps;

c[7]->queue8->Shaper(l)->[7]ps;

c[8]->queue9->Shaper(lO)->[8]ps;

ps->Discard;

根據(jù)數(shù)據(jù)包QoS時不一樣,定義一種輸出端口數(shù)為9日勺分類

器。優(yōu)先級調(diào)度組件PrioSched采用時間片調(diào)度方式。同步,定義

了9個大小為100的隊列,最終一種隊列處理其他日勺數(shù)據(jù)包。

4.測試成果

1)Client數(shù)據(jù)包發(fā)送次序如下圖所示:

2)Routeri從優(yōu)先級隊列中讀出數(shù)據(jù)包W、J次序如下圖所示:

對比以上數(shù)據(jù)包次序,可以發(fā)現(xiàn),產(chǎn)生數(shù)據(jù)包的優(yōu)先級是從

大變化到小,而通過優(yōu)先級隊列日勺調(diào)度,從隊列中讀出的數(shù)據(jù)包

W、J優(yōu)先級從小變化到大。由于對每秒讀出各隊列的數(shù)據(jù)包數(shù)量進

行了限制,因此不會有產(chǎn)生低優(yōu)先級被餓死日勺現(xiàn)象。

5.成果總結

(四)標簽流按優(yōu)先級分別進行限速功能測試

1.試驗拓撲圖

1)試驗測試措施

針對不一樣內(nèi)優(yōu)先級,設置RateLimit組件不一樣的參數(shù)以到

達限速日勺目的,報文由發(fā)送方產(chǎn)生并在一秒鐘之內(nèi)發(fā)送200個報

文給接受方,接受方接受時進行基于優(yōu)先級時限速,并將成果進

行打印。

2.配置文獻

a)報文發(fā)送端

FastPSPSource(200,200,128,00:0c:29:34:3e:ad,OxSOOaOOOa,

2345,00:0C:29:eb:05:0fQx810a000a,2346)->ToDevice(ethl);

b)報文接受端

::Classifier(l")041,1乂)042,1孫)43,1祈044,1乂)045,l%046"乂)047"祈048,-);

queuel::Queue(lOO);

queue2::Queue(lOO);

queue3::Queue(lOO);

queue4::Queue(lOO);

queue5::Queue(lOO);

queue6::Queue(lOO);

queue?::Queue(lOO);

queue8::Queue(lOO);

queue9::Queue(lOO);

ps::PrioSched;

FromDevice(ethl)->c;

c[0]->queuel->Print("enter0")->RateLimit(5)->ps;

c[l]->queue2->Print("enterl")->RateLimit(4)->[l]ps;

c[2]->queue3->RateLimit(3)->Print("enter2")->[2]ps;

c[3]->queue4->RateLimit(2)->Print("enter3")->[3]ps;

c[4]->queue5->RateLimit(l)->Print("enter4")->[4]ps;

c[5]->queue6->RateLimit(l)->Print("enter5")->[5]ps;

c[6]->queue?->RateLimit(l)->Print("enter6")->[6]ps;

c[7]->queue8->RateLimit(l)->Print("enter7")->[7]ps;

c[8]->queue9->RateLimit(O)->Print("enter8")->[8]ps;

ps->Discard;

3.測試成果

a)將所有優(yōu)先級速率設為1(即一秒鐘接受一種報文)的狀況時,

成果如下:

?AppteagnsPtocsSystem94旦tg€f*3刖4.225PM收

uMr^locMhostzmofnei'uMr/Desktop/cllck-^.O.lAiMievM.4MI

*

C?H??712?|030rOOOv2934mJOO&&467UOOCOOOM02000H00

enter4128I?e<29eb的恥293Oedd02088600

entere178|e?c29eb656帕66c29343cMe60fr4R4eeeeee5je2688aee

enter1128|Z29ebMGfeeec2934Jedd〃868d”

enter2128|eeec9ebesateeec29343eMM0&43eee鈿65。e2688aee

enter3128IZ2皿29343eMO6OHR.5OWWd02080800

enter5128|eeec29cbesefeeec29343e&d終s8依83。e2886aee

enter612,I05MM(k29”關川62688M6

enter7128|eeec29ebeseteeec29343eadwwt&aieeeeesae2888aBe

enter4】?,|皿656f66恥293430X66^4”】0ece?e5^62686460

entere128|eee<29ebesefoeec29343e?d*wic?ee/soe2888a00

enter1\n1M6c2*M>esefeeec29343?!钡尼丁?eeeeees*02086400

enter2128I?e<29eb的恥29343cM0&0G4處weewa02eee<see

enter3i78|8829cbeseteeec29343e?d06&M86eeeeeesme2688aee

enter5128|2<29ebMOfeeec29”3eM伙冷We8^805d92989dee

enter6128|??c29eb658f800c29343eM060^7*7?65e02688306

enteryUS1Z2皿。50”0恥293432M0M>HU202080300

enter3128|eeec29cbeseteeec29343e?deteeuo?eeeees。ezeseaee

enter0iz*Im<2皿esofoeec2934%"ewueOMMO5a02080^66

enter1128|eeec29cbesefoeec293?3ead?fr9M2cieeeewae2888aBe

enter2in1M6(2Xbe5eteeec”34%xxeeees:62686M6

enter4128|eee<29ebeseteeec293?3e?dewac”?eeeesoezeseaee1t

enter5123|eseteeec"343。"eeeeee^^

enter6128Ieeec:9d>的恥293OeadeeeeWde2eee<iee

enter7128188293e56feeec29343cx0684&a38?國05篇02688^06

entery128|2<29ebO50fe?ec29”3eM供電皿492880400

entere128ieee<29ebeseteeec29343ewe6e&4ic7eee依s。e2e&8aee

enter112$|BQ<2*b050f00ec29343e“伙M2QWXW05d02089d99

enter212818供292658f800c29343e&d069M必GGC小63。82888300

enter312,Im<2$ebt5efO60C29”3ew伙MUM02680306

enter4128|eeec29cbesefoeec29343ead供刖父>3eeeewaezeeeaee

enter5in|Z28tweteeec2934%“eeeee^:020864ee

enter6128|eee<29ebeseteeec293”eWewevseeeeesaezeseaee

entere123|eseteeac29343。"gewieeeeeee5?82688*66

enteri128|?e<29ebGiGfeeGc293Oedd例842。SeeeSe02860000

enter21281M?c2^ebe56teeec29343cx066WMMMeeSce2688nee

enter3128|82夫bSS8SC293Oead0O0MW9?eW5d92880000

enter4128iee*29cbeseteeec29343cMieeew3eeeeeesae2es6aee

enter皿

5128|82050f*2934Jead02080aeeV

laifi*ckk-2^.1fi)dements|usetievel■uscr?tocatmt:...7(s<np*ej)sp_rou..fi)conf。mxonf

這樣W、J限速成果等同于一種純優(yōu)先級隊列。

b)將最高優(yōu)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論