色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Linux操作系統(tǒng)實(shí)現(xiàn)IPv6軟件測(cè)試平臺(tái)的應(yīng)用方案

電子設(shè)計(jì) ? 來(lái)源:計(jì)算機(jī)應(yīng)用 ? 作者:宋嵩,杜文,牛志 ? 2021-05-28 09:15 ? 次閱讀

作者:宋嵩,杜文,牛志升,李康

移動(dòng)通信給人們帶來(lái)了十分方便的服務(wù),無(wú)線局域網(wǎng)作為一種移動(dòng)接入Internet的方法,逐漸成為研究的熱門課題。但是,由于應(yīng)用日益廣泛的多媒體業(yè)務(wù)數(shù)據(jù)流量比較大,而無(wú)線帶寬有限,同時(shí)IP 網(wǎng)絡(luò)基本上是采用點(diǎn)到點(diǎn)盡力型(BestEffort) 服務(wù)方式,所以很難有效滿足實(shí)時(shí)多媒體業(yè)務(wù)的服務(wù)質(zhì)量(Quality of Service)要求。為保證WLAN中多媒體業(yè)務(wù)的實(shí)時(shí)傳輸,需要進(jìn)行QoS差分,給多媒體業(yè)務(wù)提供不同服務(wù)質(zhì)量選擇。目前,關(guān)于多媒體QoS保證的研究普遍采用軟件仿真來(lái)完成,缺乏實(shí)際網(wǎng)絡(luò)測(cè)試。為了驗(yàn)證各種差分算法的可行性,我們開(kāi)發(fā)了一個(gè)實(shí)時(shí)多媒體業(yè)務(wù)開(kāi)放式試驗(yàn)平臺(tái),實(shí)驗(yàn)測(cè)試多媒體業(yè)務(wù)QoS保證調(diào)度算法,包括我們自己提出的調(diào)度算法。

IPv6擴(kuò)大了IPv4地址空間,徹底解決了IPv4的地址空間耗盡和路由表爆炸等問(wèn)題,并且在安全性、移動(dòng)性以及QoS等方面提供了強(qiáng)有力的支持,而且, 更加合理的IPv6協(xié)議包頭設(shè)計(jì)使得路由器在處理數(shù)據(jù)包時(shí)更加快捷。Linux操作系統(tǒng)以其源代碼開(kāi)放、性能高和穩(wěn)定可靠等優(yōu)點(diǎn)得到了日益廣泛的應(yīng)用,越來(lái)越多的科研項(xiàng)目利用Linux系統(tǒng)作為實(shí)驗(yàn)的軟件平臺(tái)。因此,測(cè)試平臺(tái)選擇了在IPv6 網(wǎng)絡(luò)環(huán)境下使用Linux操作系統(tǒng)來(lái)實(shí)現(xiàn)。

IPv6網(wǎng)絡(luò)環(huán)境和L inux實(shí)現(xiàn)機(jī)制

IPv6對(duì)IP4的改進(jìn)

IPv6繼承了IPv4的優(yōu)點(diǎn),摒棄了它的缺點(diǎn)。IPv6與IPv4不兼容,但同所有TCP / IP 協(xié)議簇中的協(xié)議兼容,所以IPv6完全可以取代IPv4。相對(duì)于IPv4, IPv6 最大的優(yōu)點(diǎn)是有足夠的地址空間。IPv6的地址是128位,大大增加了可用的地址空間,甚至以后每臺(tái)家電或者手機(jī)都分配一個(gè)IP地址都綽綽有余。而且, IPv6 的自動(dòng)配置地址的功能使得用戶配置網(wǎng)絡(luò)非常簡(jiǎn)單。

相對(duì)于IPv4, IPv6簡(jiǎn)化了包頭格式,包頭有8個(gè)字段,總長(zhǎng)固定為40字節(jié);由于包頭長(zhǎng)度統(tǒng)一,因此不再需要包頭長(zhǎng)度字段,并且去除了IPv4 中一些其他字段,可以節(jié)省大量網(wǎng)絡(luò)路由器資源。此外, IPv6 提供了可擴(kuò)展協(xié)議( ExtensibleProtocol) ,設(shè)計(jì)更為靈活,去掉選項(xiàng)字段,引入“下一頭標(biāo)”(Next Header)指示IPv6 報(bào)頭之后的第一個(gè)擴(kuò)展頭的類型。

IPv6擴(kuò)展頭也必須攜帶一個(gè)Next Header字段。這樣,協(xié)議頭的結(jié)構(gòu)像一個(gè)鏈表一樣可以不斷擴(kuò)展,所以很容易加入新的特性,加強(qiáng)選擇功能。

Linux 2. 2以上內(nèi)核版本,Windows XP Service Pack 1和Windows Server 2003等操作系統(tǒng)都提供對(duì)IPv6的支持。

Linux的Netfilter鉤子函數(shù)

