軟件定義的網(wǎng)絡(luò)中的地址解析的制作方法
【專利說明】
【背景技術(shù)】
[0001]網(wǎng)際協(xié)議(IP)地址是分配給將網(wǎng)際協(xié)議用于通信的計算機網(wǎng)絡(luò)中的每一個設(shè)備的邏輯地址。為了在網(wǎng)絡(luò)中定位設(shè)備,邏輯IP地址被轉(zhuǎn)換成物理機器地址(也稱為媒體訪問控制或MAC地址)。該過程稱為“地址解析”。網(wǎng)際協(xié)議版本4 (IPv4)和網(wǎng)際協(xié)議版本6(IPv6)中的地址解析的功能分別通過地址解析協(xié)議(ARP)和鄰居發(fā)現(xiàn)協(xié)議(NDP)處理。
【附圖說明】
[0002]為了更好地理解解決方案,現(xiàn)在將純粹通過示例的方式參照附圖來描述實施例,在附圖中:
圖1是根據(jù)示例的基于軟件定義的聯(lián)網(wǎng)(SDN)架構(gòu)的網(wǎng)絡(luò)系統(tǒng)的示意性框圖。
[0003]圖2是根據(jù)示例的圖1的OpenFlow (開放流)控制器系統(tǒng)的示意性框圖。
[0004]圖3示出根據(jù)示例的方法的流程圖。
[0005]圖4是根據(jù)示例的托管在計算機系統(tǒng)上的OpenFlow控制器系統(tǒng)的示意性框圖。
【具體實施方式】
[0006]取決于網(wǎng)際協(xié)議(IP)版本,地址解析協(xié)議(ARP)或鄰居發(fā)現(xiàn)協(xié)議(NDP)用于將IP網(wǎng)絡(luò)地址映射到硬件地址。例如,在ARP的情況中,過程可以如下工作。當(dāng)意在用于局域網(wǎng)(LAN)上的主機機器的傳入分組到達網(wǎng)關(guān)時,網(wǎng)關(guān)要求ARP找到匹配IP地址的物理主機(或MAC地址)。ARP首先檢查ARP高速緩存并且如果找到地址,將分組轉(zhuǎn)發(fā)到正確的主機機器。如果在ARP高速緩存中沒有找到針對IP地址的條目,ARP向LAN上的所有機器廣播請求分組。當(dāng)從將IP地址識別為其自己的機器接收到響應(yīng)時,ARP向該機器發(fā)送分組。
[0007]隨著云計算的出現(xiàn),網(wǎng)絡(luò)中的虛擬機的使用增加。例如,在數(shù)據(jù)中心環(huán)境中,大量虛擬機得以部署。網(wǎng)絡(luò)環(huán)境中的虛擬機的這種增加的使用的結(jié)果是在網(wǎng)絡(luò)節(jié)點之間可能發(fā)生大量分組交換以用于地址解析。這進而可以導(dǎo)致網(wǎng)絡(luò)過載。
[0008]所提出的是一種基于軟件定義的聯(lián)網(wǎng)(SDN)架構(gòu)(換言之,“軟件定義的網(wǎng)絡(luò)”)的計算機網(wǎng)絡(luò)中的地址解析的解決方案。所提出的解決方案使用OpenFlow控制器以用于基于SDN的網(wǎng)絡(luò)中的地址解析。
[0009]在軟件定義的聯(lián)網(wǎng)(SDN)架構(gòu)中,控制平面實現(xiàn)在從網(wǎng)絡(luò)裝置分離的軟件中并且數(shù)據(jù)平面實現(xiàn)在網(wǎng)絡(luò)裝置中。OpenFlow是用于SDN架構(gòu)的主導(dǎo)協(xié)議。在OpenFlow網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備上的數(shù)據(jù)轉(zhuǎn)發(fā)通過由管理用于該網(wǎng)絡(luò)的控制平面的OpenFlow控制器填入的流表條目來控制。在其接口上接收分組的網(wǎng)絡(luò)設(shè)備查找其流表以檢查需要在所接收的幀上采取的行動。默認地,啟用OpenFlow的(OpenFlow enabled)網(wǎng)絡(luò)設(shè)備創(chuàng)建默認的流表條目來向OpenFlow控制器發(fā)送不匹配表中的任何特定流條目的所有分組。以此方式,OpenFlow控制器變得了解在設(shè)備上傳入的所有新的網(wǎng)絡(luò)業(yè)務(wù)并且在接收方網(wǎng)絡(luò)設(shè)備上編程對應(yīng)于新的業(yè)務(wù)模式的流表條目以用于該流的后續(xù)分組轉(zhuǎn)發(fā)。
[0010]圖1是根據(jù)示例的基于軟件定義的聯(lián)網(wǎng)(SDN)架構(gòu)的網(wǎng)絡(luò)系統(tǒng)的示意性框圖。
[0011]網(wǎng)絡(luò)系統(tǒng)100 包括源系統(tǒng) 110、網(wǎng)絡(luò)設(shè)備 112、114、116、118、120、122、124、OpenFlow控制器126和主機計算機系統(tǒng)128、130、132。
[0012]OpenFlow控制器系統(tǒng)126通過網(wǎng)絡(luò)(可以是有線的或無線的)連接到網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124、源系統(tǒng)110和主機計算機系統(tǒng)128、130、132。網(wǎng)絡(luò)可以是諸如因特網(wǎng)之類的公共網(wǎng)絡(luò),或者諸如內(nèi)聯(lián)網(wǎng)之類的私有網(wǎng)絡(luò)。圖1中圖示的網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124的數(shù)目是通過示例而非限制的方式。部署在網(wǎng)絡(luò)系統(tǒng)100中的網(wǎng)絡(luò)設(shè)備的數(shù)目在其它實現(xiàn)方式中可以變化。類似地,在其它實現(xiàn)方式中可以存在附加的源系統(tǒng)、OpenFlow控制器和主機計算機系統(tǒng)。
[0013]源系統(tǒng)110是可以作為網(wǎng)絡(luò)系統(tǒng)100中的數(shù)據(jù)分組的源的計算系統(tǒng)(例如計算機服務(wù)器、臺式計算機等)。例如,在實現(xiàn)方式中,源系統(tǒng)100可以主控多播內(nèi)容。多播內(nèi)容可以包括數(shù)據(jù)、圖像、音頻、視頻、多媒體和其它類似內(nèi)容。存在于源系統(tǒng)100上的多播內(nèi)容可以通過網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124與主機計算機系統(tǒng)128、130、132共享。
[0014]網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124可以是但不限于,網(wǎng)絡(luò)交換機、虛擬交換機或路由器(例如邊緣路由器、訂戶邊緣路由器、提供商間邊界路由器或核心路由器)。在實現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124是啟用Open-Flow的設(shè)備。網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124從源系統(tǒng)向最終用戶系統(tǒng)或設(shè)備傳送源數(shù)據(jù)。
[0015]OpenFlow控制器系統(tǒng)126是經(jīng)由OpenFlow協(xié)議控制OpenFlow邏輯交換機的軟件(機器可執(zhí)行指令)。關(guān)于OpenFlow控制器的更多信息可以例如從web鏈接http://www.0penflow, org/documents/openflow-spec-vl.0.0.pdf和 https://www.0pennetworkinR.0rg /images/stories/downloads/of-conf ig/of-conf ig-l.1.pdf^l^o OpenFlow 是給出通過網(wǎng)絡(luò)對網(wǎng)絡(luò)交換機或路由器的轉(zhuǎn)發(fā)平面的訪問權(quán)的開放標(biāo)準(zhǔn)通信協(xié)議。其提供了開放協(xié)議以在網(wǎng)絡(luò)設(shè)備(諸如路由器)中對流表進行編程從而控制在網(wǎng)絡(luò)中路由數(shù)據(jù)分組的方式。通過OpenFlow,網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)和控制邏輯分離,并且控制邏輯被移動到外部控制器,諸如OpenFlow控制器系統(tǒng)126。OpenFlow控制器系統(tǒng)126維護所有網(wǎng)絡(luò)規(guī)則并且向網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124分發(fā)適當(dāng)?shù)闹噶?。其本質(zhì)上使網(wǎng)絡(luò)智能集中化,而同時網(wǎng)絡(luò)通過啟用OpenFlow的網(wǎng)絡(luò)設(shè)備維護分布式轉(zhuǎn)發(fā)平面。在圖2中圖示并且在以下描述OpenFlow控制器系統(tǒng)126的組件。
[0016]主機計算機系統(tǒng)128、130、132可以是臺式計算機、筆記本計算機、平板計算機、計算機服務(wù)器、移動電話、個人數(shù)字助理(PDA)等。在示例中,主機計算機系統(tǒng)128、130、132可以包括用于從主控多播內(nèi)容的源系統(tǒng)110接收多播數(shù)據(jù)的客戶端或多播應(yīng)用。
[0017]圖2是根據(jù)示例的圖1的OpenFlow控制器系統(tǒng)的示意性框圖。
[0018]OpenFlow控制器系統(tǒng)126可以包括和/或支持標(biāo)準(zhǔn)OpenFlow控制器組件。在實現(xiàn)方式中,OpenFlow控制器系統(tǒng)126包括地址解析模塊202。在示例中,地址解析模塊202在網(wǎng)絡(luò)設(shè)備上接收地址解析協(xié)議(ARP)請求消息,將地址解析協(xié)議(ARP)請求消息從網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)到OpenFlow控制器,確定OpenFlow控制器是否包括標(biāo)識對應(yīng)于來自地址解析協(xié)議(ARP)請求消息的網(wǎng)絡(luò)中的主機設(shè)備的IP地址的媒體訪問控制(MAC)地址的信息,并且取決于OpenFlow控制器是否包括所述信息而生成響應(yīng)。
[0019]圖3示出軟件定義的網(wǎng)絡(luò)中的地址解析的方法的流程圖。在實現(xiàn)方式中,軟件定義的網(wǎng)絡(luò)利用OpenFlow協(xié)議。涉及OpenFlow協(xié)議的細節(jié)可以從web鏈接https://www.opennetworkinR.0rg/standards/intro—to—openflow獲得。在描述期間對圖1 做出參照以說明地址解析機制。如之前提到的,圖1描繪了軟件定義的網(wǎng)絡(luò),其在實現(xiàn)方式中可以是基于OpenFlow協(xié)議的。因此,換言之,所提出的解決方案可以實現(xiàn)在基于OpenFlow的網(wǎng)絡(luò)中,參照圖1其可以包括源系統(tǒng)110、網(wǎng)絡(luò)設(shè)備112、114、116、118、120、122、124、0penFlow控制器系統(tǒng)126和主機計算機系統(tǒng)128、130、132。
[0020]在塊302處,在基于OpenFlow的網(wǎng)絡(luò)(或SDN網(wǎng)絡(luò))的網(wǎng)絡(luò)設(shè)備上接收地址解析協(xié)議(ARP)請求消息??梢詮拇嬖谟诨贠penFlow的網(wǎng)絡(luò)上的主機設(shè)備(或請求設(shè)備)接收請求消息。為了提供參照圖1的說明,讓我們假設(shè)主機計算機系統(tǒng)(或請求設(shè)備)128向網(wǎng)絡(luò)設(shè)備116 (例如交換機)發(fā)送針對主機計算機系統(tǒng)(或接收設(shè)備)134的ARP請求消息。除其它細節(jié)之外,ARP請求消息尤其包括請求設(shè)備128和接收設(shè)備134的IP地址。發(fā)送ARP請求消息背后的目的是獲得網(wǎng)絡(luò)上的設(shè)備的物理機器地址(媒體訪問控制(MAC)地址)。在本說明中,主機計算機系統(tǒng)(或請求設(shè)備)128發(fā)送ARP請求消息以確定主機計算機系統(tǒng)(或接收設(shè)備)134的MAC地址。由于主機計算機系統(tǒng)(或請求設(shè)備)128連接到網(wǎng)絡(luò)設(shè)備116,因此首先在網(wǎng)絡(luò)設(shè)備116的接口處接收ARP消息。
[0021]在塊304處,將由網(wǎng)絡(luò)設(shè)備116接收到的地址解析協(xié)議(ARP)請求消息轉(zhuǎn)發(fā)到OpenFlow控制器(例如圖1的OpenFlow控制器系統(tǒng)126)。在基于OpenFlow的網(wǎng)絡(luò)(諸如圖1的網(wǎng)絡(luò)100)中,通過網(wǎng)絡(luò)設(shè)備上的流表條目控制網(wǎng)絡(luò)設(shè)備(諸如網(wǎng)絡(luò)設(shè)備116)上的數(shù)據(jù)平面轉(zhuǎn)發(fā)并且流條目由管理用于該網(wǎng)絡(luò)的數(shù)據(jù)平面的OpenFlow控制器推送。典型地,一旦網(wǎng)絡(luò)設(shè)備在其接口上接收到數(shù)據(jù)分組,其查找流表以檢查要在所接收到的幀上采取什么行動。在基于OpenFlow的網(wǎng)絡(luò)的情況中,如果網(wǎng)絡(luò)設(shè)備不能找到相關(guān)聯(lián)的流條目,其向OpenFlow控制器發(fā)送數(shù)據(jù)分組。換言之,如果在網(wǎng)絡(luò)設(shè)備上不存在將流條目匹配到目的地MAC地址的規(guī)則,將ARP請求消息被轉(zhuǎn)發(fā)給OpenFlow控制器。參考參照I的本說明,網(wǎng)絡(luò)設(shè)備將ARP消息轉(zhuǎn)發(fā)給OpenFlow控制器系統(tǒng)126。
[0022]在塊306處,做出OpenFlow控制器是否包括標(biāo)識對應(yīng)于來自地址解析協(xié)議(ARP)請求消息的接收設(shè)備(網(wǎng)絡(luò)中的主機設(shè)備)的IP地址的媒體訪問控制(MAC)地址的信息的確定。一旦OpenFlow控制器接收到ARP消息,其檢查其記錄(例如存在于諸如表之類的儲存庫中)以確定是否存在對應(yīng)于存在于ARP消息中的接收設(shè)備的IP地址的相關(guān)聯(lián)的MAC地址條目。在參照I的本說明的上下文中,網(wǎng)絡(luò)設(shè)備116將會檢查其儲存庫以確定對應(yīng)于主機計算機系統(tǒng)134 (接收設(shè)備)的IP地址的MAC地址是否存在于其記錄中。
[0023]在塊308處,由OpenFlow控制器取決于其是否包括標(biāo)識對應(yīng)于來自地址解析協(xié)議(ARP)請求消息的接收設(shè)備的IP地址的媒體訪問控制(MAC)地址的信息而生成適當(dāng)?shù)捻憫?yīng)。如果OpenFlow控制器標(biāo)識出相關(guān)聯(lián)的MAC地址,其創(chuàng)建ARP響應(yīng)消息并且