999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Linux的IPv6 over DVB-S發送網關設計與實現

2008-01-01 00:00:00張大方陳海峰
計算機應用研究 2008年2期

摘要:描述了一種在Linux平臺上的IP over DVB-S發送網關的設計和實現方法。該方法發送網關支持單向輕量級封裝與多協議封裝方式,兼容IPv6和IPv4協議,并已在遠程教育實踐中得到應用。

關鍵詞:IPv6; 數字視頻廣播; 單向輕量級封裝; 多協議封裝

中圖分類號:TP393文獻標志碼:A

文章編號:1001-3695(2008)02-0622-03

數字視頻廣播 是歐洲數字電視的傳輸標準。它包括數字信源壓縮編碼#65380;節目數據流的統計復用#65380;信道糾錯編碼#65380;調制等數字傳輸鏈路各相關環節所采用的技術及接口標準。DVB標準根據傳輸介質的不同分為DVB-C(有線)#65380;DVB-T(地面)和DVB-S[1](衛星)三大類。其中:DVB-S是用于數字衛星廣播系統的標準。IPv6是下一代互聯網的核心協議[2],它有效地解決了IPv4中地址不足的問題,還增加了安全性#65380;服務質量保證#65380;自動配置#65380;移動性支持#65380;多點尋址等許多新的特性。基于這些改進和新的特性,IPv6可以使國際互聯網擺脫日益復雜#65380;難以管理和控制的局面,變得更加穩定#65380;可靠#65380;高效和安全。IP over DVB是在DVB數字廣播網絡上傳輸IP業務的一種技術。采用IP over DVB-S接入方式的最大特點是利用衛星廣播實現信息高速下載而且不受地理因素的影響,適用于很難通過有線網絡連接到Internet的地區。

本文介紹的是IPv6 over DVB-S傳輸系統中發送網關的設計與實現。該網關截獲發送方的IP數據包后封裝成MPEG-2傳輸流(transport stream,TS)并傳送給衛星發送裝置。

1封裝方式

在DVB網絡上,MPEG-2 TS的負載單元被用做容器來承載IP分組,TS的頭部為有效處理IP分組提供足夠信息。目前,將IP包封裝成TS包主要有兩種方式,即MPE[3]和ULE[4,5]。MPE封裝示意圖如圖1所示。

當前IPv4 over DVB-S多采用MPE的方式封裝IP數據包,但由于頭部信息多#65380;有效傳輸效率較低,不適宜傳輸IPv6數據。相比于MPE封裝,ULE封裝要簡約很多。其封裝示意圖如圖2所示。

其中:D(1b)標志后面有無dest address項;length(15b)表示type后面開始到SNDU結尾處數據的字節長度;type(16b)是類型標志,標志后面PDU的類型(IPv4=0x0800,IPv6=0x08DD)。

本文稱封裝前IP包的大小和封裝后SNDU的大小比值為封裝效率。當封裝一個IP包為一個SNDU時,封裝效率如圖3所示。可以看出ULE的封裝效率高于MPE的封裝效率。這是因為相比于MPE,ULE減少了大量的控制字段,總體上提高了IP over DVB-S的有效傳輸效率,從而節約了有限#65380;昂貴的衛星帶寬資源。

2IPv 6 over DVB-S系統組成

IP over DVB-S系統總體構成如圖4所示。

在系統的發送端,IP-DVB發送網關利用以太網卡連接IPv4/IPv6網絡,從中接收需轉發的IP數據報文,將其封裝成MPEG-2 TS數據包后,使用DVB發送卡發送;經過衛星調制解調器,數字信號被轉變成高頻模擬信號,最后使用發射裝置向衛星發射。

在系統的接收端,接收裝置接收衛星信號,經過解調#65380;解復用#65380;過濾等處理后輸出MPEG-2 TS數據包,經過必要的幀處理后,數據通過PCI總線接口電路輸入IP-DVB接收網關;網關通過解封裝操作,重組形成完整的IP報文,并可利用以太網卡將該IP數據報經過IPv4/IPv6網絡發送到目的節點。