NetFilter是Linux 2. 4內(nèi)核實(shí)現(xiàn)數(shù)據(jù)包過(guò)濾、數(shù)據(jù)包處理等的功能框架。NetFilter提供了一個(gè)抽象、通用化的框架,該框架定義的一個(gè)子功能的實(shí)現(xiàn)就是包過(guò)濾子系統(tǒng)。Netfilter框架包含以下三部分:

1) 鉤子(Hook) 。Netfiter為IPv6協(xié)議定義了5個(gè)鉤子函數(shù)(如表1所示) ,這些鉤子函數(shù)在數(shù)據(jù)包流過(guò)協(xié)議棧的幾個(gè)關(guān)鍵點(diǎn)被調(diào)用。在這幾個(gè)點(diǎn)中,協(xié)議棧將把數(shù)據(jù)包及鉤子函數(shù)標(biāo)號(hào)作為參數(shù)調(diào)用Netfilter的框架。

2) ip tables。內(nèi)核模塊可以對(duì)一個(gè)或多個(gè)鉤子進(jìn)行注冊(cè),實(shí)現(xiàn)掛接,當(dāng)某個(gè)數(shù)據(jù)包被傳遞給Netfilter框架時(shí),內(nèi)核檢測(cè)是否有模塊對(duì)該協(xié)議和鉤子函數(shù)進(jìn)行了注冊(cè)。若注冊(cè)了,則調(diào)用該模塊注冊(cè)的回調(diào)函數(shù),檢查、修改、丟棄該數(shù)據(jù)包并指示Netfilter將該數(shù)據(jù)包傳入用戶空間的隊(duì)列。

3) 用戶空間。排隊(duì)的數(shù)據(jù)包被傳遞給用戶空間異步地進(jìn)行處理。一個(gè)用戶進(jìn)程能檢查、修改數(shù)據(jù)包,甚至可以重新將該數(shù)據(jù)包通過(guò)離開(kāi)內(nèi)核的同一個(gè)鉤子函數(shù)注入內(nèi)核。

Netfilter實(shí)現(xiàn)流程如圖1所示。圖示指明了Netfilter 5個(gè)鉤子函數(shù)掛載點(diǎn)在Linux內(nèi)核協(xié)議棧中的位置,箭頭標(biāo)明了IP包在包含Netfilter框架的IP層的流向。IP包從最左端進(jìn)入系統(tǒng)經(jīng)過(guò)校驗(yàn)和版本檢查后經(jīng)過(guò)第一個(gè)掛載點(diǎn), 交給NF_IP6_PRE_ROUTING注冊(cè)的鉤子函數(shù)進(jìn)行處理;經(jīng)過(guò)路由選擇,決定該數(shù)據(jù)包需要轉(zhuǎn)發(fā)還是發(fā)給本機(jī);若該數(shù)據(jù)包是發(fā)給本機(jī)的,則經(jīng)過(guò)NF_ IP6_LOCAL_ IN注冊(cè)的鉤子函數(shù)處理以后傳遞給上層協(xié)議; 若需要轉(zhuǎn)發(fā),則轉(zhuǎn)至NF_ IP6_FORWARD注冊(cè)的鉤子函數(shù)進(jìn)行處理;所有需要發(fā)送到網(wǎng)絡(luò)的數(shù)據(jù)包,無(wú)論是本機(jī)發(fā)出的還是轉(zhuǎn)發(fā)的,都要經(jīng)過(guò)最后一個(gè)鉤子函數(shù)NF_IP6_POST_ROUTING處理以后,才能發(fā)送到網(wǎng)絡(luò)上。本地網(wǎng)絡(luò)層以上產(chǎn)生的數(shù)據(jù)包通過(guò)NF_ IP6_LOCAL _OUT注冊(cè)的鉤子函數(shù)處理后,才可以進(jìn)行路由選擇,然后由NF_ IP6_POST_ROUTING處的鉤子函數(shù)處理后發(fā)送到網(wǎng)絡(luò)上。

根據(jù)所需要處理的數(shù)據(jù)包的不同特點(diǎn),選擇合適的掛載點(diǎn),加入相應(yīng)的回調(diào)處理函數(shù),就可以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的截獲和各種控制。本文測(cè)試平臺(tái)使用Netfilter在NF_ IP6_POST_ROUTING掛載點(diǎn)截獲所有網(wǎng)絡(luò)數(shù)據(jù)包對(duì)其進(jìn)行調(diào)度管理,實(shí)現(xiàn)差分QoS機(jī)制,保證多媒體業(yè)務(wù)的實(shí)時(shí)傳輸。

實(shí)時(shí)多媒體業(yè)務(wù)服務(wù)質(zhì)量保證機(jī)制

基于SIP協(xié)議的多媒體業(yè)務(wù)

