国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種針對SSM的二層轉(zhuǎn)發(fā)方法

2011-09-26 02:00許生旺曹彥軍
無線電工程 2011年1期
關(guān)鍵詞:表項字段路由器

王 宇,許生旺,曹彥軍,姚 君

(1.北京跟蹤與通信技術(shù)研究所,北京100094;2.中國電子科技集團公司第五十四研究所,河北石家莊050081)

0 引言

傳統(tǒng)以太網(wǎng)交換機接收到組播數(shù)據(jù)后直接進行廣播處理。在任意源組播模型中,用戶加入組播組去接收所有發(fā)往該組的數(shù)據(jù),互聯(lián)網(wǎng)組管理協(xié)議(Internet Group Management Protocol,IGMP)偵聽和CGMP協(xié)議能有效地解決該模型的二層數(shù)據(jù)擴散問題,用組MAC地址作為標(biāo)識,通過一定的手段,在交換機內(nèi)容訪問存儲器(Content Access Memory,CAM)中相關(guān)的組播表項上增加或刪除主機所在端口號,據(jù)此完成組播數(shù)據(jù)的轉(zhuǎn)發(fā)。

不同于任意源組播模型,SSM模型為訂閱用戶提供一種能夠在客戶端指定信源的傳輸服務(wù),用戶可以指定接收部分而非所有源發(fā)往某組播組的數(shù)據(jù),交換機需要同時使用組播源和組播組地址信息才能將SSM數(shù)據(jù)轉(zhuǎn)發(fā)至正確的訂閱用戶。而IGMP偵聽和CGMP協(xié)議都是僅使用組MAC地址信息來進行組播數(shù)據(jù)的二層轉(zhuǎn)發(fā),故不適用于SSM模型。因特網(wǎng)工程任務(wù)組提出可以使用三層信息來進行SSM數(shù)據(jù)的二層轉(zhuǎn)發(fā),但這對交換機的性能有很高的要求,無法在一般交換機上實現(xiàn)。

1 SSM模型的以太網(wǎng)交換問題

SSM數(shù)據(jù)在以太網(wǎng)交換機內(nèi)無法被精確地轉(zhuǎn)發(fā)到訂閱用戶,主要是由于存在以下問題。

1.1 缺少SSM數(shù)據(jù)標(biāo)識

在單播、廣播和任意源組播模型中,數(shù)據(jù)的接收者由數(shù)據(jù)包的目的地址確定,以太網(wǎng)交換機在進行這些數(shù)據(jù)的轉(zhuǎn)發(fā)時根據(jù)其目的MAC地址查找CAM表項來獲取接收端口信息。在SSM模型中,數(shù)據(jù)的接收者由組播源地址和組播組地址共同確定,交換機無法利用CAM表項來完成數(shù)據(jù)轉(zhuǎn)發(fā),而有必要對SSM數(shù)據(jù)采取區(qū)別于其他數(shù)據(jù)的處理方式,這要求交換機能夠從進入的數(shù)據(jù)中識別出SSM數(shù)據(jù)。而在以太網(wǎng)幀中,同一組播MAC地址對應(yīng)32個組播組,其中既有任意源組,又有指定源組,交換機無法依據(jù)二層信息對二者進行區(qū)分,這就需要組播路由器在對發(fā)送給交換機的SSM數(shù)據(jù)進行二層封裝時加入SSM數(shù)據(jù)標(biāo)識。

1.2 缺少SSM源標(biāo)識

經(jīng)組播路由器轉(zhuǎn)發(fā)給交換機的數(shù)據(jù),其源MAC地址會被替換成與交換機相連的路由器端口的MAC地址,即會丟失二層信息中的數(shù)據(jù)源地址信息,而SSM數(shù)據(jù)的二層轉(zhuǎn)發(fā)需要用到組播源地址信息,這就需要組播路由器在發(fā)往交換機的SSM數(shù)據(jù)的二層信息中加入組播源標(biāo)識。

1.3 缺少SSM數(shù)據(jù)轉(zhuǎn)發(fā)表

在交換機上實現(xiàn)SSM數(shù)據(jù)的二層轉(zhuǎn)發(fā)關(guān)鍵是要建立SSM轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)表中需要包含組播數(shù)據(jù)的源標(biāo)識信息,而該標(biāo)識信息是由組播路由器添加的,這就需要組播路由器和交換機配合完成SSM轉(zhuǎn)發(fā)表的建立。

2 SSM數(shù)據(jù)標(biāo)識及源標(biāo)識的加入

