?

基于IGMP的家庭網關固件升級系統的設計與實現

2015-05-13 23:25代博蘭
信息通信技術 2015年3期
關鍵詞:固件網關交換機

蔡 浩 代博蘭 熊 馳

1 武漢鐵路職業技術學院 武漢 430205

2 中國船舶重工集團公司第七二二研究所 武漢 430079

3 武漢船舶職業技術學院 武漢 430050

引言

隨著光纖到用戶(FTTx)技術的發展和普及,我國互聯網已經進入寬帶網絡時代。各種各樣類型豐富的通信及媒體網關也逐步進入到萬千公司、企業和家庭。這類家庭網關(簡稱網關)設備,一方面能夠很好地適用于FTTx各類用戶的各種業務場景,另一方面也給網關設備廠商和電信運營商的海量維護工作帶來巨大挑戰。通常,通信產品在布放到最終用戶時或者在運維管理過程中,都會遇到設備軟件需要進行固件升級的情況。對這類網關設備的固件進行升級的活動,需要設備廠商和電信運營商投入相當多的人力、物力、財力來進行升級、運維、保障。

本文基于IP組播技術提出一種僅通過比較簡單的技術實現和輔助設備組網,就能同時完成多臺網關設備的固件或者XML配置升級的方法,避免重復性的人力投入,提升運維管理工作效率。

1 組播技術固件升級場景

在運維管理過程中,電信運營商基于終端綜合管理系統(ITMS)或者網元管理系統(EMS)的網管系統,通過光線路終端 (OLT)設備完成其下掛網關設備的遠程固件和XML配置升級操作。以家庭網關的固件升級場景為例,各網元組網關系如圖1所示。

圖1 運營商網關固件升級場景

但網關設備在某些情況下,不能夠被網管系統管理到,比如EMS/ITMS網絡條件不具備或者需進行網關設備批量替換的情況時。這類網關由于沒有被網管系統注冊認證過,無法通過圖1所述方法實現其固件升級[1]。這時,電信運營商不得不組織人員,對待布放網關設備進行逐臺設備手工固件升級。1臺網關設備進行固件升級,軟件升級過程大約需要耗時3分鐘,操作人員的操作過程和升級后版本驗證需2分鐘。當網關設備數量多時,整個升級過程耗時長,人工成本較高。同時,人員由于重復勞動,難免出錯且工作效率很低。

如果操作人員按圖2所示對待升級網關設備進行組網,實現“一對多”的通信場景,就可以讓一臺固件升級服務器(簡稱服務器)同時處理多臺網關設備的固件升級操作。整個固件升級過程的工作效率,就能夠呈現數量級的提升;因此,通常會考慮采用廣播或者組播技術來實現網關設備固件升級場景。廣播或者組播技術具有如下優點。1)減少人力成本,減少服務器空載時間,提升工作效率。2)使“一對多”傳輸成為可能,實現固件升級的分布式應用。但是,在網關設備的固件升級過程中,既可能存在網關個體的升級進度差異,又可能存在部分網關無需升級或者被重復升級的情況。如圖3廣播技術固件升級場景所示,服務器和網關間無法避免大量不必要的網絡流量,因此,在升級場景中采用廣播技術時,難以控制網絡流量和消除流量冗余情況。而組播技術的IGMP(Internet Group Management Protocol,互聯網組管理協議)報文處理機制,可以很好地規避組播服務器和網關間的流量冗余情況。網關固件升級場景,可以看成是組播服務器向網關推送組播節目的過程,加入組播節目組的網關能夠接收到服務器的組播服務。如圖4組播技術固件升級場景所示,組播升級方式可以有效規避部分網關無需升級或者被重復升級的情況。

圖2 網關升級場景

圖3 廣播技術固件升級場景

圖4 組播技術固件升級場景

2 IP組播、IGMP Snooping和IGMP分析

IP組播屬于端到端的服務,它的尋址機制是借助組播地址(即IP組播地址),實現數據信息從組播源發送到一組接收者的過程。同時,還必須提供一種技術將IP組播地址映射為數據鏈路層的組播MAC地址。以太網傳輸單播IP報文的時候,目的MAC地址使用的是接收者的MAC地址。但是在傳輸組播數據包時,其目的地不再是一個具體的接收者,而是一個成員不確定的組,所以要使用組播MAC地址?;ヂ摼W編號分配委員會(Internet Assigned Numbers Authority,IANA)規定(如圖5所示),IPv4組播MAC地址的高24位為0x01005E,第25位為0,低23位為IPv4組播地址的低23位。IPv4組播地址與MAC地址的映射關系如圖6所示。例如,組播IP地址224.8.8.8就映射為組播MAC地址01-00-5e-08-08-08[2]。