會(huì)話初始協(xié)議SIP ( Session Initiation Protocol)是一個(gè)基于應(yīng)用層的控制協(xié)議,用來(lái)建立、控制維護(hù)和終止多媒體會(huì)話或呼叫。SIP協(xié)議為大范圍應(yīng)用的多媒體通信提供了高級(jí)的信令和控制功能,通過(guò)少量基于文本的消息包在兩個(gè)實(shí)體之間傳遞消息, 還在網(wǎng)絡(luò)中提供代理服務(wù)器和重定位服務(wù)器來(lái)中繼和傳送消息, 支持多媒體會(huì)議、遠(yuǎn)程學(xué)習(xí)、Internet會(huì)話和多媒體發(fā)布等一系列服務(wù)。在SIP協(xié)議應(yīng)用中包含兩個(gè)部分:用戶端和網(wǎng)絡(luò)服務(wù)器。用戶端可以產(chǎn)生SIP消息包并通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)服務(wù)器傳送到其他用戶端, 用戶端之間也可以直接通信。這里使用IPv6下的SIP服務(wù)器為用戶端建立連接。這樣,在進(jìn)行多媒體通信時(shí),就構(gòu)成了兩類數(shù)據(jù)包,一類用于管理多媒體業(yè)務(wù)的信令數(shù)據(jù)包,一類為用于不同的SIP客戶端之間通信時(shí)的圖像、語(yǔ)音數(shù)據(jù)。為了保證在網(wǎng)絡(luò)中多媒體業(yè)務(wù)的實(shí)時(shí)傳輸,給多媒體業(yè)務(wù)以高優(yōu)先級(jí)進(jìn)行傳輸;同時(shí),為了保證多媒體會(huì)話可以隨時(shí)建立,特別給予用于建立連接的信令數(shù)據(jù)以更高的優(yōu)先級(jí)。這樣就形成了三級(jí)服務(wù)差分的概念,信令、多媒體業(yè)務(wù)、數(shù)據(jù)傳輸,其中SIP服務(wù)器的數(shù)據(jù)為信令數(shù)據(jù),具有絕對(duì)高優(yōu)先級(jí),多媒體業(yè)務(wù)和數(shù)據(jù)傳輸分別具有高優(yōu)先級(jí)和低優(yōu)先級(jí)。

差分QoS調(diào)度

先入先出( FIFO)排隊(duì)法是指先到達(dá)的分組先被發(fā)送,這和處理機(jī)任務(wù)調(diào)度的F IFO算法思想是一致的。系統(tǒng)每次發(fā)送位于等待隊(duì)列頭部的分組,新到的分組則加到隊(duì)列的尾部。當(dāng)一個(gè)新的分組到達(dá)而緩存已滿時(shí),就需要一個(gè)丟棄策略來(lái)決定丟棄分組。這里,使用隊(duì)尾丟棄(Drop Tail)策略, 丟棄最新到達(dá)的分組。根據(jù)使用SIP服務(wù)器在IP網(wǎng)絡(luò)中進(jìn)行多媒體通信時(shí)的三種數(shù)據(jù)包劃分三種不同的優(yōu)先級(jí),設(shè)置三個(gè)不同隊(duì)列,如圖2所示。

其中,用于建立實(shí)時(shí)業(yè)務(wù)連接的信令數(shù)據(jù)包,具有絕對(duì)高優(yōu)先級(jí),對(duì)應(yīng)接入隊(duì)列0,系統(tǒng)檢測(cè)到之后,直接轉(zhuǎn)發(fā),以保證實(shí)時(shí)通信業(yè)務(wù)可以隨時(shí)建立。SIP客戶端進(jìn)行多媒體通信的數(shù)據(jù)具有高優(yōu)先級(jí),對(duì)應(yīng)接入隊(duì)列1;普通數(shù)據(jù)具有地優(yōu)先級(jí),對(duì)應(yīng)接入隊(duì)列2。接入隊(duì)列1和2中的數(shù)據(jù)包都將等待系統(tǒng)轉(zhuǎn)發(fā)。系統(tǒng)每次進(jìn)入時(shí)間中斷進(jìn)行數(shù)據(jù)包發(fā)送時(shí),都先檢查高優(yōu)先級(jí)的接入隊(duì)列1,如果隊(duì)列中有數(shù)據(jù)包等待則轉(zhuǎn)發(fā)、退出;如果隊(duì)列為空,則檢查接入隊(duì)列2執(zhí)行相同的操作。這樣,多媒體業(yè)務(wù)會(huì)話就可以隨時(shí)建立,并進(jìn)行有服務(wù)質(zhì)量保證的實(shí)時(shí)傳輸。

測(cè)試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

測(cè)試平臺(tái)拓?fù)浣Y(jié)構(gòu)

測(cè)試平臺(tái)由六臺(tái)計(jì)算機(jī)、一個(gè)AP和一個(gè)Hub組成,拓?fù)浣Y(jié)構(gòu)如圖3所示。測(cè)試網(wǎng)絡(luò)由一個(gè)無(wú)線局域網(wǎng)和一個(gè)有線局域網(wǎng)組成,兩個(gè)子網(wǎng)間的數(shù)據(jù)通過(guò)路由器(計(jì)算機(jī)F)來(lái)轉(zhuǎn)發(fā)。數(shù)據(jù)通過(guò)路由器時(shí),路由器將其截獲,然后根據(jù)不同的優(yōu)先級(jí)確定數(shù)據(jù)轉(zhuǎn)發(fā)的順序等,實(shí)現(xiàn)差分QoS調(diào)度。