傳統(tǒng)以太網(wǎng)幀結(jié)構(gòu)中有源、目的MAC地址、協(xié)議類型、數(shù)據(jù)以及校驗和字段,IEEE 802.1Q標(biāo)準(zhǔn)對以太網(wǎng)幀格式進行了修改,在源MAC地址字段和協(xié)議類型字段之間加入4字節(jié)的802.1Q標(biāo)簽(Tag),包含4個字段,其含義如下:

Type:16比特,取值0x8100時表示802.1Q Tag幀;

PRI:3比特,表示幀的優(yōu)先級,取值范圍為0~7,值越大優(yōu)先級越高;

CFI:1比特,取值為0表示以太網(wǎng)格式,取值為1表示非以太網(wǎng)格式;

VID:12比特,表示該幀所屬的VLAN號。

SSM數(shù)據(jù)標(biāo)識及源標(biāo)識的加入可以通過擴展802.1Q Tag幀格式來實現(xiàn),采用擴展的幀格式對SSM數(shù)據(jù)進行封裝,其中 Tag中 Type字段取值0x8200,區(qū)別于其他數(shù)據(jù)幀的0x8100,用作SSM數(shù)據(jù)幀的標(biāo)識,在VID字段后加入2字節(jié)的組播組源標(biāo)識(Group Source ID,GSID)字段來完成組播幀中源標(biāo)識的加入,該字段為16比特,可標(biāo)識65 536個不同組播源。非SSM數(shù)據(jù)幀的封裝格式不變。

3 SSM轉(zhuǎn)發(fā)表的建立

SSM數(shù)據(jù)轉(zhuǎn)發(fā)表的建立需要用到組播路由器提供的SSM源標(biāo)識信息,因此建立SSM數(shù)據(jù)轉(zhuǎn)發(fā)表的協(xié)議應(yīng)該由組播路由器和以太網(wǎng)交換機來共同參與。在CGMP協(xié)議中,組播轉(zhuǎn)發(fā)表的建立是通過路由器直接發(fā)送命令到交換機來完成的,根據(jù)這一特點,SSM轉(zhuǎn)發(fā)表的建立可以通過對CGMP協(xié)議進行擴展來實現(xiàn)。

3.1 CGMP協(xié)議的擴展

對CGMP協(xié)議的擴展主要是增加與SSM模型相關(guān)的命令報文。CGMP命令報文中有16比特的Reserved字段為保留字段,協(xié)議擴展時可以將該字段用作GSID字段,不需更改報文格式,增加的命令報文如表1所示。

表1 擴展CGMP協(xié)議新增報文

與原有CGMP報文相比,新增報文采用不同的類型值(原有消息的類型值為0和1),Reserved字段填入組播源標(biāo)識GSID,由于該字段只能填入一個組播源的標(biāo)識,故在擴展CGMP協(xié)議中,Count字段取為定值1,表明路由器每次只發(fā)送一個主機的SSM加入或離開命令。其他字段的含義不變。

3.2 組播路由器對擴展CGMP協(xié)議的處理

組播路由器內(nèi)維護一張SSM源標(biāo)識表,表項內(nèi)容為<組播組 IP地址,組播源IP地址,組播源標(biāo)識>。組播路由器收到用戶發(fā)送的IGMP加入報告后,先根據(jù)組播組IP地址和組播源IP地址查找上述三元表,如果沒找到對應(yīng)表項,則根據(jù)組播組IP地址和組播源IP地址生成組播源標(biāo)識,并創(chuàng)建這個表項。組播源標(biāo)識的生成滿足2個條件:①組播源標(biāo)識是一個位于0~65 535之間的16比特的數(shù);②同一組播組對應(yīng)的不同組播源的標(biāo)識不能相同。組播路由器在發(fā)現(xiàn)/創(chuàng)建表項之后,根據(jù)表項內(nèi)容生成CGMP SSM成員加入報文發(fā)送給交換機。

組播路由器收到用戶發(fā)送的IGMP離開報告后,查找SSM源標(biāo)識表,根據(jù)表項內(nèi)容生成相應(yīng)的CGMP SSM成員離開報文發(fā)送給交換機,同時進行正常的IGMP查詢。如果所有接收用戶都離開了該指定源組,組播路由器從組播轉(zhuǎn)發(fā)表中刪除該指定源組,同時也從SSM源標(biāo)識表中刪除相應(yīng)的表項。

3.3 交換機內(nèi)SSM轉(zhuǎn)發(fā)表的建立

