两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

對網(wǎng)絡(luò)地址轉(zhuǎn)換虛地址的地址解析協(xié)議請求響應(yīng)的方法

文檔序號:7588081閱讀:264來源:國知局
專利名稱:對網(wǎng)絡(luò)地址轉(zhuǎn)換虛地址的地址解析協(xié)議請求響應(yīng)的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種對NAT虛地址的ARP請求響應(yīng)的方法。
背景技術(shù)
NAT(Network Address Translator,網(wǎng)絡(luò)地址轉(zhuǎn)換)用于允許專用網(wǎng)絡(luò)上的多臺PC機(jī)(使用專用地址范圍,例如10.0.x.x、192.168.x.x、172.x.x.x)共享單個、可全局路由的IPv4(地址轉(zhuǎn)換協(xié)議的第4版本)地址,即NAT可以在多重的internet子網(wǎng)中使用相同的IPv4地址,保證了數(shù)量有限的IPv4地址被盡可能多的用戶使用,同時NAT也支持外部源地址的轉(zhuǎn)換,其接受到外部回來的數(shù)據(jù)包,再根據(jù)NAT表把地址翻譯成內(nèi)部的局部IP,并將數(shù)據(jù)包轉(zhuǎn)發(fā)過去;NAT也支持內(nèi)部服務(wù)器的負(fù)載均衡等其他的相關(guān)應(yīng)用。
如圖1為使用NAT訪問外部公有網(wǎng)的情況,其中eth0/0為NAT的內(nèi)網(wǎng)接口,eth0/1為外網(wǎng)接口,內(nèi)網(wǎng)網(wǎng)段為10.5.5.0/24,外網(wǎng)網(wǎng)段為20.1.1.0/24。配置NAT的地址轉(zhuǎn)換規(guī)則為ip nat inside source static 10.5.5.2 20.1.1.1這條規(guī)則的含義是把內(nèi)網(wǎng)PC1的源地址10.5.5.2轉(zhuǎn)換成外部公網(wǎng)地址,此處使用的是與外網(wǎng)相連的接口eth0/1的IP地址20.1.1.1。
在這樣的配置下,NAT可以進(jìn)行正常的地址轉(zhuǎn)換,內(nèi)網(wǎng)主機(jī)PC1發(fā)出的報文經(jīng)過NAT后源地址由10.5.5.2轉(zhuǎn)換成地址20.1.1.1,并可與外網(wǎng)主機(jī)例如IP地址為20.1.1.10的Server進(jìn)行正常的通訊。
但如果在做地址轉(zhuǎn)換時,把內(nèi)網(wǎng)地址10.5.5.2轉(zhuǎn)換成外部地址20.1.1.2,而這個地址不是與外網(wǎng)相連的接口地址20.1.1.1,也不是外網(wǎng)中任何一臺網(wǎng)絡(luò)設(shè)備的IP地址,并與外網(wǎng)接口地址在同一網(wǎng)段。如圖1的組網(wǎng)情況,若配置如下NAT地址轉(zhuǎn)換規(guī)則;
ip nat inside source static 10.5.5.2 20.1.1.2在這種配置下,內(nèi)網(wǎng)主機(jī)PC1的報文發(fā)出后,經(jīng)過NAT路由器進(jìn)行源地址的轉(zhuǎn)換工作,將源地址10.5.5.2轉(zhuǎn)換成20.1.1.2后發(fā)送給外網(wǎng)主機(jī)(例如Server,IP地址為20.1.1.10)。由于收到報文的源地址是20.1.1.2,所以Server在應(yīng)答時回應(yīng)報文的目的地址為20.1.1.2,而地址20.1.1.2不是路由器某個接口地址,也不是該網(wǎng)絡(luò)中某個主機(jī)地址,我們稱之為NAT虛地址。在發(fā)送報文時,由于虛地址20.1.1.2與NAT的外網(wǎng)同屬一個網(wǎng)段,即20.1.1.0/24網(wǎng)段,因此不用去查路由表,而直接進(jìn)行二層轉(zhuǎn)發(fā)。在轉(zhuǎn)發(fā)前,需要知道對方的MAC地址,也即虛地址20.1.1.2所對應(yīng)的MAC地址。由于不知道20.1.1.2所對應(yīng)的MAC地址,發(fā)送報文的網(wǎng)絡(luò)設(shè)備(圖1中的Server)會在20.1.1.0/24網(wǎng)段上發(fā)送ARP請求,請求IP地址為20.1.1.2的設(shè)備所對應(yīng)的MAC地址。
由于20.1.1.2是NAT使用的虛地址,NAT路由器上接口eth0/1不會響應(yīng)對IP地址20.1.1.2的ARP請求。對于外網(wǎng)主機(jī)Server來說,ARP請求沒有響應(yīng),得不到IP地址20.1.1.2所對應(yīng)的MAC地址,應(yīng)答報文就無法發(fā)送出去,從而導(dǎo)致通過NAT進(jìn)行地址轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā)的失敗。
在使用NAT進(jìn)行地址轉(zhuǎn)換時,如果用戶配置的轉(zhuǎn)換后的IP地址與路由器的接口地址同屬一個網(wǎng)段,應(yīng)答報文會因ARP請求的失敗而找不到目的IP地址所對應(yīng)的MAC地址,從而NAT路由器收不到應(yīng)答報文,地址轉(zhuǎn)換失敗。

