專利名稱:多個虛擬局域網(wǎng)共用一個網(wǎng)際協(xié)議子網(wǎng)網(wǎng)段時的通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機網(wǎng)絡(luò)通信方法,特別涉及一種在有多個虛擬局域網(wǎng)(Virtual Local Area Network,以下簡稱為VLAN)共用同一網(wǎng)際協(xié)議(IP)子網(wǎng)網(wǎng)段時的計算機之間的通信方法。
背景技術(shù):
局域網(wǎng)(LAN)采用帶物理地址或MAC地址的幀來傳送數(shù)據(jù)并且無需中間交換和路由選擇,因此允許在OSI模型的物理層(L1)和數(shù)據(jù)鏈路層(L2)上實現(xiàn)。而多個LAN之間的連接需要借助局域網(wǎng)交換機實現(xiàn),此時每個LAN都與交換機的一個物理端口連接,LAN內(nèi)計算機發(fā)送的MAC幀通過端口被交換機接收并解析出物理地址或MAC地址信息,如果目標地址與發(fā)送計算機的源地址屬于同一LAN,則該幀無需轉(zhuǎn)發(fā),因此將被交換機忽略,否則交換機向其它LAN轉(zhuǎn)發(fā)該幀。換句話說,這種交換機基于物理地址或MAC地址與交換機物理端口的映射關(guān)系進行轉(zhuǎn)發(fā)處理,因此允許運行在OSI模型的數(shù)據(jù)鏈路層(L2)上并被稱為第二層交換機。
為了提高網(wǎng)絡(luò)帶寬的使用效率,連接處于不同地理位置的計算機和在一個大型局域網(wǎng)中組建一個較小的工作組,交換機可以從邏輯上對物理端口進行分組從而組建虛擬局域網(wǎng)(VLAN)。例如一臺交換機有24個物理端口,可根據(jù)實際需要將端口1-4歸并為VLAN端口A,端口5-17歸并為VLAN端口B,端口18-24歸并為VLAN端口C,從而使與分屬VLAN端口A、B和C的物理端口連接的各種設(shè)備構(gòu)成三個虛擬局域網(wǎng)。實際上,屬于同一VLAN端口的物理端口在序號上可以是不連續(xù)的,甚至可以將不同交換機上的物理端口歸并為一個VLAN端口。VLAN本質(zhì)上應(yīng)視為OSI模型的L2層子網(wǎng)網(wǎng)段的邏輯分組,它必須與支持基于網(wǎng)絡(luò)層(L3)地址轉(zhuǎn)發(fā)業(yè)務(wù)的設(shè)備(例如路由器或支持網(wǎng)絡(luò)層交換的L3層交換機)連接才能使數(shù)據(jù)包在不同VLAN之間傳送。有關(guān)VLAN的詳細描述,可參見IEEE 802.1Q和802.1p協(xié)議,其中前者主要規(guī)定了VLAN的實現(xiàn)方式,而后者針對實時性要求較高的傳送定義了優(yōu)先級的概念。
在IP協(xié)議下,對于不同的VLAN,交換機或者路由器一般為每個VLAN都分配一個不同的IP子網(wǎng)網(wǎng)段,而不同VLAN內(nèi)的計算機則配置在相應(yīng)的不同子網(wǎng)網(wǎng)段上。例如在圖1中,接入設(shè)備1為支持三層交換的L3層交換機或者路由器,假設(shè)其物理端口被歸并為3個VLAN端口并以不同的VLAN ID值標識,計算機A1、A2和A3經(jīng)以太網(wǎng)交換機LS-1與接入設(shè)備1連接的物理端口被分入VLAN ID=1的邏輯端口,計算機B1、B2和B3經(jīng)以太網(wǎng)交換機LS-2與接入設(shè)備1連接的物理端口被分入VLAN ID=2的邏輯端口,計算機C1、C2和C3經(jīng)以太網(wǎng)交換機LS-3與接入設(shè)備1連接的物理端口被分入VLAN ID=3的邏輯端口,因此計算機A1-A3、B1-B3以及C1-C3分屬三個不同的VLAN A、B和C。與這三個VLAN相關(guān)的IP地址可分配如下VLAN ID=1端口地址(即VLAN A的網(wǎng)關(guān)地址)為172.11.252.1,子網(wǎng)網(wǎng)段地址為172.11.252.0,掩碼為255.255.255.0;VLAN ID=2端口地址(即VLAN B的網(wǎng)關(guān)地址)為172.11.253.1,子網(wǎng)網(wǎng)段地址為172.11.253.0,掩碼為255.255.255.0;VLAN ID=3端口地址(即VLAN C的網(wǎng)關(guān)地址)為172.11.254.1,子網(wǎng)網(wǎng)段地址為172.11.254.0,掩碼為255.255.255.0。計算機A1-A3的IP地址配置在地址為172.11. 252.0的子網(wǎng)網(wǎng)段上;計算機B1-B3的IP地址配置在地址為172.11.253.0的子網(wǎng)網(wǎng)段上;計算機C1-C3的IP地址配置在地址為172.11.254.0的子網(wǎng)網(wǎng)段上。
圖2示出了當位于172.11.252.0子網(wǎng)網(wǎng)段上的計算機A1向位于同一子網(wǎng)網(wǎng)段上的計算機A2傳送數(shù)據(jù)時的流程。如圖2所示,由于A1與A2屬于同一子網(wǎng)網(wǎng)段,因此A1首先查找地址解析協(xié)議(ARP)表,通過A2的IP地址查找A2的物理地址或MAC地址;如果ARP表中存儲了A2的信息,則A1獲取A2的物理地址或MAC地址并在所屬VLAN內(nèi)傳送包含該物理地址或MAC地址的IP報文,隨后位于該物理地址或MAC地址的A2將接收到報文;如果ARP表中未存儲A2的信息,則A1向自己所在網(wǎng)段172.11.252.0發(fā)送ARP請求報文,也就是向VLAN 1中的所有計算機發(fā)送ARP請求報文,ARP請求報文中的被請求的IP地址是A2的IP地址,被分配了該目的地址的計算機A2在接收到ARP請求報文后向A1回送包含其物理地址或MAC地址的ARP響應(yīng)報文,A1隨后將該物理地址或MAC地址作為目的物理地址或MAC地址把IP報文傳送給A2。
當位于172.11.252.0子網(wǎng)網(wǎng)段上的計算機A1向位于172.11.253.0子網(wǎng)網(wǎng)段上的計算機B1傳送數(shù)據(jù)時,由于A1與B1屬于不同的子網(wǎng)網(wǎng)段,因此A1向地址為172.11.252.1的網(wǎng)關(guān)發(fā)送包含目的IP地址的報文,接入設(shè)備1根據(jù)目的IP地址中子網(wǎng)網(wǎng)段地址與接入設(shè)備邏輯端口的映射關(guān)系將該IP報文轉(zhuǎn)發(fā)給網(wǎng)關(guān)172.11.253.1,再由該網(wǎng)關(guān)根據(jù)ARP表查找到相應(yīng)的物理地址或MAC地址,然后將報文傳送給帶有該物理地址或MAC地址的計算機B1。
在上述計算機通信方法中,需要將不同的VLAN在邏輯上作為不同的IP子網(wǎng)網(wǎng)段進行處理,并且不同VLAN內(nèi)的計算機分屬相應(yīng)的IP子網(wǎng)網(wǎng)段并配置相應(yīng)的網(wǎng)關(guān),因此當接入設(shè)備支持的VLAN數(shù)量較多時,需要配置多個IP網(wǎng)段,浪費了IP地址資源,同時數(shù)據(jù)工作量大。具體而言,對于每個VLAN,即使它包含一個計算機,也必須為其提供4個IP地址,即,VLAN的子網(wǎng)網(wǎng)段地址、廣播地址、網(wǎng)關(guān)地址和該計算機的地址。
發(fā)明內(nèi)容
因此本發(fā)明的目的是提供一種用于虛擬局域網(wǎng)(VLAN)的計算機網(wǎng)絡(luò)通信方法,它可以實現(xiàn)共用同一IP子網(wǎng)網(wǎng)段的VLAN內(nèi)的計算機之間的通信。
為此提供這樣一種計算機網(wǎng)絡(luò)通信方法,所述網(wǎng)絡(luò)包含多個虛擬局域網(wǎng)(VLAN)和至少一個包含VLAN端口的接入設(shè)備,所述每個VLAN對應(yīng)一個所述VLAN端口并通過相應(yīng)的VLAN端口與所述接入設(shè)備連接,至少兩個所述VLAN被分配一個IP子網(wǎng)網(wǎng)段,當被分配同一IP子網(wǎng)網(wǎng)段但屬于不同VLAN內(nèi)的其中一臺計算機向另一臺計算機發(fā)送報文時,所述方法包含以下步驟(1)所述發(fā)送報文的計算機發(fā)送包含源IP地址、目的IP地址、源物理地址和目的物理地址的報文,其中所述源IP地址為所述發(fā)送報文的計算機的IP地址,所述目的IP地址為所述接收報文的計算機的IP地址,所述源物理地址為所述發(fā)送報文的計算機的物理地址,而所述目的物理地址為所述接入設(shè)備上與所述發(fā)送報文計算機所屬的VLAN相連的VLAN端口的物理地址;(2)所述接入設(shè)備接收到所述報文后,將所述報文中的源物理地址改為接入設(shè)備上與所述接收報文計算機所屬的VLAN相連的VLAN端口的物理地址,所述目的物理地址改為所述接收報文計算機的物理地址,并且經(jīng)所述接入設(shè)備上與所述接收報文的計算機所屬VLAN相連的VLAN端口發(fā)送報文。
由上可見,利用本發(fā)明的通信方法可以實現(xiàn)多個虛擬局域網(wǎng)共用一個IP子網(wǎng)網(wǎng)段,多個VLAN只需配置一個IP地址即可,節(jié)約了IP地址資源同時簡化了數(shù)據(jù)配置。這與當前每個VLAN至少需要配置4個IP地址的情況相比,這大大節(jié)省了地址資源。
圖1為虛擬局域網(wǎng)(VLAN)的組網(wǎng)圖;圖2為現(xiàn)有技術(shù)下同一VLAN內(nèi)計算機之間發(fā)送IP報文的流程圖;以及圖3為按照本發(fā)明的兩個VLAN共用同一IP子網(wǎng)網(wǎng)段時分屬不同VLAN內(nèi)的計算機之間發(fā)送IP報文的流程圖。
實施發(fā)明的具體方式以下以圖1所示虛擬局域網(wǎng)為例描述按照本發(fā)明的計算機通信方法。首先描述對各個VLAN的地址分配。首先將接入設(shè)備1內(nèi)VLAN ID=1和VLAN ID=2的兩個端口配置在一個邏輯接口LI中,將原先虛擬局域網(wǎng)A和B的計算機配置在一個子網(wǎng)網(wǎng)段上。換句話說,VLAN ID=1和VLAN ID=2的兩個端口以及虛擬局域網(wǎng)A和B內(nèi)的計算機共用同一IP子網(wǎng)網(wǎng)段。如果該子網(wǎng)網(wǎng)段地址假設(shè)為172.11.252.0,掩碼為255.255.255.0,則上述計算機A1-A3和B1-B3的地址在172.11.252.0的子網(wǎng)網(wǎng)段上分配,例如計算機A1可為172.11.252.4,計算機A2可為172.11.252.5,計算機B1可為172.11.252.6。邏輯接口LI可以視為該子網(wǎng)網(wǎng)段的網(wǎng)關(guān),其地址可配置為172.11.252.1,掩碼為255.255.255.0。對于VLAN C,其子網(wǎng)網(wǎng)段地址假設(shè)仍然為172.11.254.0,網(wǎng)關(guān)地址為172.11.254.1,掩碼為255.255.255.0。值得指出的是,上述配置只是示意性質(zhì)的,實際上還存在其它各種使不同VLAN內(nèi)計算機共用同一IP子網(wǎng)網(wǎng)段的具體組合方式,因此上述和下述的具體描述不應(yīng)理解為是對本發(fā)明的限定,而僅用于闡釋目的。
圖3示出了當位于172.11.252.0子網(wǎng)網(wǎng)段上的計算機A1向位于同一子網(wǎng)網(wǎng)段上但分屬不同VLAN的計算機B1傳送包含目的IP地址的IP報文時的流程。如圖3所示,由于A1與B1屬于同一子網(wǎng)網(wǎng)段,因此A1首先根據(jù)ARP表,通過B1的IP地址查找目的物理地址或MAC地址。如果ARP表中存儲了B1的有關(guān)地址信息,則A1即可獲得B1的目的物理地址或MAC地址。值得指出的是,按照本發(fā)明,雖然此時報文中的源IP地址為計算機A1的IP地址,源物理地址為A1的物理地址或MAC地址,而目的IP地址是B1的IP地址,但是目的物理地址應(yīng)是接入設(shè)備與A1所屬虛擬局域網(wǎng)A連接的接入設(shè)備VLAN端口的物理地址或MAC地址,即接入設(shè)備VLAN ID=I端口的物理地址或MAC地址。換句話說,該B1的MAC地址并非其實際的物理地址,而只是其名義上的物理地址。當該IP報文根據(jù)上述物理地址被送至接入設(shè)備的VLAN ID=1VLAN端口后,接入設(shè)備再根據(jù)B1的IP地址查找到應(yīng)該轉(zhuǎn)發(fā)此報文的VLAN端口,即VLAN ID=2的接入設(shè)備端口,將報文中的源物理地址修改VLAN ID=2的端口的物理地址,目的物理地址修改為計算機B1實際的物理地址,并通過VLAN ID=2端口轉(zhuǎn)發(fā)報文。如果計算機A1的ARP表中未存儲B1的IP地址,則如圖3所示,根據(jù)ARP協(xié)議,A1向172.11.252.0網(wǎng)段發(fā)送包含該目的IP地址的ARP請求報文。接入設(shè)備1接收到ARP報文請求時,它根據(jù)ARP報文中的源IP地址和目的IP地址判斷出B1所屬的VLAN端口和A1所屬的VLAN端口不同,則代替B1向A1發(fā)送ARP響應(yīng)報文,其中響應(yīng)報文中的IP地址雖然是B1的,但是物理地址或MAC地址卻是與A1所屬VLAN相接的接入設(shè)備的VLAN端口的。A1隨后從ARP響應(yīng)報文中獲取B1的名義物理地址。當位于172.11.252.0子網(wǎng)網(wǎng)段上的計算機A1向位于同一子網(wǎng)網(wǎng)段并且屬于同一VLAN內(nèi)的計算機A2傳送包含目的IP地址的IP報文時,由于A1與A2屬于同一VLAN,因此其報文發(fā)送方式與前述同一VLAN內(nèi)計算機之間的報文發(fā)送方式相同,此處不再贅述。
由上可見,利用本發(fā)明的上述通信方法可實現(xiàn)共用一個IP子網(wǎng)網(wǎng)段的VLAN內(nèi)計算機之間的通信,而且從計算機端來看,這種通信方式與普通方式?jīng)]有差別。
當位于172.11.252.0子網(wǎng)網(wǎng)段上的計算機A1向位于172.11.254.0子網(wǎng)網(wǎng)段上的計算機C1傳送數(shù)據(jù)時,由于A1與C1屬于不同的子網(wǎng)網(wǎng)段,因此A1首先將包含源IP地址和目的IP地址的報文發(fā)送至地址為172.11.252.1的網(wǎng)關(guān),即邏輯端口LI,然后接入設(shè)備1根據(jù)目的IP地址中子網(wǎng)網(wǎng)段地址與邏輯端口的映射關(guān)系將該IP報文轉(zhuǎn)發(fā)給網(wǎng)關(guān)172.11.254.1,再由該網(wǎng)關(guān)根據(jù)其所屬VLAN的ARP表查找到相應(yīng)的物理地址或MAC地址并將報文傳送給該物理地址或MAC地址的計算機C1。顯然,上述過程與普通位于不同子網(wǎng)網(wǎng)段上的虛擬局域網(wǎng)之間的通信過程是相同的。
當位于172.11.254.0子網(wǎng)網(wǎng)段上的計算機C1向位于172.11.252.0子網(wǎng)網(wǎng)段上的計算機A2或B1傳送數(shù)據(jù)時,由于C1與A2或B1屬于不同子網(wǎng)網(wǎng)段,因此C1首先將包含源IP地址和目的IP地址的報文發(fā)送至地址為172.11.254.1的網(wǎng)關(guān),然后接入設(shè)備1根據(jù)目的IP地址中子網(wǎng)網(wǎng)段地址與邏輯端口的映射關(guān)系將該IP報文轉(zhuǎn)發(fā)給網(wǎng)關(guān)172.11.252.1。該網(wǎng)關(guān)根據(jù)IP目標地址確定A2或B1所屬的VLAN端口以得到相應(yīng)的物理地址或MAC地址,與前述相同,在此時的IP報文中,雖然目的IP地址是A2或B1的IP地址,但是物理地址或MAC地址卻是A2或B1所屬VLAN端口的物理地址或MAC地址。當IP報文按照所查找到的物理地址或MAC地址到達ID=1或2的VLAN端口后,再根據(jù)A2或B1的目的IP地址送至A2或B1。
由上可見,利用本發(fā)明的上述通信方法同樣可實現(xiàn)共用一個IP子網(wǎng)網(wǎng)段的VLAN內(nèi)計算機與其它IP子網(wǎng)網(wǎng)段上計算機的通信,而且從計算機端來看,這種通信方式與普通方式?jīng)]有差別。
值得指出的是,本說明書及其權(quán)利要求書中的計算機是一個廣義概念,它包括但不限于服務(wù)器、工作站、打印機或其它任何能連接交換機或路由器從而構(gòu)成虛擬局域網(wǎng)的設(shè)備。
權(quán)利要求
1.一種計算機網(wǎng)絡(luò)通信方法,所述網(wǎng)絡(luò)包含多個虛擬局域網(wǎng)(VLAN)和至少一個包含VLAN端口的接入設(shè)備,所述每個VLAN對應(yīng)一個所述VLAN端口并通過相應(yīng)的VLAN端口與所述接入設(shè)備連接,其特征在于,至少兩個所述VLAN被分配一個IP子網(wǎng)網(wǎng)段,并且當被分配同一IP子網(wǎng)網(wǎng)段但屬于不同VLAN內(nèi)的兩臺計算機中的其中一臺向另一臺發(fā)送報文時,所述方法包含以下步驟(1)所述發(fā)送報文的計算機發(fā)送包含源IP地址、目的IP地址、源物理地址和目的物理地址的報文,其中所述源IP地址為所述發(fā)送報文的計算機的IP地址,所述目的IP地址為所述接收報文的計算機的IP地址,所述源物理地址為所述發(fā)送報文的計算機的物理地址,而所述目的物理地址為所述接入設(shè)備上與所述發(fā)送報文計算機所屬的VLAN相連的VLAN端口的物理地址;以及(2)所述接入設(shè)備接收到所述報文后,將所述報文中的源物理地址改為接入設(shè)備上與所述接收報文計算機所屬的VLAN相連的VLAN端口的物理地址,所述目的物理地址改為所述接收報文計算機的物理地址,并且經(jīng)所述接入設(shè)備上與所述接收報文的計算機所屬VLAN相連的VLAN端口發(fā)送報文。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)通信方法,其特征在于,如果在步驟(1)中所述發(fā)送報文的計算機無法獲取所述目的物理地址,則以下列步驟獲得所述接入設(shè)備上與所述發(fā)送報文的計算機所屬VLAN相連的VLAN端口的物理地址(a)所述發(fā)送報文的計算機發(fā)送包含所述目的IP地址的地址解析協(xié)議(ARP)請求報文;(b)所述接入設(shè)備根據(jù)所述ARP請求報文中包含的所述目的IP地址向所述發(fā)送報文的計算機發(fā)送ARP響應(yīng)報文,所述ARP響應(yīng)報文中包含所述接入設(shè)備上與所述發(fā)送報文的計算機所屬VLAN相連的VLAN端口的物理地址;以及(c)所述發(fā)送報文的計算機從所述ARP響應(yīng)報文中獲得該物理地址。
3.如權(quán)利要求1或2所述的計算機網(wǎng)絡(luò)通信方法,其特征在于所述接入設(shè)備為路由器或者支持網(wǎng)絡(luò)層交換的交換機。
4.如權(quán)利要求1或2所述的計算機網(wǎng)絡(luò)通信方法,其特征在于所述計算機為連接所述接入設(shè)備從而構(gòu)成虛擬局域網(wǎng)的設(shè)備。
全文摘要
本發(fā)明提供一種計算機網(wǎng)絡(luò)通信方法,該方法允許分布在多個虛擬局域網(wǎng)(VLAN)中的計算機配置在同一個IP網(wǎng)段內(nèi)。利用該方法,一個較大規(guī)模的局域網(wǎng)可以分解成多個虛擬局域網(wǎng)(VLAN),多個虛擬局域網(wǎng)(VLAN)接在一臺諸如路由器、以太網(wǎng)三層交換機之類的接入設(shè)備上,由接入設(shè)備實現(xiàn)該通信方法,允許不同虛擬局域網(wǎng)內(nèi)的計算機配置在同一個IP網(wǎng)段內(nèi),計算機之間可以互相通信,這樣既可以隔離了局域網(wǎng)內(nèi)的廣播報文,又可以節(jié)約IP地址資源,簡化數(shù)據(jù)配置。
文檔編號H04L12/28GK1457178SQ0211163
公開日2003年11月19日 申請日期2002年5月10日 優(yōu)先權(quán)日2002年5月10日
發(fā)明者沈文, 劉凱, 慶武, 萬斌, 徐中亞 申請人:華為技術(shù)有限公司