圖3中計(jì)算機(jī)F裝有雙網(wǎng)卡,配置為路由器,同時(shí)運(yùn)行差分QoS調(diào)度算法,是測(cè)試平臺(tái)的核心部件。無(wú)線局域網(wǎng)由AP來(lái)組成,有兩個(gè)無(wú)線終端A和B。有線局域網(wǎng)中有兩臺(tái)計(jì)算機(jī)C和D。在A和C之間建立VoIP傳輸會(huì)話( Session) 1, 被賦予高優(yōu)先級(jí)。在B和D之間建立數(shù)據(jù)傳輸會(huì)話2,被賦予低優(yōu)先級(jí)。計(jì)算機(jī)E為SIP服務(wù)器,用于在兩個(gè)計(jì)算機(jī)終端上創(chuàng)建視頻會(huì)話。

測(cè)試平臺(tái)網(wǎng)絡(luò)配置

所有實(shí)現(xiàn)都在IPv6 下進(jìn)行,路由器和SIP服務(wù)器運(yùn)行Red Hat L inux 9操作系統(tǒng),其他計(jì)算機(jī)終端運(yùn)行Windows XP操作系統(tǒng)。無(wú)線局域網(wǎng)網(wǎng)絡(luò)前綴為3ffe: 327d: 8: 810: : /64,有線局域網(wǎng)網(wǎng)絡(luò)前綴為3ffe: 327d: 8: 811: : /64。

計(jì)算機(jī)F為路由器,無(wú)線和有線網(wǎng)絡(luò)中IPv6地址分別為3ffe: 327d: 8: 810: : 1 /64和3ffe: 327d: 8: 811: : 1 /64,并且開(kāi)啟路由功能,實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)的連接。網(wǎng)絡(luò)配置方法為:

ifconfig eth0 add 3ffe: 327d: 8: 810: : 1 /64

#添加IPv6地址

ifconfig eth1 add 3ffe: 327d: 8: 811: : 1 /64

echo 1 》 /p roc / sys/ net/ ipv6 / conf / all/ forwarding

#開(kāi)啟IPv6路由功能

計(jì)算機(jī)E作為SIP服務(wù)器,除設(shè)定IPv6地址之外,還需要為其配置默認(rèn)路由,以便不僅可以為本子網(wǎng)內(nèi)的主機(jī)提供服務(wù),而且可以為其他子網(wǎng)的主機(jī)提供服務(wù)。SIP服務(wù)器的IPv6地址為3ffe: 327d: 8: 811: : 111 /64, 默認(rèn)路由為3ffe:

327d: 8: 811: : 1 /64。設(shè)置方法如下:

ifconfig eth0 add 3ffe: 327d: 8: 811: : 1 /64

#添加IPv6地址

route - A inet6 add : : /0 gw 3ffe: 327d: 8: 811: : 1 /64

#添加默認(rèn)路由

計(jì)算機(jī)A和C的IP地址分別為3ffe: 327d: 8: 810: : 5 /64和3ffe: 327d: 8: 810: : 7 /64,默認(rèn)路由為3ffe: 327d: 8: 810: : 1 /64。計(jì)算機(jī)B和D的IP地址分別為3ffe: 327d: 8: 811: : 4 /64和3ffe: 327d: 8: 811: : 8 /64,默認(rèn)路由為3ffe: 327d: 8: 811: : 1 /64。計(jì)算機(jī)A~D運(yùn)行Windows XP操作系統(tǒng), IPv6配置方法與在Linux下有所不同。計(jì)算機(jī)A的配置方法為在命令行下使用命令:

ipv6 adu 4 /3ffe: 327d: 8: 810: : 5

#設(shè)定IPv6地址

ipv6 rtu 3ffe: 327d: 8: 810: : /64

#指定網(wǎng)絡(luò)前綴

ipv6 rtu : : /0 4 /3ffe: 327d: 8: 810: : 1

#設(shè)置默認(rèn)路由

計(jì)算機(jī)B~D配置方法同上,只是將相應(yīng)的IPv6地址和默認(rèn)路由作些改動(dòng)即可。

Linux可加載內(nèi)核模塊編程

測(cè)試平臺(tái)使用Linux可加載內(nèi)核模塊(Loadable KernelModule, LKM)來(lái)實(shí)現(xiàn)差分QoS調(diào)度。模塊(Module)是內(nèi)核空間運(yùn)行的程序,實(shí)際上是一種目標(biāo)對(duì)象文件,沒(méi)有鏈接,不能獨(dú)立運(yùn)行,但是其代碼可以在運(yùn)行時(shí)鏈接到系統(tǒng)中作為內(nèi)核的一部分運(yùn)行或從內(nèi)核取下,動(dòng)態(tài)擴(kuò)展內(nèi)核的功能。動(dòng)態(tài)可加載內(nèi)核模塊的目標(biāo)代碼一旦鏈接到內(nèi)核,作用和靜態(tài)鏈接的內(nèi)核目標(biāo)代碼完全等價(jià)。