要完成SSM數(shù)據(jù)的轉(zhuǎn)發(fā),交換機內(nèi)部需要建立一張SSM轉(zhuǎn)發(fā)表,表項內(nèi)容為<組MAC地址(GMAC),GSID,輸出端口集(OPORTS)>,表項中的每個輸出端口對應(yīng)一個超時定時器,一旦定時器超時,交換機自動刪除該端口。為了完成SSM轉(zhuǎn)發(fā)表的建立和維護,交換機內(nèi)部還需要維護一張SSM成員關(guān)系表<GMAC,GSID,交換機端口號(PORT),主機MAC地址集(HMACS)>,表項中的每個主機MAC地址對應(yīng)一個超時定時器,定時器超時,則從HMACS中刪除該主機。

交換機收到CGMP SSM成員加入報文后,處理流程如圖1所示。

圖1 交換機對CGMP SSM成員加入報文處理流程

該處理流程具體步驟如下:

①搜索CAM表,查找與加入報文中USA字段相匹配的項獲取主機所在端口號PORT;

②搜索SSM成員關(guān)系表查找與GMAC、GSID和PORT相對應(yīng)的表項;

③如果沒有找到表項,交換機創(chuàng)建這個項,并將主機MAC復(fù)制到HMACS,啟動其定時器,同時修改相應(yīng)SSM轉(zhuǎn)發(fā)表,并啟動端口對應(yīng)的定時器;

④如果找到成員關(guān)系表項,但HMACS中沒有加入報文中的主機MAC,則將其復(fù)制到HMACS中,啟動定時器,并更新相應(yīng)轉(zhuǎn)發(fā)表項中輸出端口的計時器;

⑤如果HMACS中存在該主機MAC,則更新該成員關(guān)系表項計時器,并更新相應(yīng)轉(zhuǎn)發(fā)表項的計時器。

上述步驟③中對SSM轉(zhuǎn)發(fā)表的修改,具體操作為:搜索SSM 轉(zhuǎn)發(fā)表,查找GMAC、GSID對應(yīng)的表項,如果不存在該表項,則創(chuàng)建這個表項,然后將組播成員關(guān)系表中的端口號復(fù)制到先前發(fā)現(xiàn)或創(chuàng)建的轉(zhuǎn)發(fā)表項的OPORTS中。步驟④和步驟⑤中輸出端口計時器的更新操作為:搜索SSM轉(zhuǎn)發(fā)表,查找GMAC、GSID對應(yīng)的表項,然后在表項的OPORTS中查找對應(yīng)的輸出端口,更新其計時器。

交換機收到CGMP SSM成員離開報文后,處理流程如圖2所示。

圖2 交換機對CGMP SSM成員離開報文處理流程

圖2所示的處理流程中具體步驟如下:

①搜索CAM表,查找與加入消息中USA字段相匹配的項獲取主機所在端口號PORT;

②搜索SSM成員關(guān)系表查找與GMAC、GSID、PORT相對應(yīng)的表項;

③從表項中的HMACS中刪除該主機MAC;

④如果該表項中沒有其他主機,刪除該表項,并修改SSM轉(zhuǎn)發(fā)表的相應(yīng)表項,否則不進行其他操作。

步驟④中對SSM轉(zhuǎn)發(fā)表項修改具體操作為:搜索SSM 轉(zhuǎn)發(fā)表,查找GMAC、GSID對應(yīng)的表項,從OPORTS集中刪除成員關(guān)系表項中的PORT,如果OPORTS中沒有其他PORT,刪除該轉(zhuǎn)發(fā)表項。

4 SSM數(shù)據(jù)的轉(zhuǎn)發(fā)

SSM數(shù)據(jù)的轉(zhuǎn)發(fā)包括在組播路由器內(nèi)的轉(zhuǎn)發(fā)和在以太網(wǎng)交換機內(nèi)的轉(zhuǎn)發(fā)2個部分。

4.1 組播路由器對SSM數(shù)據(jù)的轉(zhuǎn)發(fā)

組播路由器收到SSM數(shù)據(jù)后,首先查找組播轉(zhuǎn)發(fā)表,如果存在本地接收者,則根據(jù)組播組IP地址和組播源IP地址查找SSM源標(biāo)識表,獲取組播源標(biāo)識。組播路由器在進行SSM數(shù)據(jù)組幀時采用擴展802.1Q幀格式,在GSID字段中填入組播源標(biāo)識,并設(shè)置Tag中的Type值為0x8200,然后將該數(shù)據(jù)幀從輸出端口發(fā)送至交換機。

4.2 交換機對SSM數(shù)據(jù)的轉(zhuǎn)發(fā)