發(fā)明內(nèi)容
針對NAT對NAT虛地址發(fā)送報文時所存在的問題和不足,本發(fā)明的目的是提供一種對NAT虛地址的ARP請求響應(yīng)的方法。
本發(fā)明是這樣實(shí)現(xiàn)的一種對NAT虛地址的ARP請求響應(yīng)的方法,包括以下步驟檢查NAT轉(zhuǎn)換后的地址是否與路由器中某接口IP地址在同一網(wǎng)段,如果是,則查找該虛地址是否在鏈接表中注冊,若已注冊,則新鏈接建立后,對該虛地址進(jìn)行鏈接計數(shù);若未注冊,則把虛地址注冊到該同一網(wǎng)段的接口上,鏈接建立后,將該虛地址的鏈接計數(shù)初始化為1。
進(jìn)一步地,該方法還包括鏈接終止,檢查鏈接表中有沒有注冊虛地址,若有,則將該虛地址的鏈接計數(shù)減1;若鏈接計數(shù)為0,取消注冊該虛地址的鏈接。
進(jìn)一步地,所述含有虛地址的鏈表中的每個節(jié)點(diǎn)記錄的內(nèi)容包括有虛地址,需對ARP請求進(jìn)行回應(yīng)的IP地址,該地址為NAT轉(zhuǎn)換后的IP地址,并與某接口地址同屬一個網(wǎng)段;接口索引,接口的IP地址和上述需回應(yīng)的IP地址同屬一個網(wǎng)段的接口,收到對上述虛IP地址的ARP請求時,該接口把自己的MAC地址回應(yīng)給請求方;鏈接計數(shù),虛地址鏈接建立后,增加該虛地址的鏈接的計數(shù),該計數(shù)表示目前有幾個鏈接在使用這個虛地址。
本發(fā)明在配置NAT地址轉(zhuǎn)換規(guī)則時,就可以配置與接口地址同屬一個網(wǎng)段的IP地址,取消了在應(yīng)用NAT時的一大限制。而且,本發(fā)明盡可能地節(jié)省了系統(tǒng)資源,具體體現(xiàn)在以下幾個方面1、配置用戶的源地址轉(zhuǎn)換到與接口同屬一網(wǎng)段的地址時,接口會響應(yīng)對該地址的ARP請求,這樣發(fā)向該地址的報文就可以以接口的MAC為目的MAC地址發(fā)出,從而接口0/1會順利地收到回應(yīng)方向的報文,經(jīng)過地址轉(zhuǎn)換后的通訊可以正常進(jìn)行;2、本發(fā)明只有在真正地使用該虛地址轉(zhuǎn)換規(guī)則建立通訊鏈接時,NAT才會去注冊對這個虛地址ARP請求的響應(yīng)。并且,當(dāng)使用某虛地址的最后一條通訊鏈接關(guān)閉時,該虛地址的注冊信息中的通訊鏈接計數(shù)會為零,表示當(dāng)前已經(jīng)沒有鏈接使用這個地址進(jìn)行通訊,NAT會刪除對虛地址ARP請求響應(yīng)的注冊。通過采用這樣的方法,盡可能地減少了虛地址的生效時間,從而把注冊虛地址對接口模塊的影響降低到最小程度,同時節(jié)省了系統(tǒng)資源;3、當(dāng)接口的地址改變時,同一IP地址注冊的對應(yīng)接口會隨著新鏈接的生成而自動更新。例如,用戶配置了到地址30.1.1.2的轉(zhuǎn)換,而此時沒有任何一個接口的IP地址屬30.1.1.0/24網(wǎng)段,因此也不會有鏈接注冊IP地址30.1.1.2的ARP請求接口。但當(dāng)系統(tǒng)運(yùn)行過程中,假如用戶把某個接口地址變成了30.1.1.0/24網(wǎng)段的一個地址,此后在建立新的通訊鏈接時,NAT會檢查到這個接口需要注冊對IP地址30.1.1.2的ARP請求,并且會在這個接口上進(jìn)行注冊。這樣可以保持注冊信息與接口地址的一致性。
總之,本發(fā)明可以有效地解決對NAT使用的虛地址ARP請求的響應(yīng)問題,拓寬了NAT使用的網(wǎng)絡(luò)環(huán)境,增加了NAT對各種配置條件的兼容性。本發(fā)明僅在必要的時候使用有限的系統(tǒng)資源。本發(fā)明即能保證對NAT配置的虛地址的ARP請求進(jìn)行正確響應(yīng),又能保證地址轉(zhuǎn)換工作的效率。