每個(gè)LKM至少由兩個(gè)基本的函數(shù)組成,一個(gè)是用于初始化所有的數(shù)據(jù)的函數(shù)init_module ( ) ,一個(gè)是用于清除數(shù)據(jù)從而能安全地退出的函數(shù)cleanup_module ( ) 。為了在模塊中使用Netfitler的鉤子函數(shù),需要在初始化函數(shù)中調(diào)用nf_register_hook ( ) 函數(shù)注冊(cè)Netfiter Hook, 在清除函數(shù)中調(diào)用nf _unregister_hook ( )函數(shù)注銷Netfiter Hook。具體過(guò)程如下:

/ /定義并填充用于注冊(cè)函數(shù)的數(shù)據(jù)結(jié)構(gòu)

static struct nf_hook_op s post_route = {

{NULL, NULL},

DiffSev_post_route, / /處理函數(shù)

PF_ INET6, / /使用IPv6協(xié)議NF_ IP6_POST_ROUTING,

/ /使用IPv6的第一個(gè)Hook

NF_ IP6_PR I_F IRST,

/ /讓自己的函數(shù)首先執(zhí)行

};

/ /初始化程序

int init_module ()

{**

nf_register_hook (&post_route) ;

/ /注冊(cè)Netfiter Hook

return 0;

}

/ /清除程序

void cleanup_module ()

{

**

nf_unregister_hook (&post_route) ;

/ /注銷Netfiter Hook

return;

}

注冊(cè)鉤子函數(shù)后,需要編寫處理函數(shù),對(duì)截獲的數(shù)據(jù)包進(jìn)行處理。模塊獲取數(shù)據(jù)包后,判斷其優(yōu)先級(jí),然后根據(jù)放入不同的隊(duì)列,進(jìn)行業(yè)務(wù)差分的調(diào)度,保證實(shí)時(shí)業(yè)務(wù)的服務(wù)質(zhì)量。模塊在完成對(duì)數(shù)據(jù)包的操作之后,可以返回下列預(yù)定義的Netfiter返回之中的一個(gè)。

其中,最為常用的為前三個(gè)返回值。NF_DROP的含義是該數(shù)據(jù)包將被完全丟棄,所有為它分配的資源都應(yīng)當(dāng)被釋放。NF_ACCEP返回值告訴Netfilter到目前為止,該數(shù)據(jù)包還是被接受的并且該數(shù)據(jù)包應(yīng)當(dāng)被遞交到網(wǎng)絡(luò)堆棧的下一個(gè)階段。NF_STOLEN告訴Netfilter“忘掉”這個(gè)數(shù)據(jù)包。這里告訴Netfilter的是:該hook函數(shù)將從此開(kāi)始對(duì)數(shù)據(jù)包的處理,并且Netfilter應(yīng)當(dāng)放棄對(duì)該數(shù)據(jù)包做任何的處理。但是,這并不意味著該數(shù)據(jù)包的資源已經(jīng)被釋放。這個(gè)數(shù)據(jù)包以及它獨(dú)自的sk_buff數(shù)據(jù)結(jié)構(gòu)仍然有效,只是hook函數(shù)從Netfilter獲取了該數(shù)據(jù)包的所有權(quán)。

程序中對(duì)數(shù)據(jù)判斷時(shí),首先有一個(gè)對(duì)SIP服務(wù)器數(shù)據(jù)的處理,模塊對(duì)截獲數(shù)據(jù)包的源地址和目的地址進(jìn)行檢查,只要是發(fā)往和來(lái)自SIP的數(shù)據(jù)都將被無(wú)條件返回,返回值為NF_ACCEPT。這樣用作會(huì)話連接建立服務(wù)器的數(shù)據(jù)被看作是網(wǎng)絡(luò)信令數(shù)據(jù),獲得絕對(duì)的高優(yōu)先級(jí),保證了不同主機(jī)之間可以隨時(shí)建立連接。為了簡(jiǎn)化操作,這里我們只比較IPv6地址的最后32位來(lái)判斷。以下為數(shù)據(jù)包處理函數(shù)片斷:

unsigned intVowlan_post_route (unsigned int hooknum, struct sk_buff

3 3 skb, const struct net_device 3 in, const struct net_device 3

out, int (3 okfn) ( struct sk_buff 3 ) )