發送端/接收端網關監控設備均可直接或通過網絡間接對IP-DVB發送/接收網關進行配置設定和狀態查詢。IP-DVB發送/接收網關可根據用戶配置,對任一邏輯通道數據流(用PID標志)選擇MPE或ULE方式進行封裝/解封裝操作。通常,IP-DVB發送網關連接Internet,以獲得豐富的數據資源,IP-DVB接收網關連接局域網,使不便通過有線方式接入Internet的地區能夠方便地獲得Internet上的資源。

3IPv6 over DVB-S發送網關

IPv6 over DVB-S發送網關由硬件系統和軟件系統組成。其中:硬件系統由普通網卡和DVB發送卡組成(普通網卡實現從以太網獲取資源數據的功能;DVB發送卡實現將軟件系統封裝好的MPGE-2 TS數據發送給衛星網絡的功能);軟件系統負責硬件卡的驅動,數據包的截獲#65380;封裝和發送,網關配置控制及監控等功能。IP-DVB發送網關系統結構如圖5所示。

3.1硬件系統

IP-DVB發送網關硬件系統由普通網卡和DVB發送卡兩部分組成。網卡從以太網上接收數據,這些數據被軟件系統截獲后進行配置控制處理或協議封裝處理。如果是要發送給衛星網絡的數據則進行協議封裝處理后交給DVB發送卡,由DVB發送卡處理后再交給衛星調制解調器。以太網卡的工作原理本文不再敘述。下面介紹DVB衛星發送卡的工作原理。

在本文介紹的發送網關中,DVB衛星發送卡的組成如圖6所示。發送卡的工作原理是利用PCI總線控制器AMCC-S5920通過PCI總線將節目數據流發送到FIFO中,由FIFO的空#65380;滿#65380;半滿標志,以及讀#65380;寫標志來實現對傳送數據流的控制。CPLD完成S5920的本地接口時序到FIFO寫入時序的轉換,并在ASI/SPI信號輸出模塊中將數據轉換成串行TS流。TS流接著進入衛星調制解調器。

3.2軟件系統

發送網關軟件系統分為監控軟件和發送處理軟件。發送處理軟件共分為五個模塊,即IP數據包截獲模塊#65380;協議封裝模塊#65380;數據發送模塊#65380;配置控制模塊和發送卡硬件驅動初始化模塊。處理流程如圖7所示。

1)IP數據包截獲該模塊采用的是Linux的netfilter機制[6],利用檢測點(hook)在IP層截獲IP數據包后,根據所截獲包的包頭中源和目的地址信息檢索配置信息表,判斷是進行轉發處理還是監控處理。若有匹配的PID值,則進行轉發處理,將該數據包發送給協議封裝模塊;若無匹配的PID值,則進行配置控制處理。Netfilter的檢測點設在NF_IP6_PRE_ROU-TING處,如圖8所示。

Hook點采用的數據結構是struct nf_hook_ops,注冊函數是nf_register_hook()。Nf_hook_ops中幾個關鍵值設置如下:

nfhkops.hook= HookForIpCap6

nfhkops.hooknum= NF_IP6_PRE_ROUTING

nfhkops.pf= PF_INET6。

Nfhkops.hook是hook點截獲數據后的處理函數,對應后面的協議封裝處理函數。nfhkops.hooknum是施行截獲的hook位置。Nfhkops.pf是網絡類型。這些設置對于IPv6和IPv4數據均要分開設置處理。以上是針對IPv6數據進行的設置。對于IPv4的數據,以上參數分別設置為HookForIpCap4#65380;NF_IP_PRE_ROUTING和PF_INET。

2)協議封裝封裝函數是hook點截獲數據后進行處理的函數。該模塊先根據IP包頭中的信息檢索配置表中的封裝方式(如果是ULE封裝,需要增加頭部形成SNDU;如果是MPE封裝,則需要增加DSM-CC頭部形成SNDU)將封裝好的數據包進行分段#65380;填充成為完整(188 Byte)的MPEG-2 TS后調用數據發送模塊。

在ULE封裝中,需要增加的頭部共4 Byte,包括:16 bit的類型標志,表明后面所封裝數據的類型,IPv6時為0x08DD,IPv4時為0x0800;15 bit的長度標志,是從type之后算起到包括CRC-32的數據長度;1 bit的帶地址標志,標志后面是否存在目的地址。添加完頭部后,需要計算32 bit的CRC校驗和,將校驗結果放在SNDU的最后。