下面結(jié)合附圖,對本發(fā)明作出詳細(xì)描述。
圖1為現(xiàn)有的NAT轉(zhuǎn)發(fā)方法示意圖;圖2為本發(fā)明建立鏈接的流程圖;圖3為本發(fā)明關(guān)閉鏈接的流程圖。
具體實(shí)施例方式本發(fā)明在NAT進(jìn)行地址轉(zhuǎn)換并建立一條新的通訊鏈接時,檢查當(dāng)前轉(zhuǎn)換后的IP地址是否與NAT路由器出接口的IP地址在同一網(wǎng)段,如果與出接口在同一網(wǎng)段,在該接口上注冊對該虛IP地址ARP請求的響應(yīng),注冊后該接口會把自己的MAC地址回應(yīng)給該IP地址ARP請求。當(dāng)在這條通訊鏈接關(guān)閉時,取消注冊該地址在這個接口上的ARP請求響應(yīng)。具體為檢查NAT轉(zhuǎn)換后的地址是否與路由器中某接口IP地址在同一網(wǎng)段,如果是,則查找該虛地址是否在鏈接表中注冊,若已注冊,則新鏈接建立后,對該虛地址進(jìn)行鏈接計數(shù);若未注冊,則把虛地址注冊到該同一網(wǎng)段的接口上,鏈接建立后,將該虛地址的鏈接計數(shù)初始化為1。鏈接終止時,檢查鏈接表中有沒有注冊虛地址,若有,則將該虛地址的鏈接計數(shù)減1;若鏈接計數(shù)為0,取消注冊該虛地址的鏈接。這里,鏈表中的每個節(jié)點(diǎn)記錄的內(nèi)容包括有虛地址,需對ARP請求進(jìn)行回應(yīng)的IP地址,該地址為NAT轉(zhuǎn)換后的IP地址,并與某接口地址同屬一個網(wǎng)段;接口索引,接口的IP地址和上述需回應(yīng)的IP地址同屬一個網(wǎng)段的接口,收到對上述虛IP地址的ARP請求時,該接口把自己的MAC地址回應(yīng)給請求方;鏈接計數(shù),虛地址鏈接建立后,增加該虛地址的鏈接的計數(shù),該計數(shù)表示目前有幾個鏈接在使用這個虛地址。
如圖2所示,當(dāng)建立一個新的通訊鏈接時,檢查NAT轉(zhuǎn)換后的地址是否與路由器某接口IP地址在同一網(wǎng)段,如果是,則把這個虛地址注冊到該接口上,使該接口能對這個虛地址的ARP請求進(jìn)行正確響應(yīng)。如果不是,則進(jìn)行常規(guī)處理。
將一個虛地址注冊到某接口上后,要將這條注冊信息保存下來,建立一個鏈表來記錄所有已經(jīng)注冊的NAT虛IP地址及其所對應(yīng)的接口等信息。鏈表的每個結(jié)點(diǎn)所記錄的內(nèi)容主要有以下幾個要素虛IP地址,接口索引、通訊鏈接計數(shù),其中,虛IP地址,需要對ARP請求進(jìn)行回應(yīng)的IP地址,該地址為NAT轉(zhuǎn)換后的IP地址,并且與某接口地址同屬一個網(wǎng)段,需要該接口對這個地址的ARP請求進(jìn)行響應(yīng);接口索引,接口IP地址和虛IP地址同屬一個網(wǎng)段的接口,當(dāng)收到對虛IP地址的ARP請求時,該接口要把自己的MAC地址回應(yīng)給請求方;鏈接計數(shù),對于一個已經(jīng)注冊ARP請求響應(yīng)的NAT虛地址,可能有多條通訊鏈接同時使用這個地址進(jìn)行NAT轉(zhuǎn)換。如果有多條鏈接共同使用一個虛IP地址,只在第一條鏈接時注冊虛地址的ARP請求,后面鏈接建立時,只增加這個計數(shù),表示目前有幾個鏈接在使用這個虛地址。在取消對虛地址ARP請求的注冊時,只有在所有的通訊鏈接都不使用這個虛地址時才可以取消,也即鏈接計數(shù)為0時取消對虛地址ARP請求的注冊。
由于可能有多條鏈接使用同一個虛地址,為避免重復(fù)注冊,在注冊之前,檢查已經(jīng)記錄的注冊信息中有無這個地址存在,如果有則將該地址注冊信息中的鏈接計數(shù)加1。如果沒有生成這條注冊信息,則生成這條記錄并將鏈接計數(shù)初始化為1。
如圖3所示,當(dāng)一條通訊鏈接終止后,檢查這條鏈接有沒有注冊虛地址,如果有則將該注冊信息中的通訊鏈接減1。當(dāng)通訊鏈接數(shù)為0時,表示這個虛地址已經(jīng)不再被任何鏈接使用,這時可以取消注冊這個虛地址了,也即不再需要有接口響應(yīng)這個虛地址的ARP請求了。
權(quán)利要求
1.一種對NAT虛地址的ARP請求響應(yīng)的方法,其特征在于,該方法包括以下步驟檢查NAT轉(zhuǎn)換后的地址是否與路由器中某接口IP地址在同一網(wǎng)段,如果是,則查找該虛地址是否在鏈接表中注冊,若已注冊,則新鏈接建立后,對該虛地址進(jìn)行鏈接計數(shù);若未注冊,則把虛地址注冊到該同一網(wǎng)段的接口上,鏈接建立后,將該虛地址的鏈接計數(shù)初始化為1。
2.如權(quán)利要求1所述的對NAT虛地址的ARP請求響應(yīng)的方法,其特征在于,該方法還包括鏈接終止,檢查鏈接表中有沒有注冊虛地址,若有,則將該虛地址的鏈接計數(shù)減1;若鏈接計數(shù)為0,取消注冊該虛地址的鏈接。
3.如權(quán)利要求1或2所述的對NAT虛地址的ARP請求響應(yīng)的方法,其特征在于,所述含有虛地址的鏈表中的每個節(jié)點(diǎn)記錄的內(nèi)容包括有虛地址,需對ARP請求進(jìn)行回應(yīng)的IP地址,該地址為NAT轉(zhuǎn)換后的IP地址,并與某接口地址同屬一個網(wǎng)段;接口索引,接口的IP地址和上述需回應(yīng)的IP地址同屬一個網(wǎng)段的接口,收到對上述虛IP地址的ARP請求時,該接口把自己的MAC地址回應(yīng)給請求方;鏈接計數(shù),虛地址鏈接建立后,增加該虛地址的鏈接的計數(shù),該計數(shù)表示目前有幾個連接在使用這個虛地址。
全文摘要
本發(fā)明公開了一種對NAT虛地址的ARP請求響應(yīng)的方法,包括有檢查NAT轉(zhuǎn)換后的地址是否與路由器中某接口IP地址在同一網(wǎng)段,如果是,則查找該虛地址是否在鏈接表中注冊,若已注冊,則新鏈接建立后,對該虛地址進(jìn)行鏈接計數(shù);若未注冊,則把虛地址注冊到該同一網(wǎng)段的接口上,鏈接建立后,將該虛地址的鏈接計數(shù)初始化為1。本發(fā)明在配置NAT地址轉(zhuǎn)換規(guī)則時,就可以配置與接口地址同屬一個網(wǎng)段的IP地址,取消了在應(yīng)用NAT時的一大限制。而且,本發(fā)明盡可能地節(jié)省了系統(tǒng)資源。
文檔編號H04L12/28GK1558614SQ20041000084
公開日2004年12月29日 申請日期2004年1月17日 優(yōu)先權(quán)日2004年1月17日
發(fā)明者張持岸 申請人:港灣網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
白沙| 宁阳县| 台北市| 苍溪县| 河津市| 大城县| 莒南县| 南澳县| 泸定县| 两当县| 山阳县| 昭苏县| 岳普湖县| 拜城县| 琼海市| 岑溪市| 上饶市| 宁波市| 商都县| 深州市| 高唐县| 玉门市| 神农架林区| 德阳市| 鄄城县| 蕉岭县| 南陵县| 天柱县| 石台县| 澎湖县| 英山县| 宜春市| 镇宁| 武功县| 沁源县| 瓦房店市| 海城市| 永清县| 青州市| 怀安县| 九台市|