{

struct ipv6hdr 3 ipv6h = (3 skb) - 》 nh. ipv6h;

struct in6_addr saddr = ipv6h - 》 saddr;

struct in6_addr daddr = ipv6h - 》 daddr;

int p rio = addr_belong(daddr) ;

/ /SIP服務(wù)器數(shù)據(jù),不進(jìn)行處理,直接返回,具有絕對(duì)高優(yōu)先級(jí)

if ( saddr. s6_addr32 [3 ] = = 0x11010000) return NF_ACCEPT;

if (daddr. s6_addr32 [3 ] = = 0x11010000) return NF_ACCEPT;

**/ /區(qū)分QoS, 將數(shù)據(jù)插入不同的隊(duì)列

switch (p rio) {

case H IGH_PR IOR ITY: {

sendbuffer_insert(3 skb, H IGH_PR IOR ITY) ;

/ /加入高優(yōu)先級(jí)隊(duì)列

return NF_STOLEN;

}

case LOW_PR IOR ITY: {

sendbuffer_insert (3 skb, LOW_PR IOR ITY) ;

/ /加入低優(yōu)先級(jí)隊(duì)列

return NF_STOLEN; }

return NF_ACCEPT;

}

被加入不同優(yōu)先級(jí)隊(duì)列的數(shù)據(jù)包將被按照上一節(jié)中提到的調(diào)度算法被轉(zhuǎn)發(fā),因?yàn)楸疚闹荚诮榻B開(kāi)放式的試驗(yàn)平臺(tái),所以具體調(diào)度算法的程序?qū)崿F(xiàn)不再贅述。

編譯內(nèi)核模塊,將生成的DiffServ. o作為一個(gè)內(nèi)核模塊插入系統(tǒng),此模塊可以象其他系統(tǒng)模塊一樣進(jìn)行后臺(tái)運(yùn)行。當(dāng)內(nèi)核模塊不再需要時(shí),可以使用命令將其卸載。相應(yīng)命令分別如下:

insmod DiffServ. o / /加載內(nèi)核模塊

rmmod DiffServ / /卸載內(nèi)核模塊

實(shí)驗(yàn)演示結(jié)果

延時(shí)性能測(cè)試

首先讓會(huì)話1運(yùn)行多媒體視頻業(yè)務(wù),賦予高優(yōu)先級(jí);會(huì)話2運(yùn)行FTP數(shù)據(jù)傳輸業(yè)務(wù),賦予低優(yōu)先級(jí)。開(kāi)啟優(yōu)先級(jí)調(diào)度算法,使用IPv6下的Ping命令測(cè)定不同優(yōu)先級(jí)業(yè)務(wù)的通信延時(shí)情況。考慮程序開(kāi)銷等因素,測(cè)得高優(yōu)先級(jí)的會(huì)話1延時(shí)為11ms~230ms,低優(yōu)先級(jí)的會(huì)話2延時(shí)為40ms~359 7ms。很顯然,高優(yōu)先級(jí)的多媒體業(yè)務(wù)由于被賦予了高的優(yōu)先級(jí)而得到了更好的服務(wù)質(zhì)量。

多媒體業(yè)務(wù)通信演示

為了便于觀察算法調(diào)度效果,兩個(gè)會(huì)話都用來(lái)傳輸視頻業(yè)務(wù),改變優(yōu)先級(jí),觀察效果。先給兩個(gè)會(huì)話賦予相同的優(yōu)先級(jí)。這時(shí)兩個(gè)會(huì)話發(fā)起連接呼叫,由于SIP服務(wù)器被賦予了絕對(duì)高優(yōu)先級(jí),所以呼叫總能順利完成,兩個(gè)會(huì)話建立連接。由于程序開(kāi)銷等因素,建立連接后兩個(gè)視頻會(huì)話在通信時(shí),都會(huì)有一些數(shù)據(jù)丟失引起的不連續(xù)現(xiàn)象。這時(shí),將會(huì)話1調(diào)整為高優(yōu)先級(jí),會(huì)話2調(diào)整為低優(yōu)先級(jí),可以看到會(huì)話1視頻變得十分流暢,但是會(huì)話2的通信效果變得更差。效果如圖4所示,其中a為會(huì)話1效果, b為會(huì)話2效果,圖中有一只鳥(niǎo)在飛,當(dāng)鳥(niǎo)飛到白色標(biāo)桿處時(shí),會(huì)話2由于數(shù)據(jù)丟失,左側(cè)不遠(yuǎn)處還有鳥(niǎo)的影子,而會(huì)話1由于優(yōu)先級(jí)比較高,所以比較流暢,畫(huà)面比較清晰。

調(diào)整兩個(gè)會(huì)話的優(yōu)先級(jí),將會(huì)話2調(diào)整為高優(yōu)先級(jí),會(huì)話1調(diào)整為低優(yōu)先級(jí),這時(shí)看到會(huì)話2視頻變得十分流暢,但是會(huì)話1的通信效果變得較差。再切換優(yōu)先級(jí),反復(fù)進(jìn)行實(shí)驗(yàn),可以得到相同的效果,高優(yōu)先級(jí)的業(yè)務(wù)可以得到好的服務(wù)質(zhì)量,也就是說(shuō),可以通過(guò)優(yōu)先級(jí)設(shè)置來(lái)保證實(shí)時(shí)業(yè)務(wù)的傳輸。

