一種網絡地址轉換裝置和方法
【專利摘要】本發(fā)明提供一種網絡地址轉換裝置和方法,應用在具有NAT功能的網絡設備上,該裝置執(zhí)行以下處理流程:A、在接收到內部網絡主機向外部網絡發(fā)送的正向數據報文后,將該正向數據報文進行NAT轉換,并記錄轉換記錄與該主機接入標識的對應關系;B、在接收到外部網絡發(fā)送的反向數據報文后,根據轉換記錄以及所述對應關系,將該反向數據報文從該接入標識對應的接口發(fā)送給主機。通過本發(fā)明的技術方案,有效解決了現有技術中由于內部網絡主機地址復用,而造成NAT轉換過程中會話錯誤的問題。
【專利說明】一種網絡地址轉換裝置和方法
【技術領域】
[0001]本發(fā)明涉及網絡通信領域,尤其涉及一種網絡地址轉換裝置和方法。
【背景技術】
[0002]隨著網絡的發(fā)展,網絡的規(guī)模在不斷擴大,網絡用戶的數量也在不斷增加,然而由于歷史原因以及IPV4網絡地址的局限性,網絡地址資源十分有限。為了緩解網絡地址耗盡的問題,在IPV4地址中定義了私網IP地址段,可以用于構建私有網絡,比如公司、企業(yè)內部網絡,但是這些私網IP地址只能在局域網內部使用,無法在外部網絡(Internet)上使用。所以為了使私網主機能夠訪問外部網絡上的主機/服務器,在私網出口處部署NAT(Network Address Translat1n,網絡地址轉換)設備,將私網IP地址轉換為公網IP地址,以便私網主機能夠在公網上使用。
[0003]現有技術中,NAT轉換功能主要是通過報文中的五元組(源IP地址、源端口、目的IP地址、目的端口以及協(xié)議號)將私網IP地址轉換為公網IP地址,但是由于網管配置或者公司合并等原因會造成兩個不同部門的主機使用相同的私網IP地址,這樣,在NAT轉換的時候就可能會出現完全相同的五元組,進而造成會話沖突。
【發(fā)明內容】
[0004]有鑒于此,本發(fā)明提供一種網絡地址轉換裝置和方法,以解決現有技術存在的不足。
[0005]具體地,所述裝置應用在具有NAT功能的網絡設備上,該裝置包括:
[0006]正向轉換模塊,用于在接收到內部網絡主機向外部網絡發(fā)送的正向數據報文后,將該數據報文中作為源IP地址和源端口號的主機IP地址和主機端口號轉換為公網IP地址和本地端口號,并生成相應的轉換記錄,該正向轉換模塊進一步用于確定該主機的接入標識,并將轉換記錄與該接入標識對應關系保存在轉換記錄表中,然后將所述正向數據報文發(fā)送出去;
[0007]反向轉換模塊,用于在接收到外部網絡發(fā)送的反向數據報文后,根據該反向數據報文的目的IP地址和目的端口號查詢所述轉換記錄表,若查詢命中一條轉換記錄則根據該轉換記錄將該反向數據報文的目的IP地址和目的端口號轉換為對應的主機IP地址和主機端口號,然后根據轉換記錄從轉換記錄表中獲取與命中的轉換記錄對應的接入標識,將該反向數據報文從該接入標識對應的接口發(fā)送給主機。
[0008]所述方法包括以下步驟:
[0009]A、在接收到內部網絡主機向外部網絡發(fā)送的正向數據報文后,將該數據報文中作為源IP地址和源端口號的主機IP地址和主機端口號轉換為公網IP地址和本地端口號,并生成相應的轉換記錄,該正向轉換模塊進一步用于確定該主機的接入標識,并將轉換記錄與該接入標識對應關系保存在轉換記錄表中,然后將所述正向數據報文發(fā)送出去;
[0010]B、在接收到外部網絡發(fā)送的反向數據報文后,根據該反向數據報文的目的IP地址和目的端口號查詢所述轉換記錄表,若查詢命中一條轉換記錄則根據該轉換記錄將該反向數據報文的目的IP地址和目的端口號轉換為對應的主機IP地址和主機端口號,然后根據轉換記錄從轉換記錄表中獲取與命中的轉換記錄對應的接入標識,將該反向數據報文從該接入標識對應的接口發(fā)送給主機。
[0011]由以上技術方案可見,相較于現有技術,本發(fā)明無需在多個交換機上部署額外的NAT設備,也可以很大程度上避免交換機難以部署NAT功能的尷尬。
【專利附圖】
【附圖說明】
[0012]圖1是本發(fā)明一種實施方式的應用場景示意圖;
[0013]圖2是本發(fā)明一種實施方式的裝置邏輯圖;
[0014]圖3是本發(fā)明一種實施方式的方法流程圖。
【具體實施方式】
[0015]圖1是本發(fā)明實施方式中的一個應用場景示意圖,請參考圖1,內網主機PCl和PC2通過交換機連接到路由器上,進而可以訪問各種服務器,比如Web服務器。其中由于歷史原因,主機PCl和PC2的私網IP地址相同,都是192.168.0.12,PCl和PC2通常會位于不同的局域網,因此在本局域網通信時互相并不影響。但是如果PCl和PC2都訪問外部網絡,則可能發(fā)生沖突。比如說主機PCl使用端口 I訪問Web服務器的80端口,此時,如果主機PC2也通過端口 I訪問相同Web服務器的80端口,那么在路由器上進行NAT轉換的時,由于他們的五元組信息完全一致,就會出現會話錯誤。
[0016]現有技術中,想要解決上述由于地址復用而產生的會話沖突,一種容易被理解的方案是在交換機I和交換機2處部署NAT轉換功能。通過NAT轉換,在報文到達路由器之前已經把PCl和PC2相同的私網IP地址轉換為不同的公網IP地址,這樣兩個轉換后的報文到達路由器時,就不會發(fā)生上述會話沖突的問題。但是,在實際應用中,很有網絡中已經部署好的交換機設備都是比較老的設備或者是比較低端的接入設備,無法部署NAT轉換,因此需要更換支持NAT轉換的設備,為了解決這個局部問題而更換交換機,顯然成本較高。
[0017]本發(fā)明提供一種低成本的網絡地址轉換的裝置和方法來解決上述問題,其應用在具有NAT功能的網絡設備上,比如圖1的路由器上,本發(fā)明不需要路由器下的各個交換機進行任何變化。為了使本領域技術人員更加清楚和明白,以下結合附圖和實施例詳細介紹本發(fā)明的具體實現。
[0018]請參考圖2和圖3,所述裝置可以通過軟件實現,其運行在路由器的硬件環(huán)境中,本發(fā)明對路由器的硬件環(huán)境并無特殊要求,該裝置包括:正向轉換模塊以及反向轉換模塊。該裝置在運行過程中執(zhí)行如下處理流程:
[0019]步驟101,在接收到內部網絡主機向外部網絡發(fā)送的正向數據報文后,將該數據報文中作為源IP地址和源端口號的主機IP地址和主機端口號轉換為公網IP地址和本地端口號,并生成相應的轉換記錄,該正向轉換模塊進一步用于確定該主機的接入標識,并將轉換記錄與該接入標識對應關系保存在轉換記錄表中,然后將所述正向數據報文發(fā)送出去。本步驟由正向轉換模塊執(zhí)行。
[0020]本步驟中,假設在圖1所示的應用場景下,主機PCl和PC2都是通過本機端口 I訪問Web服務器的80端口,路由器接收到主機發(fā)送的數據報文后,解析所述數據報文,獲取其中五元組信息,由于主機PCl和PC2的五元組信息可能會完全相同,所以為區(qū)分兩個不同主機的不同會話,本發(fā)明引入主機的接入標識作為NAT轉換時區(qū)分的第六元標識。
[0021]在一種優(yōu)選的實施方式中,所述主機的接入標識是正向數據報文在路由器上的入接口標識,由網管配置,通常來講,不同部門之間在路由器上的入接口并不同。本發(fā)明正是利用這一特點引入了接入標識,將會話從五元組擴展為六元組。主機PCl和PC2的六元組信息不會完全相同,因此PCl和PC2發(fā)起的會話不會發(fā)生沖突,會被路由器作為不同的會話來對待,即便兩者報文中IP地址和端口號都相同。在收到來自PC的正向數據報文(也就是其向外部網絡發(fā)送的數據報文)時,正向轉換模塊可以將該正向數據報文中作為源IP地址和源端口號的主機IP地址和主機端口號轉換為公網IP地址和本地端口號,所述本地端口號是NAT設備(對應圖1中的路由器)為其分配的端口號。然后保存如表1所示的轉換記錄表。
[0022]
【權利要求】
1.一種網絡地址轉換裝置,應用在具有NAT功能的網絡設備上,該裝置包括: 正向轉換模塊,用于在接收到內部網絡主機向外部網絡發(fā)送的正向數據報文后,將該數據報文中作為源IP地址和源端口號的主機IP地址和主機端口號轉換為公網IP地址和本地端口號,并生成相應的轉換記錄,該正向轉換模塊進一步用于確定該主機的接入標識,并將轉換記錄與該接入標識對應關系保存在轉換記錄表中,然后將所述正向數據報文發(fā)送出去; 反向轉換模塊,用于在接收到外部網絡發(fā)送的反向數據報文后,根據該反向數據報文的目的IP地址和目的端口號查詢所述轉換記錄表,若查詢命中一條轉換記錄則根據該轉換記錄將該反向數據報文的目的IP地址和目的端口號轉換為對應的主機IP地址和主機端口號,然后根據轉換記錄從轉換記錄表中獲取與命中的轉換記錄對應的接入標識,將該反向數據報文從該接入標識對應的接口發(fā)送給主機。
2.根據權利要求1所述的裝置,其特征在于, 所述接入標識為正向數據報文的入接口標識。
3.根據權利要求1所述的裝置,其特征在于, 正向轉換模塊進一步用于保存該轉換記錄與主機MAC地址之間的對應關系; 反向轉換模塊進一步用于根據命中的轉換記錄獲取對應的主機MAC地址,然后根據所述主機MAC地址封裝所述反向數據報文。
4.根據權利要求1所述的裝置,其特征在于,反向轉換模塊進一步用于將所述反向數據報文從對應的接口通過廣播的方式發(fā)送給主機。
5.一種網絡地址轉換方法,應用在具有NAT功能的網絡設備上,該方法包括: A、在接收到內部網絡主機向外部網絡發(fā)送的正向數據報文后,將該數據報文中作為源IP地址和源端口號的主機IP地址和主機端口號轉換為公網IP地址和本地端口號,并生成相應的轉換記錄,該正向轉換模塊進一步用于確定該主機的接入標識,并將轉換記錄與該接入標識對應關系保存在轉換記錄表中,然后將所述正向數據報文發(fā)送出去; B、在接收到外部網絡發(fā)送的反向數據報文后,根據該反向數據報文的目的IP地址和目的端口號查詢所述轉換記錄表,若查詢命中一條轉換記錄則根據該轉換記錄將該反向數據報文的目的IP地址和目的端口號轉換為對應的主機IP地址和主機端口號,然后根據轉換記錄從轉換記錄表中獲取與命中的轉換記錄對應的接入標識,將該反向數據報文從該接入標識對應的接口發(fā)送給主機。
6.根據權利要求5所述的方法,其特征在于, 所述接入標識為正向數據報文的入接口標識。
7.根據權利要求6所述的方法,其特征在于, 步驟A進一步包括:保存該轉換記錄與主機MAC地址之間的對應關系; 步驟B進一步包括:根據命中的轉換記錄獲取對應的主機MAC地址,然后根據所述主機MAC地址封裝所述反向數據報文。
8.根據權利要求6所述的方法,其特征在于, 步驟B進一步包括:將所述反向數據報文從對應的接口通過廣播的方式發(fā)送給主機。
【文檔編號】H04L29/12GK104168338SQ201310185284
【公開日】2014年11月26日 申請日期:2013年5月16日 優(yōu)先權日:2013年5月16日
【發(fā)明者】張發(fā)奇 申請人:杭州迪普科技有限公司