亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        IP報文分片技術(shù)及其在故障分析中的應(yīng)用

        2014-03-29 02:39:42武忠于紅增
        計算機與網(wǎng)絡(luò) 2014年8期
        關(guān)鍵詞:鏈路層分片信源

        武忠 于紅增

        (1 中國民用航空三亞空中交通管理站 海南 三亞 572000)

        (2 中國電子科技集團公司第五十四研究所 河北 石家莊 050081)

        1 引言

        隨著計算機網(wǎng)絡(luò)的發(fā)展,專用網(wǎng)絡(luò)普遍采用IP技術(shù)來構(gòu)建,語音、圖像、視頻和數(shù)據(jù)等各種IP分組業(yè)務(wù)逐漸成為網(wǎng)絡(luò)業(yè)務(wù)的主流,基于UDP超大報文的軟件系統(tǒng)由于通信的高效性和開發(fā)的便捷性在某專用網(wǎng)絡(luò)中被廣泛采用,由此帶來的一系列QoS保障問題,這些問題多與IP報文分片有關(guān)。

        2 IP報文分片的原理

        2.1 MTU

        在TCP/IP協(xié)議族中,鏈路層的報文叫做“幀”,每種鏈路層協(xié)議對數(shù)據(jù)幀的長度都有一個限制,這個特性稱作最大傳輸單元 (Maxitum Transmission Unit,MTU)[1],單位為字節(jié)(Byte)。如常用的EthernetII網(wǎng)絡(luò)MTU為1500,IEEE 802.3網(wǎng)絡(luò)MTU為1492。如果IP層有一個數(shù)據(jù)報要傳,而且數(shù)據(jù)的長度比鏈路層的MTU還大,那么IP層就需要分片,使每一片的長度都不大于MTU。

        TCP/IP的設(shè)計原則是屏蔽低層物理網(wǎng)絡(luò)技術(shù)細節(jié),通過IP協(xié)議向上層提供統(tǒng)一的IP數(shù)據(jù)報。對于上層協(xié)議和應(yīng)用而言,MTU作為低層物理細節(jié)己被IP層屏蔽,以太網(wǎng)物理幀格式和MTU的關(guān)系及IP報頭結(jié)構(gòu)如圖1所示,報頭長度為20~60 Bytes,其中有16 bit的總長度字段,用于指示整個IP數(shù)據(jù)報的長度(單位為字節(jié)),也就是說,IP數(shù)據(jù)報的長度最大可達65535 Bytes[2]。

        圖1 以太網(wǎng)MTU及IP報文格式

        2.2 IP報文的分片與重組

        UDP報文大小由軟件所決定,在不超過協(xié)議版本規(guī)定的數(shù)據(jù)報文大小的前提下,IP協(xié)議選擇當前最合適的數(shù)據(jù)報文大小在物理網(wǎng)絡(luò)上進行最大限度封裝,鏈路層一般要限制每次發(fā)送數(shù)據(jù)幀的最大長度,該值即MTU。任何時候IP層接收到一份要發(fā)送的IP數(shù)據(jù)報時,要判斷向本地哪個接口發(fā)送數(shù)據(jù)(選路),并查詢該接口獲得其MTU。把數(shù)據(jù)長度與MTU進行比較,前者大于后者則需要進行分片。分片可以發(fā)生在信源端上,也可以發(fā)生在網(wǎng)絡(luò)中間節(jié)點上。把一份IP數(shù)據(jù)報分片以后,只有到達目的地才進行重新組裝。重新組裝由信宿端的IP層來完成,目的是使分片和重新組裝過程對傳輸層(TCP和UDP)是透明的,除了某些可能的越層操作外,已經(jīng)分片過的數(shù)據(jù)報在轉(zhuǎn)發(fā)過程中有可能會再次進行分片(可能還不止一次)。

        IP首部中包含的數(shù)據(jù)為分片和重新組裝提供了足夠的信息:標識字段、更多的片標志位和不分片標志位。查看圖1中IP首部格式,下面這些字段用于分片過程。對于信源端發(fā)送的每份IP數(shù)據(jù)報來說,其標識字段都包含一個唯一值,該值在數(shù)據(jù)報分片時被復(fù)制到每個片中。標志字段用其中一個比特來表示“更多的片”。除了最后一片外,其他每個組成數(shù)據(jù)報的片都要把該比特置1。片偏移字段指的是該片偏移原始數(shù)據(jù)報開始處的位置。

        另外,當數(shù)據(jù)報被分片后,每個片的總長度值要改為該片的長度值。最后,標志字段中有一個比特稱作“不分片”位,如果將這一比特置1則IP不對數(shù)據(jù)報進行分片,如果需要進行分片但設(shè)置了不分片比特則把數(shù)據(jù)報丟棄,如果丟棄發(fā)生在中間節(jié)點上還會發(fā)送一個ICMP差錯報文給信源端。IP報文分片的優(yōu)點是為上層協(xié)議提供了一個透明的傳輸通道,使上層協(xié)議不必關(guān)心底層不同的硬件技術(shù)。

        2.3 TCP/UDP報文分片方式

        (1)TCP/UDP報文格式

        一個UDP數(shù)據(jù)報由UDP首部和用戶數(shù)據(jù)組成,一個TCP流報文由TCP首部和用戶數(shù)據(jù)組成,如圖2所示。UDP首部由8個字節(jié)組成,TCP首部由20個字節(jié)組成 (不含TCP選項字段時)。

        圖2 TCP/UDP報文格式

        (2)分片協(xié)議

        當傳輸層數(shù)據(jù)包在IP層進行分片后,每一片都具有自己的IP首部,因此可以看成一個完整獨立的IP包,與其他分片的IP包是相互獨立的。然而信宿端接收這些IP包時有可能不會按照原來的順序接收,但是IP包的首部中有足夠的信息,因此信宿端能正確還原出原來的傳輸層數(shù)據(jù)報。

        UDP分片和TCP分片方式不同,從屬于同一個TCP報文的每一個IP分片都包含有相同的TCP首部,而UDP報文分片后只在第一個分片有UDP首部,后續(xù)的UDP分片就沒有UDP首部。信源端上發(fā)送2000 Bytes數(shù)據(jù)時UDP和TCP各自的分片結(jié)果,如圖3所示。注意:用wireshark軟件顯示UDP分片結(jié)果時是最后一個分片的protocol為UDP,前面各個分片的protocol為IP,這是因為wireshark選擇在重組完成后才在最后一個分片給出正確的protocol,查看各個分片,第一個分片的IP數(shù)據(jù)部分可以看到udp首部,后續(xù)分片則沒有。

        圖3 TCP/UDP報文分片機理

        3 網(wǎng)絡(luò)設(shè)備分片報文處理機制

        3.1 路由交換設(shè)備

        在網(wǎng)絡(luò)中路由器和交換機一般只有分片處理功能,而不執(zhí)行分片重組功能。路由交換設(shè)備接收到一份要發(fā)送的IP數(shù)據(jù)報時,要判斷向本地哪個接口發(fā)送數(shù)據(jù)(選路),并查詢該接口獲得其MTU。把數(shù)據(jù)長度與MTU進行比較,前者大于后者則進行分片,這往往發(fā)生在不同MTU網(wǎng)絡(luò)交界處。如果出接口是隧道接口,IP數(shù)據(jù)報會被封裝,參與比較的是隧道封裝后的長度,而不是原始IP數(shù)據(jù)報長度。

        3.2 網(wǎng)絡(luò)安全設(shè)備

        這些設(shè)備出于自身功能需要(比如訪問控制、防病毒和深度分析等等)都對分片報文進行重組[3],對于需要轉(zhuǎn)發(fā)的報文則進行重新分片,分片的依據(jù)是下行鏈路的MTU,可能與信源端MTU不同。

        3.3 終端設(shè)備

        終端設(shè)備總是要對超過MTU的上層報文打包成合適的IP報文進行傳輸(根據(jù)需要進行分片),對于收到的分片報文自動完成重組再上報給合適的應(yīng)用程序。如果分片報文部分分片丟失,則該UDP報文因無法完成重組而丟棄。

        3.4 網(wǎng)橋

        由于輸入輸出端口鏈路層協(xié)議不同,輸入接口和輸出接口的幀格式和MTU往往不同,是否發(fā)生分片取決于所用的鏈路層協(xié)議和MTU。

        4 故障實例分析

        4.1 個別鏈路丟包致多條鏈路丟包

        UDP報文分片傳輸過程中,如果某個分片丟失會導(dǎo)致分片所屬的那個UDP報文丟包,通常不會造成其他影響[4]。在實際的網(wǎng)絡(luò)環(huán)境中,情況往往比較復(fù)雜,例如某安全設(shè)備外部鏈接了多條鏈路,都傳輸著UDP大包業(yè)務(wù),其中一條鏈路有誤碼,導(dǎo)致部分UDP分片丟失,安全設(shè)備無法對其完成重組。由于安全設(shè)備不能及時丟棄這些分片,任其在緩沖區(qū)中等待重組完成,后續(xù)的類似分片積累起來將緩存占滿,導(dǎo)致無法重組其他鏈路的UDP報文,這樣一條鏈路上的UDP大包斷續(xù)丟包之后,其他鏈路也出現(xiàn)UDP大包丟包。經(jīng)過排查發(fā)現(xiàn)斷開有損鏈路并重啟安全設(shè)備后故障消失,接入有損鏈路后故障可以重現(xiàn)。確認該故障與UDP大包分片有關(guān),該安全設(shè)備軟件改為及時丟棄這些無法重組的分片后,故障消失。

        4.2 多次分片導(dǎo)致下游設(shè)備丟包

        終端在發(fā)送IP數(shù)據(jù)報時可以獲知的只是第一跳MTU,針對超過MTU的IP數(shù)據(jù)報,依據(jù)該值進行第一次分片,在傳輸過程中如果遇到隧道協(xié)議導(dǎo)致鏈路出口MTU減小 (如GRE隧道協(xié)議有個8 Bytes的開銷,PPPOE報文有8 Bytes的開銷),則總尺寸超過鏈路MTU的那些分片會進行二次(甚至多次)分片[5],由此將產(chǎn)生新的IP短報文。

        某業(yè)務(wù)軟件發(fā)送7000 Bytes的UDP報文,加上UDP首部的8 Bytes,共7008 BytesIP數(shù)據(jù)需由網(wǎng)絡(luò)層打包,第一跳MTU為1500 Bytes,UDP報文被分成了4個1500 Bytes的IP包(1480 BytesIP數(shù)據(jù)和20 BytesIP首部,8 BytesUDP首部包含在第一個分片IP數(shù)據(jù)中)和1個1108Bytes(剩余的1088BytesIP數(shù)據(jù)和20 BytesIP首部)的IP包,中間鏈路上存在GRE隧道,GRE封裝占用8 Bytes,其MTU小于1500,于是4個1500Bytes的IP包被二次分片,產(chǎn)生4個1500Bytes的IP包和4個46 Bytes的短IP包,這個UDP報文將產(chǎn)生9個長短不一的IP分片,實際使用中受下游設(shè)備包轉(zhuǎn)發(fā)能力的限制產(chǎn)生了丟包,在將信源網(wǎng)卡MTU手工改為較小的值1460之后,通信正常。

        4.3 UDP分片影響ACL匹配結(jié)果

        由于UDP分片報文只有第一片有UDP首部,后續(xù)的分片沒有,因此在通過ACL匹配UDP報文的源端口、目的端口時只能匹配第一個分片,即基于五元組(源IP地址、目的IP地址、源端口、目的端口和協(xié)議)進行流分類并進行優(yōu)先級標記時,同一個UDP報文的分片打不上相同優(yōu)先級的情況。如果基于三元組(源IP地址、目的IP地址和協(xié)議),則會導(dǎo)致不同的應(yīng)用打上相同的優(yōu)先級標簽,與需求不符。

        4.4 ping的通而業(yè)務(wù)不通

        現(xiàn)網(wǎng)中,各種VPN應(yīng)用或接入技術(shù)其報文封裝格式及大小因采用的技術(shù)不同會有比較大的差異。因此更要格外注意報文經(jīng)過多次封裝后MTU值的減小情況[6]。通常情況下,大部分應(yīng)用程序都會允許報文分片的,但總有部分協(xié)議因為種種原因不允許報文分片,這就要求信源網(wǎng)卡MTU不能超過路徑中MTU的最小值,否則可能會導(dǎo)致應(yīng)用無法正常通信。

        5 結(jié)束語

        UDP報文分片在實際應(yīng)用中的效果情況非常復(fù)雜,對QoS、業(yè)務(wù)連通性和設(shè)備性能等都有影響,與鏈路上設(shè)備特性有關(guān),本文闡述了與UDP大包分片有關(guān)的一些故障案例及其故障機理,供大家在實際應(yīng)用中參考。

        [1]COMER D E.用TCP/IP進行網(wǎng)際互連[M].北京:電子工業(yè)出版社,1998.

        [2]程 偉,全天彤.IP報文分片機制與路徑MTU發(fā)現(xiàn)技術(shù)[J].計算機應(yīng)用研究,2000(8):36-39.

        [3]占幼平,劉 玉.一種基于業(yè)務(wù)流的IP分片實時識別方法[J].微計算機信息,2007(33):87-89.

        [4]劉 陽.UDP數(shù)據(jù)報IP分片傳輸方式研究[J].今日中國論壇,2013(12):197.

        [5]金旭燕.IP分片及其故障處理[J].科技信息,2013(24):264-265.

        [6]秦昌潛.報文分片對網(wǎng)絡(luò)的影響[J].中國集體經(jīng)濟,2012(9):176-177.

        猜你喜歡
        鏈路層分片信源
        網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
        上下分片與詞的時空佈局
        詞學(xué)(2022年1期)2022-10-27 08:06:12
        基于極化碼的分布式多信源信道聯(lián)合編碼
        無線電工程(2022年4期)2022-04-21 07:19:44
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
        分片光滑邊值問題的再生核方法
        CDN存量MP4視頻播放優(yōu)化方法
        基于模糊二分查找的幀分片算法設(shè)計與實現(xiàn)
        信源控制電路在功率容量測試系統(tǒng)中的應(yīng)用
        電子世界(2017年16期)2017-09-03 10:57:36
        信源自動切換裝置的設(shè)計及控制原理
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進
        国产精品麻豆成人AV电影艾秋| 国产亚洲一二三区精品| 三区中文字幕在线观看| 超级乱淫片国语对白免费视频| 国产午夜福利片在线观看| 无码中文字幕日韩专区视频| 亚洲另类欧美综合久久图片区 | 日韩一区二区三区久久精品| 亚洲国产精品日本无码网站| 国产台湾无码av片在线观看| 久久精品国产夜色| 亚洲国产一区二区三区,| 亚洲一区二区国产一区| 久久狠狠色噜噜狠狠狠狠97| 久久不见久久见免费视频7| 高清国产亚洲va精品| 亚洲三级香港三级久久| 亚洲av中文无码乱人伦在线视色| 中文字幕一区二区三区人妻少妇| 中文 国产 无码免费| 国产一区二区三区免费在线播放| 久久综合九色欧美综合狠狠| 亚洲av永久无码精品| 国产色噜噜| 农村国产毛片一区二区三区女| 国产一区二区三区久久悠悠色av | 18禁无遮拦无码国产在线播放 | 欧美性受xxxx黑人xyx性爽 | 国产精品国语对白露脸在线播放 | 人妖一区二区三区视频| 成年女人免费视频播放体验区 | 手机av在线中文字幕| 亚洲av无码专区在线播放| 视频一区二区在线播放| 久久精品av一区二区免费| 中文字幕av久久亚洲精品| 亚洲av天天做在线观看| 夜夜春精品视频| 中文字幕日韩精品亚洲精品| 国产精品久久久爽爽爽麻豆色哟哟| 中文无码制服丝袜人妻av|