在MPE封裝中,需要增加的頭部共12 byte,各比特位的語法詳盡解釋參見文獻[2]。封裝好IP數據包之后對整個MPE進行CRC-32校驗編碼,將校驗結果放入MPE有效載荷后構成完整的SNDU。

將IP數據包封裝成SNDU后,要將封裝好的數據包進行分段#65380;填充成為完整的188 Byte的MPEG-2 TS。TS包的包頭固定是4 Byte,包括該數據流的PID#65380;連續計數值#65380;PUSI等。PID由發送方和接收方協商好以配置文件的形式告訴發送網關。連續計數值在封裝同一個SNDU時是連續計數的。對于有SNDU在當前TS包中開始的,要設置PUSI域為1,同時插入1 Byte的NMP(next message pointer)域。NMP用于指出新SNDU包在當前TS包中的開始字節,此時TS的有效載荷就只有183 Byte了。如果當前TS包中沒有新SNDU開始,則設置PUSI為0,不插入NMP,此時的有效載荷為184 Byte。最后將已經碎片化的SNDU封裝入TS包的有效載荷中。對于TS包空余的有效載荷用0xFF進行填充,從而保證每個TS包均為188 Byte。

3)數據發送模塊收到MPEG-2 TS數據包后,將要發送的數據包放在發送緩沖ts_buff中。首先對數據包進行188 Byte的檢查,若數據包的長度為188 Byte,表示通過檢查;否則丟棄數據包。接著再檢測DVB發送卡是否空閑。如果DVB卡空閑,Linux調用dev→hard_start_xmit將數據寫入硬件卡,dev是發送卡在系統中對應的變量。如果發送卡空閑,發送成功,返回0;否則要進行等待,此時dev→tbusy置為非0,不釋放ts_buff。硬件在發送結束后產生中斷,這時才可以把tbusy置0,然后通知系統可以再次發送。

4)其他過程在IP-DVB發送網關的軟件系統中還包括硬件驅動初始化模塊#65380;配置控制模塊和網關監控軟件。DVB發送卡驅動是基于PCI設備驅動方式的[7],用register_netdev(dev)注冊設備后以struct net_device類型的變量dev存放于系統上,與DVB發送卡相關的所有信息均可由這個變量獲取。配置控制模塊保存了一張配置信息表,主要包括PID值#65380;源IP地址#65380;目的IP地址#65380;封裝方式和限制速率等。該模塊通過查詢此表判斷所截獲數據包是需要轉發還是用于監控。網關監控設備與IP-DVB發送網關之間的遠程監控基于UDP報文實現。這三個部分在本文中不再詳細敘述。

4實驗結果

實驗環境是:衛星調制解調器的帶寬設置為8 MBps,資源服務器的發送速率設置為每100 ms發送一個數據包,數據包的類型為IPv6;發送網關配置16個PID選項,封裝數據包前先在這16個PID選項中查找是否有匹配的PID號,然后進行相應的封裝。

測試分別采用MPE和ULE的封裝方式,開始發送時設置包的大小為100 Byte,每發送一個包,包的大小增加5 Byte,直到1 500 Byte為止。測試的時間從發送端截獲數據包開始,到封裝完畢要送到緩沖區為止。隨著數據包的增加,兩種封裝方式所耗時間的變化如圖9所示。

通過實驗數據可以看出,在封裝IPv6數據包過程中,采用ULE方式封裝的時間總體上小于采用MPE方式封裝的時間。

5在遠程教育中的應用

IP over DVB-S技術利用了衛星信道天然的廣播優勢,能以較低廉的價格實現廣大區域內大數據量的分發,可降低遠程教育的實施成本,非常適合于我國中西部等很難通過有線網絡連接到Internet的地區。采用IPv6協議的互聯網具有更好的擴展性,并且更安全#65380;更容易為用戶提供高質量服務。利用IP over DVB-S技術可以讓遠程教育的內容提供商以較高的傳輸速度向任意的遠端接收站發送數字#65380;音頻#65380;視頻及文本文件,如軟件#65380;電子文檔#65380;遠程教學教材等,如圖10所示。

