《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于電力數(shù)據(jù)通信網(wǎng)的MTU值分析研究
基于電力數(shù)據(jù)通信網(wǎng)的MTU值分析研究
2018智能電網(wǎng)增刊
段寒碩1,,葉 青1,,金 燊1,,楊廣濤2
1.國網(wǎng)冀北電力有限公司信息通信分公司,,北京100053,; 2.國網(wǎng)冀北電力有限公司承德供電公司信息通信分公司,,河北 承德067000
摘要: 在電力數(shù)據(jù)通信網(wǎng)中,,業(yè)務的遠距離傳輸要先后通過傳輸層,、網(wǎng)絡層及數(shù)據(jù)鏈路層的封裝,,最終以以太網(wǎng)幀的形式通過光端機及光纜進行遠程通信,,在通信過程中,三個協(xié)議層對數(shù)據(jù)載荷的大小均有相關(guān)參數(shù)的定義,,分別是MSS,、MTU及最大幀長度。通過ICMP協(xié)議,,討論三者之間的關(guān)系,,并應用于解決電力數(shù)據(jù)通信網(wǎng)中提票業(yè)務大包不通的問題。
中圖分類號: TM72
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2018.S1.035
Abstract:
Key words :

1  電力數(shù)據(jù)通信網(wǎng)簡介

    電力數(shù)據(jù)通信網(wǎng)是以保障電網(wǎng)安全生產(chǎn)為目的,,采用路由器,、光端機等設備搭建而成,用于傳輸電網(wǎng)生產(chǎn)控制信號,、電網(wǎng)公司辦公內(nèi)網(wǎng),、視頻會議等綜合業(yè)務的通信網(wǎng)絡。

    電力數(shù)據(jù)通信網(wǎng)網(wǎng)絡結(jié)構(gòu)與公司運維范圍內(nèi)變電站的地理位置息息相關(guān),,基本采用三級組網(wǎng)結(jié)構(gòu),,核心層位于公司總部,由多臺高性能路由器組成,,匯聚層由距離公司較近的幾個高電壓等級變電站組成,,站內(nèi)路由器既擔當匯聚路由器的功能,同時滿足本站內(nèi)的通信業(yè)務接入,。接入層主要由低電壓等級變電站內(nèi)路由器構(gòu)成,,由于站內(nèi)路由器僅需要完成業(yè)務接入功能,所以對路由器性能要求不高,。由于各個變電站之間距離較遠,,為保證業(yè)務質(zhì)量,路由器之間的互聯(lián)一般通過光端機承載,。如圖1所示,。

dhs-t1.gif

2  電力數(shù)據(jù)通信網(wǎng)業(yè)務傳遞模型

    根據(jù)電力數(shù)據(jù)通信網(wǎng)業(yè)務特性,電網(wǎng)公司多采用BGP MPLS VPN跨域技術(shù)進行業(yè)務之間的互通,,網(wǎng)絡中公司總部核心層和各個地市公司接入層分別為BGP的不同自治域(AS),。為保證業(yè)務的安全性以及數(shù)據(jù)包的快速轉(zhuǎn)發(fā),,全網(wǎng)采用MPLS VPN技術(shù)。

    由于電力數(shù)據(jù)通信網(wǎng)中業(yè)務流量一般是總分結(jié)構(gòu),,核心位于公司總部區(qū)域,,接入位于各個地市區(qū)域,故業(yè)務訪問一般會跨越不同的BGP自治域,,且業(yè)務數(shù)據(jù)包在傳遞過程中會被各種協(xié)議的報頭進行封裝,。

    以電力數(shù)據(jù)通信網(wǎng)調(diào)度提票業(yè)務為例,結(jié)構(gòu)示意圖如圖2 所示,。末端站點提票終端發(fā)送提票請求,,業(yè)務數(shù)據(jù)包通過VPN隧道發(fā)送至BGP AS-2內(nèi)的數(shù)據(jù)通信網(wǎng)路由器上,數(shù)據(jù)通信網(wǎng)業(yè)務在光端機的承載下,,通過BGP自治域邊界ASBR路由器,,最終傳輸至BGP核心區(qū)域AS-1的總部路由器上,路由器通過與提票服務器建立的VPN隧道,,將信息傳遞到提票服務器,,完成業(yè)務的傳遞。

dhs-t2.gif

3  數(shù)據(jù)封裝與MTU

