摘 要: 針對廣電運營商為實現三網融合業(yè)務提出的電纜數據業(yè)務接口規(guī)范(C?DOCSIS),其系統頭端分類轉發(fā)模塊的交換芯片規(guī)則條目有限的問題,通過介紹交換芯片的二層業(yè)務流的分類轉發(fā)和過濾器處理的原理,提出了基于交換芯片上過濾處理器分層過濾的方法,能夠滿足更多用戶數目,節(jié)約成本的分類轉發(fā)器的設計方法,最后通過實驗測試證明了這種方法的可行性和穩(wěn)定性。
關鍵詞: C?DOCSIS; 分類轉發(fā); 分層過濾; 業(yè)務流
中圖分類號: TN915.05?34 文獻標識碼: A 文章編號: 1004?373X(2015)03?0075?04
Implementation of classification forwarder of service
flow in C?DOCSIS system′s head?end
MA Yuan?xue, HUANG Ting?xi
(Wuhan Fiberhome Network Limited Liability Company, Wuhan Research Institute of Posts and Telecommunications, Wuhan 430074, China)
Abstract: According to the C?DOCSIS which is proposed by broadcast television network operators to realize the fusion of three networks, in allusion to the limit of rules of exchanging chip in the classification retransmission module at the system’s front?end, the principle of classification retransmission and filtration processing of exchanging chip’s two?layer service flow is introduced, and a method based on the hierarchical filtering of filtration processor on the exchanging chip is proposed, which can satisfy more users and reduce cost. The experiment testing results proved the feasibility and stability of this means.
Keywords: C?DOCSIS; classification retransmission; hierarchy filtering; service flow
0 引 言
隨著信息時代的到來,網絡在人們的生活中顯得越來越重要。廣電雙向改造NGB(下一代廣播電視網)建設、三網融合和寬帶接入技術驅動著新一代網絡技術發(fā)展,創(chuàng)新性地提出了C?DOCSIS技術。在此將C?DOCSIS系統頭端中靠近HFC(混合光纖同軸電纜網)網絡的光節(jié)點處的設備定義為CMC。本文介紹的CMC集成了系統控制模塊、包分類轉發(fā)模塊和射頻接口模塊。
在C?DOCSIS系統中,上、下行靜態(tài)業(yè)務流的創(chuàng)建都是在配置文件中定義的[1], CM(電纜調制解調器)在上線過程中會把配置文件從服務器下載并解析,然后發(fā)送注冊請求消息給CMC。CMC會將業(yè)務流、QOS參數信息以及分類器規(guī)則轉發(fā)給主控CPU,主控CPU會在交換芯片上完成分類轉發(fā)功能。對于交換芯片來說,二層轉發(fā)是一個最基本的功能,其中業(yè)務流的分類是通過CAP(內容過濾)實現。CAP包含VCAP(VLAN內容過濾處理),ICAP(入口過濾處理),ECAP(出口過濾處理)三種過濾查詢,由一些硬件表項存儲規(guī)則,硬件表由若干片組成,雖然過濾的規(guī)則數很多,但是過濾規(guī)則資源申請和釋放是按照片為單位來進行的,并且片的數目一般都不是很多。所以考慮到芯片的硬件成本和支持的規(guī)則條目的限制,C?DOCSIS系統又是一對多的系統架構,本文提出了一種基于終端MAC地址的業(yè)務流分類轉發(fā)器的實現方法。
1 交換芯片的二層流的分類轉發(fā)原理
一般數據包進入交換芯片之后[2],首先進行包頭字段匹配,為流分類做準備;然后經過一個安全引擎進行包過濾;符合安全的包進行二層交換或者三層路由,并經過流分類處理器對匹配的包做相關動作(比如丟棄、限速、修改VLAN等);對于可以轉發(fā)的包根據IEEE 802.1P或DSCP(區(qū)分業(yè)務服務)放到不同COS(業(yè)務分類)隊列的緩存中,調度器會根據優(yōu)先級或者WRR(加權平均輪詢)等算法進行隊列調度,在端口發(fā)出該包之前執(zhí)行流分類修改動作,最終從相應端口發(fā)送出去。具體轉發(fā)流程如交換芯片的流分類是通過CAP實現的[3]。CAP本質來說是一組相互之間有關聯的表,一起通過查找、匹配等來決定對報文施加的動作,具有很強的處理能力。流分類分為智能協議識別選擇器、查找引擎、策略引擎、限速和統計、執(zhí)行動作引擎5個階段。用戶可以根據包的前128 B設置KEY(關鍵字),每個KEY由若干字段組成對應一個執(zhí)行策略。按照執(zhí)行動作的優(yōu)先級執(zhí)行策略依次為丟包、替換、重定向、阻塞和復制到CPU。
2 CMC上分類轉發(fā)器的實現方法
2.1 系統介紹
在C?DOCSIS系統中,運營商通過配置文件或通過呼叫管理系統直接或間接地配置分類器,分類器是一組通過報文的TCP,UDP,IP,LLC或IEEE 802.1P/Q字段進行匹配的規(guī)則集合,每個分類器都通過SFR(業(yè)務流參考)字段來對應一條業(yè)務流。CMC使用下行分類器將報文歸類到一條業(yè)務流;CM使用上行分類器將報文歸類到一條上行業(yè)務流[4]。這就保證了一個服務流將只包含所需業(yè)務的數據幀。如圖2所示為一個C?DOCSIS系統簡圖,CMC的射頻接口模塊會在每個來自CM的數據包加上CDT(C?DOCSIS數據格式)格式的VLAN標簽,來標識承載改數據包的業(yè)務流。同一個CM,無論數據流向,CMC的控制模塊會在業(yè)務流創(chuàng)建或激活時,分配同一個VID,不同的COS決定不同的業(yè)務流,每一個VID+COS代表了一個指定方向的惟一的業(yè)務流。CMC頭端要完成上行業(yè)務流到VLAN ID的映射,優(yōu)先級到匯聚網支持的IEEE 802.1優(yōu)先級的映射,因為上行業(yè)務流的COS字段和IEEE 802.1優(yōu)先級字段都是三個bit位,可以直接映射。對于下行方向業(yè)務流,需要剝離業(yè)務VLAN,根據包分類規(guī)則對單播包頭打上對應的CDT,完成QOS調度。
2.2 基于業(yè)務流分類轉發(fā)器的實現
在上行方向的分類和流量整形由CM完成,因此只需要實現上行業(yè)務流的[N][∶]1的VLAN替換就可以滿足需求。由圖1業(yè)務流的轉發(fā)流程,可以知道對于流入的數據包,首先進行數據包標簽的檢查,可以根據VCAP、VLAN_XLATE table、PORT_BASED table分配或修改VLANID,這樣提高了客戶應用的靈活性。如圖3所示,上行方向我們通過VLAN_XLATE、EGR_VLAN_XLATE、SOURCE_VP/DVP規(guī)則,VLAN_XLATE表項支持8K資源條目,可以滿足上下行業(yè)務流的映射。將相同COS值不同VLANID替換為相同的VLANID,上行的數據包都帶有CDT標簽,對交換芯片來講,一個標簽就代表一種用戶業(yè)務。因此,交換芯片會根據上行數據包帶的CDT不同,分配不同的SVP(源虛擬端口),通過建立VLAN_XLATE表項,VLAN_XLTATE表項根據不同的SVP,將C?VLANID替換為S?VLANID。設置端口到端口的配置位VXLT_ENABLE=1使能VLAN翻譯,配置VLAN_XLATE表項的KEY類型(PORT.VT_KEY_TYPE=IVID、PORT.VT_KEY_ TYPE_USE_GLP=0),設置查詢KEY為{SVP,C?VID},這個KEY是用來查詢VLAN_XLATE表項的。若是在翻譯表項里匹配,S?VID和TAG動作可以從VLAN_XLATE表項中獲得,設置SIT_OTAG_ACTION是添加和刪除,C?VID會被S?VID替換。S?VID作為學習和轉發(fā)的VLANID,數據包會通過二三層數據包的轉發(fā)處理,這樣就實現了上行[N][∶]1的VLAN轉換。
下行方向,可以與上行方向進行相反的操作,通過建立EGR_VLAN_XLATE表項,查詢的KEY為{DMAC,DVP},將S?VLANID還原為對應的不同C?VLANID,實現1[∶][N]的VLAN映射。這樣雖然不受規(guī)則條目的限制,但沒有依據配置文件定義的分類器信息,對數據包進行分類,沒有完全實現分類轉發(fā)器的功能。因此既可以在交換芯片上實現分類轉發(fā)功能,又要考慮規(guī)則條目有限的問題,上行方向的業(yè)務流的處理方法和上面提到的一樣,主要解決下行方向業(yè)務流的分類轉發(fā)問題。
根據前面介紹的CAP的原理[5],可知CAP是交換芯片里最靈活的分類處理器,它包含VCAP(VLAN內容過濾處理),ICAP(入口過濾處理),ECAP(出口過濾處理)三種過濾查詢,用于支持ACL(接入控制列表),DSCP(差分服務代碼點)和QOS(服務質量)功能。CMC在CM上線時,把CM的MAC地址填充進DHCP請求Option82字段,這樣就可以學習到CM的MAC地址,并解析TLV文件里的業(yè)務流信息、分類器參數和QOS參數等,這些參數都是存儲在全局配置的結構體里的。如圖3所示的處理流程,根據交換芯片的執(zhí)行邏輯先利用VFP規(guī)則,VFP表項支持1K的條目,分配分類號用于IFP的規(guī)則壓縮,匹配的KEY是CM或CPE的MAC,相同MAC的數據包分配一個VLAN 分類號,然后經過二層學習轉發(fā),再利用IFP分類規(guī)則,IFP表項支持2K條目,在交換芯片上使能EGR_CONFIG_1.ENABLE_VT_IF_IFP_ CHANGE_VLAN,匹配KEY是配置文件里的每個分類號對應的分類器信息,設置對應的COS值,按照IEEE 802.1p的包格式將{SVLAN ID+PRIORITY}修改為{CVLAN ID+COS},完成數據包的分類,策略動作為將修改后的數據包重定向到用戶端口。數據包在出交換芯片時以太網幀的頭部插入了相應的CDT標簽,標識該數據包傳送時用到的業(yè)務流,完成下行數據包的分類,具體如下:
假設配置文件分類器定義為源IP地址為10.15.10.x的下行數據包屬于語音服務流;源IP地址為61.35.120.x且UDP源端口號為5100的下行數據包屬于視頻點播服務流;目的端口號800的下行數據包屬于信令業(yè)務流;對于沒有設置分類器的數據業(yè)務,會走默認的分類器,交換芯片的實現:
首先將軟件傳下來的變量pFilterEntry的值賦給當前所操作的變量oGeneralFiterAcl,當iOperation的值為1或者3時,分別進行像匹配的條目的增加或刪除工作,根據iFilterDirection的值(2,0,1)的分別對VFP、IFP、EFP三個階段的端口的字段過濾模式進行判斷;接著設置CAP,調用函數UspBcmCAPConfig(),根據條目是否存在,選擇新建模塊或創(chuàng)建條目,若是創(chuàng)建不成功,則銷毀條目,UspBcmCAPActionHandler()函數,分別對VFP、IFP、EFP階段中,對行為字段action進行設置,確定對包的處理行為。如果以上都成功,最后利用Bcm_field_ entry_install()函數將新條目安裝到硬件表項中;如果安裝成功,將條目id值賦給當前CAP配置的條目id。
3 系統測試
3.1 測試步驟
如圖5所示搭建測試環(huán)境,分路器1[∶]96,下掛96臺CM終端,用TEST CENTER測試系統上下行吞吐率,系統工作正常;儀表向獲取配置文件1,基于TCP/UDP端口號為1234限速10 Mb/s, 配置文件2源IP=1.1.1.1,優(yōu)先級7的CM發(fā)送滿足匹配規(guī)則和不滿足條件的流,檢驗分類器是否生效;向所有CM發(fā)送64~1 518 B的數據流1 000 s,測試吞吐量;測試速率設為64~1 518 B上下吞吐量的90%,所有CM發(fā)送64~1 518 B的數據流,測試時間4 min,并記錄時延和丟包率的數據。
3.2 測試結果與分析
測試結果:TCP=1 234的數據流速率被限制為10 Mb/s,TCP=1 000的流速率為50 Mb/s,IP=1.1.1.1的流速率為40 Mb/s,沒有分類規(guī)則的流速率只有10 Mb/s。測試結果和預期結果一致,證明了分類功能已實現?;谠摲椒ǖ南到y性能統計如表1所示。
由表1可以得出,基于CM在交換芯片上實現的業(yè)務流的分類轉發(fā)的方法,所有終端均能正常上線,并且吞吐量符合業(yè)務要求,并且無丟包。隨著測試幀長的增加,系統時延稍有增加,這是正常的,但是都沒有超過標準規(guī)定的最大時延,并且下行時延基本維持在1.2 ms以內,證明了系統處理速度也較快。
4 結 語
C?DOCSIS系統提供基于每個業(yè)務流的服務質量保障,在有區(qū)別地處理流量之前,首先需要對其進行分類,以保證特定的數據包得到特定服務。本文基于CMC設備內置分類轉發(fā)模塊的方案,CDT作為CMC設備的內部通信協議,實現DOCSIS業(yè)務流到業(yè)務VLAN的映射。本方法利用較低成本的交換芯片,基于分層過濾機制,將軟件表項轉換為硬件表項存儲到芯片上,當流量通過時,芯片會按照規(guī)則硬件表來過濾報文,且該方法是基于終端在CMC設備上完全實現業(yè)務流的分類轉發(fā)功能,通過實驗證明這種方法是可行的,且節(jié)約了成本。
表1 性能統計
參考文獻
[1] 國家廣播電影電視總局.GY/T 266?2012 NGB寬帶接入系統C?DOCSIS技術規(guī)范[S].北京:國家廣播電影電視總局,2012.
[2]董育寧,王再見,房曙光.多媒體通信業(yè)務流識別與分類方法綜述[J].南京郵電大學學報,2013,33(3):41?43.
[3] Broadcom Corporation. BCM56134 data sheet [EB/OL]. [2014?06?01]. http://www.broadcom. com.
[4] 曾海清,段和華.DOCSIS協議中的業(yè)務流管理[J].光通信技術,2003(10):53?56.
[5] 馬濤,盧軍,張成.基于Content Aware 的負載均衡實現機制[J].無線通信技術,2013(6):59?61.
[6] ETSI. ETSI EN 302 878?4 V1.1.1 [EB/OL]. [2013?03?22]. http:// www.docin.com.
[7] ITU. ITU?T J112 data?over?cable service interface specifications [S]. [S.l.]: ITU, 2013.