筆者將本文網關應用于CNGI遠程教育中,取得了很好的效果。在實際運行中,一次封裝處理與解封裝處理的時間延遲皆小于0.1ms,平均無故障時間(mean time to failure, MTTF)大于4個月,達到了應用于遠程教育的要求。

6結束語

本文詳細闡述了Linux平臺下IP over DVB-S發送網關的設計及實現,它支持IPv4/IPv6雙協議棧與MPE/ULE封裝方式。在遠程教育中的實際應用表明,本網關系統能很好地利用IP網絡與衛星通信網的優勢,實現在DVB-S網絡中承載IP數據業務,并具備良好的處理效率和可靠性。另外,本文網關很容易擴展到其他DVB網絡,實現如IP over DVB-C#65380;IP over DVB-T的數據傳輸。

參考文獻:

[1]ETS 300 421,Digital broadcasting systems for television, sound and data services,framing structure, channel coding and modulation for 11/12 GHz satellite services[S].

[2]RFC 1752,The recommendation for the IP next generation protocol[S].

[3]EN 301 192,DVB specification for data broadcasting[S].

[4]RFC 4259,A framework for transmission of IP datagrams over MPEG -2 network[S].

[5]RFC 4326,Unidirectional lightweight encapsulation (ULE) for transmission of IP datagrams over an MPEG -2 transport stream (TS)[S].

[6]李善平. Linux內核2.4版源代碼分析大全[M]. 北京: 機械工業出版社, 2002:433-845.

[7]CORBET J,RUBINI A,KROAH-HARTMAN G.Linux device drivers[M]. 3rd ed.[S.l.]:O’Reilly Press, 2005:491-537.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产黄网永久免费| 女人爽到高潮免费视频大全| 亚洲丝袜中文字幕| 亚洲aⅴ天堂| 亚洲欧美综合另类图片小说区| 五月婷婷导航| 欧美成人综合视频| 伊人久久久久久久| 国产在线98福利播放视频免费 | 国产成人综合日韩精品无码首页 | 久久黄色影院| 永久免费无码日韩视频| 久久无码av三级| 久久国产精品麻豆系列| A级全黄试看30分钟小视频| 午夜视频www| 999精品视频在线| 国产成人亚洲无吗淙合青草| 日本不卡视频在线| 日韩精品欧美国产在线| 亚洲午夜综合网| 成人午夜天| 国产亚洲精品自在线| 欧美 亚洲 日韩 国产| 免费国产好深啊好涨好硬视频| 久久动漫精品| 色哟哟国产精品一区二区| 亚洲乱码精品久久久久..| 日本在线免费网站| 无码'专区第一页| 污污网站在线观看| 全免费a级毛片免费看不卡| 亚洲水蜜桃久久综合网站 | 亚洲欧美精品日韩欧美| 亚洲av片在线免费观看| 国产三级国产精品国产普男人| 国产18在线| 97国产精品视频人人做人人爱| 欧美第一页在线| 国产在线视频欧美亚综合| 亚洲欧美日韩成人在线| 国产成人禁片在线观看| 精品99在线观看| 黄色网在线| 精品少妇人妻av无码久久| 国产高颜值露脸在线观看| 99re视频在线| 91视频青青草| 小说区 亚洲 自拍 另类| 色视频国产| 伊人久久综在合线亚洲91| 亚洲毛片网站| 久久久精品国产SM调教网站| 红杏AV在线无码| 爱做久久久久久| 久久网欧美| 亚洲人成人伊人成综合网无码| 九色视频线上播放| 色综合激情网| 欧美在线导航| 国产精品成人AⅤ在线一二三四 | 欧美成人午夜视频| www.亚洲色图.com| 在线另类稀缺国产呦| 国产区人妖精品人妖精品视频| 国产91av在线| 日韩在线播放中文字幕| 一区二区三区毛片无码| 热这里只有精品国产热门精品| 国产91无毒不卡在线观看| 久久无码免费束人妻| 无码在线激情片| 性网站在线观看| 77777亚洲午夜久久多人| 久久香蕉国产线看观看式| 九色综合伊人久久富二代| 免费观看精品视频999| 亚洲an第二区国产精品| 国产第四页| 黄色网址手机国内免费在线观看| 欧美精品v欧洲精品| 色噜噜久久|