專利名稱::地址解析協(xié)議arp消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器的制作方法地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信
技術(shù)領(lǐng)域:
,尤其涉及一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器。
背景技術(shù):
:目前隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展壯大,互聯(lián)網(wǎng)的規(guī)模越來越龐大、承載的應(yīng)用復(fù)雜、互聯(lián)網(wǎng)變得脆弱和遲鈍,互聯(lián)網(wǎng)可控性的問題隨之而來。地址解析協(xié)議(AddressResolutionProtocol,以下縮寫為ARP)是獲取物理地址的一個(gè)傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(TransmissionControlProtocol/InternetProtocol,以下縮寫為TCP/IP)。源節(jié)點(diǎn)通過廣播ARP請求獲取目的節(jié)點(diǎn)的媒體介入控制(MediaAccessControl,以下縮寫為MAC)地址,從而實(shí)現(xiàn)向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包?,F(xiàn)有技術(shù)中,交換機(jī)或者路由器收到ARP請求后,會(huì)向與其連接的所有設(shè)備轉(zhuǎn)發(fā)該ARP請求,從而引發(fā)廣播風(fēng)暴,占用帶寬,降低網(wǎng)絡(luò)效率。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器,以節(jié)省帶寬,提高網(wǎng)絡(luò)效率。本發(fā)明一方面提供一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法,包括第一交換機(jī)接收ARP消息;所述第一交換機(jī)將所述ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述第一交換機(jī)接收所述控制器發(fā)送的所述響應(yīng)消息;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。具體的,所述第一交換機(jī)接收地址解析協(xié)議ARP消息,包括所述第一交換機(jī)接收源主機(jī)發(fā)送的第一ARP請求消息。所述第一交換機(jī)接收的響應(yīng)消息包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述第一交換機(jī)與所述源主機(jī)的端口的信息;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述源主機(jī)發(fā)送所述第一ARP應(yīng)答消肩、O具體的,所述第一交換機(jī)接收的所述響應(yīng)消息包含所述第一ARP請求消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接第一交換機(jī)與第二交換機(jī)的端口;5所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)發(fā)送所述第一ARP請求消息。所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息之后,還包括所述第一交換機(jī)接收所述第二交換機(jī)發(fā)送的第二ARP應(yīng)答消息,所述第二ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的MAC地址。進(jìn)一步地,所述第一交換機(jī)接收地址解析協(xié)議ARP消息,包括所述第一交換機(jī)接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息;所述第一交換機(jī)將所述第二ARP應(yīng)答消息發(fā)送給所述控制器,以使所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息。所述第一交換機(jī)接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息之前,還包括所述第一交換機(jī)接收第三交換機(jī)發(fā)送的第二ARP請求消息;所述第一交換機(jī)向與所述第一交換機(jī)連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消息。具體的,所述第一交換機(jī)接收的所述響應(yīng)消息包含所述第二ARP請求消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接第一交換機(jī)與第三交換機(jī)的端口;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述第三交換機(jī)發(fā)送所述第二ARP應(yīng)答消息。本發(fā)明另一方面提供一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法,包括控制器接收第一交換機(jī)發(fā)送的ARP消息;所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述控制器向所述第一交換器發(fā)送所述響應(yīng)消息,以使所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。進(jìn)一步地,所述ARP消息為第一ARP請求消息;所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,包括若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則根據(jù)所述MAC地址構(gòu)造與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,并將所述第一ARP應(yīng)答消息,以及連接所述第一交換機(jī)與源主機(jī)的端口信息封裝成響應(yīng)消息;或者,若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,未獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則所述控制器將所述第一ARP請求消息,以及至少一個(gè)交換端口的信息封裝成響應(yīng)消息;其中,所述交換端口為連接所述第一交換機(jī)與第二交換機(jī)的端口;所述ARP映射緩存表中包含網(wǎng)絡(luò)中各主機(jī)的互聯(lián)網(wǎng)協(xié)議IP地址與媒體介入控制MAC地址的對應(yīng)關(guān)系。具體的,所述ARP消息為第二ARP應(yīng)答消息;所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,包括所述控制器獲取所述第二ARP應(yīng)答消息中攜帶的源主機(jī)的IP地址和源主機(jī)的MAC地址,則所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接與所述源主機(jī)連接的第三交換機(jī)與所述第一交換機(jī)的端口的信息。本發(fā)明又一方面提供一種交換機(jī),包括接收模塊,用于接收地址解析協(xié)議ARP消息;發(fā)送模塊,用于將所述接收模塊接收到的ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述接收模塊,還用于接收所述控制器發(fā)送的所述響應(yīng)消息;所述發(fā)送模塊,還用于根據(jù)所述響應(yīng)消息中的轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。具體的,所述接收模塊具體用于接收源主機(jī)發(fā)送的第一ARP請求消息。所述接收模塊接收的所述響應(yīng)消息包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述交換機(jī)與所述源主機(jī)的端口的信息;所述發(fā)送模塊具體用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述源主機(jī)發(fā)送所述第一ARP應(yīng)答消息。所述轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接交換機(jī)與第二交換機(jī)的端口;所述發(fā)送模塊具體用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)發(fā)送所述第一ARP請求消息。具體的,所述接收模塊還用于接收所述第二交換機(jī)發(fā)送的第二ARP應(yīng)答消息,所述第二ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的MAC地址。具體的,所述ARP消息為第二ARP應(yīng)答消息,所述接收模塊具體用于接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息;所述發(fā)送模塊具體用于將所述第二ARP應(yīng)答消息發(fā)送給所述控制器,以使所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息。進(jìn)一步地,所述接收模塊還用于接收第三交換機(jī)發(fā)送的第二ARP請求消息;所述發(fā)送模塊還用于向與所述交換機(jī)連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消息。所述轉(zhuǎn)發(fā)端口信息為連接所述交換機(jī)與所述第三交換機(jī)的端口的信息;所述發(fā)送模塊還用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述第三交換機(jī)發(fā)送所述第二ARP應(yīng)答消息。本發(fā)明再一方面提供一種控制器,包括接收模塊,用于接收第一交換機(jī)發(fā)送的地址解析協(xié)議ARP消息;確定模塊,用于根據(jù)所述接收模塊接收到的ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;發(fā)送模塊,用于向所述第一交換器發(fā)送所述響應(yīng)消息,以使所述第一交換機(jī)根據(jù)所述響應(yīng)消息中的轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。進(jìn)一步地,所述ARP消息為第一ARP請求消息,所述確定模塊具體用于若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則根據(jù)所述MAC地址構(gòu)造與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,并將所述第一ARP應(yīng)答消息,以及連接所述第一交換機(jī)與源主機(jī)的端口信息封裝成響應(yīng)消息;或者,所述確定模塊具體還用于若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,未獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則所述控制器將所述第一ARP請求消息,以及至少一個(gè)交換端口的信息封裝成響應(yīng)消息;其中,所述交換端口為連接所述第一交換機(jī)與第二交換機(jī)的端口;所述ARP映射緩存表中包含網(wǎng)絡(luò)中各主機(jī)的互聯(lián)網(wǎng)協(xié)議IP地址與媒體介入控制MAC地址的對應(yīng)關(guān)系。具體的,所述ARP消息為第二ARP應(yīng)答消息,所述確定模塊還用于獲取所述第二ARP應(yīng)答消息中攜帶的源主機(jī)的IP地址和源主機(jī)的MAC地址,則所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接與所述源主機(jī)連接的第三交換機(jī)與所述第一交換機(jī)的端口的信息。本發(fā)明實(shí)施例地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器,通過交換機(jī)將ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,由控制器確定消息的轉(zhuǎn)發(fā)端口,并將確定固定轉(zhuǎn)發(fā)端口信息發(fā)送給交換機(jī),從而交換機(jī)可以根據(jù)控制器確定的轉(zhuǎn)發(fā)端口轉(zhuǎn)發(fā)消息。實(shí)現(xiàn)由控制器為所管理網(wǎng)絡(luò)的交換機(jī)確定消息轉(zhuǎn)發(fā)端口,可提高網(wǎng)絡(luò)效率,節(jié)省網(wǎng)絡(luò)帶寬。為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例一的流程圖;圖2為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例二的流程圖;圖3為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例三的流程圖;圖4為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例四的流程圖;圖5為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例五的流程圖;圖6為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例六的流程圖;圖7為本發(fā)明交換機(jī)實(shí)施例一的結(jié)構(gòu)示意圖;圖8為本發(fā)明交換機(jī)實(shí)施例二的結(jié)構(gòu)示意圖;圖9為本發(fā)明交換機(jī)實(shí)施例三的結(jié)構(gòu)示意圖;圖10為本發(fā)明控制器實(shí)施例一的結(jié)構(gòu)示意圖;圖11為本發(fā)明控制器實(shí)施例二的結(jié)構(gòu)示意圖;圖12為本發(fā)明控制器實(shí)施例三的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例適用于現(xiàn)有的多種類型的網(wǎng)絡(luò)架構(gòu),例如基于軟件定義網(wǎng)絡(luò)(Software-DefinedNetworking,以下縮寫為SDN)的網(wǎng)絡(luò)架構(gòu),其核心技術(shù)為開放流(OpenFlow)網(wǎng)絡(luò)交換模型,該模型通過開放的流表支持用戶對網(wǎng)絡(luò)處理行為進(jìn)行控制。軟件定義網(wǎng)絡(luò)和現(xiàn)有網(wǎng)絡(luò)體系的差別在于,轉(zhuǎn)發(fā)控制分離、集中策略控制使得新的網(wǎng)絡(luò)功能很容易,并且集中管理使得網(wǎng)絡(luò)的可維護(hù)性獲得質(zhì)的飛躍。一個(gè)軟件定義的可控的互聯(lián)網(wǎng),除了更加靈活以外,通過恰當(dāng)?shù)目刂扑惴?,將大大提高網(wǎng)絡(luò)自身的健壯性、運(yùn)行效率以及安全性。本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除了在這里圖示的或否則描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。以下通過實(shí)施例分別進(jìn)行詳細(xì)說明。圖I為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例一的流程圖,如圖I所示,本實(shí)施例的方法可以包括SlOl、第一交換機(jī)接收ARP消息;其中,該ARP消息可以是一個(gè)主機(jī)發(fā)送給第一交換機(jī)的APR請求廣播包,該ARP消息中可包含該主機(jī)的IP地址與MAC地址以及目的主機(jī)的的IP地址。網(wǎng)絡(luò)中主機(jī)是進(jìn)行數(shù)據(jù)交互的物理設(shè)備,可以是PC、交換機(jī)、路由器等一切可以接入到網(wǎng)絡(luò)中的物理設(shè)備。S102、第一交換機(jī)將所述ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;其中,第一交換機(jī)是整個(gè)OpenFlow網(wǎng)絡(luò)的核心部件,主要管理數(shù)據(jù)層的轉(zhuǎn)發(fā)。第一交換機(jī)接收到ARP消息后,首先在本地的流表上查找轉(zhuǎn)發(fā)目標(biāo)端口,其中所述流表由很多個(gè)流表項(xiàng)組成,每個(gè)流表項(xiàng)就是一個(gè)轉(zhuǎn)發(fā)規(guī)則,進(jìn)入交換機(jī)的數(shù)據(jù)包可通過查詢流表來獲得該ARP消息轉(zhuǎn)發(fā)的目的端口。即若該流表中已存儲(chǔ)有ARP消息中的目的主機(jī)的IP地址與MAC地址的映射關(guān)系,該映射關(guān)系就是ARP消息的轉(zhuǎn)發(fā)規(guī)則。如果本地的流表中有匹配的轉(zhuǎn)發(fā)的目的端口的MAC地址,則根據(jù)流表上的轉(zhuǎn)發(fā)規(guī)則對應(yīng)的IP地址與MAC地址的映射關(guān)系轉(zhuǎn)發(fā)數(shù)據(jù)包;如果本地的流表中沒有匹配的轉(zhuǎn)發(fā)的目的端口的MAC地址,則把ARP消息轉(zhuǎn)發(fā)給控制器,由控制層決定轉(zhuǎn)發(fā)端口。同樣,該ARP消息也可以是目的主機(jī)發(fā)送的響應(yīng)消息,那么在本地的流表上查找轉(zhuǎn)發(fā)目標(biāo)端口即為查看本地的流表中若有目的主機(jī)響應(yīng)消息對應(yīng)的主機(jī)的IP地址與MAC地址的映射關(guān)系,則根據(jù)該映射關(guān)系的轉(zhuǎn)發(fā)規(guī)則轉(zhuǎn)發(fā)該響應(yīng)消息,以使對應(yīng)的主機(jī)收到響應(yīng)消息后,即可得到目的主機(jī)的MAC地址,從而實(shí)現(xiàn)主機(jī)對目的主機(jī)發(fā)送數(shù)據(jù)包的目的;如果本地的流表中沒有匹配的響應(yīng)消息對應(yīng)的主機(jī)的IP地址與MAC地址的映射關(guān)系,則把響應(yīng)消息轉(zhuǎn)發(fā)給控制器,由控制層決定轉(zhuǎn)發(fā)端口。S103、第一交換機(jī)接收所述控制器發(fā)送的所述響應(yīng)消息;其中,第一交換機(jī)進(jìn)行數(shù)據(jù)層的轉(zhuǎn)發(fā),而控制器實(shí)現(xiàn)了控制層的功能。控制器通過OpenFlow協(xié)議這個(gè)標(biāo)準(zhǔn)接口對第一交換機(jī)中的流表進(jìn)行控制,從而實(shí)現(xiàn)對整個(gè)網(wǎng)絡(luò)進(jìn)行集中控制。S104、第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,例如該轉(zhuǎn)發(fā)端口信息為轉(zhuǎn)發(fā)給其它交換機(jī)或某個(gè)主機(jī),則第一交換機(jī)根據(jù)該轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的交換機(jī)或某個(gè)主機(jī)端口轉(zhuǎn)發(fā)所述響應(yīng)消息。本實(shí)施例通過交換機(jī)將ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,由控制器確定消息的轉(zhuǎn)發(fā)端口;并將確定固定轉(zhuǎn)發(fā)端口信息發(fā)送給交換機(jī),從而交換機(jī)可以根據(jù)控制器確定的轉(zhuǎn)發(fā)端口轉(zhuǎn)發(fā)消息。本發(fā)明實(shí)施例可以由控制器為所管理網(wǎng)絡(luò)的主機(jī)提供ARP服務(wù)來實(shí)現(xiàn)地址解析協(xié)議ARP消息轉(zhuǎn)發(fā),可提高網(wǎng)絡(luò)效率,節(jié)省網(wǎng)絡(luò)帶寬。下面采用幾個(gè)具體的實(shí)施例,對圖I所示方法實(shí)施例的技術(shù)方案進(jìn)行詳細(xì)說明。圖2為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例二的流程圖,如圖2所示,該實(shí)施例提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法是上述圖I所示實(shí)施例中的交換機(jī)端所實(shí)現(xiàn)的方法,進(jìn)一步的,本實(shí)施例中所述ARP消息為第一ARP請求消息,所述第一交換機(jī)接收地址解析協(xié)議ARP消息,包括S201、第一交換機(jī)接收源主機(jī)發(fā)送的第一ARP請求消息。舉例來說,主機(jī)A要與主機(jī)F進(jìn)行數(shù)據(jù)交互,首先要獲取主機(jī)F的MAC地址,然后才能進(jìn)行數(shù)據(jù)交互,主機(jī)A即為源主機(jī),主機(jī)F即為目的主機(jī);第一交換機(jī)接收主機(jī)A發(fā)送的第一ARP請求消息,其中該第一ARP請求消息為APR請求廣播包。S202、第一交換機(jī)將所述第一ARP請求消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;具體的,上述例子中,第一交換機(jī)收到APR請求廣播包以后,在本地的流表中查找與APR請求廣播包有無相匹配的轉(zhuǎn)發(fā)目標(biāo)端口,若沒有找到匹配,通過OpenFlow協(xié)議的packetIn包將APR請求廣播包轉(zhuǎn)發(fā)給控制器;以使控制器根據(jù)PacketIn包信息,解析需要轉(zhuǎn)發(fā)的數(shù)據(jù)包是ARP請求廣播包,則對ARP請求廣播包進(jìn)行處理,根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;控制器通過對APR請求廣播包進(jìn)行解析,解析出目的主機(jī)F的IP地址,然后查詢控制器內(nèi)部的ARP映射緩存表中是否存在與該IP地址匹配的MAC地址,如果匹配,則構(gòu)造ARP應(yīng)答包,應(yīng)答包中被查詢的主機(jī)F的MAC地址即為主機(jī)F真實(shí)的MAC地址,并且構(gòu)造該ARP應(yīng)答包的轉(zhuǎn)發(fā)流表,將ARP應(yīng)答包作為PacketOut消息包的data數(shù)據(jù),轉(zhuǎn)發(fā)流表作為PacketOut消息包的action數(shù)據(jù)填充到PacketOut消息包中;如果沒有匹配,則構(gòu)造原ARP請求包的轉(zhuǎn)發(fā)流表grouptable,填充到PacketOut消息包action對應(yīng)數(shù)據(jù)中;并將PacketOut消息包下發(fā)給第一交換機(jī)。其中所述ARP映射緩存表存儲(chǔ)的是該控制器所管理網(wǎng)絡(luò)中所有主機(jī)設(shè)備的IP地址與MAC地址的映射關(guān)系,該ARP映射緩存表用于地址的查找,并可在控制器的作用下能夠通過增加、刪除、修改等方式加以更新。S203、第一交換機(jī)接收所述控制器發(fā)送的所述響應(yīng)消息,所述第一交換機(jī)接收的響應(yīng)消息包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述第一交換機(jī)與所述源主機(jī)的端口的信息;具體的,上述例子中,第一ARP應(yīng)答消息為PacketOut消息包,第一交換機(jī)收所述響應(yīng)消息的PacketOut消息包,該P(yáng)acketOut消息包中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址。S204、第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述源主機(jī)發(fā)送所述第一ARP應(yīng)答消肩、O具體的,上述例子中,第一交換機(jī)收到所述響應(yīng)消息的PacketOut消息包后,根據(jù)該消息包中的轉(zhuǎn)發(fā)流表進(jìn)行轉(zhuǎn)發(fā),如果是匹配情況,則將data數(shù)據(jù)轉(zhuǎn)發(fā)給主機(jī)A,則主機(jī)就獲得了主機(jī)F的MAC地址;所述第一交換機(jī)接收的所述響應(yīng)消息包含所述第一ARP請求消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接第一交換機(jī)與第二交換機(jī)的端口;上述例子中,如果是不匹配情況,則轉(zhuǎn)發(fā)端口信息為轉(zhuǎn)發(fā)給第二交換機(jī)。所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)發(fā)送所述第一ARP請求消息;進(jìn)一步地,上述例子中,第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息為轉(zhuǎn)發(fā)給第二交換機(jī),并根據(jù)grouptable的轉(zhuǎn)發(fā)規(guī)則將原ARP請求廣播包,轉(zhuǎn)發(fā)到第二交換機(jī)。所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息之后,還包括所述第一交換機(jī)接收所述第二交換機(jī)發(fā)送的第二ARP應(yīng)答消息,所述第二ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的MAC地址。具體的,第二交換機(jī)收到主機(jī)A的ARP請求廣播包以后,根據(jù)轉(zhuǎn)發(fā)規(guī)則,將ARP請求廣播包發(fā)送給主機(jī)F。本實(shí)施例的方法是在圖I所示方法實(shí)施例的技術(shù)方案的基礎(chǔ)上,進(jìn)一步的,可以由交換機(jī)對各主機(jī)的ARP請求消息以及對此ARP請求消息的應(yīng)答消息進(jìn)行接收和發(fā)送,由控制器確定轉(zhuǎn)發(fā)端口,控制各交換機(jī)將數(shù)據(jù)包由源主機(jī)向ARP請求消息對應(yīng)的目的主機(jī)MAC地址進(jìn)行轉(zhuǎn)發(fā),可提高網(wǎng)絡(luò)效率,節(jié)省網(wǎng)絡(luò)帶寬。圖3為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例三的流程圖,如圖3所示,本實(shí)施例與圖2所示實(shí)施例的區(qū)別在于,所述ARP消息為第二ARP應(yīng)答消息,所述第一交換機(jī)接收地址解析協(xié)議ARP消息,包括S301、第一交換機(jī)接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息;舉例來說,第二ARP應(yīng)答消息為主機(jī)F發(fā)來的ARP應(yīng)答包,主機(jī)F在確定是詢問本機(jī)的MAC地址時(shí)發(fā)送ARP應(yīng)答包給第一交換機(jī);S302、第一交換機(jī)將所述第二ARP應(yīng)答消息發(fā)送給所述控制器,以使所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息。具體的,上述例子中,第一交換機(jī)在本地流表中未查找到主機(jī)F的ARP應(yīng)答包轉(zhuǎn)發(fā)匹配的端口,則通過PacketIn消息包將主機(jī)F的ARP應(yīng)答包轉(zhuǎn)發(fā)給控制器;以使控制器根據(jù)PacketIn包信息,根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;即控制器對ARP應(yīng)答包進(jìn)行解析,解析出是ARP應(yīng)答包以及應(yīng)答的IP地址、MAC地址等信息,則更新ARP映射緩存表并保存,以備下次使用,然后構(gòu)造該ARP應(yīng)答包的轉(zhuǎn)發(fā)流表,填充到PacketOut消息包action對應(yīng)數(shù)據(jù)中;當(dāng)其將PacketOut消息包填充完畢后,控制器將PacketOut消息包下發(fā)給第一交換機(jī)。第一交換機(jī)接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息之前,還包括S3010、第一交換機(jī)接收第三交換機(jī)發(fā)送的第二ARP請求消息;具體的,上述例子中,當(dāng)?shù)谌粨Q機(jī)收到控制器確定的所述轉(zhuǎn)發(fā)端口信息為轉(zhuǎn)發(fā)給第一交換機(jī),第一交換機(jī)接收第三交換機(jī)根據(jù)grouptable的轉(zhuǎn)發(fā)規(guī)則轉(zhuǎn)發(fā)來的原ARP請求廣播包。S3020、第一交換機(jī)向與所述第一交換機(jī)連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消息。具體的,上述例子中,第一交換機(jī)收到上述第三交換機(jī)轉(zhuǎn)發(fā)來的原ARP請求廣播包后,向與其連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消息,比如向主機(jī)D、主機(jī)E、主機(jī)F發(fā)送,而主機(jī)D、主機(jī)E確定不是發(fā)給自己的,就不應(yīng)答;而主機(jī)F確定是詢問本機(jī)的MAC地址時(shí)發(fā)送第二ARP應(yīng)答包給第一交換機(jī)。S303、第一交換機(jī)接收所述控制器發(fā)送的所述響應(yīng)消息,所述第一交換機(jī)接收的所述響應(yīng)消息為第二ARP應(yīng)答消息,所述第一交換機(jī)接收的所述響應(yīng)消息包含所述第二ARP請求消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接第一交換機(jī)與第三交換機(jī)的端口;在上述S302完成后,第三交換機(jī)收到主機(jī)F的ARP應(yīng)答以后,該ARP應(yīng)答的轉(zhuǎn)發(fā)端口信息為所述第一交換機(jī)與所述第三交換機(jī)連接的端口信息;S304、第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述第三交換機(jī)發(fā)送所述第二ARP應(yīng)答消息。上述例子中,第一交換機(jī)接收所述控制器發(fā)送的響應(yīng)消息的PacketOut消息包后,根據(jù)該消息包中的轉(zhuǎn)發(fā)流表,將主機(jī)F的ARP應(yīng)答包轉(zhuǎn)發(fā)給第三交換機(jī);第三交換機(jī)收到主機(jī)F的ARP應(yīng)答以后,根據(jù)轉(zhuǎn)發(fā)規(guī)則,將ARP應(yīng)答包發(fā)送給主機(jī)A,則主機(jī)就獲得了主機(jī)F的MAC地址;主機(jī)A發(fā)送給主機(jī)F的數(shù)據(jù)包,通過第三交換機(jī)和第一交換機(jī)直接單播發(fā)送給主機(jī)F。本實(shí)施例的方法是在圖2所示方法實(shí)施例的技術(shù)方案的基礎(chǔ)上,進(jìn)一步的,可以由交換機(jī)對各主機(jī)的應(yīng)答信息進(jìn)行接收和發(fā)送,由控制器確定轉(zhuǎn)發(fā)端口,控制各交換機(jī)將應(yīng)答消息向?qū)?yīng)的轉(zhuǎn)發(fā)端口進(jìn)行轉(zhuǎn)發(fā)。圖4為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例四的流程圖,如圖4所示,該實(shí)施例提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法是上述圖I所示實(shí)施例中的控制器端所實(shí)現(xiàn)的方法,包括S401、控制器接收第一交換機(jī)發(fā)送的ARP消息;S402、所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;S403、所述控制器向所述第一交換器發(fā)送所述響應(yīng)消息,以使所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。本實(shí)施例的方法為圖I所示方法實(shí)施例的技術(shù)方案對應(yīng)的控制器端的實(shí)現(xiàn)方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。在上述實(shí)施例四的基礎(chǔ)上,進(jìn)一步地,S401中所述ARP消息為第一ARP請求消息,S402中所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,包括若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則根據(jù)所述MAC地址構(gòu)造與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,并將所述第一ARP應(yīng)答消息,以及連接所述第一交換機(jī)與源主機(jī)的端口信息封裝成響應(yīng)消息;或者,若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,未獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則所述控制器將所述第一ARP請求消息,以及至少一個(gè)交換端口的信息封裝成響應(yīng)消息;其中,所述交換端口為連接所述第一交換機(jī)與第二交換機(jī)的端口;所述ARP映射緩存表中包含網(wǎng)絡(luò)中各主機(jī)的互聯(lián)網(wǎng)協(xié)議IP地址與媒體介入控制MAC地址的對應(yīng)關(guān)系。本實(shí)施例的方法為圖2所示方法實(shí)施例的技術(shù)方案對應(yīng)的控制器端的實(shí)現(xiàn)方法,該實(shí)施例通過控制器接收交換機(jī)發(fā)送的響應(yīng)消息,由控制器確定消息的轉(zhuǎn)發(fā)端口;并將確定固定轉(zhuǎn)發(fā)端口信息發(fā)送給交換機(jī),從而使交換機(jī)可以根據(jù)控制器確定的轉(zhuǎn)發(fā)端口轉(zhuǎn)發(fā)消息。本發(fā)明實(shí)施例可以由控制器為所管理網(wǎng)絡(luò)的主機(jī)提供ARP服務(wù)來實(shí)現(xiàn)地址解析協(xié)議ARP消息轉(zhuǎn)發(fā),可提高網(wǎng)絡(luò)效率,節(jié)省網(wǎng)絡(luò)帶寬。圖5為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例五的流程圖,如圖5所示,本實(shí)施例與上述實(shí)施例的區(qū)別在于,本實(shí)施例中所述ARP消息為第二ARP應(yīng)答消息,本實(shí)施例描述的是由控制器對目的主機(jī)的第二ARP應(yīng)答消息進(jìn)行處理,并確定該第二ARP應(yīng)答消息轉(zhuǎn)發(fā)端口的過程。具體包括S501、控制器接收第一交換機(jī)發(fā)送的ARP消息;S502、控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,包括所述控制器獲取所述第二ARP應(yīng)答消息中攜帶的源主機(jī)的IP地址和源主機(jī)的MAC地址,則所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接與所述源主機(jī)連接的第三交換機(jī)與所述第一交換機(jī)的端口的信息。本實(shí)施例的方法為圖3所示方法實(shí)施例的技術(shù)方案對應(yīng)的控制器端的實(shí)現(xiàn)方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。圖6為本發(fā)明地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法實(shí)施例六的流程圖,本實(shí)施例描述的是由源主機(jī)發(fā)送數(shù)據(jù)包到目的主機(jī)的整個(gè)過程,如圖6所示,本實(shí)施例的方法可以包括S601、第一交換機(jī)接收源主機(jī)發(fā)送的ARP請求消息;在本地的流表中查詢有無相匹配的目的主機(jī)的MAC地址;如果沒有匹配,則執(zhí)行S602、第一交換機(jī)將所述ARP請求消息發(fā)送給網(wǎng)絡(luò)中的控制器。S603、控制器根據(jù)所述ARP請求消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的第一響應(yīng)消息,可以包括所述控制器收到所述ARP請求消息后,由所述控制器解析出所述目的主機(jī)的IP地址;查詢ARP映射緩存表中是否存在與所述目的主機(jī)的IP地址相匹配的MAC地址;如果沒有匹配,控制器則構(gòu)建所述ARP請求消息的轉(zhuǎn)發(fā)流表,并用所述ARP請求消息的轉(zhuǎn)發(fā)流表數(shù)據(jù)填充構(gòu)建第一響應(yīng)消息;如果有匹配,則所述控制器構(gòu)建第一ARP應(yīng)答包,并且構(gòu)建所述第一ARP應(yīng)答包的轉(zhuǎn)發(fā)流表,其中所述第一ARP應(yīng)答包中包含所述目的主機(jī)的MAC地址;用所述第一ARP應(yīng)答包數(shù)據(jù)和所述第一ARP應(yīng)答包的轉(zhuǎn)發(fā)流表數(shù)據(jù)填充構(gòu)建所述第一響應(yīng)消息;S604、控制器將第一響應(yīng)消息發(fā)送給所述第一交換機(jī),可以包括所述第一交換機(jī)接收的所述第一響應(yīng)消息包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述第一響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述第一交換機(jī)與所述源主機(jī)的端口的信息;所述第一交換機(jī)根據(jù)所述第一響應(yīng)消息中的所述第一ARP應(yīng)答包的轉(zhuǎn)發(fā)流表數(shù)據(jù)的轉(zhuǎn)發(fā)規(guī)則,將所述第一ARP應(yīng)答包數(shù)據(jù)發(fā)送給所述源主機(jī);所述源主機(jī)獲取所述目的主機(jī)的MAC地址,通過所述第一交換機(jī)和所述第二交換機(jī)將數(shù)據(jù)包直接單播發(fā)送給所述目的主機(jī);或者,S605、第一交換機(jī)根據(jù)所述第一響應(yīng)消息中的所述ARP請求消息的轉(zhuǎn)發(fā)流表數(shù)據(jù)的轉(zhuǎn)發(fā)規(guī)則,將所述ARP請求消息發(fā)送到第二交換機(jī);S606、第二交換機(jī)收到所述ARP請求消息后,將所述ARP請求消息發(fā)送給其本地的所有主機(jī);目的主機(jī)確定是詢問本機(jī)的MAC地址,則發(fā)送第二ARP應(yīng)答包給所述第二交換機(jī);所述第二交換機(jī)收到所述第二ARP應(yīng)答包后,在本地的流表中查詢有無相匹配的源主機(jī)的MAC地址;如果沒有匹配,則執(zhí)行S607、第二交換機(jī)將第二ARP應(yīng)答包發(fā)送給所述控制器,由所述控制器確定所述第二ARP應(yīng)答包的轉(zhuǎn)發(fā)端口,可以包括所述控制器收到所述第二ARP應(yīng)答包后,由所述控制器解析出所述第二ARP應(yīng)答包以及所述第二ARP應(yīng)答包的IP地址、MAC地址,更新所述ARP映射緩存表并保存,以備下次使用,然后構(gòu)建所述第二ARP應(yīng)答包的轉(zhuǎn)發(fā)流表,并用所述第二ARP應(yīng)答包的轉(zhuǎn)發(fā)流表數(shù)據(jù)填充構(gòu)建第二響應(yīng)消息;S608、所述控制器將第二響應(yīng)消息發(fā)送給所述第二交換機(jī)。所述控制器將所述第二響應(yīng)消息發(fā)送給所述第二交換機(jī)之后,還包括S609、所述第二交換機(jī)根據(jù)所述第二響應(yīng)消息中的所述第二ARP應(yīng)答包的轉(zhuǎn)發(fā)流表數(shù)據(jù)的轉(zhuǎn)發(fā)規(guī)則,將所述第二ARP應(yīng)答包發(fā)送給所述第一交換機(jī);S6010、所述第一交換機(jī)收到第二ARP應(yīng)答包后,根據(jù)轉(zhuǎn)發(fā)規(guī)則,將所述第二ARP應(yīng)答包發(fā)送給所述源主機(jī);S6011、所述源主機(jī)獲取所述目的主機(jī)的MAC地址,通過所述第一交換機(jī)和所述第二交換機(jī)將數(shù)據(jù)包直接單播發(fā)送給所述目的主機(jī)。進(jìn)一步的,所述第一交換機(jī)接收源主機(jī)發(fā)送的ARP請求消息之前,還包括所述控制器通過網(wǎng)絡(luò)包學(xué)習(xí)到IP地址與MAC地址的映射,定期更新所述ARP映射緩存表,使各主機(jī)在ARP更新請求的時(shí)候能直接獲取與IP地址映射的MAC地址。本實(shí)施例的方法同時(shí)包含圖I和圖4所示方法實(shí)施例的技術(shù)方案對應(yīng)的數(shù)據(jù)發(fā)送的整個(gè)過程。該實(shí)施例的方法通過控制器對各交換機(jī)接收的主機(jī)的應(yīng)答消息進(jìn)行轉(zhuǎn)發(fā)端口的確定,從而各交換機(jī)可根據(jù)該轉(zhuǎn)發(fā)端口將數(shù)據(jù)正確發(fā)送到相應(yīng)的端口。本實(shí)施例可以實(shí)現(xiàn)數(shù)據(jù)的高效轉(zhuǎn)發(fā),同時(shí)本實(shí)施例的技術(shù)方案可以增強(qiáng)網(wǎng)絡(luò)帶寬資源利用率。圖7本發(fā)明交換機(jī)實(shí)施例一的結(jié)構(gòu)示意圖,如圖7所示,本發(fā)明實(shí)施例提供的交換機(jī),用于完成圖I所示實(shí)施例的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法,該交換機(jī)100包括接收模塊701,用于接收地址解析協(xié)議ARP消息;發(fā)送模塊702,用于將所述接收模塊接收到的ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述接收模塊701,還用于接收所述控制器發(fā)送的所述響應(yīng)消息;所述發(fā)送模塊702,還用于根據(jù)所述響應(yīng)消息中的轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。本實(shí)施例的交換機(jī),主要用于數(shù)據(jù)層的轉(zhuǎn)發(fā),交換機(jī)中存儲(chǔ)控制器下發(fā)的流表,用來實(shí)現(xiàn)各種各樣的功能,例如轉(zhuǎn)發(fā)、統(tǒng)計(jì)、過濾等,流表由多個(gè)流表項(xiàng)組成,每個(gè)流表項(xiàng)就是一個(gè)轉(zhuǎn)發(fā)規(guī)則。本實(shí)施例的交換機(jī),為本發(fā)明提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的執(zhí)行設(shè)備,其執(zhí)行地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的過程可參見圖I所示方法實(shí)施例的相關(guān)描述,其實(shí)現(xiàn)原理類似,此處不再贅述。本實(shí)施例的交換機(jī),通過接收模塊和發(fā)送模塊可接收和發(fā)送響應(yīng)消息,可以實(shí)現(xiàn)根據(jù)轉(zhuǎn)發(fā)端口進(jìn)行數(shù)據(jù)層的轉(zhuǎn)發(fā)的過程。同時(shí)通過該實(shí)施例的交換機(jī)實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)效率高,并能節(jié)省網(wǎng)絡(luò)帶寬。圖8為本發(fā)明交換機(jī)實(shí)施例二的結(jié)構(gòu)示意圖,如圖8所示,在圖7所示實(shí)施例的基礎(chǔ)上,進(jìn)一步地,所述ARP消息可以為第一ARP請求消息,所述接收模塊701可以具體用于接收源主機(jī)A發(fā)送的所述第一ARP請求消息。所述接收模塊701接收的所述響應(yīng)消息可以為包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述交換機(jī)100與所述源主機(jī)的端口的信息;所述發(fā)送模塊702具體可以用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述源主機(jī)發(fā)送所述第一ARP應(yīng)答消息。具體的,所述轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接交換機(jī)100與第二交換機(jī)300的端口;所述發(fā)送模塊702可以具體用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)300發(fā)送所述第一ARP請求消息。所述接收模塊701還可以用于接收所述第二交換機(jī)300發(fā)送的第二ARP應(yīng)答消息,所述第二ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的MAC地址。具體的,所述ARP消息可以為第二ARP應(yīng)答消息,所述接收模塊701可以具體用于接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息;所述發(fā)送模塊702可以具體用于將所述第二ARP應(yīng)答消息發(fā)送給所述控制器200,以使所述控制器200根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息。本實(shí)施例的交換機(jī),為本發(fā)明提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的執(zhí)行設(shè)備,其執(zhí)行地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的過程可參見圖2所示方法實(shí)施例的相關(guān)描述,其實(shí)現(xiàn)原理類似,此處不再贅述。本實(shí)施例的交換機(jī),可以根據(jù)控制器確定的轉(zhuǎn)發(fā)端口進(jìn)行相應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā),不但轉(zhuǎn)發(fā)效率高,還能節(jié)省網(wǎng)絡(luò)帶寬資源。圖9為本發(fā)明交換機(jī)實(shí)施例三的結(jié)構(gòu)示意圖,如圖9所示,本實(shí)施例與圖8所示實(shí)施例的區(qū)別是,進(jìn)一步地,所述接收模塊701還可以用于接收第三交換機(jī)400發(fā)送的第二ARP請求消息;所述發(fā)送模塊702還可以用于向與所述交換機(jī)100連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消息。所述轉(zhuǎn)發(fā)端口信息為連接所述交換機(jī)100與所述第三交換機(jī)400的端口的信息;所述發(fā)送模塊702還可以用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述第三交換機(jī)400發(fā)送所述第二ARP應(yīng)答消息。本實(shí)施例的交換機(jī),為本發(fā)明提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的執(zhí)行設(shè)備,其執(zhí)行地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的過程可參見圖3所示方法實(shí)施例的相關(guān)描述,其實(shí)現(xiàn)原理類似,此處不再贅述。本實(shí)施例的交換機(jī),可用于接收目的主機(jī)的應(yīng)答消息,并根據(jù)控制器200確定的該消息的轉(zhuǎn)發(fā)端口將該消息發(fā)送到相應(yīng)的端口。圖10為本發(fā)明控制器實(shí)施例一的結(jié)構(gòu)示意圖,如圖10所示,本發(fā)明實(shí)施例提供的控制器200,可以包括接收模塊901,用于接收第一交換機(jī)100發(fā)送的地址解析協(xié)議ARP消息;確定模塊902,用于根據(jù)接收模塊接收的所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;發(fā)送模塊903,用于向所述第一交換器發(fā)送所述響應(yīng)消息,以使所述第一交換機(jī)100根據(jù)所述響應(yīng)消息中的轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。本實(shí)施例的控制器通過內(nèi)部接收模塊、確定模塊、發(fā)送模塊的配合,控制交換機(jī)的消息轉(zhuǎn)發(fā),從而達(dá)到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的。本實(shí)施例的控制器可以對網(wǎng)絡(luò)進(jìn)行集中控制,為需要轉(zhuǎn)發(fā)的數(shù)據(jù)生成流表項(xiàng),下發(fā)給交換機(jī);并且包含一個(gè)網(wǎng)絡(luò)設(shè)備的二層、三層地址映射表和查找算法,用于網(wǎng)絡(luò)設(shè)備的地址查詢。本實(shí)施例的控制器,為本發(fā)明提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的執(zhí)行設(shè)備,其執(zhí)行地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的過程可參見圖4所示方法實(shí)施例的相關(guān)描述,其實(shí)現(xiàn)原理類似,此處不再贅述。本實(shí)施例的控制器,可用于對交換機(jī)的應(yīng)答消息進(jìn)行處理,由控制器確定該消息的轉(zhuǎn)發(fā)端口,并將該轉(zhuǎn)發(fā)端口信息發(fā)送給交換機(jī),由交換機(jī)根據(jù)該轉(zhuǎn)發(fā)端口信息的轉(zhuǎn)發(fā)規(guī)則將數(shù)據(jù)發(fā)送到相應(yīng)的端口。本實(shí)施例的控制器可以對各交換機(jī)進(jìn)行轉(zhuǎn)發(fā)端口的控制,通過它能提高轉(zhuǎn)發(fā)效率,節(jié)省帶寬資源。圖11為本發(fā)明控制器實(shí)施例二的結(jié)構(gòu)示意圖,如圖11所示,本實(shí)施例與圖10所示實(shí)施例的區(qū)別是,進(jìn)一步的,本實(shí)施例的控制器200,還可以包括ARP服務(wù)器(ARPService)900,該ARPService900作為控制器200中一個(gè)模塊包含以下幾個(gè)單元ARP控制單元904、ARP協(xié)議單元905、ARP映射緩存表906,其中所述ARP控制單元904是ARPServiCe900的控制引擎,負(fù)責(zé)調(diào)用下述的ARP協(xié)議單元905對ARP進(jìn)行解析和封裝,負(fù)責(zé)ARP映射緩存表906的增、刪、改、查,負(fù)責(zé)構(gòu)造ARP請求/應(yīng)答的控制流表,負(fù)責(zé)下述ARP映射緩存表906的定期更新。所述ARP協(xié)議單元905負(fù)責(zé)對ARP請求/應(yīng)答包進(jìn)行解析,負(fù)責(zé)構(gòu)造ARP應(yīng)答包。所述ARP映射緩存表906存儲(chǔ)的該控制器200所管理網(wǎng)絡(luò)中所有主機(jī)設(shè)備的IP地址與MAC地址的映射表,該ARP映射緩存表906具有查找、增加、刪除、修改的功能。舉例來說,上述圖2所示實(shí)施例中所述的控制器通過對APR請求廣播包進(jìn)行解析,解析出目的主機(jī)F的IP地址,實(shí)際就是控制器200根據(jù)PacketIn包信息,解析需要轉(zhuǎn)發(fā)的數(shù)據(jù)包是ARP廣播請求包,則調(diào)用ARP控制單元904,由ARP控制單元904對ARP廣播請求包進(jìn)行處理;ARP控制單元904調(diào)用ARP協(xié)議單元905對ARP廣播請求包進(jìn)行解析,解析出被目的主機(jī)F的IP地址,然后查詢ARP映射緩存表906中是否存在與該IP地址匹配的MAC地址,如果匹配,則通過ARP協(xié)議單元905構(gòu)造ARP應(yīng)答包,ARP應(yīng)答包中被查詢的目的主機(jī)F的MAC地址即為目的主機(jī)F真實(shí)的MAC地址,并且構(gòu)造該ARP應(yīng)答包的轉(zhuǎn)發(fā)流表。進(jìn)一步的,ARPService通過算法,可權(quán)衡各主機(jī)的映射緩存表的更新時(shí)間,定期更新自己的ARP映射緩存表,例如通過各種網(wǎng)絡(luò)包學(xué)習(xí)到IP地址與MAC地址映射,而不一定全是經(jīng)過接收ARP請求,從而使各主機(jī)在ARP更新請求的時(shí)候,能直接獲取到IP與MAC地址的映射。本實(shí)施例的控制器通過內(nèi)部ARPService900的ARP控制單元904、ARP協(xié)議單元905、ARP映射緩存表906,實(shí)現(xiàn)對ARP請求或應(yīng)答信息的解析及控制,并控制各交換機(jī)中的流表,從而可以確定數(shù)據(jù)的轉(zhuǎn)發(fā)端口。本實(shí)施例的控制器,為本發(fā)明提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的執(zhí)行設(shè)備,其執(zhí)行地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的過程可參見圖5所示方法實(shí)施例的相關(guān)描述,其實(shí)現(xiàn)原理類似,此處不再贅述。本實(shí)施例的控制器,可用于對交換機(jī)的應(yīng)答消息進(jìn)行處理,由控制器確定該消息的轉(zhuǎn)發(fā)端口,控制器可以對各交換機(jī)進(jìn)行轉(zhuǎn)發(fā)端口的控制,通過本實(shí)施例的控制器能提高轉(zhuǎn)發(fā)效率,節(jié)省帶寬資源。圖12為本發(fā)明控制器實(shí)施例三的結(jié)構(gòu)示意圖,如圖11-12所示,在圖10所示實(shí)施例的基礎(chǔ)上,進(jìn)一步地,所述ARP消息為第一ARP請求消息,所述確定模塊902具體可以用于若所述控制器200查詢預(yù)先存儲(chǔ)的ARP映射緩存表906,獲取到所述ARP請求消息中攜帶的目的主機(jī)F的IP地址對應(yīng)的MAC地址,則根據(jù)所述MAC地址構(gòu)造與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,并將所述第一ARP應(yīng)答消息,以及連接所述第一交換機(jī)100與源主機(jī)A的端口信息封裝成響應(yīng)消息;或者,所述確定模塊902具體還可以用于若所述控制器200查詢預(yù)先存儲(chǔ)的ARP映射緩存表906,未獲取到所述ARP請求消息中攜帶的目的主機(jī)F的IP地址對應(yīng)的MAC地址,則所述控制器200將所述第一ARP請求消息,以及至少一個(gè)交換端口的信息封裝成響應(yīng)消息;其中,所述交換端口為連接所述第一交換機(jī)100與第二交換機(jī)300的端口;所述ARP映射緩存表906中包含網(wǎng)絡(luò)中各主機(jī)的互聯(lián)網(wǎng)協(xié)議IP地址與媒體介入控制MAC地址的對應(yīng)關(guān)系。具體的,所述ARP消息為第二ARP應(yīng)答消息,所述確定模塊902還可以用于獲取所述第二ARP應(yīng)答消息中攜帶的源主機(jī)A的IP地址和源主機(jī)的MAC地址,則所述控制器200根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接與所述源主機(jī)A連接的第三交換機(jī)400與所述第一交換機(jī)100的端口的信息。本實(shí)施例的控制器,為本發(fā)明提供的地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的執(zhí)行設(shè)備,其執(zhí)行地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法的過程可參見圖4或圖5所示方法實(shí)施例的相關(guān)描述,其實(shí)現(xiàn)原理類似,此處不再贅述。本實(shí)施例的控制器,通過內(nèi)部的接收模塊、確定模塊、發(fā)送模塊可以實(shí)現(xiàn)對交換機(jī)發(fā)來的消息進(jìn)行轉(zhuǎn)發(fā)端口的確定,并控制交換機(jī)按照該轉(zhuǎn)發(fā)端口信息進(jìn)行消息的轉(zhuǎn)發(fā)。上述各實(shí)施例中,僅以包括一個(gè)控制器和兩個(gè)交換機(jī)為例進(jìn)行說明,然而本發(fā)明并不以此為限。同時(shí)上述各實(shí)施例中其他主機(jī)要與主機(jī)F進(jìn)行數(shù)據(jù)交互,可對應(yīng)參照上述實(shí)施例中的原理和過程。本發(fā)明實(shí)施例地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器,通過第一交換機(jī)接收ARP消息,并將所述ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述第一交換機(jī)接收所述控制器發(fā)送的攜帶所述轉(zhuǎn)發(fā)端口信息的所述響應(yīng)消息;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。本發(fā)明實(shí)施例可以由控制器為所管理網(wǎng)絡(luò)的主機(jī)提供ARP服務(wù)來實(shí)現(xiàn)地址解析協(xié)議ARP消息轉(zhuǎn)發(fā),可提高網(wǎng)絡(luò)效率,并可避免現(xiàn)有技術(shù)中ARP消息轉(zhuǎn)發(fā)過程中容易引發(fā)廣播風(fēng)暴,占用帶寬的問題。進(jìn)一步的,本發(fā)明上述各實(shí)施例的技術(shù)方案可以減輕控制器以及各交換機(jī)的負(fù)擔(dān),本發(fā)明實(shí)施例不需要對所有數(shù)據(jù)包進(jìn)行解包和重新封裝,也不需要修改主機(jī)端協(xié)議,兼容性強(qiáng)。并且,還可進(jìn)一步擴(kuò)展其應(yīng)用領(lǐng)域,比如為其他應(yīng)用提供管理網(wǎng)絡(luò)的所有設(shè)備的IP—MAC數(shù)據(jù)庫資源;或者用來有效防止ARP欺騙攻擊,其可選的實(shí)現(xiàn)方法為建立管理網(wǎng)絡(luò)域內(nèi)的MAC數(shù)據(jù)庫,以備查詢備案;獲取域內(nèi)DHCP服務(wù)器的IP地址與MAC地址的映射信息,以備收到ARP欺騙攻擊包時(shí)進(jìn)行驗(yàn)證;檢查ARP程序包,用腳本文件分析ARP協(xié)議,發(fā)現(xiàn)ARP攻擊包,就不轉(zhuǎn)發(fā)并報(bào)警,通過上述過程可防止ARP欺騙的攻擊。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,也可以通過FPGA、ASIC等純硬件邏輯來實(shí)現(xiàn)。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。權(quán)利要求1.一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法,其特征在于,包括第一交換機(jī)接收ARP消息;所述第一交換機(jī)將所述ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述第一交換機(jī)接收所述控制器發(fā)送的所述響應(yīng)消息;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述第一交換機(jī)接收地址解析協(xié)議ARP消息,包括所述第一交換機(jī)接收源主機(jī)發(fā)送的第一ARP請求消息。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一交換機(jī)接收的所述響應(yīng)消息包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述第一交換機(jī)與所述源主機(jī)的端口的信息;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述源主機(jī)發(fā)送所述第一ARP應(yīng)答消息。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一交換機(jī)接收的所述響應(yīng)消息包含所述第一ARP請求消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接第一交換機(jī)與第二交換機(jī)的端口;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)發(fā)送所述第一ARP請求消息。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)發(fā)送所述ARP消息之后,還包括所述第一交換機(jī)接收所述第二交換機(jī)發(fā)送的第二ARP應(yīng)答消息,所述第二ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的MAC地址。6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述第一交換機(jī)接收地址解析協(xié)議ARP消息,包括所述第一交換機(jī)接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一交換機(jī)接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息之前,還包括所述第一交換機(jī)接收第三交換機(jī)發(fā)送的第二ARP請求消息;所述第一交換機(jī)向與所述第一交換機(jī)連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消肩、O8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一交換機(jī)接收的所述響應(yīng)消息包含所述第二ARP請求消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接第一交換機(jī)與第三交換機(jī)的端口;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息,包括所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述第三交換機(jī)發(fā)送所述第二ARP應(yīng)答消9.一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法,其特征在于,包括控制器接收第一交換機(jī)發(fā)送的ARP消息;所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述控制器向所述第一交換器發(fā)送所述響應(yīng)消息,以使所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述ARP消息為第一ARP請求消息;所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,包括若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則根據(jù)所述MAC地址構(gòu)造與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,并將所述第一ARP應(yīng)答消息,以及連接所述第一交換機(jī)與源主機(jī)的端口信息封裝成響應(yīng)消息;或者,若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,未獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則所述控制器將所述第一ARP請求消息,以及至少一個(gè)交換端口的信息封裝成響應(yīng)消息;其中,所述交換端口為連接所述第一交換機(jī)與第二交換機(jī)的端口;所述ARP映射緩存表中包含網(wǎng)絡(luò)中各主機(jī)的互聯(lián)網(wǎng)協(xié)議IP地址與媒體介入控制MAC地址的對應(yīng)關(guān)系。11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述ARP消息為第二ARP應(yīng)答消息;所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,包括所述控制器獲取所述第二ARP應(yīng)答消息中攜帶的源主機(jī)的IP地址和源主機(jī)的MAC地址,則所述控制器根據(jù)所述源主機(jī)的IP地址和源主機(jī)的MAC地址,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接與所述源主機(jī)連接的第三交換機(jī)與所述第一交換機(jī)的端口的信息。12.—種交換機(jī),其特征在于,包括接收模塊,用于接收地址解析協(xié)議ARP消息;發(fā)送模塊,用于將所述接收模塊接收到的ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述接收模塊,還用于接收所述控制器發(fā)送的所述響應(yīng)消息;所述發(fā)送模塊,還用于根據(jù)所述響應(yīng)消息中的轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。13.根據(jù)權(quán)利要求12所述的交換機(jī),其特征在于,所述接收模塊具體用于接收源主機(jī)發(fā)送的第一ARP請求消息。14.根據(jù)權(quán)利要求13所述的交換機(jī),其特征在于,所述接收模塊接收的所述響應(yīng)消息包含與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,所述第一ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的媒體介入控制MAC地址,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接所述交換機(jī)與所述源主機(jī)的端口的信息;所述發(fā)送模塊具體用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述源主機(jī)發(fā)送所述第一ARP應(yīng)答消息。15.根據(jù)權(quán)利要求13所述的交換機(jī),其特征在于,所述轉(zhuǎn)發(fā)端口信息為至少一個(gè)交換端口的信息,所述交換端口為連接交換機(jī)與第二交換機(jī)的端口;所述發(fā)送模塊具體用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向至少一個(gè)第二交換機(jī)發(fā)送所述第一ARP請求消息。16.根據(jù)權(quán)利要求15所述的交換機(jī),其特征在于,所述接收模塊還用于接收所述第二交換機(jī)發(fā)送的第二ARP應(yīng)答消息,所述第二ARP應(yīng)答消息中攜帶所述第一ARP請求消息中的目的IP地址對應(yīng)的MAC地址。17.根據(jù)權(quán)利要求12所述的交換機(jī),其特征在于,所述ARP消息為第二ARP應(yīng)答消息,所述接收模塊具體用于接收目的主機(jī)發(fā)送的第二ARP應(yīng)答消息;所述發(fā)送模塊具體用于將所述第二ARP應(yīng)答消息發(fā)送給所述控制器,以使所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息。18.根據(jù)權(quán)利要求17所述的交換機(jī),其特征在于,所述接收模塊還用于接收第三交換機(jī)發(fā)送的第二ARP請求消息;所述發(fā)送模塊還用于向與所述交換機(jī)連接的至少一個(gè)主機(jī)發(fā)送所述第二ARP請求消肩、O19.根據(jù)權(quán)利要求17所述的交換機(jī),其特征在于,所述轉(zhuǎn)發(fā)端口信息為連接所述交換機(jī)與所述第三交換機(jī)的端口的信息;所述發(fā)送模塊還用于根據(jù)所述轉(zhuǎn)發(fā)端口信息,向所述第三交換機(jī)發(fā)送所述第二ARP應(yīng)答消息。20.—種控制器,其特征在于,包括接收模塊,用于接收第一交換機(jī)發(fā)送的地址解析協(xié)議ARP消息;確定模塊,用于根據(jù)接收模塊接收的所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消發(fā)送模塊,用于向所述第一交換器發(fā)送所述響應(yīng)消息,以使所述第一交換機(jī)根據(jù)所述響應(yīng)消息中的轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。21.根據(jù)權(quán)利要求20所述的控制器,其特征在于,所述ARP消息為第一ARP請求消息,所述確定模塊具體用于若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則根據(jù)所述MAC地址構(gòu)造與所述第一ARP請求消息對應(yīng)的第一ARP應(yīng)答消息,并將所述第一ARP應(yīng)答消息,以及連接所述第一交換機(jī)與源主機(jī)的端口信息封裝成響應(yīng)消息;或者,所述確定模塊具體還用于若所述控制器查詢預(yù)先存儲(chǔ)的ARP映射緩存表,未獲取到所述ARP請求消息中攜帶的目的主機(jī)的IP地址對應(yīng)的MAC地址,則所述控制器將所述第一ARP請求消息,以及至少一個(gè)交換端口的信息封裝成響應(yīng)消息;其中,所述交換端口為連接所述第一交換機(jī)與第二交換機(jī)的端口;所述ARP映射緩存表中包含網(wǎng)絡(luò)中各主機(jī)的互聯(lián)網(wǎng)協(xié)議IP地址與媒體介入控制MAC地址的對應(yīng)關(guān)系。22.根據(jù)權(quán)利要求20所述的控制器,其特征在于,所述ARP消息為第二ARP應(yīng)答消息,所述確定模塊還用于獲取所述第二ARP應(yīng)答消息中攜帶的源主機(jī)的IP地址和源主機(jī)的MAC地址,則所述控制器根據(jù)所述第二ARP應(yīng)答消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息,且所述響應(yīng)消息中包含的轉(zhuǎn)發(fā)端口信息為連接與所述源主機(jī)連接的第三交換機(jī)與所述第一交換機(jī)的端口的信息。全文摘要本發(fā)明實(shí)施例提供一種地址解析協(xié)議ARP消息轉(zhuǎn)發(fā)方法、交換機(jī)和控制器。其中,該方法包括第一交換機(jī)接收ARP消息;所述第一交換機(jī)將所述ARP消息發(fā)送給網(wǎng)絡(luò)中的控制器,以使所述控制器根據(jù)所述ARP消息,構(gòu)造包含轉(zhuǎn)發(fā)端口信息的響應(yīng)消息;所述第一交換機(jī)接收所述控制器發(fā)送的所述響應(yīng)消息;所述第一交換機(jī)根據(jù)所述轉(zhuǎn)發(fā)端口信息,向?qū)?yīng)的端口轉(zhuǎn)發(fā)所述響應(yīng)消息。本發(fā)明實(shí)施例通過控制器為所管理網(wǎng)絡(luò)的主機(jī)提供ARP服務(wù),可提高網(wǎng)絡(luò)效率,節(jié)省網(wǎng)絡(luò)帶寬。文檔編號(hào)H04L12/937GK102938794SQ20121045741公開日2013年2月20日申請日期2012年11月14日優(yōu)先權(quán)日2012年11月14日發(fā)明者陳琳申請人:華為技術(shù)有限公司