圖5 IP地址到MAC地址的映射

IANA將D類地址空間分配給IPv4組播使用,范圍從224.0.0.0到239.255.255.255,具體分類及其含義如表1所示[2]。

表1 IPv4 組播地址的范圍及含義

通常,把工作在數據鏈路層的IP組播稱為“二層組播”,相應的組播協議稱為“二層組播協議”,包括IGMP Snooping、組播VLAN 等;把工作在網絡層的IP組播稱為“三層組播”,相應的組播協議稱為“三層組播協議”,包括IGMP、PIM、MSDP、MBGP 等。

互聯網組管理協議窺探(Internet Group Management Protocol Snooping,IGMP Snooping)是運行在二層設備上的組播約束機制,通過窺探和分析主機與三層組播路由器之間交互的IGMP報文來管理和控制組播組,可以有效抑制組播數據在二層網絡中的擴散[2]。IGMP Snooping功能需要借助于二層交換機的組播MAC地址轉發表機制。如圖6所示,通常網關B會接收到網關A的成員關系報文(Membership Report),發現是相同的組播組地址,而自己產生抑制的情況。這時,交換機將抑制網關A的請求報文傳送到網關B和組播服務器處(如圖6步驟3所示)。從而有效避免交換機由于不能接收到網關B的請求報文,而不能建立正確的組播MAC地址轉發表的情況。

圖6 交換機IGMP Snooping抑制消息報告

IGMP Snooping協議工作原理如圖7所示,交換機“窺探”網關與服務器之間的交互報文,跟蹤組播組信息及申請的端口。當交換機“窺探”到網關朝服務器發出的成員關系報文時,交換機便把該端口加入組播MAC地址轉發表中;當交換機“窺探”到網關離開(IGMP Leave)報文時,交換機便把該端口從表中刪除[3]。服務器會定時發送通用查詢(General Query)報文,交換機在收到Query報文后,如果在一定的時間段內沒有收到網關的IGMP Report報文,便把該端口從表中刪除。

圖7 IGMP Snooping工作過程

IGMP是TCP/IP協議族中負責IP組播成員管理的協議,用來在IP主機和與其直接相鄰的組播路由器之間建立、維護組播組成員關系[4-5];IGMP的TTL參數永遠是1,保證了IGMP的使用范圍;因此,IGMP消息不能被路由器轉發,只能限制在本地網段內部。在網關的固件升級場景中,待接收固件升級的組播數據網關與服務器在同一個子網內,不涉及路由選擇,無需考慮組播路由的相關協議。

目前,IGMP的版本有V1/V2/V3三種。如表2所示,需要在網關上開啟一個組播流接收進程,支持V1/V2/V3版本通用報文的處理;同時,服務器端也需要支持組播服務器端的IGMP報文處理。網關上的組播接收進程用來接收、校驗收到的IGMP報文和組播數據,并將組播數據組裝成固件升級文件供固件升級進程處理。

表2 IGMP報文分類

在網關固件升級場景中,如果同一組網環境下,同一時間段內僅通過服務器對同一批網關進行同一固件版本的升級服務,則可以無需考慮在服務器端實現通用查詢報文的相關功能。但通常情況下,組網環境中的交換機需要開啟IGMP Snooping功能。如圖6所示,在開啟IGMP Snooping之后,交換機的MPU在收到網關的成員關系報文時,不會將報文轉發到其他端口。其他端口下的網關由于無法收到本網段內此網關發出的成員關系報文,將不會自己產生消息報告抑制現象。這樣,交換機能夠學習到包含所有網關的完整組播MAC地址轉發表。但由于交換機的IGMP Snooping抑制了消息報告,成員關系報文將無法發送到服務器。這樣,服務器也將無法將用于固件升級的組播數據發送到相應的組播組子網內,實現組播升級功能。為此,可以在交換機上,將本設備上的所有路由器端口都記錄在路由器端口列表中,并給這些路由器端口設置老化定時器。如果路由器端口老化定時器超時后,還沒有收到IGMP通用查詢報文,交換機就認為這個端口不再是一個路由器端口;因此,為保證連接服務器的交換機端口為路由器端口,需要保留服務器發送通用查詢報文的功能。這樣,交換機上與組播服務器連接的端口是路由器端口,可以轉發網關的成員關系報文,不影響正常的網關加入組播升級服務過程。

