專(zhuān)利名稱(chēng):一種發(fā)送報(bào)文的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù),尤指一種發(fā)送報(bào)文的方法及裝置。
背景技術(shù):
在數(shù)據(jù)通信中,由于組播或廣播報(bào)文是一點(diǎn)向多個(gè)點(diǎn)進(jìn)行發(fā)送,因此報(bào)文的發(fā)送效率直接影響到對(duì)應(yīng)協(xié)議的執(zhí)行情況;例如對(duì)路由協(xié)議來(lái)說(shuō),路由協(xié)議中組播或廣播報(bào)文的發(fā)送速度直接影響到路由協(xié)議的收斂性能,在很大程度上決定了路由協(xié)議的執(zhí)行效率。
現(xiàn)有技術(shù)中,網(wǎng)絡(luò)設(shè)備將組播或廣播報(bào)文交給IP層進(jìn)行發(fā)送處理。IP層則按照應(yīng)用程序指定的接口將報(bào)文交給接口所屬的鏈路協(xié)議單元進(jìn)行發(fā)送。
接口所支持的鏈路類(lèi)型包括三種情況,為點(diǎn)到點(diǎn)鏈路、點(diǎn)到多點(diǎn)鏈路以及以太網(wǎng)廣播鏈路。當(dāng)應(yīng)用程序指定的接口所支持的鏈路類(lèi)型為點(diǎn)到點(diǎn)鏈路時(shí),則應(yīng)用程序是通過(guò)指定多個(gè)支持點(diǎn)到點(diǎn)鏈路來(lái)實(shí)現(xiàn)組播或廣播的。
以下分別針對(duì)接口所支持的三種鏈路類(lèi)型,對(duì)鏈路協(xié)議單元發(fā)送報(bào)文的過(guò)程作簡(jiǎn)要介紹。具體如下當(dāng)接口所支持的鏈路類(lèi)型為點(diǎn)到點(diǎn)鏈路,例如高級(jí)數(shù)據(jù)鏈路控制(HDLC)或點(diǎn)到點(diǎn)協(xié)議(PPP)等,鏈路協(xié)議單元先對(duì)接口進(jìn)行接口有效性判斷和鏈路狀態(tài)的相關(guān)判斷。在接口有效性及相關(guān)鏈路狀態(tài)都滿(mǎn)足條件時(shí),鏈路協(xié)議單元根據(jù)網(wǎng)絡(luò)層協(xié)議信息和鏈路層協(xié)議信息獲得二層封裝信息,并根據(jù)二層封裝信息對(duì)該報(bào)文進(jìn)行二層封裝,發(fā)送封裝后的報(bào)文。二層封裝信息是指,各鏈路協(xié)議規(guī)定的報(bào)文封裝格式中所必需的信息。
當(dāng)接口所支持的鏈路類(lèi)型為點(diǎn)到多點(diǎn)鏈路,例如幀中繼FR(FrameRelay)或異步傳輸模式(ATM)等,鏈路協(xié)議單元先對(duì)接口進(jìn)行接口有效性判斷和鏈路狀態(tài)的相關(guān)判斷。在接口的有效性和相關(guān)鏈路狀態(tài)都滿(mǎn)足條件的情況下,鏈路協(xié)議單元如果發(fā)現(xiàn)當(dāng)前要發(fā)送的報(bào)文為組播或廣播報(bào)文時(shí),則遍歷本接口所有的子通道,在具有廣播屬性的子通道上發(fā)送報(bào)文。也就是,在每個(gè)具有廣播屬性的子通道上根據(jù)網(wǎng)絡(luò)層協(xié)議信息和本子通道的鏈路層協(xié)議信息獲得各子通道的二層封裝信息,并根據(jù)各具有廣播屬性的子通道的二層封裝信息對(duì)報(bào)文進(jìn)行二層封裝,通過(guò)各子通道發(fā)送封裝后的報(bào)文。
當(dāng)接口支持的鏈路類(lèi)型為以太網(wǎng)廣播鏈路,例如以太網(wǎng)(ETH)鏈路等,鏈路協(xié)議單元先對(duì)接口進(jìn)行接口有效性判斷和鏈路狀態(tài)相關(guān)判斷。在接口的有效性和相關(guān)鏈路狀態(tài)都滿(mǎn)足條件時(shí),如果發(fā)現(xiàn)當(dāng)前要發(fā)送的報(bào)文為組播報(bào)文時(shí),則根據(jù)組播目的IP計(jì)算出組播目的媒體接入控制(MAC)地址,獲得接口上的MAC地址作為源MAC地址;如果當(dāng)前要發(fā)送的報(bào)文為廣播報(bào)文,則直接將目的MAC地址設(shè)置為廣播MAC地址,獲得接口上的MAC地址作為源MAC地址。根據(jù)網(wǎng)絡(luò)層協(xié)議信息和本接口的鏈路層協(xié)議信息、以及獲得的源/目的MAC地址得到二層封裝信息,并根據(jù)二層封裝信息對(duì)該報(bào)文進(jìn)行二層封裝,發(fā)送封裝后的報(bào)文。
現(xiàn)有技術(shù)中,當(dāng)要發(fā)送組播或廣播報(bào)文時(shí),鏈路協(xié)議單元首先需要對(duì)接口狀態(tài)以及鏈路狀態(tài)進(jìn)行判斷,確定是否能夠發(fā)送報(bào)文;在確定接口狀態(tài)以及鏈路狀態(tài)可用時(shí),再根據(jù)網(wǎng)絡(luò)層類(lèi)型和本鏈路類(lèi)型獲得報(bào)文的二層封裝信息,利用二層封裝信息對(duì)報(bào)文進(jìn)行封裝之后,才能將組播或廣播報(bào)文順利的發(fā)送出去。由上可知,在現(xiàn)有技術(shù)中,報(bào)文在由應(yīng)用程序指定了發(fā)送接口之后,還需要經(jīng)過(guò)一系列繁瑣的報(bào)文處理過(guò)程,才能通過(guò)接口發(fā)送出去,這樣極大的降低了組播或廣播報(bào)文的發(fā)送效率,影響了相關(guān)業(yè)務(wù)的執(zhí)行效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種發(fā)送報(bào)文的方法及裝置,應(yīng)用本發(fā)明提供了方法及裝置能夠提高組播或廣播報(bào)文的發(fā)送效率。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種發(fā)送報(bào)文的方法,執(zhí)行以下步驟當(dāng)接口對(duì)應(yīng)的鏈路可用時(shí),建立接口的二層封裝信息;接口發(fā)送組播或廣播報(bào)文時(shí),根據(jù)接口的二層封裝信息封裝并發(fā)送所述報(bào)文。
較佳的,當(dāng)接口所支持的鏈路類(lèi)型為點(diǎn)到點(diǎn)時(shí),所述接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路可用為當(dāng)成功完成接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的鏈路協(xié)商后,所述點(diǎn)到點(diǎn)鏈路為可用;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述接口的二層封裝信息封裝所述報(bào)文,并通過(guò)所述接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路發(fā)送所述報(bào)文。
較佳的,當(dāng)接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路不可用時(shí),則刪除該接口對(duì)應(yīng)的二層封裝信息;或,當(dāng)接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改。
較佳的,當(dāng)接口所支持的鏈路類(lèi)型為點(diǎn)到多點(diǎn)時(shí),所述建立接口的二層封裝信息為當(dāng)接口對(duì)應(yīng)的點(diǎn)到多點(diǎn)鏈路每增加一條具有廣播屬性的子通道時(shí),在該子通道狀態(tài)為可用的情況下,則針對(duì)所述增加的子通道建立一條與該接口對(duì)應(yīng)的二層封裝信息;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述接口的各子通道對(duì)應(yīng)的二層封裝信息分別封裝報(bào)文,并通過(guò)各子通道發(fā)送所述報(bào)文。
較佳的,當(dāng)二層封裝信息對(duì)應(yīng)的子通道不可用時(shí),則刪除該二層封裝信息;或,當(dāng)二層封裝信息對(duì)應(yīng)子通道的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改。
較佳的,當(dāng)接口所支持的鏈路類(lèi)型為以太網(wǎng)廣播鏈路時(shí),所述建立接口的二層封裝信息為在接口為虛擬以太網(wǎng)虛接口的情況下,在虛接口對(duì)應(yīng)的虛擬以太網(wǎng)內(nèi),每增加一個(gè)可用的二層端口時(shí),則針對(duì)該二層端口建立一條與虛接口對(duì)應(yīng)的二層封裝信息;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述接口的各二層端口對(duì)應(yīng)的二層封裝信息分別封裝報(bào)文,并通過(guò)各二層端口發(fā)送所述報(bào)文;或,在接口為三層以太網(wǎng)口的情況下,當(dāng)三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路的狀態(tài)為可用時(shí),建立三層以太網(wǎng)口對(duì)應(yīng)的二層封裝信息;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述三層以太網(wǎng)口的二層封裝信息封裝所述報(bào)文,并通過(guò)所述三層以太網(wǎng)口對(duì)應(yīng)的廣播鏈路發(fā)送所述報(bào)文。
較佳的,在封裝并發(fā)送所述報(bào)文之前,進(jìn)一步包括當(dāng)所述報(bào)文為組播報(bào)文時(shí),根據(jù)目的IP地址計(jì)算得到組播報(bào)文的目的MAC地址;根據(jù)組播報(bào)文的目的媒體接入控制MAC地址和二層封裝信息,封裝并發(fā)送所述組播報(bào)文;或,當(dāng)所述報(bào)文為廣播報(bào)文時(shí),將所述報(bào)文的目的MAC地址設(shè)置為廣播報(bào)文的廣播MAC地址;根據(jù)組播報(bào)文的目的MAC地址和二層封裝信息,封裝并發(fā)送所述廣播報(bào)文。
較佳的,當(dāng)接口為虛擬以太網(wǎng)虛接口時(shí),在二層封裝信息對(duì)應(yīng)的二層端口不可用時(shí),則刪除該二層封裝信息;或當(dāng)二層封裝信息對(duì)應(yīng)的二層端口的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改;或者,當(dāng)接口為三層以太網(wǎng)口時(shí),當(dāng)三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路不可用時(shí),則刪除該接口對(duì)應(yīng)的二層封裝信息;或當(dāng)接口對(duì)應(yīng)的以太網(wǎng)廣播鏈路的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改。
較佳的,由鏈路協(xié)議單元執(zhí)行所述建立二層封裝信息的操作。
較佳的,設(shè)置接口鏈路管理表,用于記錄接口與對(duì)應(yīng)的二層封裝信息之間的對(duì)應(yīng)關(guān)系。
另外,本發(fā)明還提供了一種發(fā)送報(bào)文的裝置,該裝置至少包括,鏈路協(xié)議單元和鏈路信息單元;其中,鏈路協(xié)議單元,用于建立接口的二層封裝信息,并記錄于鏈路信息單元;發(fā)送組播或廣播報(bào)文時(shí),根據(jù)記錄的接口的二層封裝信息封裝并發(fā)送所述報(bào)文;鏈路信息單元,用于記錄鏈路協(xié)議單元建立的接口的二層封裝信息。
本發(fā)明所提供的一種發(fā)送報(bào)文的方法,通過(guò)記錄組播或廣播報(bào)文在發(fā)送過(guò)程中所需的、且在報(bào)文發(fā)送前就能夠確定的二層封裝信息;進(jìn)而在實(shí)際發(fā)送報(bào)文時(shí),接口只需要根據(jù)記錄的二層封裝信息封裝并發(fā)送所述報(bào)文,進(jìn)而減少了每個(gè)組播或廣播報(bào)文在發(fā)送過(guò)程中的判斷環(huán)節(jié)和二層封裝信息的獲取等環(huán)節(jié),從而達(dá)到了快速發(fā)送組播或廣播報(bào)文的目的。同時(shí),本發(fā)明還提供了一種發(fā)送報(bào)文的裝置。通過(guò)應(yīng)用本發(fā)明所提供的方法以及裝置,能夠在很大程度上提供組播或廣播報(bào)文的發(fā)送效率,進(jìn)而也提高了相關(guān)業(yè)務(wù)的執(zhí)行效率。
圖1為本發(fā)明實(shí)施例一方法的流程圖;圖2為本發(fā)明實(shí)施例二方法的流程圖;圖3為本發(fā)明實(shí)施例三方法的流程圖;圖4為本發(fā)明裝置的結(jié)構(gòu)圖;圖5為本發(fā)明存在多個(gè)二層封裝信息時(shí)的接口鏈路管理表項(xiàng)結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明的核心思想是當(dāng)接口對(duì)應(yīng)的鏈路可用時(shí),針對(duì)可用的鏈路記錄組播或廣播報(bào)文在發(fā)送過(guò)程中所需的、且在報(bào)文發(fā)送前就能夠確定的二層封裝信息;在實(shí)際發(fā)送報(bào)文時(shí),根據(jù)記錄的二層封裝信息封裝并發(fā)送所述報(bào)文,進(jìn)而減少了每個(gè)組播或廣播報(bào)文在發(fā)送過(guò)程中的判斷環(huán)節(jié)和二層封裝信息的獲取等環(huán)節(jié),達(dá)到了快速發(fā)送組播或廣播報(bào)文的目的。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。
在本發(fā)明中,主要針對(duì)三種鏈路類(lèi)型分別列舉實(shí)施例,這三種鏈路類(lèi)型分別是點(diǎn)到點(diǎn)鏈路、點(diǎn)到多點(diǎn)鏈路以及以太網(wǎng)廣播鏈路。
實(shí)施例一當(dāng)接口支持的鏈路類(lèi)型為點(diǎn)到點(diǎn)時(shí),則本實(shí)施例發(fā)送報(bào)文方法的流程如圖1所示,包括以下步驟步驟101接口對(duì)應(yīng)的鏈路協(xié)議單元,在當(dāng)前接口對(duì)應(yīng)的點(diǎn)對(duì)點(diǎn)鏈路狀態(tài)為可用時(shí),根據(jù)接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路建立當(dāng)前接口的二層封裝信息。
這里確定接口鏈路狀態(tài)為可用的方法可以是鏈路協(xié)議單元在成功完成當(dāng)前接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的鏈路協(xié)議協(xié)商之后,確定當(dāng)前點(diǎn)到點(diǎn)鏈路的狀態(tài)為可用。
這里,鏈路協(xié)議單元在鏈路協(xié)議協(xié)商成功后,根據(jù)點(diǎn)到點(diǎn)鏈路的網(wǎng)絡(luò)層協(xié)議信息和鏈路層協(xié)議信息建立對(duì)應(yīng)的二層封裝信息。
步驟102當(dāng)接口對(duì)應(yīng)的鏈路協(xié)議單元收到需要接口發(fā)送的組播或廣播報(bào)文,鏈路協(xié)議單元?jiǎng)t根據(jù)當(dāng)前接口對(duì)應(yīng)的二層封裝信息對(duì)報(bào)文進(jìn)行封裝,并通過(guò)當(dāng)前接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路發(fā)送封裝后的組播或廣播報(bào)文。
本實(shí)施例的方法進(jìn)一步包括,在當(dāng)前接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的狀態(tài)變?yōu)椴豢捎脮r(shí),刪去該接口對(duì)應(yīng)的二層封裝信息。此后,當(dāng)前接口不能再發(fā)送組播或廣播報(bào)文,直至鏈路狀態(tài)為可用?;蛘撸?dāng)該接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的報(bào)文封裝格式發(fā)生變化時(shí),則根據(jù)變化后的報(bào)文封裝格式更新當(dāng)前接口對(duì)應(yīng)的二層封裝信息。
實(shí)施例二當(dāng)接口支持的鏈路類(lèi)型為點(diǎn)到多點(diǎn)時(shí),如FR或ATM,則在接口發(fā)送報(bào)文的流程如圖2所示,包括以下步驟步驟201鏈路協(xié)議單元在自身所管理的接口要增加一條具有廣播屬性的子通道,且在該子通道的狀態(tài)為可用時(shí),鏈路協(xié)議單元針對(duì)當(dāng)前增加的子通道建立與該接口對(duì)應(yīng)的二層封裝信息。
這里,鏈路協(xié)議單元根據(jù)網(wǎng)絡(luò)層協(xié)議信息、以及本子通道的鏈路層協(xié)議信息建立子通道的二層封裝信息。
其中,所指的子通道對(duì)于FR來(lái)說(shuō)為數(shù)據(jù)鏈路連接標(biāo)識(shí)(DLCI,Data LinkConnection Identifier),對(duì)于ATM為永久虛連接(PVC,Permanent VirtualChannel)。所指的子通道狀態(tài)可用可以是指子通道物理上可用。子通道物理上可用,可以根據(jù)子通道所在的底層鏈路是否可用來(lái)確定。
當(dāng)接口每增加一條具有廣播屬性的子通道,且在該子通道的狀態(tài)為可用時(shí),鏈路協(xié)議單元均會(huì)根據(jù)該新增的子通道,針對(duì)該新增的子通道建立接口的一個(gè)二層封裝信息。也就是說(shuō),當(dāng)接口每增加一個(gè)子通道,鏈路協(xié)議單元就會(huì)為接口針對(duì)該子通道建立一個(gè)二層封裝信息。因此當(dāng)接口存在多個(gè)子通道時(shí),接口就會(huì)存在分別與這多個(gè)子通道對(duì)應(yīng)的二層封裝信息。
由于在實(shí)際應(yīng)用過(guò)程中,接口所包括的子通道有可能是動(dòng)態(tài)增加的,因此,本實(shí)施例的步驟201并不限于在步驟202之前執(zhí)行,只要接口新增了一個(gè)子通道,接口對(duì)應(yīng)的鏈路協(xié)議單元?jiǎng)t針對(duì)該子通道建立一個(gè)二層封裝信息。
步驟202當(dāng)接口對(duì)應(yīng)的鏈路協(xié)議單元收到需要當(dāng)前接口發(fā)送的組播或廣播報(bào)文時(shí),鏈路協(xié)議單元?jiǎng)t根據(jù)當(dāng)前接口對(duì)應(yīng)的各二層封裝信息,分別封裝所述報(bào)文并通過(guò)對(duì)應(yīng)的子通道發(fā)送所述的組播或廣播報(bào)文。
本實(shí)施例方法進(jìn)一步包括,當(dāng)接口對(duì)應(yīng)的某個(gè)子通道的鏈路狀態(tài)變?yōu)椴豢捎脮r(shí),鏈路協(xié)議單元?jiǎng)t刪去針對(duì)該子通道建立的二層封裝信息。或者,當(dāng)某個(gè)子通道的報(bào)文封裝格式發(fā)生變化時(shí),則根據(jù)該子通道變化后的報(bào)文封裝格式更新該子通道對(duì)應(yīng)的二層封裝信息。
實(shí)施例三當(dāng)接口支持的鏈路類(lèi)型為以太網(wǎng)廣播鏈路時(shí),如ETH,則在接口發(fā)送報(bào)文的流程如圖3所示。在本實(shí)施例中,首先以所述接口為虛擬以太網(wǎng)(VLAN)虛接口為例進(jìn)行說(shuō)明,本實(shí)施例的方法包括以下步驟
步驟301當(dāng)VLAN虛接口所在的VLAN內(nèi)增加一個(gè)二層端口,且該二層端口的狀態(tài)為可用時(shí),鏈路協(xié)議單元?jiǎng)t針對(duì)該新增的二層端口建立該VLAN虛接口的一個(gè)二層封裝信息。這里,所指的二層端口為以太網(wǎng)端口。
當(dāng)VLAN虛接口所在的VLAN每增加一個(gè)二層端口,且該新增的二層端口狀態(tài)為可用時(shí),鏈路協(xié)議單元均會(huì)根據(jù)該新增的二層端口,建立與當(dāng)前VLAN虛接口對(duì)應(yīng)的一個(gè)二層封裝信息。也就是說(shuō),當(dāng)VLAN虛接口每增加一個(gè)二層端口時(shí),鏈路協(xié)議單元均會(huì)為VLAN虛接口針對(duì)二層端口建立一個(gè)二層封裝信息。因此當(dāng)VLAN虛接口存在多個(gè)二層端口時(shí),接口就會(huì)存在分別與這多個(gè)二層端口對(duì)應(yīng)的二層封裝信息。
由于在實(shí)際應(yīng)用過(guò)程中,VLAN的二層端口可能是動(dòng)態(tài)增加的,因此,本實(shí)施例的步驟301并不限于在步驟302之前,只要VLAN內(nèi)新增了一個(gè)二層端口,VLAN虛接口對(duì)應(yīng)的鏈路協(xié)議單元?jiǎng)t針對(duì)該二層端口建立一個(gè)二層封裝信息。
這里,鏈路協(xié)議單元根據(jù)當(dāng)前新增的二層端口的網(wǎng)絡(luò)層協(xié)議信息和鏈路層協(xié)議信息建立與該二層端口對(duì)應(yīng)的二層封裝信息。
其中,所指的二層端口可用為二層端口物理上可用,比如已經(jīng)插線(xiàn)且與對(duì)端設(shè)備連通。
步驟302當(dāng)VLAN虛接口對(duì)應(yīng)的鏈路協(xié)議單元收到需要當(dāng)前接口發(fā)送的組播或廣播報(bào)文時(shí),獲得該報(bào)文目的MAC地址。
其中,當(dāng)需要發(fā)送的為組播報(bào)文時(shí),則根據(jù)該組播報(bào)文的目的IP地址得到組播報(bào)文的目的MAC地址;當(dāng)需要發(fā)送的為廣播報(bào)文時(shí),將報(bào)文中攜帶的目的MAC地址作為廣播報(bào)文的目的MAC地址。
這里,組播或廣播報(bào)文的源MAC是當(dāng)前VLAN虛接口自身的MAC地址,該MAC地址信息是在VLAN虛接口確定之后,即可以預(yù)先確定的信息,因此是鏈路協(xié)議單元記錄在二層封裝信息中的內(nèi)容。
步驟303鏈路協(xié)議單元根據(jù)獲得目的MAC地址,以及該VLAN虛接口對(duì)應(yīng)各二層端口的二層封裝信息,分別封裝所述報(bào)文,并通過(guò)各二層端口發(fā)送自身對(duì)應(yīng)的封裝后的報(bào)文。
本實(shí)施例的方法進(jìn)一步包括,當(dāng)VLAN虛接口對(duì)應(yīng)的某個(gè)二層端口狀態(tài)變?yōu)椴豢捎脮r(shí),鏈路協(xié)議單元?jiǎng)t刪去針對(duì)與該二層端口對(duì)應(yīng)的二層封裝信息?;蛘?,當(dāng)某個(gè)二層端口的報(bào)文封裝格式發(fā)生變化時(shí),則根據(jù)該二層端口變化后的報(bào)文封裝格式更新該二層端口對(duì)應(yīng)的二層封裝信息。
另外,在本實(shí)施例中,當(dāng)支持以太網(wǎng)廣播鏈路的接口為三層以太網(wǎng)口時(shí),則建立該三層以太網(wǎng)口的二層封裝信息為當(dāng)三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路為可用時(shí),則根據(jù)該以太網(wǎng)廣播鏈路建立該三層以太網(wǎng)口的二層封裝信息。由于三層以太網(wǎng)口不像VLAN虛接口,因此與三層以太網(wǎng)口對(duì)應(yīng)的二層封裝信息只會(huì)存在一條。在發(fā)送組播或廣播報(bào)文時(shí),則根據(jù)該三層以太網(wǎng)口對(duì)應(yīng)的二層封裝信息封裝并發(fā)送報(bào)文。這里,鏈路協(xié)議單元根據(jù)以太網(wǎng)廣播鏈路的網(wǎng)絡(luò)層協(xié)議信息和鏈路層協(xié)議信息建立對(duì)應(yīng)的二層封裝信息。
在三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路不可用時(shí),則刪除與該三層以太網(wǎng)口對(duì)應(yīng)的二層封裝信息?;蛘?,當(dāng)該三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路的報(bào)文封裝格式發(fā)生變化時(shí),則根據(jù)變化后的報(bào)文封裝格式更新三層以太網(wǎng)口對(duì)應(yīng)的二層封裝信息。
這里所指的以太網(wǎng)廣播鏈路可用可以根據(jù)以太網(wǎng)廣播鏈路的底層鏈路是否可用來(lái)確定,當(dāng)?shù)讓渔溌房捎脮r(shí),則認(rèn)為以太網(wǎng)廣播鏈路可用;當(dāng)?shù)讓渔溌凡豢捎脮r(shí),則認(rèn)為以太網(wǎng)廣播鏈路不可用。
與本發(fā)明方法對(duì)應(yīng)的裝置如圖4所示,包括鏈路協(xié)議單元41和鏈路信息單元42。
其中,鏈路協(xié)議單元41,用于建立接口的二層封裝信息,并將建立的二層封裝信息記錄于鏈路信息單元42;發(fā)送組播或廣播報(bào)文時(shí),根據(jù)鏈路信息單元42記錄的接口的二層封裝信息封裝并發(fā)送所述報(bào)文。
鏈路信息單元42,用于記錄鏈路協(xié)議單元41建立的接口的二層封裝信息。
這里,鏈路協(xié)議單元41建立接口的二層封裝信息,以及封裝并發(fā)送組播或廣播報(bào)文的方法,可以參見(jiàn)實(shí)施例一、二和三,具體方法在此不再詳述。
其中,鏈路信息單元42記錄接口對(duì)應(yīng)的二層封裝信息的方法可以是,建立一張接口鏈路管理表,其中記錄著接口與其自身的二層封裝信息之間的對(duì)應(yīng)關(guān)系。在接口鏈路管理表中,接口可以用自身的接口索引來(lái)唯一標(biāo)識(shí)。當(dāng)接口存在多個(gè)與自身對(duì)應(yīng)的二層封裝信息時(shí),可以采用鏈表的方式記錄與自身對(duì)應(yīng)的多個(gè)二層封裝信息,具體可參見(jiàn)圖5。圖5為當(dāng)某個(gè)接口存在多個(gè)二層封裝信息時(shí),對(duì)應(yīng)的接口鏈路管理表項(xiàng)結(jié)構(gòu)圖。當(dāng)鏈路協(xié)議單元需要根據(jù)接口對(duì)應(yīng)的二層封裝信息發(fā)送組播或廣播報(bào)文,只需要根據(jù)接口的接口索引查找接口鏈路管理表,即可找到相應(yīng)的記錄了二層封裝信息的表項(xiàng)。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種發(fā)送報(bào)文的方法,其特征在于,執(zhí)行以下步驟當(dāng)接口對(duì)應(yīng)的鏈路可用時(shí),建立接口的二層封裝信息;接口發(fā)送組播或廣播報(bào)文時(shí),根據(jù)接口的二層封裝信息封裝并發(fā)送所述報(bào)文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)接口所支持的鏈路類(lèi)型為點(diǎn)到點(diǎn)時(shí),所述接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路可用為當(dāng)成功完成接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的鏈路協(xié)商后,所述點(diǎn)到點(diǎn)鏈路為可用;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述接口的二層封裝信息封裝所述報(bào)文,并通過(guò)所述接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路發(fā)送所述報(bào)文。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路不可用時(shí),則刪除該接口對(duì)應(yīng)的二層封裝信息;或,當(dāng)接口對(duì)應(yīng)的點(diǎn)到點(diǎn)鏈路的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)接口所支持的鏈路類(lèi)型為點(diǎn)到多點(diǎn)時(shí),所述建立接口的二層封裝信息為當(dāng)接口對(duì)應(yīng)的點(diǎn)到多點(diǎn)鏈路每增加一條具有廣播屬性的子通道時(shí),在該子通道狀態(tài)為可用的情況下,則針對(duì)所述增加的子通道建立一條與該接口對(duì)應(yīng)的二層封裝信息;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述接口的各子通道對(duì)應(yīng)的二層封裝信息分別封裝報(bào)文,并通過(guò)各子通道發(fā)送所述報(bào)文。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)二層封裝信息對(duì)應(yīng)的子通道不可用時(shí),則刪除該二層封裝信息;或,當(dāng)二層封裝信息對(duì)應(yīng)子通道的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)接口所支持的鏈路類(lèi)型為以太網(wǎng)廣播鏈路時(shí),所述建立接口的二層封裝信息為在接口為虛擬以太網(wǎng)虛接口的情況下,在虛接口對(duì)應(yīng)的虛擬以太網(wǎng)內(nèi),每增加一個(gè)可用的二層端口時(shí),則針對(duì)該二層端口建立一條與虛接口對(duì)應(yīng)的二層封裝信息;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述接口的各二層端口對(duì)應(yīng)的二層封裝信息分別封裝報(bào)文,并通過(guò)各二層端口發(fā)送所述報(bào)文;或,在接口為三層以太網(wǎng)口的情況下,當(dāng)三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路的狀態(tài)為可用時(shí),建立三層以太網(wǎng)口對(duì)應(yīng)的二層封裝信息;所述封裝并發(fā)送所述報(bào)文為根據(jù)所述三層以太網(wǎng)口的二層封裝信息封裝所述報(bào)文,并通過(guò)所述三層以太網(wǎng)口對(duì)應(yīng)的廣播鏈路發(fā)送所述報(bào)文。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,在封裝并發(fā)送所述報(bào)文之前,進(jìn)一步包括當(dāng)所述報(bào)文為組播報(bào)文時(shí),根據(jù)目的IP地址計(jì)算得到組播報(bào)文的目的MAC地址;根據(jù)組播報(bào)文的目的媒體接入控制MAC地址和二層封裝信息,封裝并發(fā)送所述組播報(bào)文;或,當(dāng)所述報(bào)文為廣播報(bào)文時(shí),將所述報(bào)文的目的MAC地址設(shè)置為廣播報(bào)文的廣播MAC地址;根據(jù)組播報(bào)文的目的MAC地址和二層封裝信息,封裝并發(fā)送所述廣播報(bào)文。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,當(dāng)接口為虛擬以太網(wǎng)虛接口時(shí),在二層封裝信息對(duì)應(yīng)的二層端口不可用時(shí),則刪除該二層封裝信息;或當(dāng)二層封裝信息對(duì)應(yīng)的二層端口的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改;或者,當(dāng)接口為三層以太網(wǎng)口時(shí),當(dāng)三層以太網(wǎng)口對(duì)應(yīng)的以太網(wǎng)廣播鏈路不可用時(shí),則刪除該接口對(duì)應(yīng)的二層封裝信息;或當(dāng)接口對(duì)應(yīng)的以太網(wǎng)廣播鏈路的報(bào)文封裝格式發(fā)生變化時(shí),根據(jù)變化后的報(bào)文封裝格式對(duì)所述的二層封裝信息進(jìn)行修改。
9.根據(jù)權(quán)利要求1至7中任一權(quán)利要求所述的方法,其特征在于,由鏈路協(xié)議單元執(zhí)行所述建立二層封裝信息的操作。
10.根據(jù)權(quán)利要求1至7中任一權(quán)利要求所述的方法,其特征在于,設(shè)置接口鏈路管理表,用于記錄接口與對(duì)應(yīng)的二層封裝信息之間的對(duì)應(yīng)關(guān)系。
11.一種發(fā)送報(bào)文的裝置,其特征在于,該裝置至少包括,鏈路協(xié)議單元和鏈路信息單元;其中,鏈路協(xié)議單元,用于建立接口的二層封裝信息,并記錄于鏈路信息單元;發(fā)送組播或廣播報(bào)文時(shí),根據(jù)記錄的接口的二層封裝信息封裝并發(fā)送所述報(bào)文;鏈路信息單元,用于記錄鏈路協(xié)議單元建立的接口的二層封裝信息。
全文摘要
本發(fā)明公開(kāi)了一種發(fā)送報(bào)文的方法,執(zhí)行以下步驟當(dāng)接口對(duì)應(yīng)的鏈路可用時(shí),建立接口的二層封裝信息;接口發(fā)送組播或廣播報(bào)文時(shí),根據(jù)接口的二層封裝信息封裝并發(fā)送所述報(bào)文。本發(fā)明提供的發(fā)送報(bào)文的方法,通過(guò)建立報(bào)文在發(fā)送過(guò)程中所需的、且在報(bào)文發(fā)送前就能夠確定的二層封裝信息;進(jìn)而在實(shí)際發(fā)送報(bào)文時(shí),接口只需要根據(jù)記錄的二層封裝信息封裝并發(fā)送所述報(bào)文,進(jìn)而減少了每個(gè)報(bào)文在發(fā)送過(guò)程中的判斷環(huán)節(jié)和二層封裝信息的獲取等環(huán)節(jié),從而達(dá)到了快速發(fā)送報(bào)文的目的。同時(shí),本發(fā)明還提供了一種發(fā)送報(bào)文的裝置。通過(guò)應(yīng)用本發(fā)明所提供的方法以及裝置,能夠在很大程度上提供報(bào)文的發(fā)送效率,進(jìn)而也提高了相關(guān)業(yè)務(wù)的執(zhí)行效率。
文檔編號(hào)H04L29/06GK1925467SQ200610152498
公開(kāi)日2007年3月7日 申請(qǐng)日期2006年10月9日 優(yōu)先權(quán)日2006年10月9日
發(fā)明者常向青, 孟丹, 龔一斌, 王海東, 翟紅剛, 趙麗娜, 蘇興山 申請(qǐng)人:杭州華為三康技術(shù)有限公司