• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

    0 引言

    傳統(tǒng)以太網(wǎng)交換機接收到組播數(shù)據(jù)后直接進(jìn)行廣播處理。在任意源組播模型中,用戶加入組播組去接收所有發(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地址信息來進(jìn)行組播數(shù)據(jù)的二層轉(zhuǎn)發(fā),故不適用于SSM模型。因特網(wǎng)工程任務(wù)組提出可以使用三層信息來進(jìn)行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)交換機在進(jìn)行這些數(shù)據(jù)的轉(zhuǎn)發(fā)時根據(jù)其目的MAC地址查找CAM表項來獲取接收端口信息。在SSM模型中,數(shù)據(jù)的接收者由組播源地址和組播組地址共同確定,交換機無法利用CAM表項來完成數(shù)據(jù)轉(zhuǎn)發(fā),而有必要對SSM數(shù)據(jù)采取區(qū)別于其他數(shù)據(jù)的處理方式,這要求交換機能夠從進(jìn)入的數(shù)據(jù)中識別出SSM數(shù)據(jù)。而在以太網(wǎng)幀中,同一組播MAC地址對應(yīng)32個組播組,其中既有任意源組,又有指定源組,交換機無法依據(jù)二層信息對二者進(jìn)行區(qū)分,這就需要組播路由器在對發(fā)送給交換機的SSM數(shù)據(jù)進(jìn)行二層封裝時加入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)幀格式進(jìn)行了修改,在源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ù)進(jìn)行封裝,其中 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é)議進(jìn)行擴展來實現(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)維護(hù)一張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ā)送給交換機,同時進(jìn)行正常的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ā)表的建立和維護(hù),交換機內(nèi)部還需要維護(hù)一張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)表項,否則不進(jìn)行其他操作。

    步驟④中對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)識。組播路由器在進(jìn)行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ā)表進(jìn)行轉(zhuǎn)發(fā)。具體處理流程為:首先判斷數(shù)據(jù)是否來自路由端口,對于非路由端口進(jìn)入的數(shù)據(jù),查找CAM表項進(jìn)行正常轉(zhuǎn)發(fā);對于路由端口進(jìn)入的數(shù)據(jù),如果其目的MAC地址前綴為0x01005E且Tag中的Type字段為0x8200則表明是SSM數(shù)據(jù),交換機按照SSM轉(zhuǎn)發(fā)表對其進(jìn)行轉(zhuǎn)發(fā),否則交換機查找CAM表項進(jìn)行正常數(shù)據(jù)轉(zhuǎn)發(fā)。

    5 可行性驗證

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

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

    圖3 可行性驗證網(wǎng)絡(luò)拓?fù)?/p>

    各主機的配置如表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進(jìn)程模塊接收到的數(shù)據(jù)包進(jìn)行解封裝檢測發(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]馬東超,彭 達(dá),王立芊,等.以太網(wǎng)交換機的源指定組播方案[J].計算機工程,2009,35(17):106-120.

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

    猜你喜歡
    表項字段路由器
    圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
    買千兆路由器看接口參數(shù)
    科教新報(2022年24期)2022-07-08 02:54:21
    一種改進(jìn)的TCAM路由表項管理算法及實現(xiàn)
    基于ARMA模型預(yù)測的交換機流表更新算法
    SDN數(shù)據(jù)中心網(wǎng)絡(luò)基于流表項轉(zhuǎn)換的流表調(diào)度優(yōu)化
    你所不知道的WIFI路由器使用方法?
    CNMARC304字段和314字段責(zé)任附注方式解析
    無正題名文獻(xiàn)著錄方法評述
    關(guān)于CNMARC的3--字段改革的必要性與可行性研究
    無線路由器輻射可忽略
    洛宁县| 南江县| 金平| 杭锦后旗| 福泉市| 塔城市| 交城县| 河曲县| 营山县| 张掖市| 青浦区| 仁化县| 南江县| 乌鲁木齐县| 鱼台县| 洞口县| 保定市| 于田县| 维西| 黄梅县| 开平市| 秀山| 赣州市| 古蔺县| 肥东县| 佳木斯市| 宜丰县| 广宁县| 南通市| 咸阳市| 湖口县| 延庆县| 康乐县| 子洲县| 明水县| 罗甸县| 南溪县| 阿巴嘎旗| 池州市| 奉节县| 临西县|