3 IGMP狀態機的修改與實現

在網關的固件升級場景中,服務器和網關間組成一個鄰接網絡,需要在服務器端實現組播源的UDP格式組播數據流播送功能及組播路由器的IGMP功能;在網關上實現組播主機的IGMP功能及組播數據與固件程序的接口功能。

服務器端只需維護一個鄰接物理網絡的組播組成員(網關)的列表和一個針對每個網關的定時器[6]。其IGMP功能是使用IGMP來了解它的物理網絡上的組播升級組擁有哪些網關。當服務器接收到了來自網關的成員關系報文,它就會把該網關的成員報告加入到一個組播組成員列表中,并且會為其成員關系設一個值為組成員生存周期的定時器,并通知組播源模塊開始播送UDP格式的組播數據流。其它網關的重復報告會刷新該組播成員關系定時器,該服務器會依據組播成員關系定時器,周期性地在這個鄰接網絡上發出通用查詢報文,請求得到網關的成員關系信息。

如圖8所示,網關端需要實現組播主機的IGMP功能。當網關通過發送成員關系報文,加入到一個組播組(地址是224.8.8.8)后,它就能夠接收服務器發送過來的組播升級UDP數據包。由UDP協議棧保證收到的每個組播升級包的數據有效性,由組播數據與固件程序的接口功能保證整個升級數據的完整性。當升級數據驗證完整性后,其IGMP功能模塊發送離開報文,網關退出固件組播升級模式。當固件升級完成后,網關通過點亮相關LED燈,指示升級人員為此臺網關完成相應的升級任務。

圖8 固件服務器端功能模塊

如圖9所示,按RFC2236定義說明[7-9],通常情況下組播主機的IGMP處理流程包含以下三個狀態,即“無成員”狀態、“滯留成員”狀態和“空閑成員”狀態。當一個組播主機(網關)加入了一個組播組,會立即發送針對此組播組的一個成員關系報文;當一個主機(網關)正常退出一個組播組時,它會發送一條離開報文給所有組播路由器組播組(地址為224.0.0.2);當一個主機(網關)接收到了通用查詢報文或者特定組的查詢(Group-Specific Query)報文后[7-8],該主機刷新查詢應答定時器,并在查詢報文中所設定的最大響應時間(Max Response Time)內發送一個成員關系報文到該組播組中,其IP中TTL的值為1。組播服務器接收到成員關系報文后,將繼續維護該升級組播組的成員關系。

本方案如圖10所示,將RFC2236定義的組播主機狀態機進行了簡化,應用到網關端的IGMP處理流程中。網關的狀態機由“無成員”狀態和“有成員”狀態兩個狀態組成。網關端具體的IGMP行為由圖10所示的IGMP報文狀態機定義。網關上,通過實現Query Timer和Report Timer這兩個定時器及其超時處理,來維護其與服務器的IGMP協議通信。Report Timer定時器用來實現網關在組播組內作為組播成員加入和離開場景的功能;Query Timer定時器用來應答組播服務器的查詢報文,并在查詢報文的Max Response Time內應答一個成員關系報文,讓組播服務器維持組播升級組播組關系。

圖9 組播主機的IGMP狀態機

圖10 網關的IGMP狀態機

4 組播升級場景配置及測試驗證

綜上所述,網關和服務器間的組網關系非常簡單,僅通過二層交換機連接待升級的網關和服務器即可。以Dlink的二層交換機為例,組網結構如圖11所示。

圖11 組網結構圖

4.1 組播升級場景配置

網關組播升級場景,需要在此交換機上進行下列配置。1)創建VLAN;2)添加端口到VLAN;3)創建VLAN接口IP地址;4)IGMP Snooping使能。

Dlink交換機的參考配置如下。1)刪除默認VLAN default包含的端口1-28,config vlan default delete 1-28。2)創建VLAN名為vlan10,并標記VID為10,create vlan v10 tag 10。3)把端口1-26添加到VLAN10,config vlan v10 add untagged 1-26。4)創建虛擬的接口if10給VLAN10的VLAN子網,并且指定該接口的IP為192.168.1.254/24,創建后enable激活該接口,create ipif if10 192.168.1.254/24 v10 state enable。5)配置IGMP Snooping,config igmp all version 2 state enable//配置IGMP版本為2,enable igmp_snooping,config igmp_snooping all state enable。

