本發(fā)明涉及通信領(lǐng)域,尤其涉及一種按需獲取路由的方法及網(wǎng)關(guān)。
背景技術(shù):
::在分布式網(wǎng)關(guān)的網(wǎng)絡(luò)架構(gòu)下,局域網(wǎng)(英文:localareanetwork,簡稱:lan)中存在多個網(wǎng)關(guān)。主機(jī)改變其網(wǎng)關(guān)時,主機(jī)的媒體接入控制(英文:mediaaccesscontrol,簡稱:mac)地址和網(wǎng)際協(xié)議(英文:internetprotocol,簡稱:ip)地址不改變。分布式網(wǎng)關(guān)架構(gòu)的報文轉(zhuǎn)發(fā)方式是,無論收發(fā)報文的主機(jī)是否處于同一個廣播域(英文:broadcastdomain,簡稱:bd),發(fā)送方主機(jī)均將報文發(fā)給發(fā)送方主機(jī)的網(wǎng)關(guān),由網(wǎng)關(guān)根據(jù)報文的目的ip地址,將該報文發(fā)送給接收方主機(jī)。接收方主機(jī)可能通過局域網(wǎng)中的另一網(wǎng)關(guān)訪問網(wǎng)絡(luò),因此發(fā)送方主機(jī)的網(wǎng)關(guān)的轉(zhuǎn)發(fā)表中,需要存儲局域網(wǎng)中所有通過其他網(wǎng)關(guān)訪問網(wǎng)絡(luò)的主機(jī)的主機(jī)路由。當(dāng)局域網(wǎng)中存在大量的主機(jī)時,大量主機(jī)路由占用的轉(zhuǎn)發(fā)表的存儲資源多。技術(shù)實現(xiàn)要素:本申請?zhí)峁┝艘环N按需獲取路由的方法及裝置,用于在分布式網(wǎng)關(guān)的網(wǎng)絡(luò)架構(gòu)下,按照實際的報文轉(zhuǎn)發(fā)需求獲取路由,節(jié)約轉(zhuǎn)發(fā)表的存儲資源。第一方面,提供了一種按需獲取路由的方法,所述方法包括:第一網(wǎng)關(guān)接收第一報文,所述第一報文包括第一網(wǎng)際協(xié)議ip地址;所述第一網(wǎng)關(guān)在轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失??;所述第一網(wǎng)關(guān)向至少一個網(wǎng)關(guān)發(fā)送第二報文,所述第二報文攜帶所述第一ip地址,所述第二報文用于指示接收所述第二報文的網(wǎng)關(guān)確定所述第一ip地址標(biāo)識的主機(jī)是否通過所述接收所述第二報文的網(wǎng)關(guān)訪問網(wǎng)絡(luò);所述第一網(wǎng)關(guān)接收來自第二網(wǎng)關(guān)的第三報文,所述第二網(wǎng)關(guān)是所述至少一個網(wǎng)關(guān)中的一個網(wǎng)關(guān),所述第三報文用于指示所述第一ip地址標(biāo)識的主機(jī)通過所述第二網(wǎng)關(guān)訪問網(wǎng)絡(luò);所述第一網(wǎng)關(guān)將所述第二網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳的地址寫入所述轉(zhuǎn)發(fā)表。所述第一網(wǎng)關(guān)不需要預(yù)先存儲第一報文的ip地址的下一跳,而是可以根據(jù)被訪問主機(jī)按需獲取路由。因此,在網(wǎng)絡(luò)中存在大量主機(jī)的情況下,所述第一網(wǎng)關(guān)不需要存儲與所述第一網(wǎng)關(guān)沒有通信需求的主機(jī)的ip地址的下一跳。有利于節(jié)約轉(zhuǎn)發(fā)表的存儲資源??蛇x的,所述第二報文還攜帶第一報文的第一虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni,所述第一網(wǎng)關(guān)向至少一個網(wǎng)關(guān)發(fā)送所述第二報文之前,所述方法還包括:所述第一網(wǎng)關(guān)確定所述第一報文的所述第一vni。舉例來說,所述第一網(wǎng)關(guān)確定所述第一vni具體包括:所述第一網(wǎng)關(guān)確定接收所述第一報文的端口;所述第一網(wǎng)關(guān)根據(jù)所述端口到所述第一vni的映射,確定所述第一vni。所述第一網(wǎng)關(guān)在轉(zhuǎn)發(fā)表中查找所述第一報文中的ip地址的下一跳之前,還包括:所述第一網(wǎng)關(guān)根據(jù)所述第一vni到所述轉(zhuǎn)發(fā)表的映射,確定所述轉(zhuǎn)發(fā)表。可選的,所述方法還包括,所述第一網(wǎng)關(guān)接收來自第三網(wǎng)關(guān)的第四報文,所述第四報文攜帶第二ip地址;所述第一網(wǎng)關(guān)確定能夠獲取到所述第二ip地址標(biāo)識的主機(jī)的mac地址;所述第一網(wǎng)關(guān)向所述第三網(wǎng)關(guān)發(fā)送第五報文,所述第五報文用于指示所述第二ip地址標(biāo)識的主機(jī)通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)。可選的,所述第四報文中還攜帶第二vni,所述第一網(wǎng)關(guān)確定能夠獲取到所述第二ip地址標(biāo)識的主機(jī)的mac地址,包括:所述第一網(wǎng)關(guān)在所述第二vni標(biāo)識的vxlan段中嘗試獲取所述第二ip地址標(biāo)識的主機(jī)的mac地址??蛇x的,所述第一網(wǎng)關(guān)向至少一個網(wǎng)關(guān)發(fā)送第二報文之前,所述方法還包括:所述第一網(wǎng)關(guān)根據(jù)多個vni到多個網(wǎng)關(guān)的映射表確定對應(yīng)于所述vni的所述至少一個網(wǎng)關(guān)。可選的,所述第一報文為數(shù)據(jù)報文,所述第一ip地址為所述第一報文的目的ip地址,所述方法還包括:所述第一網(wǎng)關(guān)為所述第一報文做vxlan封裝以得到第六報文;所述第一網(wǎng)關(guān)發(fā)送所述第六報文;其中,所述第六報文的vxlan首部中的vni字段的值為所述vni;所述第六報文的外層ip首部的目的ip地址為所述第二網(wǎng)關(guān)的ip地址。第二方面,一種網(wǎng)絡(luò)設(shè)備,其特征在于,包括:處理器,存儲器和網(wǎng)絡(luò)接口,所述存儲器用于存儲轉(zhuǎn)發(fā)表,所述處理器用于:通過所述網(wǎng)絡(luò)接口接收第一報文,所述第一報文包括第一網(wǎng)際協(xié)議ip地址;在所述存儲器存儲的所述轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失敗;通過所述網(wǎng)絡(luò)接口向至少一個網(wǎng)關(guān)發(fā)送第二報文,所述第二報文攜帶所述第一ip地址,所述第二報文用于指示接收所述第二報文的網(wǎng)關(guān)確定所述第一ip地址標(biāo)識的主機(jī)是否通過所述接收所述第二報文的網(wǎng)關(guān)訪問網(wǎng)絡(luò);通過所述網(wǎng)絡(luò)接口接收來自第一網(wǎng)關(guān)的第三報文,所述第一網(wǎng)關(guān)是所述至少一個網(wǎng)關(guān)中的一個網(wǎng)關(guān),所述第三報文用于指示所述第一ip地址標(biāo)識的主機(jī)通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò);將所述第一網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳的地址,寫入所述存儲器存儲的所述轉(zhuǎn)發(fā)表。該方面的技術(shù)效果與第一方面相同??蛇x的,所述第二報文還攜帶第一報文的第一虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni,所述處理器還用于,在向至少一個網(wǎng)關(guān)發(fā)送所述第二報文之前,確定所述第一報文的所述第一vni??蛇x的,所述處理器還用于:通過所述網(wǎng)絡(luò)接口接收來自第二網(wǎng)關(guān)的第四報文,所述第四報文攜帶第二ip地址;確定能夠獲取到所述第二ip地址標(biāo)識的主機(jī)的mac地址;通過所述網(wǎng)絡(luò)接口向所述第二網(wǎng)關(guān)發(fā)送第五報文,所述第五報文用于指示所述第二ip地址標(biāo)識的主機(jī)通過所述第一網(wǎng)絡(luò)訪問網(wǎng)絡(luò)??蛇x的,所述第四報文中還攜帶第二vni,所述確定能夠獲取到所述第二ip地址標(biāo)識的主機(jī)的mac地址,具體包括:在所述第二vni標(biāo)識的vxlan段中嘗試獲取所述第二ip地址標(biāo)識的主機(jī)的mac地址。第三方面,提供了一種按需獲取路由的第一網(wǎng)關(guān),包括第一接收單元,存儲單元,查找單元,發(fā)送單元,第二接收單元以及處理單元,其中,所述第一接收單元,用于接收第一報文,所述第一報文包括第一網(wǎng)際協(xié)議ip地址;所述存儲單元,用于存儲轉(zhuǎn)發(fā)表;所述查找單元,用于在所述存儲單元存儲的所述轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳;所述發(fā)送單元,用于在所述存儲單元存儲的所述轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失敗時,在所述查找單元查找所述第一ip地址的下一跳失敗后,用于向至少一個網(wǎng)關(guān)發(fā)送第二報文,所述第二報文攜帶所述第一ip地址,所述第二報文用于指示接收所述第二報文的網(wǎng)關(guān)確定所述第一ip地址標(biāo)識的主機(jī)是否通過所述接收所述第二報文的網(wǎng)關(guān)訪問網(wǎng)絡(luò);所述第二接收單元,用于接收來自第二網(wǎng)關(guān)的第三報文,所述第二網(wǎng)關(guān)是所述至少一個網(wǎng)關(guān)中的一個網(wǎng)關(guān),所述第三報文用于指示所述第一ip地址標(biāo)識的主機(jī)通過所述第二網(wǎng)關(guān)訪問網(wǎng)絡(luò);所述處理單元,用于獲取所述第二接收單元接收的所述第三報文,并根據(jù)所述第三報文將所述第二網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳的地址寫入所述存儲單元存儲的所述轉(zhuǎn)發(fā)表。該方面的技術(shù)效果與第一方面的技術(shù)效果相同??蛇x的,所述第二報文還攜帶第一報文的第一虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni,所述查找單元還用于,在所述發(fā)送單元向至少一個網(wǎng)關(guān)發(fā)送所述第二報文之前:確定所述第一報文的所述第一vni??蛇x的,所述第二接收單元還用于,接收來自第三網(wǎng)關(guān)的第四報文,所述第四報文攜帶第二ip地址;所述查找單元還用于,獲取所述第二接收單元接收的所述第四報文,并確定能夠獲取到所述第四報文攜帶的所述第二ip地址標(biāo)識的主機(jī)的mac地址;所述發(fā)送單元還用于,向所述第三網(wǎng)關(guān)發(fā)送第五報文,所述第五報文用于指示所述第二ip地址標(biāo)識的主機(jī)通過所述第一網(wǎng)絡(luò)訪問網(wǎng)絡(luò)??蛇x的,所述第四報文中還攜帶第二vni,所述查找單元用于確定能夠獲取到所述第二ip地址標(biāo)識的主機(jī)的mac地址,具體包括:在所述第二vni標(biāo)識的vxlan段中嘗試獲取所述第二ip地址標(biāo)識的主機(jī)的mac地址。第四方面,提供了一種計算機(jī)存儲介質(zhì),用于儲存為上述第一網(wǎng)關(guān)所用的計算機(jī)軟件指令,其包含用于執(zhí)行上述方面所設(shè)計的程序??蛇x的,基于所述第一方面,第二方面,第三方面以及第四方面的任一 方面,所述第一報文為地址解析協(xié)議arp報文,所述第一ip地址為所述第一報文的目標(biāo)ip地址,或者,所述第一報文為鄰居發(fā)現(xiàn)協(xié)議ndp報文,所述ip地址為所述第一報文的目標(biāo)地址。第一網(wǎng)關(guān)接收到arp報文或ndp報文時,意味著發(fā)送所述第一報文的主機(jī)可能即將與所述第一ip地址標(biāo)識的主機(jī)通信。第一網(wǎng)關(guān)在接收到所述第一報文時就向其他網(wǎng)關(guān)發(fā)送用于獲取所述第一ip地址的下一跳,有利于在不存儲沒有通信需求的主機(jī)的ip地址的前提下,較早的獲取存在通信需求的主機(jī)的ip地址的下一跳。有利于提高后續(xù)報文轉(zhuǎn)發(fā)的效率。附圖說明為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本申請實施例提供的一種應(yīng)用場景示意圖。圖2為本申請實施例提供的一種按需獲取路由的方法流程圖。圖3為本申請實施例提供的一種按需獲取路由的方法流程圖。圖4為本申請實施例提供的一種第一網(wǎng)關(guān)的結(jié)構(gòu)示意圖。圖5為本申請實施例提供的另一種第一網(wǎng)關(guān)的結(jié)構(gòu)示意圖。具體實施方式本申請實施例描述的應(yīng)用場景是為了更加清楚的說明本申請實施例的技術(shù)方案,并不構(gòu)成對于本申請實施例提供的技術(shù)方案的限定,本領(lǐng)域普通技術(shù)人員可知,隨著網(wǎng)絡(luò)架構(gòu)的演變和新業(yè)務(wù)場景的出現(xiàn),本申請實施例提供的技術(shù)方案對于類似的技術(shù)問題,同樣適用。圖1為本申請實施例提供的一種應(yīng)用場景示意圖。數(shù)據(jù)中心網(wǎng)絡(luò)(英文:datacenternetwork,簡稱:dcn)中包括第一網(wǎng)關(guān)101,第二網(wǎng)關(guān)102以及第三網(wǎng)關(guān)103。主機(jī)106可以通過第一網(wǎng)關(guān)101,第二網(wǎng)關(guān)102或者第三網(wǎng)關(guān)103中的任一網(wǎng)關(guān)訪問所述dcn。同理,主機(jī)107可以通過第一網(wǎng)關(guān)101,第二網(wǎng)關(guān) 102或者第三網(wǎng)關(guān)103中的任一網(wǎng)關(guān)訪問所述dcn。舉例來說,所述主機(jī)可以是個人計算機(jī)(英文:personalcomputer),移動電話(英文:cellphone),智能手機(jī)(英文:smartphone),平板電腦(英文:tabletcomputer),可穿戴設(shè)備(英文:wearabledevice),個人數(shù)碼助理(英文:personaldigitalassistant,簡稱:pda),移動互聯(lián)網(wǎng)設(shè)備(英文:mobileinternetdevice,簡稱:mid)和電子書閱讀器(英文:e-bookreader)等,也可以是虛擬機(jī)(英文:virtualmachine,簡稱:vm)。當(dāng)所述主機(jī)是虛擬機(jī)時,所述虛擬機(jī)可以在服務(wù)器上運行。在某個主機(jī),例如主機(jī)106,通過不同的網(wǎng)關(guān)訪問所述dcn時,所述主機(jī)106的mac地址和ip地址均不改變。例如,主機(jī)106是虛擬機(jī),所述虛擬機(jī)從與第一網(wǎng)關(guān)101連接的服務(wù)器遷移到與第二網(wǎng)關(guān)102連接的服務(wù)器時,所述虛擬機(jī)的mac地址和ip地址均不改變。因此,處于同一個廣播域(英文:broadcastdomain,簡稱:bd)的主機(jī)可能通過不同的網(wǎng)關(guān)訪問網(wǎng)絡(luò)。為了減少廣播報文的數(shù)量,在上述分布式網(wǎng)關(guān)的網(wǎng)絡(luò)架構(gòu)下報文的轉(zhuǎn)發(fā)方式為:主機(jī)106向主機(jī)107發(fā)送報文的過程中,無論主機(jī)106和主機(jī)107是否在同一個廣播域,主機(jī)106均將其網(wǎng)關(guān)的mac地址作為向主機(jī)107發(fā)送的報文的mac地址。例如,主機(jī)106通過第一網(wǎng)關(guān)101訪問所述dcn時,將報文發(fā)送給第一網(wǎng)關(guān)101。第一網(wǎng)關(guān)101接收到報文后,剝掉該報文的以太幀首部(英文:ethernetframeheader),獲取該報文中的目的ip地址,并根據(jù)該報文中的目的ip地址,轉(zhuǎn)發(fā)該報文。在采用上述報文轉(zhuǎn)發(fā)方式時,要使主機(jī)106能夠向主機(jī)107發(fā)送報文,則與主機(jī)106連接的第一網(wǎng)關(guān)101,需要在轉(zhuǎn)發(fā)表中預(yù)先存儲主機(jī)107的主機(jī)路由(英文:hostroute),該主機(jī)路由中包括主機(jī)107的ip地址,以及主機(jī)107的ip地址的下一跳(英文:nexthop)。即,第一網(wǎng)關(guān)101需要預(yù)先存儲所述主機(jī)107當(dāng)前訪問網(wǎng)絡(luò)使用的網(wǎng)關(guān)。例如,在圖1中,第一網(wǎng)關(guān)101需要知道所述主機(jī)107當(dāng)前通過第二網(wǎng)關(guān)102訪問網(wǎng)絡(luò),還是通過第三網(wǎng)關(guān)103訪問網(wǎng)絡(luò)。因此,在主機(jī)107通過第二網(wǎng)關(guān)102訪問網(wǎng)絡(luò)時,所述第二網(wǎng)關(guān)102就需要將所述主機(jī)107的主機(jī)路由公告(英文:advertise)給所述dcn中其他網(wǎng)關(guān),例如公告給第一網(wǎng)關(guān)101和第三網(wǎng)關(guān)103,所述第一網(wǎng)關(guān)101以及 所述第三網(wǎng)關(guān)103存儲主機(jī)107的ip地址的下一跳為所述第二網(wǎng)關(guān)102。下面以所述第一網(wǎng)關(guān)101,第二網(wǎng)關(guān)102以及第三網(wǎng)關(guān)103之間通過虛擬可擴(kuò)展局域網(wǎng)(英文:virtualextensiblelocalareanetwork,簡稱:vxlan)隧道轉(zhuǎn)發(fā)數(shù)據(jù)報文,通過邊際網(wǎng)關(guān)協(xié)議(英文:bordergatewayprotocol,簡稱:bgp)公告主機(jī)路由為例,對于上述報文轉(zhuǎn)發(fā)和主機(jī)路由公告過程進(jìn)行說明。第一網(wǎng)關(guān)101,第二網(wǎng)關(guān)102以及第三網(wǎng)關(guān)103之間通過邊際網(wǎng)關(guān)協(xié)議(英文:bordergatewayprotocol,簡稱:bgp)預(yù)先建立連接,即所述第一網(wǎng)關(guān)101,所述第二網(wǎng)關(guān)102以及第三網(wǎng)關(guān)103之間,兩兩互為bgp鄰居(英文:bgppeer)。主機(jī)107與第二網(wǎng)關(guān)102建立連接時,所述第二網(wǎng)關(guān)102將所述主機(jī)107的主機(jī)路由通過bgp報文公告給所述dcn中的其他網(wǎng)關(guān),例如第一網(wǎng)關(guān)101以及第三網(wǎng)關(guān)103。所述第一網(wǎng)關(guān)101在路由表中保存主機(jī)107的主機(jī)路由,并將所述第二網(wǎng)關(guān)102作為主機(jī)107的下一跳。第一網(wǎng)關(guān)101,第二網(wǎng)關(guān)102以及第三網(wǎng)關(guān)103,均為vxlan隧道終點(英文:vxlantunnelendpoint,簡稱:vtep)。如果主機(jī)106和主機(jī)107屬于不同的廣播域,主機(jī)106要向主機(jī)107發(fā)送數(shù)據(jù)報文,則主機(jī)106將主機(jī)107的ip地址作為該數(shù)據(jù)報文的目的ip地址,將第一網(wǎng)關(guān)的mac地址作為該數(shù)據(jù)報文的目的mac地址,將該數(shù)據(jù)報文發(fā)送給第一網(wǎng)關(guān)101。如果主機(jī)106和主機(jī)107屬于相同的廣播域,主機(jī)106想將主機(jī)107的mac地址作為該數(shù)據(jù)報文的目的mac地址。因此,主機(jī)106在發(fā)送數(shù)據(jù)報文之前,先在所述廣播域中廣播用于請求主機(jī)107的mac地址的第二報文。例如,所述第二報文在網(wǎng)際協(xié)議第四版(英文:internetprotocolversion4,簡稱:ipv4)中可以是地址解析協(xié)議(英文:addressresolutionprotocol,簡稱:arp)請求報文。例如,所述第二報文在網(wǎng)際協(xié)議第六版(英文:internetprotocolversion6,簡稱:ipv6)中可以是互聯(lián)網(wǎng)控制消息協(xié)議(英文:internetcontrolmessageprotocol,簡稱:icmp)中的鄰居發(fā)現(xiàn)協(xié)議(英文:neighbordiscoveryprotocol,簡稱:ndp)報文。所述第一網(wǎng)關(guān)101接收第二報文之后,所述第一網(wǎng)關(guān)101通過代理(英文:proxy)機(jī)制,向所述主機(jī)106發(fā) 送第二報文的應(yīng)答報文,指示主機(jī)106,主機(jī)107的ip地址對應(yīng)的mac地址為第一網(wǎng)關(guān)101的mac地址。主機(jī)106將第一網(wǎng)關(guān)101的mac地址作為所述第一報文的mac地址,將所述第一報文發(fā)送給所述第一網(wǎng)關(guān)101。因此,無論主機(jī)106和主機(jī)107是否屬于相同的廣播域,主機(jī)106向主機(jī)107發(fā)送數(shù)據(jù)報文時,都將第一網(wǎng)關(guān)101的mac地址作為該數(shù)據(jù)報文的mac地址。所述第一網(wǎng)關(guān)101收到該數(shù)據(jù)報文之后,根據(jù)接收該數(shù)據(jù)報文的端口,確定該數(shù)據(jù)報文的vxlan網(wǎng)絡(luò)標(biāo)識(英文:vxlannetworkidentifier,簡稱:vni)。其中,vni也可以稱作vxlan段標(biāo)識(英文:vxlansegmentid)。第一網(wǎng)關(guān)101中存儲了多個vni中每個vni到轉(zhuǎn)發(fā)表的對應(yīng)關(guān)系。第一網(wǎng)關(guān)101根據(jù)所述第一報文的vni確定轉(zhuǎn)發(fā)表。所述轉(zhuǎn)發(fā)表中預(yù)先存儲了第二網(wǎng)關(guān)102通過bgp協(xié)議公告的主機(jī)107的主機(jī)路由,該主機(jī)路由中包括主機(jī)107的地址,以及主機(jī)107的地址對應(yīng)的下一跳為所述第二網(wǎng)關(guān)102。第一網(wǎng)關(guān)101通過vxlan隧道將所述數(shù)據(jù)報文發(fā)送給第二網(wǎng)關(guān)102。即,第一網(wǎng)關(guān)101對該數(shù)據(jù)報文做vxlan封裝。具體包括,第一網(wǎng)關(guān)101在該數(shù)據(jù)報文外層依次封裝vxlan首部(英文:vxlanheader),外層用戶數(shù)據(jù)報(英文:userdatagramprotocol,簡稱:udp)首部(英文:outerudpheader)以及外層ip首部(英文:outeripheader)。其中,vxlan首部中的vni為該數(shù)據(jù)報文的vni,所述外層ip首部中的目的ip地址為第二網(wǎng)關(guān)102的ip地址。其他字段的封裝可參見請求注解(英文:requestforcomments,簡稱:rfc)7348協(xié)議。所述第二網(wǎng)關(guān)102收到經(jīng)過vxlan封裝后的該數(shù)據(jù)報文之后,根據(jù)該報文的vxlan首部中的vni確定轉(zhuǎn)發(fā)表,所述轉(zhuǎn)發(fā)表存儲了所述vxlan段的主機(jī)的ip地址與mac地址的對應(yīng)關(guān)系。所述第二網(wǎng)關(guān)102在所述轉(zhuǎn)發(fā)表中查找到主機(jī)107的mac地址,將該數(shù)據(jù)報文發(fā)送給所述主機(jī)107。上述方案中,第一網(wǎng)關(guān)101需要在轉(zhuǎn)發(fā)表中預(yù)先存儲所有通過其他網(wǎng)關(guān)訪問網(wǎng)絡(luò)的主機(jī)路由。在所述dcn中存在大量主機(jī)時,主機(jī)路由的數(shù)量也十分龐大。其中一些主機(jī)之間可能沒有通信需求,因此一些主機(jī)路由可能是所述第一網(wǎng)關(guān)101不需要的。存儲所述第一網(wǎng)關(guān)101不需要的主機(jī)路由,占用轉(zhuǎn)發(fā)表的存儲資源。本申請實施例提供一種按需獲取路由的方法。用于在分布式網(wǎng)關(guān)的網(wǎng)絡(luò) 架構(gòu)下,按照實際的報文轉(zhuǎn)發(fā)需求獲取路由,節(jié)約轉(zhuǎn)發(fā)表的存儲資源。圖2示出了本申請實施例提供的一種按需獲取路由的方法。舉例來說,所述方法可以應(yīng)用于圖1所示的分布式網(wǎng)關(guān)中。圖2所示的方法中的第一網(wǎng)關(guān),可以采用圖1中所示的第一網(wǎng)關(guān)101。圖2所示的方法中的第二網(wǎng)關(guān),可以采用圖1中所示的第二網(wǎng)關(guān)102。所述方法包括以下步驟。s201,第一網(wǎng)關(guān)接收第一報文,所述第一報文包括第一ip地址。第一ip地址標(biāo)識的主機(jī)不是第一報文的發(fā)送方,例如第一報文來自第一主機(jī),第一ip地址標(biāo)識的主機(jī)為第二主機(jī)。舉例來說,所述第一報文是由圖1所示的主機(jī)106向第一網(wǎng)關(guān)101發(fā)送的報文。在一種可能的示例中,所述第一報文是數(shù)據(jù)報文。所述第一ip地址是第一報文中的目的ip地址(英文:destinationipaddress)。例如,第一報文是主機(jī)106要向主機(jī)107發(fā)送的數(shù)據(jù)報文。所述目的ip地址是主機(jī)107的ip地址。在另一種可能的示例中,所述第一報文為arp報文,所述第一ip地址為所述第一報文的目標(biāo)協(xié)議地址(英文:targetprotocoladdress,簡稱:tpa)。例如,主機(jī)106要根據(jù)ipv4向主機(jī)107發(fā)送數(shù)據(jù)報文。主機(jī)106和主機(jī)107屬于相同的廣播域。主機(jī)106在向主機(jī)107發(fā)送數(shù)據(jù)報文之前,先在廣播arp報文,以獲取主機(jī)107的mac地址。在又一種可能的示例中,所述第一報文為ndp報文,所述第一ip地址為所述第一報文的目標(biāo)地址(英文:targetaddress)。例如,主機(jī)106要根據(jù)ipv6向主機(jī)107發(fā)送數(shù)據(jù)報文。主機(jī)106和主機(jī)107屬于相同的廣播域。主機(jī)106在向主機(jī)107發(fā)送數(shù)據(jù)報文之前,先在發(fā)送ndp報文(例如鄰居懇求(英文:neighborsolicitation)),以獲取主機(jī)107的mac地址。s202,所述第一網(wǎng)關(guān)在轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失敗。本申請中,轉(zhuǎn)發(fā)表中存儲多個ip地址,以及所述多個ip地址中各個ip地址的下一跳。舉例來說,當(dāng)某個主機(jī)通過其他網(wǎng)關(guān)(例如第二網(wǎng)關(guān))訪問網(wǎng)絡(luò)時,轉(zhuǎn)發(fā)表中存儲的ip地址的下一跳,可以包括該網(wǎng)關(guān)(例如第二網(wǎng)關(guān))的ip地址,即轉(zhuǎn)發(fā)表中存儲所述主機(jī)的ip地址到該網(wǎng)關(guān)(例如第二網(wǎng)關(guān)) 的ip地址的映射。舉例來說,當(dāng)某個主機(jī)通過存儲該轉(zhuǎn)發(fā)表的網(wǎng)關(guān)(例如第一網(wǎng)關(guān))訪問網(wǎng)絡(luò),轉(zhuǎn)發(fā)表中存儲的ip地址的下一跳,可以包括該主機(jī)的mac地址,即轉(zhuǎn)發(fā)表中存儲所述主機(jī)的ip地址到所述主機(jī)的mac地址的映射。進(jìn)一步地,轉(zhuǎn)發(fā)表中還可以存儲ip地址的下一跳的出接口標(biāo)識。舉例來說,轉(zhuǎn)發(fā)表可以是路由信息庫(英文:routinginformationbase,簡稱:rib)或者轉(zhuǎn)發(fā)信息庫(英文:forwardinginformationbase,簡稱:fib)??蛇x的,在s201和s202之間,所述第一網(wǎng)關(guān)還執(zhí)行以下步驟:所述第一網(wǎng)關(guān)確定所述第一報文的第一vni。例如,所述第一網(wǎng)關(guān)確定接收所述第一報文的端口;所述第一網(wǎng)關(guān)根據(jù)所述端口與虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni的映射,確定所述第一報文的所述vni;以及所述第一網(wǎng)關(guān)根據(jù)所述vni,確定所述vni的所述轉(zhuǎn)發(fā)表。具體來說,不同vni所標(biāo)識的vxlan段的主機(jī)之間不能互相通信。在第一網(wǎng)關(guān)中,存儲多個轉(zhuǎn)發(fā)表,以及每個vni到轉(zhuǎn)發(fā)表的映射。例如,每個轉(zhuǎn)發(fā)表是一個虛擬路由轉(zhuǎn)發(fā)(英文:virtualroutingandforwarding,簡稱:vrf)實例(英文:instance)。所述第一網(wǎng)關(guān)在轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失敗是指,第一網(wǎng)關(guān)沒有在轉(zhuǎn)發(fā)表中查找到所述第一報文中的ip地址的下一跳。s203,所述第一網(wǎng)關(guān)向至少一個網(wǎng)關(guān)發(fā)送第二報文,所述第二報文攜帶所述第一ip地址,所述第二報文用于指示接收所述第二報文的網(wǎng)關(guān)確定所述第一ip地址標(biāo)識的主機(jī)是否通過所述接收所述第二報文的網(wǎng)關(guān)訪問網(wǎng)絡(luò)。在一種可能的示例中,所述第一網(wǎng)關(guān)可以在多個vni中到多個網(wǎng)關(guān)的映射表中查找具有所述第一報文的所述vni的網(wǎng)關(guān)。該映射表中存儲了所述第一報文的vni到至少一個網(wǎng)關(guān)的映射。所述至少一個網(wǎng)關(guān),是局域網(wǎng)中允許所述vni的主機(jī)連接的網(wǎng)關(guān)。所述第一網(wǎng)關(guān)根據(jù)所述查找的結(jié)果,確定具有所述第一報文的所述vni的所述至少一個網(wǎng)關(guān)。在另一種可能的示例中,所述第一網(wǎng)關(guān)向局域網(wǎng)中所有網(wǎng)關(guān)發(fā)送所述第二報文。舉例來說,所述第一網(wǎng)關(guān)和所述至少一個網(wǎng)關(guān)之間,可以是圖1所述的 bgp鄰居。所述第二報文可以是bgp報文。進(jìn)一步地,所述第二報文可以是bgp中定義的更新(英文:update)報文。所述第一ip地址可以攜帶在update報文中的路徑屬性(英文:pathattribute)字段中。具體為,在構(gòu)成pathattribute字段的類型-長度-取值(英文:type-length-value,簡稱:tlv)中定義一個type,用于標(biāo)識所述第二報文。所述第一ip地址攜帶在value字段中??蛇x的,所述第二報文中還攜帶所述第一報文的vni。例如,所述第一報文的vni和所述第一ip地址均攜帶在上述update報文中的pathattribute字段中??蛇x的,所述第二報文中還攜帶所述第一ip地址的廣播域的標(biāo)識。例如,第一網(wǎng)關(guān)中存儲了多個ip子網(wǎng)網(wǎng)段與廣播域的對應(yīng)關(guān)系。所述第一網(wǎng)關(guān)根據(jù)所述第一ip地址對應(yīng)的廣播域,獲取所述廣播域的標(biāo)識。例如,所述廣播域的標(biāo)識,所述第一報文的vni和所述第一ip地址均攜帶在上述update報文中的pathattribute字段中。s301,第二網(wǎng)關(guān)接收來自第一網(wǎng)關(guān)的所述第二報文。第二網(wǎng)關(guān)確定能夠獲取到所述第二報文中攜帶的所述第一ip地址標(biāo)識的主機(jī)的mac地址。可選的,如果所述第二報文還攜帶所述第一報文的vni,所述第二網(wǎng)關(guān)確定能夠獲取到所述第一ip地址標(biāo)識的主機(jī)的mac地址,具體包括所述第二網(wǎng)關(guān)在所述vni對應(yīng)的vxlan段中確定能夠獲取到所述第一ip地址標(biāo)識的主機(jī)的mac地址。舉例來說,第二網(wǎng)關(guān)獲取所述第二報文中攜帶的所述第一ip地址標(biāo)識的主機(jī)的mac地址,可以包括第二網(wǎng)關(guān)從存儲的多個ip地址與mac地址的映射表中,查找所述第一ip地址對應(yīng)的mac地址。例如,第一ip地址標(biāo)識的主機(jī)是主機(jī)107,所述映射表中存儲第一ip地址對應(yīng)的mac地址是主機(jī)107的mac地址。主機(jī)107在與第二網(wǎng)關(guān)建立連接時,將主機(jī)107的mac地址發(fā)送給第二網(wǎng)關(guān),第二網(wǎng)關(guān)將主機(jī)107的mac地址與ip地址的對應(yīng)關(guān)系保存到所述多個ip地址與mac地址的映射表中。如果所述第二報文還攜帶所述第一報文的vni,所述第二網(wǎng)關(guān)中還存儲所述vni與所述多個ip地址與mac地址的映射表中的對應(yīng)關(guān)系。所述多個ip地址與mac地址的映射表,存儲的是所述vni對應(yīng)的vxlan段中的ip地址與mac地址的映射。舉例來說,第二網(wǎng)關(guān)確定能夠獲取所述第二報文中攜帶的所述第一ip地址標(biāo)識的主機(jī)的mac地址,還可以包括第二網(wǎng)關(guān)向通過第二網(wǎng)關(guān)訪問網(wǎng)絡(luò)的主機(jī)廣播請求報文,所述請求報文用于請求主機(jī)107的mac地址。例如,所述請求報文,如圖1中所述,在ipv4協(xié)議中可以是arp報文,或者在ipv6中可以是ndp報文。第二網(wǎng)關(guān)根據(jù)主機(jī)107對請求報文的回應(yīng),獲取第一ip地址對應(yīng)的mac地址。如果所述第二報文還攜帶所述第一報文的vni,則所述第二網(wǎng)關(guān)在廣播所述請求報文時,根據(jù)所述vni確定廣播所述請求報文的端口,向所述vni對應(yīng)的vxlan段的主機(jī)廣播所述請求報文。如果所述第二報文還攜帶s202中所述廣播域標(biāo)識,則所述第二網(wǎng)關(guān)在廣播所述請求報文時,根據(jù)所述vni以及所述廣播域標(biāo)識,共同確定廣播所述請求報文的端口,向所述vni對應(yīng)的vxlan段中屬于所述廣播域的主機(jī)廣播所述請求報文。s302,所述第二網(wǎng)關(guān)向所述第一網(wǎng)關(guān)發(fā)送第三報文,所述第三報文用于指示所述第二ip地址標(biāo)識的主機(jī)通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)。舉例來說,所述第三報文可以是bgp報文。具體來說,所述第三報文可以采用與所述第二報文相同的報文格式,例如均采用bgp中的update報文。所述第三報文中攜帶的pathattribute字段中的value字段與所述第二報文中的value字段相同,type字段定義一個標(biāo)識,用于標(biāo)識所述第三報文的類型。s204,所述第一網(wǎng)關(guān)接收來自所述第二網(wǎng)關(guān)的所述第三報文,所述第三報文用于指示所述第一ip地址標(biāo)識的主機(jī)通過所述第二網(wǎng)關(guān)訪問網(wǎng)絡(luò)。所述第一網(wǎng)關(guān)將所述第二網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳地址寫入所述轉(zhuǎn)發(fā)表。具體來說,第三報文中攜帶了發(fā)送第三報文的網(wǎng)關(guān)的源地址,所述第一網(wǎng)關(guān)根據(jù)所述第三報文中的源地址,確定所述第二網(wǎng)關(guān)。舉例來說,所述第一報文為數(shù)據(jù)報文,所述方法還包括s205,所述第一網(wǎng)關(guān)為所述第一報文做vxlan封裝以得到封裝后的第一報文;所述第一網(wǎng)關(guān)發(fā)送所述封裝后的第一報文。其中,所述封裝后的第一報文的vxlan首部中的vni字段的值為所述第一報文的所述vni;所述封裝后的第一報文的外層ip首部的目的ip地址為所述第二網(wǎng)關(guān)的ip地址。舉例來說,所述第一報文為主機(jī)106向第一網(wǎng)關(guān)請求所述第一ip地址標(biāo) 識的主機(jī)的mac地址的報文,例如arp報文或ndp報文。所述方法還包括,所述第一網(wǎng)關(guān)將所述第一網(wǎng)關(guān)的mac地址發(fā)送給所述主機(jī)106??蛇x地,第一網(wǎng)關(guān)也可以應(yīng)其他網(wǎng)關(guān)的要求確定某個ip地址(例如第二ip地址)標(biāo)識的主機(jī)是否通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)時,確定該ip地址標(biāo)識的主機(jī)是否通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)。所述第一網(wǎng)關(guān)確定該ip地址標(biāo)識的主機(jī)是否通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)的步驟和上述s301-s302中第二網(wǎng)關(guān)確定第一ip地址標(biāo)識的主機(jī)是否通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)的步驟類似。例如,如果第一網(wǎng)關(guān)接收來自第三網(wǎng)關(guān)的指示第一網(wǎng)關(guān)確定第二ip地址標(biāo)識的主機(jī)是否通過所述第一網(wǎng)關(guān)訪問網(wǎng)絡(luò)的第四報文時,如圖3所示,所述方法進(jìn)一步包括s401,s402以及s403。s401,所述第一網(wǎng)關(guān)接收來自第三網(wǎng)關(guān)的第四報文,所述第四報文攜帶第二ip地址。s402,所述第一網(wǎng)關(guān)獲取所述第二ip地址對應(yīng)的mac地址。s403,所述第一網(wǎng)關(guān)向所述第三網(wǎng)關(guān)發(fā)送第五報文,所述第五報文用于指示所述第三網(wǎng)關(guān)將所述第一網(wǎng)關(guān)的地址作為所述第二ip地址的下一跳的地址。其中,s401和s402中,第一網(wǎng)關(guān)根據(jù)第四報文攜帶的第二ip地址,獲取所述第二ip地址對應(yīng)的mac地址的具體實現(xiàn)方式,可以采用圖2所示的s301中第二網(wǎng)關(guān)根據(jù)所述第二報文攜帶的第一ip地址,獲取所述第一ip地址對應(yīng)的mac地址的具體實現(xiàn)方式。s403中,所述第一網(wǎng)關(guān)向所述第三網(wǎng)關(guān)發(fā)送第五報文的具體實現(xiàn)方式,可以采用圖2所示的s302中第二網(wǎng)關(guān)向所述第一網(wǎng)關(guān)發(fā)送第三報文的具體實現(xiàn)方式。圖4是本申請實施例提供的一種第一網(wǎng)關(guān)的結(jié)構(gòu)示意圖。如圖4所示,第一網(wǎng)關(guān)500包括處理器501,存儲器502以及網(wǎng)絡(luò)接口503。存儲器502用于存儲轉(zhuǎn)發(fā)表。舉例來說,存儲器502包括但不限于內(nèi)容尋址存儲器(英文:content-addressablememory,簡稱:cam),例如三態(tài)內(nèi)容尋址存儲器(英文:ternarycam,簡稱:tcam),隨機(jī)存取存儲器(英文:random-accessmemory,簡稱:ram)。網(wǎng)絡(luò)接口503可以是有線接口,例如光纖分布式數(shù)據(jù)接口(英文:fiberdistributeddatainterface,簡稱:fddi)、以太網(wǎng)(英文:ethernet)接口。網(wǎng)絡(luò)接口503也可以是無線接口,例如無線局域網(wǎng)接口。處理器501包括但不限于中央處理器(英文:centralprocessingunit,簡稱:cpu),網(wǎng)絡(luò)處理器(英文:networkprocessor,簡稱:np),專用集成電路(英文:application-specificintegratedcircuit,簡稱:asic)或者可編程邏輯器件(英文:programmablelogicdevice,縮寫:pld)中的一個或多個。上述pld可以是復(fù)雜可編程邏輯器件(英文:complexprogrammablelogicdevice,縮寫:cpld),現(xiàn)場可編程邏輯門陣列(英文:field-programmablegatearray,縮寫:fpga),通用陣列邏輯(英文:genericarraylogic,縮寫:gal)或其任意組合。存儲器502也可以集成在處理器501中。如果存儲器502和處理器501是相互獨立的器件,存儲器502和處理器501相聯(lián),例如存儲器502和處理器501可以通過總線通信,。網(wǎng)絡(luò)接口503和處理器501可以通過總線通信,網(wǎng)絡(luò)接口503也可以與處理器501直連。處理器501用于執(zhí)行以下操作:通過所述網(wǎng)絡(luò)接口503接收第一報文,所述第一報文包括第一網(wǎng)際協(xié)議ip地址;在所述存儲器502存儲的所述轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失?。煌ㄟ^所述網(wǎng)絡(luò)接口503向至少一個網(wǎng)關(guān)發(fā)送第二報文,所述第二報文攜帶所述第一ip地址,所述第二報文用于指示接收所述第二報文的網(wǎng)關(guān)確定所述第一ip地址標(biāo)識的主機(jī)是否通過所述接收所述第二報文的網(wǎng)關(guān)訪問網(wǎng)絡(luò);通過所述網(wǎng)絡(luò)接口503接收來自第二網(wǎng)關(guān)的第三報文,所述第二網(wǎng)關(guān)是所述至少一個網(wǎng)關(guān)中的一個網(wǎng)關(guān),所述第三報文用于指示所述第一ip地址標(biāo)識的主機(jī)通過所述第二網(wǎng)關(guān)訪問網(wǎng)絡(luò);將所述第二網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳的地址,寫入所述存儲器存儲的所述轉(zhuǎn)發(fā)表。舉例來說,處理器501可以包括np和cpu,所述np和所述cpu通過總線通信。np用于執(zhí)行轉(zhuǎn)發(fā)面的操作,cpu用于執(zhí)行控制面的操作。具體來說,np執(zhí)行通過所述網(wǎng)絡(luò)接口503接收第一報文;以及在所述存儲器 502存儲的所述轉(zhuǎn)發(fā)表中查找所述第一報文中的ip地址的下一跳。np查找所述第一報文中的ip地址的下一跳失敗之后,np將所述ip地址通過總線發(fā)送給cpu。具體來說,np查找下一跳,一種可能的方式是,如果所述存儲器是ram,np可以讀取存儲器中轉(zhuǎn)發(fā)表的信息,查找所述第一ip地址的下一跳;另一種可能的方式是,如果所述存儲器是cam,np將所述第一ip地址發(fā)送給存儲器,指示存儲器在轉(zhuǎn)發(fā)表中查找第一ip地址匹配的表項,所述表項中存儲所述第一ip地址的下一跳,存儲器將查找結(jié)果發(fā)送給np。查找下一跳失敗,可以是指np沒有在轉(zhuǎn)發(fā)表中查找到第一ip地址匹配的表項。查找下一跳失敗,也可以是指存儲器將查找失敗的結(jié)果發(fā)送給np,例如轉(zhuǎn)發(fā)表中存在通用的表項,當(dāng)?shù)谝籭p地址與轉(zhuǎn)發(fā)表中其他表項均不匹配時,存儲器將所述通用的表項作為查找的結(jié)果,發(fā)送給np。cpu生成所述第二報文并通過所述網(wǎng)絡(luò)接口503向至少一個網(wǎng)關(guān)發(fā)送所述第二報文。進(jìn)一步地,cpu通過所述網(wǎng)絡(luò)接口503接收來自第二網(wǎng)關(guān)的第三報文,將所述第二網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳的地址。cpu通過總線將所述第一ip地址以及所述第一ip地址的下一跳地址發(fā)送給np。np將所述第一ip地址以及所述第一ip地址的下一跳地址寫入所述存儲器501存儲的所述轉(zhuǎn)發(fā)表??蛇x的,所述處理器501在所述存儲器502存儲的所述轉(zhuǎn)發(fā)表中查找所述第一報文中的ip地址的下一跳之前,還執(zhí)行以下步驟:確定接收所述第一報文的端口;根據(jù)所述端口到虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni的映射,確定所述vni;以及根據(jù)所述vni到所述轉(zhuǎn)發(fā)表的映射,確定所述轉(zhuǎn)發(fā)表。舉例來說,該步驟可以由np執(zhí)行。np通過總線504向cpu發(fā)送所述ip地址時,還向cpu發(fā)送所述vni??蛇x的,所述第二報文還攜帶所述vni??蛇x的,所述處理器501通過所述網(wǎng)絡(luò)接口503向至少一個網(wǎng)關(guān)發(fā)送第二報文之前,所述處理器501還執(zhí)行:在多個vni中到多個網(wǎng)關(guān)的映射表中查找具有所述vni的網(wǎng)關(guān);根據(jù)所述查找的結(jié)果,確定所述至少一個網(wǎng)關(guān)。舉例來說,該步驟可以由cpu執(zhí)行。所述多個vni中到多個網(wǎng)關(guān)的映射表可以存儲于所述cpu的內(nèi)存中。所述第一報文為數(shù)據(jù)報文,所述第一ip地址為所述第一報文的目的ip地址,所述處理器還執(zhí)行:為所述第一報文做vxlan封裝以得到第三報文;通過所述網(wǎng)絡(luò)接口發(fā)送所述第三報文;其中,所述第三報文的vxlan首部 中的vni字段的值為所述vni;所述第三報文的外層ip首部的目的ip地址為所述第二網(wǎng)關(guān)的ip地址。舉例來說,該步驟可以由np執(zhí)行??蛇x的,所述第一報文為地址解析協(xié)議arp報文,所述第一ip地址為所述第一報文的目標(biāo)ip地址tpa,或者,所述第一報文為鄰居發(fā)現(xiàn)協(xié)議ndp報文,所述ip地址為所述第一報文的目標(biāo)地址targetaddress??蛇x的,所述處理器501還執(zhí)行:通過所述網(wǎng)絡(luò)接口503接收來自第三網(wǎng)關(guān)的第四報文,所述第四報文攜帶第二ip地址;獲取所述第二ip地址對應(yīng)的mac地址;通過所述網(wǎng)絡(luò)接口向所述第三網(wǎng)關(guān)發(fā)送第五報文,所述第五報文用于指示所述第三網(wǎng)關(guān)將所述第一網(wǎng)關(guān)的地址作為所述第二ip地址的下一跳的地址。舉例來說,該步驟可以由cpu執(zhí)行??蛇x的,所述第四報文中還攜帶虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni,所述處理器501獲取所述第二ip地址對應(yīng)的mac地址,具體包括:所述處理器501在所述vni對應(yīng)的vxlan段中獲取所述第二ip地址對應(yīng)的mac地址。舉例來說,該步驟可以由cpu執(zhí)行。本實施例提供的第一網(wǎng)關(guān)500可以應(yīng)用于圖2和圖3實施例的方法中,實現(xiàn)其第一網(wǎng)關(guān)的功能。所述第一網(wǎng)關(guān)可以實現(xiàn)的其他附加功能,以及與其他網(wǎng)關(guān)的交互過程,請參照方法實施例中對第一網(wǎng)關(guān)的描述,在這里不再贅述。圖5是本申請實施例提供的另一種第一網(wǎng)關(guān)的結(jié)構(gòu)示意圖。如圖5所示,第一網(wǎng)關(guān)600包括第一接收單元601,存儲單元602,查找單元603,發(fā)送單元604,第二接收單元605以及處理單元606。所述第一接收單元601,用于接收第一報文,所述第一報文包括第一網(wǎng)際協(xié)議ip地址;所述存儲單元602,用于存儲轉(zhuǎn)發(fā)表;所述查找單元603,用于獲取所述第一接收單元601接收的所述第一報文,并在所述存儲單元602存儲的所述轉(zhuǎn)發(fā)表中查找所述第一ip地址的下一跳失?。凰霭l(fā)送單元604,用于在所述查找單元603查找所述第一ip地址的下一跳失敗后,向至少一個網(wǎng)關(guān)發(fā)送第二報文,所述第二報文攜帶所述第一ip地址,所述第二報文用于指示接收所述第二報文的網(wǎng)關(guān)確定所述第一ip地址 標(biāo)識的主機(jī)是否通過所述接收所述第二報文的網(wǎng)關(guān)訪問網(wǎng)絡(luò);所述第二接收單元605,用于接收來自第二網(wǎng)關(guān)的第三報文,所述第二網(wǎng)關(guān)是所述至少一個網(wǎng)關(guān)中的一個網(wǎng)關(guān),所述第三報文用于指示所述第一ip地址標(biāo)識的主機(jī)通過所述第二網(wǎng)關(guān)訪問網(wǎng)絡(luò);所述處理單元,用于獲取所述第二接收單元接收的所述第三報文,并根據(jù)所述第三報文將所述第二網(wǎng)關(guān)的地址作為所述第一ip地址的下一跳的地址寫入所述存儲單元存儲的所述轉(zhuǎn)發(fā)表??蛇x的,所述第二報文還攜帶第一報文的第一虛擬可擴(kuò)展局域網(wǎng)vxlan網(wǎng)絡(luò)標(biāo)識vni,所述查找單元603還用于,在所述發(fā)送單元向至少一個網(wǎng)關(guān)發(fā)送所述第二報文之前:確定所述第一報文的所述第一vni??蛇x的,所述第一報文為地址解析協(xié)議arp報文,所述第一ip地址為所述第一報文的目標(biāo)ip地址tpa,或者,所述第一報文為鄰居發(fā)現(xiàn)協(xié)議ndp報文,所述ip地址為所述第一報文的目標(biāo)地址targetaddress??蛇x的,所述第二接收單元605還用于,接收來自第三網(wǎng)關(guān)的第四報文,所述第四報文攜帶第二ip地址;所述查找單元603還用于,獲取所述第二接收單元605接收的所述第四報文,并確定能夠獲取到所述第四報文攜帶的所述第二ip地址標(biāo)識的主機(jī)的mac地址;所述發(fā)送單元604還用于,向所述第三網(wǎng)關(guān)發(fā)送第五報文,所述第五報文用于指示所述第二ip地址標(biāo)識的主機(jī)通過所述第一網(wǎng)絡(luò)訪問網(wǎng)絡(luò)。可選的,所述第四報文中還攜帶第二vni,所述查找單元603用于確定能夠獲取到所述第二ip地址標(biāo)識的主機(jī)的mac地址,具體用于:在所述第二vni標(biāo)識的vxlan段中嘗試獲取所述第二ip地址標(biāo)識的主機(jī)的mac地址。圖5所示的第一網(wǎng)關(guān)600與圖4所示的第一網(wǎng)關(guān)500可以是同一個裝置,例如均為圖2和圖3的方法中所述的第一網(wǎng)關(guān)??梢哉J(rèn)為,圖4從物理的角度顯示了第一網(wǎng)關(guān)包括的內(nèi)容,而圖5從邏輯的角度顯示了第一網(wǎng)關(guān)包括的內(nèi)容??蛇x地,圖5所示的第一接收單元601,第二接收單元602以及發(fā)送單元604,可以由圖4所示的網(wǎng)絡(luò)接口503來實現(xiàn),圖5所示的查找單元603以及處理單元606可以由圖4所示的處理器501來實現(xiàn),圖5所示的存儲單元602可以由圖4所示的存儲器602來實現(xiàn)。本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。當(dāng)前第1頁12當(dāng)前第1頁12