3.1  數(shù)據(jù)封裝過程概述

    根據(jù)TCP/IP四層協(xié)議模型,,由下至上分為數(shù)據(jù)鏈路層,、網(wǎng)絡層、傳輸層,、應用層,。以提票業(yè)務為例,由于數(shù)據(jù)是從應用程序發(fā)出,,應用層的應用程序數(shù)據(jù)首先進行TCP封裝,封裝完畢后,,變成可在傳輸層傳遞的數(shù)據(jù)段(segment),,傳輸層的數(shù)據(jù)段再進行IP封裝,增加IP頭部信息,,稱為網(wǎng)絡層的IP數(shù)據(jù)包,,最后將數(shù)據(jù)包增加幀頭等信息,變?yōu)榭梢酝ㄟ^數(shù)據(jù)鏈路層傳輸?shù)囊蕴W(wǎng)幀,。當信息傳輸?shù)侥康牡貢r,,在進行以上封裝的解封裝工作,將應用程序信息傳遞至目標應用程序,。

3.2  MTU值簡介

    MTU為最大傳輸單元(Maximum Transmission Unit)的簡稱,,一般是指以太網(wǎng)幀結(jié)構(gòu)中數(shù)據(jù)Data字段最大的長度(單位為byte)。

    以太網(wǎng)幀(Ethernet II)由幀頭,、數(shù)據(jù)部分及校驗位構(gòu)成,。其中以太網(wǎng)幀的幀頭大小為14 bytes(DMAC目的MAC地址6 bytes,,SMAC源MAC地址6 bytes,Type域2 bytes),,CRC校驗部分4 bytes,,剩下承載上層協(xié)議(IP數(shù)據(jù)包)的字段叫做數(shù)據(jù)載荷,數(shù)據(jù)載荷部分大小為46-1 500 bytes,,數(shù)據(jù)載荷的最大長度稱之為MTU,,即MTU值最大為1 500 bytes,以太網(wǎng)幀最大為1 518 bytes,。[1]

    MTU值為數(shù)據(jù)鏈路層中對最大數(shù)據(jù)載荷的定義,,不考慮幀頭以及校驗位,即為網(wǎng)絡層中的IP數(shù)據(jù)包長度,。如果網(wǎng)絡層IP數(shù)據(jù)包長度超過MTU值,,就會被分片處理,保證每一片IP包不超過MTU值,。但如果業(yè)務通信是基于TCP連接的,,那么一般情況下IP數(shù)據(jù)包不允許分片,如果數(shù)據(jù)包大小超過MTU那么數(shù)據(jù)包將會被丟棄,,本文中的提票業(yè)務就是基于TCP連接的業(yè)務,。

    此外,在電力數(shù)據(jù)通信網(wǎng)中,,為保證業(yè)務遠距離傳輸?shù)目煽啃?,一般情況下路由器間的遠距離互聯(lián)需要借助光端機,由光端機來承載數(shù)據(jù)通信網(wǎng)業(yè)務,,例如圖1 所示,。光端機可以設置鏈路上允許通過的最大幀長度,從而影響網(wǎng)絡層MTU值及傳輸層的數(shù)據(jù)分片,。

3.3  MSS簡介

    數(shù)據(jù)鏈路層有MTU的概念,,傳輸層也有類似MTU的概念,這就是MSS,,全稱為Maximum Segment Size,,可以直譯為最大分段長度。MSS就是TCP段每次能夠傳輸?shù)淖畲髷?shù)據(jù)載荷,。即TCP數(shù)據(jù)段中除去TCP包頭后的數(shù)據(jù)載荷部分最大長度,。在建立TCP連接過程中,首先要協(xié)商雙方的MSS值,,這個值TCP協(xié)議在實現(xiàn)的時候往往用MTU值減去IP數(shù)據(jù)包包頭的大?。?0 bytes)和TCP數(shù)據(jù)段的包頭(20 bytes),由于MTU值一般為1 500,,所以往往MSS為1 460,,默認情況下,,二者的長度相差40 bytes。通信雙方會根據(jù)雙方提供的MSS值得最小值確定為這次連接的最大MSS值,。如果雙方的MSS值設定不一致,,則協(xié)商結(jié)果以小的為準。在實際業(yè)務傳輸過程中,,部分型號的路由器可以調(diào)整MSS值,,從而影響網(wǎng)絡層IP數(shù)據(jù)包大小及數(shù)據(jù)鏈路層MTU。而光端機可以設置鏈路上允許通過的最大幀長度,,從而影響網(wǎng)絡層MTU值及傳輸層的MSS值,。[2]