4.2 測試驗證

服務器端需要開啟固件升級軟件,并進行如下配置操作。

1)選擇服務器網卡。如果組播服務器是多網卡,那么需要選擇跟網關是同一個網段的網卡,如圖12示例選取192.168.1.2網段的網卡,設置組播組IP地址為224.8.8.8。2)選擇需要升級的版本,如圖13所示。3)組播升級,如圖14所示。4)家庭網關端組播升級結果判斷,如表3所示[10-11]。5)整個組播固件升級完成,停止組播升級,按“Stop”按鈕。

本方案在江蘇省移動運營商的網關固件升級場景下進行驗證,升級效率參考圖15所示。測試場景的硬件設備,由1 200臺待升級網關,1臺2層交換機和1臺PC機組成。按通常人工升級方式,需要兩名操作人員,至少3天,且每天連續工作10小時以上才能夠完成這些網關設備的固件升級工作;采用組播升級方式,兩名操作人員僅需要7小時就完成任務。而且采用組播升級方式,可保證在網關固件升級過程中,不會人為引入固件升級誤操作。

圖12 固件升級軟件配置界面

圖13 選擇需要固件升級的軟件版本

圖14 固件升級過程

表3 網關升級過程LED指示燈定義表

圖15 網關固件升級效率提升分析圖

目前,運營商的網關設備固件升級主要借助2種方式,即EMS/ITMS遠程升級和人工升級。如表4所示,組播升級方式為運營商在無網管網絡環境或者網管網絡暫時不具備的情況下,進行網關固件升級場景提供了更有效的技術手段。由表4可知,組播升級網關固件方式最適合小批量網關待升級,且無法滿足網關固件升級的網元組網條件的場景。

表4 網關升級場景分析

5 總結與展望

組播技術涵蓋了地址方案、成員管理、路由和安全等各個方面,其中組播地址的分配方式、域間組播路由以及組播安全等仍是目前研究的熱點。從目前的情況看,組成員管理普遍采用IGMP v2版本。本文僅嘗試了組播技術成員管理在局域網組網條件下的技術修改和功能實現,后續可以結合FTTx和光纖通信技術,探索組播技術中相關域間組播路由技術方向,嘗試提出更多、更有效的運營商遠程管理海量網關設備的方式和方法,為提升運營商的運維管理應用體驗,做更多有益的嘗試。

參考文獻

[1]中國電信.中國電信家庭網關與終端綜合管理系統接口技術要求[S].2012,9:6-9

[2] 尹海春.二層交換機上IGMP Snooping協議的實現研究[D].電子科技大學,2004:1-13

[3] 何英,陸正福,方剛.二層交換機中IGMP/MLD探聽機制的原理分析[J].云南民族大學學報:自然科學版,2005(1):78-82

[4]RFC 4286,Multicast Router Discovery[S].2005:1-18

[5] 柏勇,何春,王賞.基于IP組播的MPLS組播架構[J].通信技術,2010(10):62-64

[6] 梅瑜華,甘朝欽,馬雪嬌.EPON系統中IGMP的優化實現[J].光通信技術.2013(2):15-17

[7]RFC 2236,Internet Group Management Protocol, Version 2[S].1997:1-16

[8]RFC 3376,Internet Group Management Protocol, Version 3[S].2002:1-53

[9]RFC 1112,Host Extensions for IP Multicasting[S].1989:1-17

[10]中國電信.中國電信“我的e家”技術規范-e家終端(e8)[S].2009:46

[11]中國電信.中國電信“我的e家”技術規范-e家終端與終端綜合管理系統接口[S].2009:6-9

猜你喜歡
固件網關交換機
更換匯聚交換機遇到的問題
基于地鐵交換機電源設計思考
信號系統網關設備的優化
基于SHA1的SCADA系統PLC固件完整性驗證方法
締造工業級的強悍——評測三旺通信IPS7110-2GC-8PoE工業交換機
基于固件的遠程身份認證
LTE Small Cell網關及虛擬網關技術研究
英特爾發布免費固件引擎
應對氣候變化需要打通“網關”
提取ROM固件中的APP
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合