結(jié)語(yǔ)

為了進(jìn)行實(shí)時(shí)多媒體業(yè)務(wù)QoS的研究,本文使用Linux操作系統(tǒng)基于IPv6設(shè)計(jì)并實(shí)現(xiàn)了的測(cè)試平臺(tái)。測(cè)試平臺(tái)使用NetFilter截獲數(shù)據(jù)包,然后根據(jù)具體算法對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行調(diào)度,實(shí)現(xiàn)QoS改善策略。測(cè)試平臺(tái)使用Linux的動(dòng)態(tài)可加載模塊技術(shù),以模塊的形式作為L(zhǎng)inux系統(tǒng)的一部分來(lái)運(yùn)行,所以效率較高,維護(hù)方便。實(shí)驗(yàn)表明,測(cè)試平臺(tái)工作穩(wěn)定,可以很好地支持QoS算法的測(cè)試,同時(shí),測(cè)試平臺(tái)有良好的開(kāi)放性,很容易在其基礎(chǔ)上驗(yàn)證其他的算法、方案,對(duì)于實(shí)時(shí)多媒體業(yè)務(wù)QoS研究測(cè)試有十分重要的意義。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11319

    瀏覽量

    209830
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6847

    瀏覽量

    123428
  • 移動(dòng)通信
    +關(guān)注

    關(guān)注

    10

    文章

    2614

    瀏覽量

    69930
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IPv6地址是什么,IPv6的意思

    set router 隧道IP 回車   4. Linux 操作系統(tǒng)   (1) 安裝ipv6協(xié)議   modprobe ipv6   (2)IP
    發(fā)表于 01-25 16:39

    阿里云企業(yè)IPv6部署方案

    后端通過(guò)v4方式訪問(wèn)后端服務(wù)器。鑒于第一期VPC和ECS等核心組建不具備IPv6能力條件下,采用先將暴露給客戶的公網(wǎng)側(cè)進(jìn)行v6改造的方案。通過(guò)在SLB上暴露公網(wǎng)IPv6地址,
    發(fā)表于 07-09 16:18

    IPv6如何啟用和測(cè)試/驗(yàn)證功能

    在WICE中是否有任何額外的步驟來(lái)支持IPv6?我對(duì)IPv6是新的,所以我真的不知道從哪里開(kāi)始測(cè)試IPv6功能。當(dāng)我的應(yīng)用程序啟動(dòng)時(shí),無(wú)論是在FrReToS+LWIP還是
    發(fā)表于 09-26 10:25

    基于ARM的嵌入式設(shè)備接入IPv6網(wǎng)絡(luò)

    絡(luò)創(chuàng)造了條件。Linux的內(nèi)核從2.4版就已經(jīng)開(kāi)始支持IPv6,同時(shí),Linux作為開(kāi)源的操作系統(tǒng),也便于向不同的硬件平臺(tái)移植。由于現(xiàn)有的網(wǎng)
    發(fā)表于 06-18 06:04

    IPv6的特色應(yīng)用

    業(yè)務(wù)匱乏一直是制約IPv6發(fā)展的重要因素。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,IPv6的特色應(yīng)用業(yè)務(wù)漸漸浮出水面。1 IPv6與家庭網(wǎng)絡(luò)“家庭網(wǎng)絡(luò)”已經(jīng)成為全業(yè)務(wù)運(yùn)營(yíng)商大力發(fā)展家庭用戶的重要業(yè)務(wù)舉措。然而,由于
    發(fā)表于 07-15 08:18

    如何通過(guò)網(wǎng)關(guān)把嵌入式設(shè)備接入IPv6網(wǎng)絡(luò)?

    如何使用交叉編譯工具鏈移植支持IPv6Linux操作系統(tǒng)?如何通過(guò)網(wǎng)關(guān)把嵌入式設(shè)備接入IPv6網(wǎng)絡(luò)?
    發(fā)表于 05-26 07:18

    IPv6相對(duì)于IPv4 WinSock的改變是什么?

    IPv6相對(duì)于IPv4 WinSock的改變是什么?兼容IPv4與IPv6的WinSock網(wǎng)絡(luò)編程規(guī)則是什么?IPv4與
    發(fā)表于 05-31 07:09

    是否有人通過(guò)這些測(cè)試并獲得Linux 4.14.98的TAHI IPv6認(rèn)證?

    我們用 i.MX6ULL 和 Linux 4.14.98 SDK 構(gòu)建了一個(gè)家庭網(wǎng)關(guān),并進(jìn)入量產(chǎn)階段多年。 幾個(gè)月前,我們接到通知說(shuō)我們無(wú)法通過(guò) TAHI IPv6 一致性測(cè)試套件獲得
    發(fā)表于 05-06 06:04

    信息家電遠(yuǎn)程控制中IPv4 IPv6兼容的實(shí)現(xiàn)方案

    分析了IPv4 和IPv6 兩種家電局域網(wǎng)的結(jié)構(gòu)和信息家電的控制模式,研究了Web 服務(wù)中實(shí)現(xiàn)IPv4/IPv6 兼容的方法,提出了一種
    發(fā)表于 09-03 15:45 ?17次下載

    基于LINUX系統(tǒng)IPv6網(wǎng)絡(luò)安裝與調(diào)試

    基于LINUX系統(tǒng)IPv6網(wǎng)絡(luò)安裝與調(diào)試:簡(jiǎn)要介紹了下一代互聯(lián)網(wǎng)(即IPv6 網(wǎng)絡(luò)) 的通信協(xié)議,重點(diǎn)說(shuō)明IPv6 的地址結(jié)構(gòu)特點(diǎn)及其管理
    發(fā)表于 01-01 11:37 ?10次下載

    基于IPV6的嵌入式視頻監(jiān)控系統(tǒng)

    本文通過(guò)分析IPv6 嵌入式監(jiān)控系統(tǒng)的研究現(xiàn)狀及其實(shí)現(xiàn)方法,并結(jié)合應(yīng)用實(shí)際,確定了采用具有TCP/IPv6 網(wǎng)絡(luò)協(xié)議棧的uClinux 嵌入式實(shí)時(shí)
    發(fā)表于 01-20 15:58 ?26次下載

    IPv6,IPv6的應(yīng)用,IPv6的原理是什么?

    IPv6,IPv6的應(yīng)用,IPv6的原理是什么? IPv6是Internet Protocol Version 6的縮寫,其中Intern
    發(fā)表于 03-29 17:19 ?2088次閱讀

    IPv6 DNS代理軟件的設(shè)計(jì)與實(shí)現(xiàn)

    IPv6 被公認(rèn)為下一代互聯(lián)網(wǎng)的骨干協(xié)議DNS 域名系統(tǒng)作為Internet 的基礎(chǔ)架構(gòu)服務(wù)在IPv6 環(huán)境下將發(fā)揮更加重要的作用針對(duì)目前主流操作系統(tǒng)域名解析器在
    發(fā)表于 06-28 15:17 ?13次下載
    <b class='flag-5'>IPv6</b> DNS代理<b class='flag-5'>軟件</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于LinuxIPv6復(fù)合防火墻的設(shè)計(jì)

    黑客的非法入侵和竊取私有數(shù)據(jù)。面對(duì)IPv6將要廣泛的應(yīng)用,有必要將其和防火墻相結(jié)合來(lái)保障整個(gè)網(wǎng)絡(luò)系統(tǒng)的安全。 目前Linux操作系統(tǒng)自2.2內(nèi)核以來(lái)已提供對(duì)
    發(fā)表于 12-01 12:04 ?705次閱讀
     基于<b class='flag-5'>Linux</b>的<b class='flag-5'>IPv6</b>復(fù)合防火墻的設(shè)計(jì)

    靈脈 IAST 灰盒安全測(cè)試平臺(tái)通過(guò)IPv6 Ready Logo認(rèn)證

    近日,北京安普諾信息技術(shù)有限公司旗下靈脈?IAST 灰盒安全測(cè)試平臺(tái)在下一代互聯(lián)網(wǎng)國(guó)家工程中心-全球IPv6測(cè)試中心(www.IPv6Rea
    發(fā)表于 05-25 16:48 ?499次閱讀
    主站蜘蛛池模板: 国产成人无码精品久久久免费69| 蜜桃视频一区二区| 国产午夜视频| 久久久91精品国产一区二区 | 國產麻豆AVMDXMDX| 美女xx00| 无羞耻肉动漫在线观看| 最近免费中文字幕MV在线视频3| 成人免费视频在线播放| 九九热这里只有精品2| 秋霞在线观看视频一区二区三区| 亚洲高清无在码在线电影| 99精品亚洲| 国产在线精品亚洲视频在线| 嫩草影院久久精品| 亚洲电影成人 成人影院| 99久久免费精品| 国产精品久久久久久久久爆乳| 麻豆精品2021最新| 亚洲AV成人无码网天堂| av影音先锋影院男人站| 韩国精品韩国专区久久| 欧美伊人久久大香线蕉综合69| 亚洲免费一区| 成人无码精品一区二区在线观看| 久久精品一区二区免费看| 色欲国产麻豆一精品一AV一免费| 中文字幕不卡一区二区三区 | yellow视频免费观看高清在线| 韩国羞羞秘密教学子开车漫书| 欧美一区二区视频97色伦| 一品道门免费视频韩国| 国产国拍亚洲精品永久软件| 欧美 国产 日产 韩国 在线| 亚洲欧美中文字幕网站大全| 大胸美女被吊起来解开胸罩 | 老汉老太bbbbbxxxxx| 亚欧洲乱码视频一二三区| XXXchinese国产HD| 久久亚洲伊人中字综合精品| 亚洲AV无码久久流水呻蜜桃久色 |