4  業(yè)務網(wǎng)絡仿真

    針對電力數(shù)據(jù)通信網(wǎng)中的數(shù)據(jù)包大小進行仿真分析,仿真研究業(yè)務數(shù)據(jù)報文在路由器間傳遞過程中的大小,,由此得出數(shù)據(jù)在傳遞過程中的封裝過程,,了解MTU值對數(shù)據(jù)傳輸大小的限制作用,下一步利用研究結(jié)果解決電力數(shù)據(jù)通信網(wǎng)中業(yè)務數(shù)據(jù)大包不通的問題,。

4.1  ICMP數(shù)據(jù)包仿真研究

    通過eNSP搭建仿真環(huán)境,,如圖3所示,PC4和PC5分別模擬為兩個站點的PC客戶端,,通過ping命令來研究icmp協(xié)議在數(shù)據(jù)網(wǎng)路由器中的傳遞過程中的數(shù)據(jù)包大小變化,。

dhs-t3.gif

    第一步,在PC4上運行ping命令,,目的地址是PC5的IP地址,,其中-l命令是規(guī)定數(shù)據(jù)包大小為1 472 bytes,如圖4所示:

dhs-t4.gif

    第二步,,使用Wireshark抓包工具,,在PC4的Ethernet0/0/1端口進行抓包,得到結(jié)果如圖5所示,。

dhs-t5.gif

    可以看到,,數(shù)據(jù)包原始數(shù)據(jù)大小為1 472 bytes,通過icmp協(xié)議封裝后,,數(shù)據(jù)包大小變?yōu)? 480 bytes,通過IP協(xié)議封裝后,,數(shù)據(jù)包大小變?yōu)? 500 bytes,,通過幀封裝后,數(shù)據(jù)包大小最終變?yōu)? 514 bytes(Wireshark工具不計算幀尾的4 btyes的FCS校驗位,,加上幀尾的校驗位,,數(shù)據(jù)總長度為1 518)。由此可以得出本案例數(shù)據(jù)包在傳輸過程中不同協(xié)議或幀封裝所需要增加的報文長度如表1 所示:

dhs-b1.gif

    我們知道,,在以太網(wǎng)幀最大長度為1 518 bytes,,由此可以推斷,,當我們在PC上可以ping的最大數(shù)據(jù)長度為1 518-18-20-8=1 472 bytes,仿真軟件驗證的結(jié)果如下,,與預先的推斷一致,,如圖6所示:

dhs-t6.gif

4.2  電力數(shù)據(jù)網(wǎng)中ICMP數(shù)據(jù)包仿真研究

    由于電力數(shù)據(jù)網(wǎng)的網(wǎng)絡結(jié)構(gòu)特點,全網(wǎng)采用BGP MPLS VPN技術(shù)進行組網(wǎng),,該組網(wǎng)方式在使用ICMP協(xié)議進行ping測試時,,需要考慮在網(wǎng)絡層與數(shù)據(jù)鏈路層之間再封裝兩層mpls標簽(一層為用于查找公網(wǎng)路由的公網(wǎng)標簽,一層是用來查找VPN路由的私網(wǎng)標簽),,每層標簽大小為4 bytes,。所以仿真結(jié)果如圖7、圖8所示:

dhs-t7.gif

dhs-t8.gif

    此時,,使用Wireshark工具抓到的以太網(wǎng)幀長度為1 472+8+20+4+4+14=1 522,,加上校驗位,實際幀長度為1 526 bytes,,其中網(wǎng)絡層封裝后的數(shù)據(jù)包大小為1 472+8+20=1 500 bytes,,正好為MTU值,故1 472為ping命令可以攜帶的最大數(shù)據(jù)載荷長度,。由此可以得出本案例數(shù)據(jù)包在電力數(shù)據(jù)通信網(wǎng)實際傳輸過程中不同協(xié)議或幀封裝所需要增加的報文長度表2所示:

