国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      抑制地址解析協(xié)議消息的方法與系統(tǒng)、控制器與流程

      文檔序號:11960534閱讀:253來源:國知局
      抑制地址解析協(xié)議消息的方法與系統(tǒng)、控制器與流程

      本發(fā)明涉及通信領(lǐng)域,尤其涉及一種抑制ARP消息的方法和系統(tǒng)、控制器。



      背景技術(shù):

      隨著信息技術(shù)(IT)組織向聚合基礎(chǔ)架構(gòu)和面向服務(wù)的模式轉(zhuǎn)移,人們逐漸發(fā)現(xiàn)目前的數(shù)據(jù)中心網(wǎng)絡(luò)連接體系結(jié)構(gòu)是一個限制因素,基于虛擬局域網(wǎng)(VLAN)的交換模式由來已久,但它們在數(shù)據(jù)中心內(nèi)遭遇了以下難題:

      1、缺乏靈活性:VLAN和交換邊界既不靈活,也不易延展。隨著需求的增減,計算和存儲資源需要在無重大運行開銷的情況下進行分配。

      2、容錯操作效率低:高可用性技術(shù)(例如:VMware Fault Tolerance)在“平展的”第二層網(wǎng)絡(luò)上最為有效,但是創(chuàng)建和管理該體系結(jié)構(gòu)在操作上卻十分困難,尤其是在大規(guī)模操作時更是如此。

      3、VLAN和互聯(lián)網(wǎng)協(xié)議(IP)地址管理的局限性:IP地址的維護和VLAN限制成為數(shù)據(jù)中心擴展的難題,特別是在要求強有力的隔離或處于服務(wù)提供商環(huán)境的時候。

      為了解決上述難題,威睿VMware公司與思科等公司合作,創(chuàng)建了虛擬可擴展局域網(wǎng)(VxLAN)技術(shù)。VxLAN是一種在常用的網(wǎng)絡(luò)和虛擬基礎(chǔ)架構(gòu)的頂層“浮動”虛擬域的方法,通過利用行業(yè)標準的以太網(wǎng)技術(shù),在現(xiàn)有網(wǎng)絡(luò)之上可以創(chuàng)建大量虛擬域,并且它們彼此之間以及與底層網(wǎng)絡(luò)之間完全隔離,很好地解決了大型互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)中VLAN數(shù)量不足以及不能跨越二層邊界的問題。

      在傳統(tǒng)VxLAN實現(xiàn)方式中,VxLAN中的各VxLAN網(wǎng)關(guān)加入到多播組,當源主機與不在同一虛擬局域網(wǎng)(VLAN)的目標主機通信時, 如果目標主機的媒體介質(zhì)訪問地址(MAC)未知,需要源主機通過組播方式向各VxLAN網(wǎng)關(guān)發(fā)送ARP(Address Resolution Protocol,地址解析協(xié)議)請求。

      發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),目前VxLAN技術(shù)至少存在以下問題:

      各VxLAN網(wǎng)關(guān)加入到多播組會有較多的開銷;每次有ARP對話發(fā)生時,廣播會發(fā)送到所有的域,但只有收發(fā)雙方所在域的VxLAN網(wǎng)關(guān)能學習到雙方的MAC,其他域中的主機如需要訪問目標主機還需要重新發(fā)起ARP查詢,這種機制會產(chǎn)生大量的組播和廣播報文,占用大量IP鏈路帶寬。



      技術(shù)實現(xiàn)要素:

      本發(fā)明的目的是提出一種抑制ARP的方法和系統(tǒng)、控制器,利用控制器實現(xiàn)對ARP的代理,從而有效抑制VxLAN隧道上和互通域中各LAN內(nèi)的ARP廣播報文的轉(zhuǎn)發(fā)需求,節(jié)省了VxLAN隧道的帶寬,并提高系統(tǒng)響應(yīng)ARP查詢的效率。

      本發(fā)明實施例提供的一種抑制ARP消息的方法,包括:

      源主機與位于同一VxLAN的同一互通域中的不同虛擬局域網(wǎng)VLAN中的第一目標主機通信時,發(fā)送第一ARP請求消息以查詢第一目標主機的MAC地址;其中,ARP請求消息中攜帶有源主機所在的第一VLAN標識(ID)、源主機的IP地址和MAC地址、以及第一目標主機的IP地址;第一VLAN ID用于標識源主機所在的第一VLAN;

      源VxLAN網(wǎng)關(guān)接收到第一ARP請求消息后,向控制器上報第一ARP請求消息;

      控制器根據(jù)第一ARP請求消息中第一目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有第一目標主機的MAC地址;地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項;

      若地址解析表中存儲有第一目標主機的MAC地址,則向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息,ARP應(yīng)答消息中包括第一目標主機的 MAC地址;

      源VxLAN網(wǎng)關(guān)將第一ARP應(yīng)答消息發(fā)送給源主機。

      基于上述抑制ARP消息的方法的另一實施例中,還包括:

      若地址解析表中未存儲所述第一目標主機的MAC地址,控制器查詢預先設(shè)置的互通域信息,獲取所述互通域中除源VxLAN網(wǎng)關(guān)外其它VxLAN網(wǎng)關(guān)的地址信息,并向所述源VxLAN網(wǎng)關(guān)發(fā)送第一指示消息,所述第一指示消息中包括所述其它VxLAN網(wǎng)關(guān)的地址信息;其中,所述互通域信息中包括所述同一個互通域中所有VxLAN網(wǎng)關(guān)的地址信息;

      所述源VxLAN網(wǎng)關(guān)根據(jù)所述第一指示消息,將所述第一ARP請求消息單播發(fā)送給所述其它VxLAN網(wǎng)關(guān);

      所述其它VxLAN網(wǎng)關(guān)分別將所述第一ARP請求消息中的第一VLAN ID更換為所在第二VLAN的第二VLAN ID,得到第二ARP請求消息并向所轄范圍內(nèi)的主機廣播所述第二ARP請求消息;

      響應(yīng)于接收到所述第一目標主機針對所述第二ARP請求消息發(fā)送的第二ARP應(yīng)答消息,所述其它VxLAN網(wǎng)關(guān)中的目標VxLAN網(wǎng)關(guān)將所述第二ARP應(yīng)答消息上報給所述控制器,并在未查詢到匹配所述源主機的MAC地址的流表項時向所述控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求;所述第二ARP應(yīng)答消息中包括所述第一目標主機的IP地址和MAC地址;

      所述控制器根據(jù)所述第二ARP應(yīng)答消息學習所述第一目標主機的MAC地址,在地址解析表中建立所述第一目標主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項;以及響應(yīng)于所述轉(zhuǎn)發(fā)規(guī)則請求向所述目標VxLAN網(wǎng)關(guān)發(fā)送第二指示消息,所述第二指示消息中包括匹配所述源主機的MAC地址的流表項,匹配所述源主機的MAC地址的流表項具體為接收方為所述源主機的MAC地址的報文的轉(zhuǎn)發(fā)規(guī)則;

      所述目標VxLAN網(wǎng)關(guān)根據(jù)所述第二指示消息,將所述第二ARP應(yīng)答消息單播發(fā)送給所述源VxLAN網(wǎng)關(guān);

      所述源VxLAN網(wǎng)關(guān)將所述第二ARP應(yīng)答消息轉(zhuǎn)發(fā)給所述源主機。

      基于上述抑制ARP消息的方法的另一實施例中,還包括:

      所述目標VxLAN網(wǎng)關(guān)接收到所述第二指示消息后,保存匹配所述 源主機的MAC地址的流表項。

      基于上述抑制ARP消息的方法的另一實施例中,還包括:

      目標VxLAN網(wǎng)關(guān)接收到所述第二ARP應(yīng)答消息時,查詢是否存儲有匹配所述源主機的MAC地址的流表項;

      若存儲有匹配所述源主機的MAC地址的流表項,根據(jù)匹配所述源主機的MAC地址的流表項,將所述第二ARP應(yīng)答消息單播發(fā)送給所述源VxLAN網(wǎng)關(guān);

      否則,若未存儲匹配所述源主機的MAC地址的流表項,執(zhí)行所述向所述控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求的操作。

      基于上述抑制ARP消息的方法的另一實施例中,還包括:

      所述控制器接收到所述第一ARP請求消息后,查詢地址解析表中是否存儲所述源主機的MAC地址;

      若未存儲所述源主機的MAC地址,學習所述源主機的MAC地址,在地址解析表中建立所述源主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      基于上述抑制ARP消息的方法的另一實施例中,還包括:

      源主機與位于同一VLAN中的第二目標主機通信時,源主機在第一VLAN中廣播第一ARP請求消息;

      第二目標主機接收到第一ARP請求消息后,向源主機發(fā)送第三ARP應(yīng)答消息。

      基于上述抑制ARP消息的方法的另一實施例中,控制器具體為軟件定義網(wǎng)絡(luò)SDN控制器。

      源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)具體通過開放流(OpenFlow)協(xié)議的Packet_In報文向SDN控制器發(fā)送上行消息;

      SDN控制器具體通過OpenFlow協(xié)議的Packet_Out報文或Flow_Mod報文向源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)發(fā)送下行消息。

      本發(fā)明實施例還提供一種抑制ARP消息的系統(tǒng),包括:源主機,用于與位于同一VxLAN的同一互通域內(nèi)的不同VLAN中的第一目標主機通信時,發(fā)送第一ARP請求消息以查詢第一目標主機的MAC地址;其 中,第一ARP請求消息中攜帶有源主機所在的第一VLAN ID、源主機的IP地址和MAC地址、以及第一目標主機的IP地址;第一VLAN ID用于標識源主機所在的第一VLAN;

      源VxLAN網(wǎng)關(guān),用于接收到源主機發(fā)送的第一ARP請求消息后,向控制器上報第一ARP請求消息;以及接收控制器發(fā)送的第一ARP應(yīng)答消息,并發(fā)送給源主機;

      控制器,用于根據(jù)源VxLAN網(wǎng)關(guān)發(fā)送的第一ARP請求消息中第一目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有第一目標主機的MAC地址;地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項;若地址解析表中存儲有第一目標主機的MAC地址,則向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息,ARP應(yīng)答消息中包括第一目標主機的MAC地址。

      基于上述抑制ARP消息的系統(tǒng)的另一實施例中,還包括第一目標主機和其他VxLAN網(wǎng)關(guān),其他VxLAN網(wǎng)關(guān)中包括目標VxLAN網(wǎng)關(guān);

      所述控制器,還用于在地址解析表中未存儲所述第一目標主機的MAC地址時,查詢預先設(shè)置的互通域信息,獲取所述互通域中除源VxLAN網(wǎng)關(guān)外其它VxLAN網(wǎng)關(guān)的地址信息,并向所述源VxLAN網(wǎng)關(guān)發(fā)送第一指示消息,所述第一指示消息中包括所述其它VxLAN網(wǎng)關(guān)的地址信息;所述互通域信息中包括所述同一個互通域中所有VxLAN網(wǎng)關(guān)的地址信息;以及接收其它VxLAN網(wǎng)關(guān)中的目標VxLAN網(wǎng)關(guān)上報的第二ARP應(yīng)答消息,根據(jù)所述第二ARP應(yīng)答消息學習所述第一目標主機的MAC地址,在地址解析表中建立所述第一目標主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項;以及響應(yīng)于所述轉(zhuǎn)發(fā)規(guī)則請求向所述目標VxLAN網(wǎng)關(guān)發(fā)送第二指示消息,所述第二指示消息中包括匹配所述源主機的MAC地址的流表項,匹配所述源主機的MAC地址的流表項具體為接收方為所述源主機的MAC地址的報文的轉(zhuǎn)發(fā)規(guī)則;

      所述源VxLAN網(wǎng)關(guān),還用于根據(jù)所述控制器發(fā)送的所述第一指示消息,將所述第一ARP請求消息單播發(fā)送給所述其它VxLAN網(wǎng)關(guān);以及將所述目標VxLAN網(wǎng)關(guān)發(fā)送的所述第二ARP應(yīng)答消息轉(zhuǎn)發(fā)給所述源 主機;

      所述其它VxLAN網(wǎng)關(guān),分別用于將所述源VxLAN網(wǎng)關(guān)發(fā)送的所述第一ARP請求消息中的第一VLAN ID更換為所在第二VLAN的第二VLAN ID,得到第二ARP請求消息并向所轄范圍內(nèi)的主機廣播所述第二ARP請求消息;

      所述其它VxLAN網(wǎng)關(guān)中的目標VxLAN網(wǎng)關(guān),用于響應(yīng)于接收到所述第一目標主機針對所述第二ARP請求消息發(fā)送的第二ARP應(yīng)答消息,將所述第二ARP應(yīng)答消息上報給所述控制器,并在未查詢到匹配所述源主機的MAC地址的流表項時向所述控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求;所述第二ARP應(yīng)答消息中包括所述第一目標主機的IP地址和MAC地址;以及根據(jù)所述控制器發(fā)送的所述第二指示消息,將所述第二ARP應(yīng)答消息單播發(fā)送給所述源VxLAN網(wǎng)關(guān)。

      基于上述抑制ARP消息的系統(tǒng)的另一實施例中,所述目標VxLAN網(wǎng)關(guān),還用于在接收到所述第二指示消息后,保存匹配所述源主機的MAC地址的流表項。

      基于上述抑制ARP消息的系統(tǒng)的另一實施例中,所述目標VxLAN網(wǎng)關(guān),還用于:

      在接收到所述第二ARP應(yīng)答消息時,查詢是否存儲有匹配所述源主機的MAC地址的流表項;

      若存儲有匹配所述源主機的MAC地址的流表項,根據(jù)匹配所述源主機的MAC地址的流表項,將所述第二ARP應(yīng)答消息單播發(fā)送給所述源VxLAN網(wǎng)關(guān);

      否則,若未查詢到匹配所述源主機的MAC地址的流表項,執(zhí)行所述向所述控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求的操作。

      基于上述抑制ARP消息的系統(tǒng)的另一實施例中,所述控制器,還用于在接收到所述第一ARP請求消息后,查詢地址解析表中是否存儲所述源主機的MAC地址;若未存儲所述源主機的MAC地址,學習所述源主機的MAC地址,在地址解析表中建立所述源主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      基于上述抑制ARP消息的系統(tǒng)的另一實施例中,還包括第二目標主機,第二目標主機與源主機位于同一VLAN中;

      源主機,還用于與第二目標主機通信時,在第一VLAN中廣播第一ARP請求消息;

      第二目標主機,還用于在接收到源主機發(fā)送的第一ARP請求消息后,向源主機發(fā)送第三ARP應(yīng)答消息。

      基于上述抑制ARP消息的系統(tǒng)的另一實施例中,控制器具體為軟件定義網(wǎng)絡(luò)SDN控制器。

      源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)具體通過OpenFlow協(xié)議的Packet_In報文向SDN控制器發(fā)送上行消息;

      SDN控制器具體通過OpenFlow協(xié)議的Packet_Out報文或Flow_Mod報文向源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)發(fā)送下行消息。

      本發(fā)明實施例還提供一種控制器,包括:

      接收單元,用于接收源VxLAN網(wǎng)關(guān)發(fā)送的第一ARP請求消息,所述第一ARP請求消息中攜帶有所述源主機所在的第一VLAN ID、所述源主機的IP地址和MAC地址、以及第一目標主機的IP地址;所述第一VLAN ID用于標識所述源主機所在的第一VLAN;所述源主機與所述第一目標主機位于同一VxLAN的同一互通域中的不同VLAN中;

      查詢單元,根據(jù)第一ARP請求消息中第一目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有第一目標主機的MAC地址;地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項;

      存儲單元,用于存儲地址解析表;

      發(fā)送單元,若地址解析表中存儲有第一目標主機的MAC地址,則向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息,ARP應(yīng)答消息中包括第一目標主機的MAC地址。

      基于上述控制器的另一實施例中,存儲單元還用于存儲互通域信息;,互通域信息中包括同一個互通域中所有VxLAN網(wǎng)關(guān)的地址信息;

      所述查詢單元,還用于在地址解析表中未存儲所述第一目標主機的MAC地址時,查詢預先設(shè)置的互通域信息,獲取所述VxLAN中源主機 所屬互通域中除源VxLAN網(wǎng)關(guān)外其它VxLAN網(wǎng)關(guān)的地址信息;

      所述發(fā)送單元,還用于向所述源VxLAN網(wǎng)關(guān)發(fā)送第一指示消息,所述第一指示消息中包括所述其它VxLAN網(wǎng)關(guān)的地址信息;以及響應(yīng)于目標VxLAN網(wǎng)關(guān)發(fā)送的轉(zhuǎn)發(fā)規(guī)則請求向所述目標VxLAN網(wǎng)關(guān)發(fā)送第二指示消息,所述第二指示消息中包括匹配所述源主機的MAC地址的流表項,匹配所述源主機的MAC地址的流表項具體為接收方為所述源主機的MAC地址的報文的轉(zhuǎn)發(fā)規(guī)則;

      所述接收單元,還用于接收所述目標VxLAN網(wǎng)關(guān)發(fā)送的所述第二ARP應(yīng)答消息;所述第二ARP應(yīng)答消息中包括所述第一目標主機的IP地址和MAC地址;

      所述控制器還包括學習單元,用于根據(jù)所述第二ARP應(yīng)答消息學習所述第一目標主機的MAC地址,在地址解析表中建立所述第一目標主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      基于上述控制器的另一實施例中,所述查詢單元,還用于查詢地址解析表中是否存儲所述源主機的MAC地址;

      所述學習單元,還用于根據(jù)所述查詢單元的查詢結(jié)果,在未存儲所述源主機的MAC地址時,學習所述源主機的MAC地址,在地址解析表中建立所述源主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      本發(fā)明實施例提出的上述抑制ARP消息的方法和系統(tǒng)、控制器,當源主機需要與目標主機通信時,源主機發(fā)送ARP請求消息,控制器根據(jù)ARP請求消息中目標主機的IP地址,查詢預先學習得到的地址解析表中是否存儲有目標主機的MAC地址,若已存儲目標主機的MAC地址,控制器可直接響應(yīng)源主機的ARP請求消息,無需源主機通過組播方式發(fā)送ARP請求消息,實現(xiàn)了控制器對ARP請求消息的代理,從而有效抑制了VxLAN隧道上和互通域中各VLAN內(nèi)的ARP廣播報文的轉(zhuǎn)發(fā),節(jié)省了VxLAN隧道的帶寬,并提高了系統(tǒng)響應(yīng)ARP查詢的效率。

      附圖說明

      構(gòu)成說明書的一部分的附圖描述了本發(fā)明的實施例,并且連同描述 一起用于解釋本發(fā)明的原理。

      參照附圖,根據(jù)下面的詳細描述,可以更加清楚地理解本發(fā)明,其中:

      圖1為本發(fā)明抑制ARP消息的方法一個實施例的流程示意圖。

      圖2為本發(fā)明抑制ARP消息的方法另一個實施例的流程示意圖。

      圖3為本發(fā)明抑制ARP消息的方法一個應(yīng)用實施例的流程示意圖。

      圖4為本發(fā)明抑制ARP消息的系統(tǒng)一個實施例的結(jié)構(gòu)示意圖。

      圖5為本發(fā)明抑制ARP消息的系統(tǒng)另一個實施例的結(jié)構(gòu)示意圖。

      圖6為本發(fā)明抑制ARP消息的系統(tǒng)又一個實施例的結(jié)構(gòu)示意圖。

      圖7為本發(fā)明控制器一個實施例的結(jié)構(gòu)示意圖。

      圖8為本發(fā)明控制器另一個實施例的結(jié)構(gòu)示意圖。

      具體實施方式

      現(xiàn)在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應(yīng)注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。

      同時,應(yīng)當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關(guān)系繪制的。

      以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應(yīng)用或使用的任何限制。

      對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細討論,但在適當情況下,所述技術(shù)、方法和設(shè)備應(yīng)當被視為說明書的一部分。

      在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。

      應(yīng)注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。

      ARP是將IP地址解析為以太網(wǎng)MAC地址(或稱物理地址)的協(xié)議。在局域網(wǎng)中,當主機或其它網(wǎng)絡(luò)設(shè)備有數(shù)據(jù)要發(fā)送給另一個主機或設(shè)備時,它必須知道對方的網(wǎng)絡(luò)層地址(即IP地址)。但是僅僅有IP地址是不夠的,因為IP數(shù)據(jù)報文必須封裝成幀才能通過物理網(wǎng)絡(luò)發(fā)送,因此發(fā)送站還必須有接收站的物理地址,所以需要一個從IP地址到物理地址的映射,APR就是實現(xiàn)這個功能的協(xié)議。

      圖1為本發(fā)明抑制ARP消息的方法一個實施例的流程示意圖。如圖1所示,該實施例的抑制ARP消息的方法包括:

      101,源主機與位于同一VxLAN的同一互通域中的VLAN中的第一目標主機通信時,發(fā)送第一ARP請求消息以查詢第一目標主機的MAC地址。

      其中,第一ARP請求消息中攜帶有源主機所在的第一VLAN ID、源主機的IP地址和MAC地址、以及第一目標主機的IP地址;第一VLANID用于標識源主機所在的第一VLAN。

      102,源VxLAN網(wǎng)關(guān)接收到第一ARP請求消息后,向控制器上報第一ARP請求消息。

      103,控制器根據(jù)第一ARP請求消息中第一目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有第一目標主機的MAC地址。

      其中,地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項。

      104,若地址解析表中存儲有第一目標主機的MAC地址,控制器向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息。

      其中,第一ARP應(yīng)答消息中包括第一目標主機的IP地址在地址解析表中對應(yīng)的第一目標主機的MAC地址。

      105,源VxLAN網(wǎng)關(guān)將第一ARP應(yīng)答消息發(fā)送給源主機。

      本發(fā)明實施例提出的上述抑制ARP消息的方法,當源主機需要與目標主機通信時,源主機向控制器發(fā)送ARP請求消息,控制器根據(jù)ARP請求消息中目標主機的IP地址,查詢預先學習得到的地址解析表中是否存儲有目標主機的MAC地址,若已存儲目標主機的MAC地址,控制器可直接響應(yīng)源主機的ARP請求消息,無需源主機通過組播方式發(fā)送ARP請 求,實現(xiàn)了控制器對ARP請求的代理,從而有效抑制了VxLAN隧道上和互通域中各LAN內(nèi)的ARP廣播報文的轉(zhuǎn)發(fā),節(jié)省了VxLAN隧道的帶寬,并提高了系統(tǒng)響應(yīng)ARP查詢的效率。

      圖2為本發(fā)明抑制ARP消息的方法另一個實施例的流程示意圖。如圖2所示,該實施例的抑制ARP消息的方法包括:

      201,源主機與位于同一VxLAN的同一互通域的不同VLAN中的第一目標主機通信時,發(fā)送第一ARP請求消息以查詢第一目標主機的MAC地址。

      202,源VxLAN網(wǎng)關(guān)接收到第一ARP請求消息后,向控制器上報第一ARP請求消息。

      203,控制器根據(jù)第一ARP請求消息中第一目標主機的IP地址,查詢預先學習得到的地址解析表中是否存儲有第一目標主機的MAC地址。

      其中的地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項。

      若地址解析表中存儲有第一目標主機的MAC地址,則執(zhí)行步驟204,否則執(zhí)行步驟206。

      204,控制器向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息,該ARP應(yīng)答消息中包括第一目標主機的MAC地址。

      其中,第一目標主機的MAC地址為第一目標主機的IP地址在地址解析表中對應(yīng)的MAC地址。

      205,源VxLAN網(wǎng)關(guān)將第一ARP應(yīng)答消息發(fā)送給源主機。

      之后,不執(zhí)行本實施例的后續(xù)流程。

      206,控制器查詢預先設(shè)置的互通域信息,獲取上述互通域中除源VxLAN網(wǎng)關(guān)外其它VxLAN網(wǎng)關(guān)的地址信息,并向源VxLAN網(wǎng)關(guān)發(fā)送第一指示消息。

      其中,第一指示消息中包括獲取到的上述互通域中其它VxLAN網(wǎng)關(guān)的地址信息;互通域信息中包括同一個互通域中所有VxLAN網(wǎng)關(guān)的地址信息。

      互通域是VxLAN技術(shù)中的術(shù)語,VxLAN主要是實現(xiàn)二層網(wǎng)絡(luò)跨三層網(wǎng)絡(luò)連通,一個互通域就是一個二層連通的區(qū)域,盡管這個區(qū)域可能 事實上已經(jīng)通過VxLAN實現(xiàn)了跨廣域網(wǎng)的連接。互通域一個典型的使用方式是:企業(yè)的所有分支機構(gòu)都在1個互通域中,各分支機構(gòu)的主機都可以認為自己與其他所有主機在同一個局域網(wǎng)內(nèi)。

      207,源VxLAN網(wǎng)關(guān)根據(jù)第一指示消息,將第一ARP請求消息單播發(fā)送給其它VxLAN網(wǎng)關(guān)。

      208,其它VxLAN網(wǎng)關(guān)分別將第一ARP請求消息中的第一VLAN ID更換為所在第二VLAN的第二VLAN ID,得到第二ARP請求消息并向所轄范圍內(nèi)的主機廣播第二ARP請求消息。

      209,響應(yīng)于接收到第一目標主機針對第二ARP請求消息發(fā)送的第二ARP應(yīng)答消息,其它VxLAN網(wǎng)關(guān)中的目標VxLAN網(wǎng)關(guān)查詢匹配所述源主機的MAC地址的流表項,并判斷查詢是否查詢到匹配源主機的MAC地址的流表項。

      若查詢到匹配源主機的MAC地址的流表項,執(zhí)行步驟210。否則,若未查詢到匹配源主機的MAC地址的流表項,執(zhí)行步驟211。

      210,目標VxLAN網(wǎng)關(guān)將第二ARP應(yīng)答消息上報給控制器,之后,執(zhí)行步驟212中控制器學習第一目標主機的MAC地址的操作;以及根據(jù)匹配源主機的MAC地址的轉(zhuǎn)發(fā)流表項,將第二ARP應(yīng)答消息單播發(fā)送給源VxLAN網(wǎng)關(guān),之后,執(zhí)行步驟214。

      其中,第二ARP應(yīng)答消息中包括第一目標主機的IP地址和MAC地址。

      211,目標VxLAN網(wǎng)關(guān)將第二ARP應(yīng)答消息上報給控制器,同時向控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求。

      其中,第二ARP應(yīng)答消息中包括第一目標主機的IP地址和MAC地址。

      212,控制器接收到第二ARP應(yīng)答消息時,根據(jù)該第二ARP應(yīng)答消息學習第一目標主機的MAC地址,在地址解析表中建立第一目標主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項;以及響應(yīng)于接收到轉(zhuǎn)發(fā)規(guī)則請求,向目標VxLAN網(wǎng)關(guān)發(fā)送第二指示消息。

      其中,第二指示消息中包括匹配源主機的MAC地址的流表項,該 匹配源主機的MAC地址的流表項具體為接收方為源主機的MAC地址的報文的轉(zhuǎn)發(fā)規(guī)則。例如,匹配源主機的MAC地址的流表項是:對來自目標VxLAN網(wǎng)關(guān)所在的第二VLAN且目標MAC地址是源主機MAC地址的報文,進行VxLAN封裝、打上所屬互通域的VxLAN網(wǎng)絡(luò)標識(VNI)并發(fā)送到源VxLAN網(wǎng)關(guān)。

      213,目標VxLAN網(wǎng)關(guān)根據(jù)第二指示消息中匹配源主機的MAC地址的流表項,將第二ARP應(yīng)答消息單播發(fā)送給源VxLAN網(wǎng)關(guān)。

      另外,目標VxLAN網(wǎng)關(guān)接收到第二指示消息后,還可以保存其中匹配源主機的MAC地址的流表項。

      214,源VxLAN網(wǎng)關(guān)將第二ARP應(yīng)答消息轉(zhuǎn)發(fā)給源主機。

      本發(fā)明實施例提出的上述抑制ARP消息的方法,源VxLAN網(wǎng)關(guān)將ARP請求信息以IP單播報文形式發(fā)送給互通域中其他VxLAN網(wǎng)關(guān),通過控制器將傳統(tǒng)VxLAN網(wǎng)關(guān)的組播方式轉(zhuǎn)換為多點單播方式,節(jié)省了VxLAN網(wǎng)關(guān)加入組播組的開銷。同時,通過控制器對ARP進行學習和代理,只要有ARP查詢過,后續(xù)查詢均不再需要發(fā)送廣播ARP報文,通過控制器對VxLAN的流程進行優(yōu)化,可以有效抑制廣播ARP報文,并提高網(wǎng)絡(luò)的響應(yīng)速度。

      另外,在本發(fā)明各實施例抑制ARP消息的方法中,控制器接收到第一ARP請求消息后,還可以查詢地址解析表中是否存儲所述源主機的MAC地址;若未存儲源主機的MAC地址,則學習源主機的MAC地址,根據(jù)第一ARP請求消息在地址解析表中建立該源主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      基于本發(fā)明上述任一抑制ARP消息的方法的又一實施例中,還包括:

      源主機與位于同一VLAN中的第二目標主機通信時,源主機在第一VLAN中廣播第一ARP請求消息。

      第二目標主機接收到第一ARP請求消息后,向源主機發(fā)送第三ARP應(yīng)答消息。

      該實施例是標準的ARP響應(yīng)機制:一方主機查詢,同VLAN中的另一方主機收到之后響應(yīng)。對VxLAN網(wǎng)關(guān)來講,這兩臺主機是在同一 個VLAN里面,不需要VxLAN網(wǎng)關(guān)來代理,它們自己就能完成ARP查詢的過程。

      在本發(fā)明上述各抑制ARP消息的方法實施例的一個具體示例中,上述控制器具體為SDN(軟件定義網(wǎng)絡(luò))控制器。

      在本發(fā)明上述各抑制ARP消息的方法實施例的另一個具體示例中,源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)具體可以通過OpenFlow協(xié)議的Packet_In報文向SDN控制器發(fā)送上行消息。

      在本發(fā)明上述各抑制ARP消息的方法實施例的又一個具體示例中,SDN控制器具體可以通過OpenFlow協(xié)議的Packet_Out報文或Flow_Mod報文向源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)發(fā)送下行消息。

      本領(lǐng)域技術(shù)人員可以知悉,Packet_In、Packet_Out報文是SDN技術(shù)使用的OpenFlow協(xié)議定義的報文格式,用于在SDN框架內(nèi)的控制器和交換機的通信,本發(fā)明實施例應(yīng)用OpenFlow協(xié)議的Packet_In、Packet_Out報文進行ARP消息的發(fā)送,不對OpenFlow協(xié)議進行詳細說明。

      在本發(fā)明的實施例中,Packet_In報文包含SDN交換機不知道如何轉(zhuǎn)發(fā)的ARP請求消息;而SDN控制器下發(fā)的Packet_Out報文中除包含該ARP請求消息之外,還會指示SDN交換機如何處理該ARP請求消息。

      圖3為本發(fā)明抑制ARP消息的方法一個應(yīng)用實施例的流程示意圖,如圖3所示,該實施例中的設(shè)備有:1臺SDN控制器,同一互通域中的3臺SDN VxLAN交換機(也可稱為:VxLAN網(wǎng)關(guān)):GW1、GW2和GW3,3臺主機:HOST A、HOST B和HOST C。其中,所有SDN VxLAN交換機通過IP連接到SDN控制器,每臺SDN VxLAN交換機局域網(wǎng)(LAN)口連接1臺主機;3臺SDN VxLAN交換機的IP接口以及SDN控制器配置公網(wǎng)IP地址并互通,3臺主機配置同網(wǎng)段私網(wǎng)IP地址。同時,SDN控制器上預先設(shè)置了VxLAN交換機的互通域。

      在上述組網(wǎng)中,一個互通域包含3個局域網(wǎng),每個局域網(wǎng)內(nèi)有1臺主機、并通過1臺VxLAN交換機實現(xiàn)與其他VxLAN交換機的互通。這3臺主機雖然分處3個局域網(wǎng)內(nèi),但因為VxLAN實現(xiàn)了跨IP網(wǎng)的二 層連通,所以它們實際上是處在同一個二層廣播域中,所以,它們需要配置同網(wǎng)段的IP地址,這樣不需要路由器轉(zhuǎn)發(fā)就可以實現(xiàn)互通。

      另外,在該實施例中并不要求3臺主機必須配置私網(wǎng)IP,只是配置私網(wǎng)IP不易與VxLAN網(wǎng)關(guān)的廣域網(wǎng)(WAN)口混淆。

      如圖3所示,該實施例的抑制ARP消息的方法包括:

      301,第一VLAN中的HOST A與第三VLAN中的HOST C通信時,發(fā)送第一ARP請求消息以查詢HOST C的MAC地址。

      其中,第一ARP請求消息中攜帶有HOST A所在的第一VLANID、HOST A的IP地址和MAC地址、以及HOST C的IP地址;第一VLANID用于標識HOST A所在的第一VLAN。

      302,VxLAN GW1接收到第一ARP請求消息后,通過Packet_In報文向SDN控制器上報第一ARP請求消息。

      303,SDN控制器查詢查詢互通域中所有VxLAN GW,獲取VxLAN中除GW1外其它VxLAN GW的地址信息,并通過Packet_Out報文向GW1發(fā)送第一指示消息。

      其中,第一指示消息中包括上述互通域中其它VxLAN網(wǎng)關(guān)(即:VxLAN GW2和VxLAN GW3)的地址信息。

      304,VxLAN GW1根據(jù)第一指示消息,將第一ARP請求消息單播發(fā)送給其它VxLAN網(wǎng)關(guān)。

      305,其它VxLAN網(wǎng)關(guān)中的VxLAN GW2和VxLAN GW3分別將第一ARP請求消息中的第一VLAN ID更換為所在第二VLAN的第二VLAN ID和第三VLAN的第三VLAN ID,得到第二ARP請求消息并向所轄范圍內(nèi)的主機廣播第二ARP請求消息。

      306,HOST C接收第二ARP請求消息,并向VxLAN GW3發(fā)送第一ARP應(yīng)答消息

      307,響應(yīng)于接收到HOST C針對第二ARP請求消息發(fā)送的第二ARP應(yīng)答消息,其它VxLAN網(wǎng)關(guān)中的VxLAN GW3通過Packet_In報文將第二ARP應(yīng)答消息上報給SDN控制器。假設(shè)HOST A首次查詢第三VLAN中主機的MAC地址,VxLAN GW3中未存儲匹配HOST A的 MAC地址的流表項,VxLAN GW3同時向SDN控制器發(fā)送轉(zhuǎn)發(fā)規(guī)則請求。

      其中,第二ARP應(yīng)答消息中包括HOST C的IP地址和MAC地址。

      308,SDN控制器在地址解析表中建立HOST C的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      309,SDN控制器通過Packet_Out報文或Flow_Mod報文向VxLANGW3發(fā)送第二指示消息,其中包括匹配HOST A的MAC地址的流表項。

      第二指示消息中包括VxLAN GW1的地址信息和源主機的MAC地址。

      310,VxLAN GW3根據(jù)第二指示消息,將第二ARP應(yīng)答消息單播發(fā)送給VxLAN GW1;并保存第二指示消息中匹配HOST A的MAC地址的流表項。

      311,VxLAN GW1將第二ARP應(yīng)答消息轉(zhuǎn)發(fā)給HOST A。

      之后,當HOST A需要再次與HOST C通信時,或VxLAN互通域中的其他主機,例如HOST B需要與HOST C通信時,再見圖3,包括以下步驟:

      401,第二VLAN中的HOST B發(fā)送第三ARP請求消息以查詢第三VLAN中HOST C的MAC地址。

      其中,第三ARP請求消息中攜帶有HOST B所在的第二VLAN ID、HOST B的IP地址和MAC地址、以及HOST C的IP地址;第二VLANID用于標識HOST B所在的第二VLAN。

      402,VxLAN GW2接收到第二ARP請求消息后,通過Packet_In報文向SDN控制器上報第三ARP請求消息。

      403,SDN控制器根據(jù)第三ARP請求消息中HOST C的IP地址,查詢地址解析表獲得HOST C的MAC地址,并將HOST C的MAC地址通過Packet_Out報文向VxLAN GW2返回第一ARP應(yīng)答消息,該第一ARP應(yīng)答消息中包括HOST C的MAC地址。

      404,VxLAN GW2將第一ARP應(yīng)答消息發(fā)送給HOST B。

      圖4為本發(fā)明抑制ARP消息的系統(tǒng)一個實施例的結(jié)構(gòu)示意圖。本發(fā) 明實施例的抑制ARP消息的系統(tǒng)可用于實現(xiàn)本發(fā)明上述各實施例的抑制ARP消息的方法。如圖4所示,該實施例的抑制ARP消息的系統(tǒng)包括源主機、源VxLAN網(wǎng)關(guān)和控制器,其中:

      源主機,用于與位于同一VxLAN的同一互通域內(nèi)的不同VLAN中的第一目標主機通信時,發(fā)送第一ARP請求消息以查詢第一目標主機的MAC地址;其中,第一ARP請求消息中攜帶有源主機所在的第一VLANID、源主機的IP地址和MAC地址、以及第一目標主機的IP地址;第一VLAN ID用于標識源主機所在的第一VLAN;

      源VxLAN網(wǎng)關(guān),用于接收到源主機發(fā)送的第一ARP請求消息后,向控制器上報第一ARP請求消息;以及接收控制器發(fā)送的第一ARP應(yīng)答消息,并發(fā)送給源主機。

      控制器,用于根據(jù)源VxLAN網(wǎng)關(guān)發(fā)送的第一ARP請求消息中第一目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有第一目標主機的MAC地址;地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項;若地址解析表中存儲有第一目標主機的MAC地址,向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息,該第一ARP應(yīng)答消息中包括第一目標主機的MAC地址。另外,在一個可選實施例中,控制器還用于在接收到第一ARP請求消息后,查詢地址解析表中是否存儲源主機的MAC地址;若未存儲源主機的MAC地址,學習源主機的MAC地址,在地址解析表中建立源主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      本發(fā)明實施例提出的上述抑制ARP消息的系統(tǒng),當源主機需要與目標主機通信時,源主機向控制器發(fā)送ARP請求消息,控制器根據(jù)ARP請求消息中目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有目標主機的MAC地址,若已存儲目標主機的MAC地址,控制器可直接響應(yīng)源主機的ARP請求消息,無需源主機通過組播方式發(fā)送ARP請求,實現(xiàn)了控制器對ARP請求的代理,從而有效抑制了VxLAN隧道上和互通域中各LAN內(nèi)的ARP廣播報文的轉(zhuǎn)發(fā),節(jié)省了VxLAN隧道的帶寬,并提高了系統(tǒng)響應(yīng)ARP查詢的效率。

      圖5為本發(fā)明抑制ARP消息的系統(tǒng)另一個實施例的結(jié)構(gòu)示意圖,與 圖4實施例相比,該實施例的抑制ARP消息的系統(tǒng)還包括上述第一目標主機和其他VxLAN網(wǎng)關(guān),其他VxLAN網(wǎng)關(guān)中包括目標VxLAN網(wǎng)關(guān)。該實施例中:

      控制器,還用于在地址解析表中未存儲第一目標主機的MAC地址時,查詢預先設(shè)置的互通域信息,獲取上述互通域中除源VxLAN網(wǎng)關(guān)外其它VxLAN網(wǎng)關(guān)的地址信息,并向源VxLAN網(wǎng)關(guān)發(fā)送第一指示消息,第一指示消息中包括上述互通域中其它VxLAN網(wǎng)關(guān)的地址信息,互通域信息中包括同一個互通域中所有VxLAN網(wǎng)關(guān)的地址信息;以及接收其它VxLAN網(wǎng)關(guān)中的目標VxLAN網(wǎng)關(guān)上報的第二ARP應(yīng)答消息,根據(jù)第二ARP應(yīng)答消息學習第一目標主機的MAC地址,在地址解析表中建立第一目標主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項;以及響應(yīng)于接收到的轉(zhuǎn)發(fā)規(guī)則請求向目標VxLAN網(wǎng)關(guān)發(fā)送第二指示消息。其中,第二指示消息中包括匹配源主機的MAC地址的流表項,該匹配源主機的MAC地址的流表項具體為接收方為源主機的MAC地址的報文的轉(zhuǎn)發(fā)規(guī)則。

      源VxLAN網(wǎng)關(guān),還用于根據(jù)控制器發(fā)送的第一指示消息,將第一ARP請求消息單播發(fā)送給其它VxLAN網(wǎng)關(guān);以及將目標VxLAN網(wǎng)關(guān)發(fā)送的第二ARP應(yīng)答消息轉(zhuǎn)發(fā)給源主機。

      其它VxLAN網(wǎng)關(guān),分別用于將源VxLAN網(wǎng)關(guān)發(fā)送的第一ARP請求消息中的第一VLAN ID更換為所在第二VLAN的第二VLAN ID,得到第二ARP請求消息并向所轄范圍內(nèi)的主機廣播第二ARP請求消息。

      其它VxLAN網(wǎng)關(guān)中的目標VxLAN網(wǎng)關(guān),用于響應(yīng)于接收到第一目標主機針對第二ARP請求消息發(fā)送的第二ARP應(yīng)答消息,將第二ARP應(yīng)答消息上報給控制器,并在未存儲匹配源主機的MAC地址的流表項時向控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求。其中,第二ARP應(yīng)答消息中包括第一目標主機的IP地址和MAC地址以及根據(jù)控制器發(fā)送的第二指示消息,將第二ARP應(yīng)答消息單播發(fā)送給源VxLAN網(wǎng)關(guān)。

      另外,在一個可選實施例中,目標VxLAN網(wǎng)關(guān)還可用于在接收到第二指示消息后,保存其中匹配源主機的MAC地址的流表項。

      在另一個可選實施例中,目標VxLAN網(wǎng)關(guān),還用于在接收到第二ARP應(yīng)答消息時,查詢是否存儲有匹配源主機的MAC地址的流表項;若存儲匹配源主機的MAC地址的流表項,根據(jù)該匹配源主機的MAC地址的流表項,將第二ARP應(yīng)答消息單播發(fā)送給源VxLAN網(wǎng)關(guān);否則,若未存儲匹配源主機的MAC地址的流表項,執(zhí)行向控制器同時發(fā)送轉(zhuǎn)發(fā)規(guī)則請求的操作。

      圖6為本發(fā)明抑制ARP消息的系統(tǒng)又一個實施例的結(jié)構(gòu)示意圖,與圖5實施例相比,該實施例的抑制ARP消息的系統(tǒng)還包括與源主機位于同一VLAN中的第二目標主機。該實施例中:

      源主機,還用于與第二目標主機通信時,在第一VLAN中廣播第一ARP請求消息。

      第二目標主機,用于在接收到源主機發(fā)送的第一ARP請求消息后,向源主機發(fā)送第三ARP應(yīng)答消息。

      在基于本發(fā)明上各實施例的抑制ARP消息的系統(tǒng)的一個具體示例中,控制器具體為SDN控制器。

      在基于本發(fā)明上各實施例的抑制ARP消息的系統(tǒng)的另一個具體示例中,源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)具體通過OpenFlow協(xié)議的Packet_In報文向SDN控制器發(fā)送上行消息。

      在基于本發(fā)明上各實施例的抑制ARP消息的系統(tǒng)的又一個具體示例中,SDN控制器具體通過OpenFlow協(xié)議的Packet_Out報文或Flow_Mod報文向源VxLAN網(wǎng)關(guān)和目標VxLAN網(wǎng)關(guān)發(fā)送下行消息。

      本發(fā)明實施例提出的上述抑制ARP消息的系統(tǒng),通過SDN控制器對VxLAN的流程進行優(yōu)化,可以有效抑制廣播ARP報文,并提高網(wǎng)絡(luò)的響應(yīng)速度.

      圖7為本發(fā)明控制器一個實施例的結(jié)構(gòu)示意圖,如圖7所示,該實施例的控制器包括:接收單元,查詢單元,存儲單元和發(fā)送單元。其中:

      接收單元,用于接收源VxLAN網(wǎng)關(guān)發(fā)送的第一ARP請求消息,該第一ARP請求消息中攜帶有源主機所在的第一VLANID、源主機的IP地址和MAC地址、以及第一目標主機的IP地址;第一VLAN ID用于 標識源主機所在的第一VLAN。其中,源主機與第一目標主機位于同一VxLAN的同一互通域中的不同VLAN中。

      查詢單元,用于根據(jù)第一ARP請求消息中第一目標主機的IP地址,查詢預先建立的地址解析表中是否存儲有第一目標主機的MAC地址,其中的地址解析表包括IP地址與MAC地址的對應(yīng)關(guān)系表項。

      存儲單元,用于存儲地址解析表。

      發(fā)送單元,用于在地址解析表中存儲有第一目標主機的MAC地址時,向源VxLAN網(wǎng)關(guān)返回第一ARP應(yīng)答消息,該第一ARP應(yīng)答消息中包括第一目標主機的MAC地址。

      本發(fā)明實施例提出的上述控制器,通過建立地址解析表來存儲目標主機的IP地址與MAC地址的對應(yīng)關(guān)系,在源主機需要與第一目標主機通信時,控制器可直接響應(yīng)源主機的ARP請求,無需通過組播方式發(fā)送ARP請求,實現(xiàn)控制器對ARP請求的代理,從而有效抑制了VxLAN隧道上和互通域中各LAN內(nèi)的ARP廣播報文的轉(zhuǎn)發(fā),節(jié)省了VxLAN隧道的帶寬,并提高了系統(tǒng)響應(yīng)ARP查詢的效率。

      圖8為本發(fā)明控制器另一個實施例的結(jié)構(gòu)示意圖,與圖7實施例相比,該實施例的控制器還包括學習單元。該實施例中:

      存儲單元,還用于存儲互通域信息,互通域信息中包括同一個互通域中所有VxLAN網(wǎng)關(guān)的地址信息。

      查詢單元,還用于在地址解析表中未存儲第一目標主機的MAC地址時,查詢預先設(shè)置的互通域信息,獲取VxLAN中源主機所屬互通域中除源VxLAN網(wǎng)關(guān)外其它VxLAN網(wǎng)關(guān)的地址信息。

      發(fā)送單元,還用于向源VxLAN網(wǎng)關(guān)發(fā)送第一指示消息,該第一指示消息中包括上述互通域中其它VxLAN網(wǎng)關(guān)的地址信息;以及響應(yīng)于目標VxLAN網(wǎng)關(guān)發(fā)送的轉(zhuǎn)發(fā)規(guī)則請求向目標VxLAN網(wǎng)關(guān)發(fā)送第二指示消息,第二指示消息中包括匹配源主機的MAC地址的流表項,該匹配源主機的MAC地址的流表項具體為接收方為源主機的MAC地址的報文的轉(zhuǎn)發(fā)規(guī)則。

      接收單元,還用于接收目標VxLAN網(wǎng)關(guān)發(fā)送的第二ARP應(yīng)答消息。 其中,第二ARP應(yīng)答消息中包括第一目標主機的IP地址和MAC地址。

      學習單元,用于根據(jù)第二ARP應(yīng)答消息學習第一目標主機的MAC地址,在地址解析表中建立第一目標主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      另外,在本發(fā)明控制器的又一個實施例中,查詢單元,還可用于查詢地址解析表中是否存儲源主機的MAC地址。相應(yīng)地,該實施例中,學習單元,還可用于根據(jù)查詢單元的查詢結(jié)果,在未存儲源主機的MAC地址時,學習源主機的MAC地址,在地址解析表中建立源主機的IP地址和MAC地址之間的對應(yīng)關(guān)系表項。

      本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

      可能以許多方式來實現(xiàn)本發(fā)明的方法、系統(tǒng)、設(shè)備。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實現(xiàn)本發(fā)明的方法、設(shè)備和系統(tǒng)。用于所述方法的步驟的上述順序僅是為了進行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實現(xiàn)根據(jù)本發(fā)明的方法的機器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。

      本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1