在以太網(wǎng)交換機內(nèi),SSM數(shù)據(jù)的轉(zhuǎn)發(fā)需要用到GSID信息,來自路由端口的SSM數(shù)據(jù)中才擁有該標(biāo)識,交換機需要從路由端口發(fā)送的組播數(shù)據(jù)中識別出SSM數(shù)據(jù)并根據(jù)SSM轉(zhuǎn)發(fā)表進行轉(zhuǎn)發(fā)。具體處理流程為:首先判斷數(shù)據(jù)是否來自路由端口,對于非路由端口進入的數(shù)據(jù),查找CAM表項進行正常轉(zhuǎn)發(fā);對于路由端口進入的數(shù)據(jù),如果其目的MAC地址前綴為0x01005E且Tag中的Type字段為0x8200則表明是SSM數(shù)據(jù),交換機按照SSM轉(zhuǎn)發(fā)表對其進行轉(zhuǎn)發(fā),否則交換機查找CAM表項進行正常數(shù)據(jù)轉(zhuǎn)發(fā)。

5 可行性驗證

方法可行性驗證采用OPNET Modeler 14.5軟件,該版本沒有開發(fā)針對SSM模型的組播進程,仿真時首先根據(jù) RFC3367和 RFC4607進行組播進程建模,然后依據(jù)所提方法建立了擴展CGMP的進程模型。

仿真網(wǎng)絡(luò)環(huán)境如圖3所示,其中R1、R2為組播路由器,S1、S2為二層交換機,H1、H2、H3和 H4為4臺主機。

圖3 可行性驗證網(wǎng)絡(luò)拓撲

各主機的配置如表2所示。主機H3申請接收H1發(fā)往232.0.0.1的組播數(shù)據(jù),H4申請接收H2發(fā)往232.0.0.1的組播數(shù)據(jù)。路由器和交換機之間配置擴展的CGMP協(xié)議,SSM數(shù)據(jù)的二層封裝采用擴展的802.1Q幀格式。

表2 主機配置情況

仿真過程中對主機H3和H4的IP進程模塊接收到的數(shù)據(jù)包進行解封裝檢測發(fā)現(xiàn)接收情況如下:

①H3只接收到1.1.1.2發(fā)往232.0.0.1的組播數(shù)據(jù);

②H4只接收到1.1.1.3發(fā)往232.0.0.1的組播數(shù)據(jù)。

2個主機的接收情況與配置情況相符,仿真結(jié)果表明交換機可以準(zhǔn)確地將SSM數(shù)據(jù)轉(zhuǎn)發(fā)至接收用戶,驗證了該方法的可行性。

6 結(jié)束語

針對SSM的二層轉(zhuǎn)發(fā)方法實現(xiàn)了在以太網(wǎng)交換機上對SSM數(shù)據(jù)的精確二層轉(zhuǎn)發(fā),交換機根據(jù)收到的新增CGMP命令報文建立SSM轉(zhuǎn)發(fā)表,在收到SSM數(shù)據(jù)后,根據(jù)SSM幀中的二層信息查找SSM轉(zhuǎn)發(fā)表完成轉(zhuǎn)發(fā)。在SSM轉(zhuǎn)發(fā)表的建立和數(shù)據(jù)轉(zhuǎn)發(fā)過程中都不需要CPU過多地參與,對交換機的性能沒有過高的要求,可在一般交換機上實現(xiàn)。

[1]RFC 4607.Source-Specific Multicast for IP[S].

[2]RFC3376.Internet Group Management Protocol,Version 3[S].

[3]馬東超,彭 達,王立芊,等.以太網(wǎng)交換機的源指定組播方案[J].計算機工程,2009,35(17):106-120.

[4]巖 延,郭江濤.組播路由協(xié)議設(shè)計及應(yīng)用[M].北京:人民郵電出版社,2002.

猜你喜歡
表項字段路由器
圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
買千兆路由器看接口參數(shù)
一種改進的TCAM路由表項管理算法及實現(xiàn)
維持生命
路由器每天都要關(guān)
路由器每天都要關(guān)
基于ARMA模型預(yù)測的交換機流表更新算法
SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項轉(zhuǎn)換的流表調(diào)度優(yōu)化
CNMARC304字段和314字段責(zé)任附注方式解析
無正題名文獻著錄方法評述
富阳市| 怀宁县| 贡觉县| 南宁市| 新泰市| 舒兰市| 周至县| 宁都县| 博乐市| 蓬溪县| 湖州市| 永平县| 大悟县| 上林县| 内江市| 蓬溪县| 温宿县| 海淀区| 定州市| 甘谷县| 弥渡县| 临高县| 临桂县| 内黄县| 德州市| 丰城市| 锡林郭勒盟| 大丰市| 巨野县| 西丰县| 大姚县| 友谊县| 贵定县| 郎溪县| 尼木县| 靖安县| 融水| 大名县| 灵璧县| 诸城市| 邹城市|