dhs-b2.gif

    上述仿真結(jié)果表明,,當業(yè)務在電力數(shù)據(jù)通信網(wǎng)傳輸過程中,數(shù)據(jù)先后會經(jīng)過傳輸層封裝,、網(wǎng)絡層封裝以及數(shù)據(jù)鏈路層封裝,,最終通過光端機進行遠距離傳輸。由于本文中的提票業(yè)務是基于TCP連接的,,在網(wǎng)絡層不允許分片,,所以網(wǎng)絡層封裝后的IP數(shù)據(jù)包長度必須小于等于1500 bytes,才能保證數(shù)據(jù)包的有效傳遞,,否則數(shù)據(jù)包將會被丟棄,,導致業(yè)務無法聯(lián)通。

5  利用MTU值解決業(yè)務大包不通問題

5.1  問題描述

    在電力數(shù)據(jù)通信網(wǎng)實際運行過程中,,在某次大型網(wǎng)絡結(jié)構(gòu)調(diào)整后,,出現(xiàn)了提票業(yè)務不通問題,如圖2所示,,末端站點1的工作人員反饋提票客戶端可以ping通總部服務器,,但是客戶端瀏覽器無法打開提票頁面,提票工作無法完成,。

5.2  問題分析

    通過測試發(fā)現(xiàn),,提票終端可以ping通總部服務器,但當限定數(shù)據(jù)包長度時,,大包無法ping通,,經(jīng)測試,,最大可以ping通的數(shù)據(jù)包大小為1 468 bytes,根據(jù)本文中的結(jié)論,,可以得出此時在網(wǎng)絡層的IP數(shù)據(jù)包大小為1 496 bytes,,在數(shù)據(jù)鏈路層的以太網(wǎng)幀大小為1 496+4+4+18=1 522 bytes。

    通過檢查路由器的配置,,發(fā)現(xiàn)路由器MTU值設置為1 500 bytes,,1 496小于1 500,所以網(wǎng)絡層MTU值滿足條件,。

    此時,,我們考慮傳輸層以及數(shù)據(jù)鏈路層的兩個參數(shù),一個是傳輸層MSS,,另一個是數(shù)據(jù)鏈路層最大幀長度,。通過查看路由器配置,發(fā)現(xiàn)MSS為默認值1 460 bytes,,根據(jù)3.3章節(jié),,得出業(yè)務數(shù)據(jù)的實際TCP數(shù)據(jù)載荷大小為1 496-20=1 476 bytes,小于MSS值,,故傳輸層參數(shù)滿足條件,。通過查看光端機配置,我們發(fā)現(xiàn),,光端機最大幀長度設置為1 518 bytes,,而本案例中實際傳輸?shù)囊蕴W(wǎng)幀大小為1 522 bytes,所以導致以太網(wǎng)幀被光端機丟棄,,造成業(yè)務不通,。

5.3  問題處理

    通過前面章節(jié)的分析,問題可以從兩個方面解決,,一方面可以調(diào)整MSS值(默認為1 460),,通過在路由器上配置ip tcp adjust-mss 1 456,可以使數(shù)據(jù)的MSS值調(diào)整為1 456,,這樣數(shù)據(jù)封裝成以太網(wǎng)幀后的大小為1 518,,滿足最大幀長度要求,可以通過光端機進行傳輸,。另一方面可以通過修改光端機最大幀長度,,如圖9所示,以馬可尼光端機為例,,將最大幀長度上調(diào)為1 600,同樣可以使數(shù)據(jù)通過光端機進行傳輸,。實際測試顯示,,通過兩種方法均能解決提票業(yè)務大包不通問題,。

dhs-t9.gif

    本文通過分析數(shù)據(jù)包的幀結(jié)構(gòu)以及封裝過程,了解了MSS值,、MTU值及最大幀長度在數(shù)據(jù)傳輸過程中的功能及作用,,學會了通過調(diào)整MSS值及最大幀長度參數(shù)解決業(yè)務大包不通問題,為今后電力數(shù)據(jù)通信網(wǎng)業(yè)務大包不通故障的分析處理提供了新的思路,,積累了寶貴經(jīng)驗,。

參考文獻

[1] FALL K R,STEVENS W R,,TCP/IP 詳解 卷1:協(xié)議[M].北京:機械工業(yè)出版社,,2016.

[2] Jeff Doyle,Jennifer Carroll,,TCP/IP 路由技術(shù)(第一卷)(第二版)[M].北京:人民郵電出版社,,2007.



作者信息:

段寒碩1,葉  青1,,金  燊1,,楊廣濤2

(1.國網(wǎng)冀北電力有限公司信息通信分公司,北京100053,;

2.國網(wǎng)冀北電力有限公司承德供電公司信息通信分公司,,河北 承德067000)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。