一種隧道建立方法和裝置制造方法
【專利摘要】本發(fā)明提供一種隧道建立方法和裝置。所述方法包括:將本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的源IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址;接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。通過本發(fā)明的技術(shù)方案實(shí)現(xiàn)按需自動(dòng)建立隧道,減少了網(wǎng)絡(luò)配置的復(fù)雜度。
【專利說明】一種隧道建立方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種隧道建立方法和裝置。
【背景技術(shù)】
[0002]隧道技術(shù)是一種封裝技術(shù),即一種網(wǎng)絡(luò)協(xié)議將其他網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)報(bào)文封裝在自己的報(bào)文中,然后在網(wǎng)絡(luò)中傳輸。封裝后的數(shù)據(jù)報(bào)文在網(wǎng)絡(luò)中傳輸?shù)穆窂椒Q為隧道。隧道是一條虛擬的點(diǎn)對(duì)點(diǎn)連接,隧道兩端的網(wǎng)絡(luò)設(shè)備需要對(duì)數(shù)據(jù)報(bào)文進(jìn)行封裝和解封裝。隧道所支持的協(xié)議有很多種,比如:IPv4協(xié)議、IPv6協(xié)議等等。
[0003]要建立一條隧道,通常需要管理員在隧道兩端的網(wǎng)絡(luò)設(shè)備上配置隧道的源/目的地址等信息,同時(shí)還需要配置到達(dá)對(duì)端私網(wǎng)的路由信息,如果網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量較多,需要建立的隧道較多時(shí),配置的工作量將會(huì)很大。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種隧道建立方法和裝置。
[0005]具體地,本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
[0006]一種隧道建立方法,所述方法包括:
[0007]將本地用戶設(shè)備發(fā)送的地址解析協(xié)議ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的源網(wǎng)絡(luò)間互聯(lián)協(xié)議IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址;
[0008]接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的介質(zhì)訪問控制MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;
[0009]其中,所述本機(jī)到所述組播組成員的隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址;
[0010]將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0011]進(jìn)一步地,所述接收組播組成員返回的ARP應(yīng)答報(bào)文包括:
[0012]接收組播組成員通過其到本機(jī)的隧道返回的隧道報(bào)文,并從所述隧道報(bào)文中解封裝出所述ARP應(yīng)答報(bào)文。
[0013]進(jìn)一步地,所述方法還包括:
[0014]根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;
[0015]所述將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備,具體包括:
[0016]根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的本地端口號(hào)將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0017]進(jìn)一步地,所述方法還包括:
[0018]將本機(jī)加入所述組播組,并作為組播組的組播源發(fā)送組播報(bào)文。[0019]一種隧道建立方法,所述方法包括:
[0020]從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址;
[0021]將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
[0022]進(jìn)一步地,所述方法還包括:
[0023]接收本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文,在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道;
[0024]將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員,以供所述組播組成員建立其到本機(jī)的隧道。
[0025]一種隧道建立裝置,所述裝置包括:
[0026]請(qǐng)求封裝單元,用于將本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址;
[0027]第一建立單元,用于接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;
[0028]其中,所述本機(jī)到所述組播組成員的隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址;
[0029]應(yīng)答轉(zhuǎn)發(fā)單元,用于將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0030]進(jìn)一步地,所述第一建立單元,具體用于接收組播組成員通過其到本機(jī)的隧道返回的隧道報(bào)文,并從所述隧道報(bào)文中解封裝出所述ARP應(yīng)答報(bào)文。
[0031]進(jìn)一步地,所述裝置還包括:
[0032]端口記錄單元,用于根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;
[0033]所述應(yīng)答轉(zhuǎn)發(fā)單元,具體用于根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的本地端口號(hào)將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0034]進(jìn)一步地,所裝置還包括:
[0035]組播加入單元,用于將本機(jī)加入所述組播組,并作為組播組的組播源發(fā)送組播報(bào)文。
[0036]一種隧道建立裝置,所述裝置包括:
[0037]第二建立單元,用于從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址;
[0038]請(qǐng)求轉(zhuǎn)發(fā)單元,用于將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
[0039]進(jìn)一步地,所述裝置還包括:
[0040]隧道查找單元,用于接收本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文,在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道;
[0041]應(yīng)答封裝單元,用于將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員,以供所述組播組成員建立其到本機(jī)的隧道。
[0042]由以上描述可以看出,本發(fā)明網(wǎng)絡(luò)設(shè)備在接收到本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文后,通過將所述ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,也就是轉(zhuǎn)發(fā)給網(wǎng)絡(luò)中加入所述組播組的所有網(wǎng)絡(luò)設(shè)備,以供組播組內(nèi)的其他成員建立其到本機(jī)的隧道。并在接收到組播組成員返回的ARP應(yīng)答報(bào)文后,可以建立本機(jī)到所述組播組成員的隧道,從而實(shí)現(xiàn)按需自動(dòng)建立隧道,減少了網(wǎng)絡(luò)配置的復(fù)雜度。相對(duì)于靜態(tài)配置隧道而言,還節(jié)省了隧道節(jié)點(diǎn)設(shè)備的資源開銷。
【專利附圖】
【附圖說明】
[0043]圖1是一種GRE隧道組網(wǎng)示意圖。
[0044]圖2是本發(fā)明一種實(shí)施例中隧道建立方法的流程示意圖。
[0045]圖3是本發(fā)明另一種實(shí)施例中隧道建立方法的流程示意圖。
[0046]圖4是本發(fā)明另一種實(shí)施例中隧道建立方法的流程示意圖。
[0047]圖5是本發(fā)明一種實(shí)施例的組網(wǎng)示意圖。
[0048]圖6是本發(fā)明一種實(shí)施例中隧道建立裝置的結(jié)構(gòu)示意圖。
[0049]圖7是本發(fā)明另一種實(shí)施例中隧道建立裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0050]請(qǐng)參考圖1所示的組網(wǎng),以GRE (Generic Routing Encapsulation,通用路由封裝)隧道為例,GRE隧道對(duì)報(bào)文的處理過程如下:
[0051](I)主機(jī)I發(fā)送報(bào)文,到達(dá)隧道的源節(jié)點(diǎn)設(shè)備路由器A。
[0052](2)路由器A根據(jù)路由表判定該報(bào)文需要通過GRE隧道進(jìn)行轉(zhuǎn)發(fā),則會(huì)將所述報(bào)文進(jìn)行GRE隧道封裝后,通過GRE隧道的實(shí)際物理接口將報(bào)文轉(zhuǎn)發(fā)出去。
[0053](3)封裝后的報(bào)文通過GRE隧道到達(dá)隧道終節(jié)點(diǎn)設(shè)備路由器B,路由器B對(duì)其進(jìn)行解封裝。
[0054](4)路由器B根據(jù)解封裝后的報(bào)文的目的地址進(jìn)行轉(zhuǎn)發(fā),如果目的地址是本設(shè)備,則自行處理,如果目的地址是本地主機(jī)2,則將所述報(bào)文轉(zhuǎn)發(fā)到主機(jī)2。
[0055]由此可以看出,要實(shí)現(xiàn)通過隧道轉(zhuǎn)發(fā)報(bào)文,需要配置隧道的源IP地址、目的IP地址、路由器B到達(dá)主機(jī)2的路由信息等等。在目前的實(shí)現(xiàn)中,上述配置均由管理人員手工配置。如果網(wǎng)絡(luò)中有N臺(tái)設(shè)備,則在每臺(tái)設(shè)備上都需要配置N-1套信息,配置相當(dāng)復(fù)雜。如果網(wǎng)絡(luò)中新增一臺(tái)設(shè)備,則在其他所有設(shè)備上都需要添加配置以便和該新增的設(shè)備建立隧道。
[0056]針對(duì)上述方案存在的問題,本發(fā)明提供一種隧道建立方法。下面將以不同的實(shí)施例對(duì)本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說明。
[0057]在第一實(shí)施例中,本發(fā)明提供一種隧道建立方法,所述方法應(yīng)用在包括有多個(gè)網(wǎng)絡(luò)設(shè)備的組網(wǎng)環(huán)境中,各網(wǎng)絡(luò)設(shè)備可以與其本地的用戶設(shè)備直連,將本地用戶設(shè)備發(fā)送的數(shù)據(jù)報(bào)文通過組網(wǎng)中其它網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)給所述數(shù)據(jù)報(bào)文的目的用戶設(shè)備。所述方法的執(zhí)行主體具體為組網(wǎng)中的一網(wǎng)絡(luò)設(shè)備,該網(wǎng)絡(luò)設(shè)備包括但不限于路由器、三層交換機(jī)等。所述網(wǎng)絡(luò)設(shè)備在接收到本地的用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文后,即可執(zhí)行本實(shí)施例方法步驟。具體地,請(qǐng)參考圖2,本實(shí)施例方法可包括如下步驟:
[0058]步驟201,將本地用戶設(shè)備發(fā)送的地址解析協(xié)議ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的源網(wǎng)絡(luò)間互聯(lián)協(xié)議IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址。
[0059]步驟202,接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的介質(zhì)訪問控制MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。
[0060]步驟203,將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶。
[0061]其中,所述本機(jī)到所述組播組成員的隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址。
[0062]本實(shí)施例中,網(wǎng)絡(luò)設(shè)備在接收到本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文后,通過將所述ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,也就是轉(zhuǎn)發(fā)給網(wǎng)絡(luò)中加入所述組播組的所有網(wǎng)絡(luò)設(shè)備,以供組播組內(nèi)的其他成員建立其到本機(jī)的隧道。同時(shí),在接收到組播組成員返回的ARP應(yīng)答報(bào)文后,可以建立本機(jī)到所述組播組成員的隧道,從而實(shí)現(xiàn)自動(dòng)建立隧道,減少了網(wǎng)絡(luò)配置的復(fù)雜度。
[0063]本發(fā)明實(shí)施例中,網(wǎng)絡(luò)設(shè)備接收組播組成員返回的ARP應(yīng)答報(bào)文具體可包括:接收組播組成員通過其到本機(jī)的隧道返回的隧道報(bào)文,并從所述隧道報(bào)文中解封裝出所述ARP應(yīng)答報(bào)文。其中,所述組播組成員使用的其到本機(jī)的隧道是所述組播組成員根據(jù)網(wǎng)絡(luò)設(shè)備發(fā)送的所述組播報(bào)文建立的。
[0064]上述本發(fā)明實(shí)施例中,網(wǎng)絡(luò)設(shè)備還可以根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。并在接收到組播組成員返回的ARP應(yīng)答報(bào)文時(shí),查詢所述MAC轉(zhuǎn)發(fā)表,根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的本地端口號(hào)將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0065]上述本發(fā)明實(shí)施例中,網(wǎng)絡(luò)設(shè)備需要預(yù)先將本機(jī)加入所述組播組,加入組播組作為組播成員接收到組播源發(fā)送的組播報(bào)文,同時(shí)所述網(wǎng)絡(luò)設(shè)備還會(huì)作為組播組的組播源發(fā)送組播報(bào)文給組播組內(nèi)的其他成員。
[0066]上述方法實(shí)施例中,是以發(fā)起ARP請(qǐng)求的用戶設(shè)備直連的網(wǎng)絡(luò)設(shè)備作為執(zhí)行主體,對(duì)該網(wǎng)絡(luò)設(shè)備與網(wǎng)絡(luò)中的其它網(wǎng)絡(luò)設(shè)備建立隧道的過程進(jìn)行了說明,下面將以該其它網(wǎng)絡(luò)設(shè)備作為執(zhí)行主體,建立到該網(wǎng)絡(luò)設(shè)備的隧道過程進(jìn)行說明。
[0067]在第二實(shí)施例中,本發(fā)明提供一種隧道建立方法,所述方法應(yīng)用在實(shí)施例一中包括有多個(gè)網(wǎng)絡(luò)設(shè)備的組網(wǎng)環(huán)境中,所述方法的執(zhí)行主體具體可以是實(shí)施例一中的其它網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備在接收到組播成員發(fā)送的組播報(bào)文后,即可執(zhí)行本實(shí)施例方法步驟。具體地,請(qǐng)參考圖3,本實(shí)施例方法可包括如下步驟:
[0068]步驟301,從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。
[0069]其中,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址。
[0070]步驟302,將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
[0071]本實(shí)施例中,網(wǎng)絡(luò)設(shè)備在接收到組播組成員發(fā)送的組播報(bào)文后,可以根據(jù)所述組播報(bào)文中封裝的ARP請(qǐng)求報(bào)文,自動(dòng)建立本機(jī)到所述組播組成員的隧道,減少了網(wǎng)絡(luò)配置的復(fù)雜度。與此同時(shí),網(wǎng)絡(luò)設(shè)備還會(huì)將發(fā)送ARP請(qǐng)求報(bào)文的用戶設(shè)備的MAC地址和自動(dòng)建立的隧道的對(duì)應(yīng)關(guān)系記錄的MAC轉(zhuǎn)發(fā)表中,以便本地用戶設(shè)備返回ARP應(yīng)答報(bào)文時(shí)可以通過所述隧道轉(zhuǎn)發(fā)所述ARP應(yīng)答報(bào)文,以及,在本地用戶設(shè)備想要發(fā)送報(bào)文到發(fā)送所述ARP請(qǐng)求報(bào)文的網(wǎng)絡(luò)設(shè)備時(shí)也可以通過所述隧道進(jìn)行轉(zhuǎn)發(fā)。
[0072]在本發(fā)明的實(shí)施例中,網(wǎng)絡(luò)設(shè)備在接收到本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文時(shí),在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道,然后將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員,以供所述組播組成員建立其到本機(jī)的隧道。
[0073]下面將以本發(fā)明技術(shù)方案在網(wǎng)絡(luò)中的具體實(shí)現(xiàn)過程中,網(wǎng)絡(luò)設(shè)備建立隧道的過程為例進(jìn)行說明。
[0074]在第三實(shí)施例中,請(qǐng)參考圖4,本實(shí)施例隧道建立方法可以包括如下步驟:
[0075]步驟401,第一網(wǎng)絡(luò)設(shè)備將本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員。
[0076]為實(shí)現(xiàn)在網(wǎng)絡(luò)中的各個(gè)網(wǎng)絡(luò)設(shè)備之間建立全連通的隧道,需要預(yù)先將各個(gè)網(wǎng)絡(luò)設(shè)備加入到同一個(gè)組播組中。在實(shí)際操作中,可以在各個(gè)網(wǎng)絡(luò)設(shè)備上配置所述組播組的組播IP地址,然后網(wǎng)絡(luò)設(shè)備通過發(fā)送組播加入請(qǐng)求將本機(jī)加入到所述組播組中,同時(shí),還需要將各個(gè)網(wǎng)絡(luò)設(shè)備也配置為組播源,以實(shí)現(xiàn)網(wǎng)絡(luò)中各個(gè)網(wǎng)絡(luò)設(shè)備既可以作為所述組播組的組播源發(fā)送組播報(bào)文,也可以作為組播成員接收其他組播源發(fā)送的組播報(bào)文。具體地,可以通過在各個(gè)網(wǎng)絡(luò)設(shè)備中啟動(dòng)標(biāo)準(zhǔn)組播路由協(xié)議來實(shí)現(xiàn),比如:雙向PIM(Protocol IndependentMulticast,協(xié)議無關(guān)組播)協(xié)議。通過組播轉(zhuǎn)發(fā)所述ARP請(qǐng)求報(bào)文,只需要發(fā)送一次就可以到達(dá)網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備,大大減輕了網(wǎng)絡(luò)的負(fù)載。
[0077]在本步驟中,第一網(wǎng)絡(luò)設(shè)備在從本地接收到用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文以后,將所述ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中進(jìn)行轉(zhuǎn)發(fā)。所述組播報(bào)文的源IP地址為本機(jī)IP地址,目的IP地址為組播IP地址。其中,所述用戶設(shè)備包括有用戶主機(jī)、用戶路由器等設(shè)備。
[0078]進(jìn)一步地,所述第一網(wǎng)絡(luò)設(shè)備還會(huì)根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中,以便其在接收到目的MAC地址是所述本地用戶設(shè)備的MAC地址的報(bào)文后,根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的本地端口號(hào)將其轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0079]具體地,請(qǐng)參考圖5所示的組網(wǎng)示意圖,預(yù)先將網(wǎng)絡(luò)設(shè)備A、B和C都加入到一個(gè)組播組中。假定,所述網(wǎng)絡(luò)設(shè)備A為第一網(wǎng)絡(luò)設(shè)備。與網(wǎng)絡(luò)設(shè)備A的本地用戶設(shè)備I想要和網(wǎng)絡(luò)設(shè)備B的本地用戶設(shè)備2通信時(shí),根據(jù)所述用戶設(shè)備2的IP地址,發(fā)送ARP請(qǐng)求,用以獲取用戶設(shè)備2的MAC地址。網(wǎng)絡(luò)設(shè)備A在接收到所述本地用戶設(shè)備I發(fā)送的ARP請(qǐng)求后,將所述ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給網(wǎng)絡(luò)設(shè)備B和C。[0080]步驟402,第二網(wǎng)絡(luò)設(shè)備從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。
[0081]請(qǐng)進(jìn)一步參考圖5,網(wǎng)絡(luò)設(shè)備B和網(wǎng)絡(luò)設(shè)備C均可以為第二網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)設(shè)備B和網(wǎng)絡(luò)設(shè)備C在接收到組播報(bào)文后,進(jìn)行解封裝處理,以得到所述ARP請(qǐng)求報(bào)文。然后可以建立本機(jī)到網(wǎng)絡(luò)設(shè)備A的隧道,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為網(wǎng)絡(luò)設(shè)備A的IP地址。網(wǎng)絡(luò)設(shè)備B和C還會(huì)根據(jù)所述ARP請(qǐng)求報(bào)文,將用戶設(shè)備I的MAC地址和所述本機(jī)到網(wǎng)絡(luò)設(shè)備A的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。以網(wǎng)絡(luò)設(shè)備B為例,其可以根據(jù)所述ARP請(qǐng)求報(bào)文建立到網(wǎng)絡(luò)設(shè)備A的隧道BA,然后記錄用戶設(shè)備I的MAC地址和隧道BA的對(duì)應(yīng)關(guān)系在本機(jī)的MAC轉(zhuǎn)發(fā)表中。
[0082]步驟403,第二網(wǎng)絡(luò)設(shè)備將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
[0083]在本步驟中,網(wǎng)絡(luò)設(shè)備B和C將解封裝后得到的ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。網(wǎng)絡(luò)設(shè)備C的本地用戶設(shè)備3在接收到所述ARP請(qǐng)求報(bào)文后,發(fā)現(xiàn)所述ARP請(qǐng)求報(bào)文攜帶的IP地址不是本機(jī)的IP地址,不進(jìn)行處理。網(wǎng)絡(luò)設(shè)備B的本地用戶設(shè)備2在接收到所述ARP請(qǐng)求報(bào)文后,響應(yīng)所述ARP請(qǐng)求報(bào)文,將本機(jī)的MAC地址攜帶在ARP應(yīng)答報(bào)文中發(fā)送給網(wǎng)絡(luò)設(shè)備B。
[0084]步驟404,第二網(wǎng)絡(luò)設(shè)備接收本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文,在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道。
[0085]步驟405,第二網(wǎng)絡(luò)設(shè)備將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員。
[0086]上述步驟中,用戶設(shè)備2發(fā)送ARP應(yīng)答報(bào)文給網(wǎng)絡(luò)設(shè)備B,網(wǎng)絡(luò)設(shè)備B在接收到該ARP應(yīng)答報(bào)文后,根據(jù)所述ARP應(yīng)答報(bào)文的目的MAC地址在所述MAC轉(zhuǎn)發(fā)表查找到對(duì)應(yīng)的隧道BA,然后將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述隧道BA發(fā)送給網(wǎng)絡(luò)設(shè)備A。
[0087]步驟406,第一網(wǎng)絡(luò)設(shè)備接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。
[0088]本步驟中,網(wǎng)絡(luò)設(shè)備A接收網(wǎng)絡(luò)設(shè)備B通過隧道BA返回的隧道報(bào)文后,從所述隧道報(bào)文中解封裝出用戶設(shè)備2返回的所述ARP應(yīng)答報(bào)文,建立本機(jī)到網(wǎng)絡(luò)設(shè)備B的隧道AB,并將網(wǎng)絡(luò)設(shè)備2的MAC地址和隧道AB的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中。至此,網(wǎng)絡(luò)設(shè)備A和網(wǎng)絡(luò)設(shè)備B之間就建立了雙向隧道。后續(xù),用戶設(shè)備I和用戶設(shè)備2就可以通過網(wǎng)絡(luò)設(shè)備A和網(wǎng)絡(luò)設(shè)備B之間建立的隧道進(jìn)行通信。
[0089]由以上描述可以看出,本發(fā)明網(wǎng)絡(luò)設(shè)備在接收到本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文后,通過將所述ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,也就是轉(zhuǎn)發(fā)給網(wǎng)絡(luò)中加入所述組播組的所有網(wǎng)絡(luò)設(shè)備,以供組播組內(nèi)的其他成員建立其到本機(jī)的隧道。并在接收到組播組成員返回的ARP應(yīng)答報(bào)文后,可以建立本機(jī)到所述組播組成員的隧道,從而實(shí)現(xiàn)按需自動(dòng)建立隧道,減少了網(wǎng)絡(luò)配置的復(fù)雜度。相對(duì)于靜態(tài)配置隧道而言,還節(jié)省了隧道節(jié)點(diǎn)設(shè)備的資源開銷。
[0090]同時(shí),本發(fā)明提供的技術(shù)方案只需要在每個(gè)網(wǎng)絡(luò)設(shè)備上配置一個(gè)組播組即可,不需要單獨(dú)配置目的地址等信息。在網(wǎng)絡(luò)中增加網(wǎng)絡(luò)設(shè)備時(shí),對(duì)于其他已存在的網(wǎng)絡(luò)設(shè)備,不需要新增配置,僅在增加的網(wǎng)絡(luò)設(shè)備上配置組播組即可。
[0091 ] 在第四實(shí)施例中,請(qǐng)參考圖6,本發(fā)明還提供一種實(shí)現(xiàn)上述隧道建立方法的裝置600,所述裝置600包括:
[0092]請(qǐng)求封裝單元601,用于將本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址;
[0093]第一建立單元602,用于接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;
[0094]其中,所述本機(jī)到所述組播組成員的隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址;
[0095]應(yīng)答轉(zhuǎn)發(fā)單元603,用于將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0096]本實(shí)施例裝置具體可以應(yīng)用到網(wǎng)絡(luò)設(shè)備上,例如圖5所示的網(wǎng)絡(luò)設(shè)備,其具體實(shí)現(xiàn)過程可參見上述本發(fā)明方法實(shí)施例的說明,在此不再贅述。
[0097]上述圖6所示的裝置600中,所述第一建立單元602,具體可用于接收組播組成員通過其到本機(jī)的隧道返回的隧道報(bào)文,并從所述隧道報(bào)文中解封裝出所述ARP應(yīng)答報(bào)文。
[0098]此外,上述圖6所示的裝置600中還可以包括:端口記錄單元604,用于根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中;所述應(yīng)答轉(zhuǎn)發(fā)單元603,具體用于根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的本地端口號(hào)將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
[0099]上述圖6所示的裝置600中還可以包括:組播加入單元605,用于將本機(jī)加入所述組播組,并作為組播組的組播源發(fā)送組播報(bào)文。
[0100]在第五實(shí)施例中,請(qǐng)參考圖7。本發(fā)明還提供一種實(shí)現(xiàn)上述隧道建立方法的裝置700,所述裝置700包括:
[0101]第二建立單元701,用于從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址;
[0102]請(qǐng)求轉(zhuǎn)發(fā)單元702,用于將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
[0103]本實(shí)施例裝置具體可以應(yīng)用到網(wǎng)絡(luò)設(shè)備上,例如圖5所示的網(wǎng)絡(luò)設(shè)備,其具體實(shí)現(xiàn)過程可參見上述本發(fā)明方法實(shí)施例的說明,在此不再贅述。
[0104]上述圖7所示的裝置700中還可以包括:
[0105]隧道查找單元703,用于接收本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文,在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道;
[0106]應(yīng)答封裝單元704,用于將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員,以供所述組播組成員建立其到本機(jī)的隧道。
[0107]需要說明的是,圖6和圖7中的裝置可以應(yīng)用到同一個(gè)網(wǎng)絡(luò)設(shè)備上。S卩,該網(wǎng)絡(luò)設(shè)備既可以作為與發(fā)起ARP請(qǐng)求的用戶設(shè)備直連的網(wǎng)絡(luò)設(shè)備,執(zhí)行上述實(shí)施例一中與網(wǎng)絡(luò)中的其它網(wǎng)絡(luò)設(shè)備建立隧道的過程,也可以作為該其它網(wǎng)絡(luò)設(shè)備,執(zhí)行上述實(shí)施例二中接收ARP請(qǐng)求,與該網(wǎng)絡(luò)設(shè)備建立隧道的過程。
[0108]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0109]本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
[0110]上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0111]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種隧道建立方法,其特征在于,所述方法包括: 將本地用戶設(shè)備發(fā)送的地址解析協(xié)議ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的源網(wǎng)絡(luò)間互聯(lián)協(xié)議IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址; 接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的介質(zhì)訪問控制MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中; 其中,所述本機(jī)到所述組播組成員的隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址; 將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收組播組成員返回的ARP應(yīng)答報(bào)文包括: 接收組播組成員通過其到本機(jī)的隧道返回的隧道報(bào)文,并從所述隧道報(bào)文中解封裝出所述ARP應(yīng)答報(bào)文。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中; 所述將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備,具體包括: 根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的本地端口號(hào)將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 將本機(jī)加入所述組播組,并作為組播組的組播源發(fā)送組播報(bào)文。
5.一種隧道建立方法,其特征在于,所述方法包括: 從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址; 將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 接收本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文,在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道; 將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員,以供所述組播組成員建立其到本機(jī)的隧道。
7.—種隧道建立裝置,其特征在于,所述裝置包括: 請(qǐng)求封裝單元,用于將本地用戶設(shè)備發(fā)送的ARP請(qǐng)求報(bào)文封裝在組播報(bào)文中轉(zhuǎn)發(fā)給組播組內(nèi)的其他成員,所述組播報(bào)文的IP地址為本機(jī)IP地址,目的IP地址為預(yù)設(shè)的組播IP地址; 第一建立單元,用于接收組播組成員返回的ARP應(yīng)答報(bào)文后,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP應(yīng)答報(bào)文的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中; 其中,所述本機(jī)到所述組播組成員的隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址; 應(yīng)答轉(zhuǎn)發(fā)單元,用于將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述第一建立單元,具體用于接收組播組成員通過其到本機(jī)的隧道返回的隧道報(bào)文,并從所述隧道報(bào)文中解封裝出所述ARP應(yīng)答報(bào)文。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 端口記錄單元,用于根據(jù)所述ARP請(qǐng)求報(bào)文將所述本地用戶設(shè)備的MAC地址和接收到所述ARP請(qǐng)求報(bào)文的本地端口號(hào)的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中; 所述應(yīng)答轉(zhuǎn)發(fā)單元,具體用于根據(jù)所述MAC轉(zhuǎn)發(fā)表中記錄的本地端口號(hào)將所述ARP應(yīng)答報(bào)文轉(zhuǎn)發(fā)給所述本地用戶設(shè)備。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所裝置還包括: 組播加入單元,用于將本機(jī)加入所述組播組,并作為組播組的組播源發(fā)送組播報(bào)文。
11.一種隧道建立裝置,其特征在于,所述裝置包括: 第二建立單元,用于從組播組成員發(fā)送的組播報(bào)文中解封裝出ARP請(qǐng)求報(bào)文,建立本機(jī)到所述組播組成員的隧道,并將發(fā)送所述ARP請(qǐng)求的用戶設(shè)備的MAC地址和所述本機(jī)到所述組播組成員的隧道的對(duì)應(yīng)關(guān)系記錄在MAC轉(zhuǎn)發(fā)表中,所述隧道的源IP地址為本機(jī)IP地址,目的IP地址為所述組播組成員的IP地址; 請(qǐng)求轉(zhuǎn)發(fā)單元,用于將所述ARP請(qǐng)求報(bào)文轉(zhuǎn)發(fā)給本地用戶設(shè)備。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括: 隧道查找單元,用于接收本地用戶設(shè)備發(fā)送的ARP應(yīng)答報(bào)文,在所述MAC轉(zhuǎn)發(fā)表中查找所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道; 應(yīng)答封裝單元,用于將所述ARP應(yīng)答報(bào)文封裝在隧道報(bào)文中通過所述ARP應(yīng)答報(bào)文的目的MAC地址對(duì)應(yīng)的隧道發(fā)送給所述組播組成員,以供所述組播組成員建立其到本機(jī)的隧道。
【文檔編號(hào)】H04L12/46GK104022936SQ201410282873
【公開日】2014年9月3日 申請(qǐng)日期:2014年6月20日 優(yōu)先權(quán)日:2014年6月20日
【發(fā)明者】楊超 申請(qǐng)人:杭州華三通信技術(shù)有限公司