国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

淺析NAT類型和典型的傳統(tǒng)NAT類型

2019-11-04 20:34:19
字體:
供稿:網(wǎng)友

  一、引言
  RFCl631以及相關(guān)RFC定義的網(wǎng)絡(luò)地址翻譯器(NAT)是一種將ip地址從一個(gè)編址域(realm)映射到另外一個(gè)編址域的方法,如最典型的應(yīng)用是把RFCl918定義的私有IP地址映射到Internet所使用的公有IP地址。雖然NAT技術(shù)已經(jīng)得到廣泛應(yīng)用,但它是一把雙刃劍,在帶來節(jié)省IPv4地址空間等好處的同時(shí),破壞了Internet最基本的“端到端的透明性”的設(shè)計(jì)理念,增加了網(wǎng)絡(luò)的復(fù)雜性,阻礙了業(yè)務(wù)的創(chuàng)新。
  
  IETF一直主張利用IPv6技術(shù)解決地址短缺問題,因此IETF雖然出版了幾個(gè)與NAT相關(guān)的RFC,但對(duì)NAT技術(shù)(尤其是穿越問題)一直沒有系統(tǒng)的標(biāo)準(zhǔn)化工作,如SIP和Mobile IP就是NAT出現(xiàn)后設(shè)計(jì)的一些協(xié)議,都未考慮到NAT的穿越問題。最近,業(yè)界意識(shí)到Internet在短期內(nèi)不可能過渡到IPv6,IPv4和IPv6將長(zhǎng)期并存,NAT以及NAT-PT(NAT-協(xié)議翻譯)將繼續(xù)得到長(zhǎng)期應(yīng)用,因此NAT相關(guān)問題開始引起了IETF和ITU-T等相關(guān)國(guó)際標(biāo)準(zhǔn)化組織的關(guān)注。中國(guó)通信標(biāo)準(zhǔn)化協(xié)會(huì)IP與多媒體工作委員會(huì)也正在積極參與ITU-TSGl6組的相關(guān)活動(dòng),加緊制定中國(guó)的多媒體業(yè)務(wù)NAT穿越標(biāo)準(zhǔn)。本文介紹NAT穿越問題的重要組成部分:NAT的類型。
  
  二、NAT的類型
  從功能上看,主要有以下幾種典型的NAT(RFC2663)(見圖1):
  
 淺析NAT類型和典型的傳統(tǒng)NAT類型(圖一)

  
1.傳統(tǒng)NAT(Traditional NAT)

  
  在多數(shù)情況下,傳統(tǒng)NAT答應(yīng)位于內(nèi)部網(wǎng)絡(luò)的主機(jī)(采用RFCl918地址)透明地訪問外部網(wǎng)絡(luò)中的主機(jī),把從外部網(wǎng)絡(luò)到內(nèi)部網(wǎng)絡(luò)的訪問作為一種特例,為事先選擇好的特定內(nèi)部主機(jī)做靜態(tài)地址映射。外部網(wǎng)絡(luò)中主機(jī)的IP地址在外部網(wǎng)絡(luò)以及內(nèi)部網(wǎng)絡(luò)中是惟一的和有效的,但內(nèi)部網(wǎng)絡(luò)主機(jī)的IP地址只有在內(nèi)部網(wǎng)絡(luò)中才是惟一的,在外部網(wǎng)絡(luò)中不一定有效。換言之,NAT不會(huì)向外部編址域通告內(nèi)部網(wǎng)絡(luò)的地址,但有可能向內(nèi)部網(wǎng)絡(luò)通告外部網(wǎng)絡(luò)的地址。內(nèi)部網(wǎng)絡(luò)使用的地址一定不能與外部網(wǎng)絡(luò)的地址重疊,任何一個(gè)地址是一個(gè)內(nèi)部地址或外部地址,不能同時(shí)是內(nèi)部和外部地址。
  
  有關(guān)傳統(tǒng)NAT的具體描述見RFCl631和RFC3022。傳統(tǒng)NAT包括基本NAT和NAPT兩大類。
  
  (1)基本NAT
  
  NAT擁有多個(gè)公開IP地址,當(dāng)位于內(nèi)部網(wǎng)絡(luò)的主機(jī)向外部主機(jī)發(fā)起會(huì)話請(qǐng)求時(shí),把內(nèi)部地址翻譯成全球惟一的公開IP地址。對(duì)于從內(nèi)部網(wǎng)絡(luò)中外出的IP包,翻譯源IP地址以及相關(guān)的字段,如IP/TCP/UDP/ICMP頭校驗(yàn)和。對(duì)于進(jìn)入內(nèi)部網(wǎng)絡(luò)的IP包,翻譯目的IP地址以及與上面所羅列的相關(guān)字段。假如內(nèi)部網(wǎng)絡(luò)中主機(jī)的數(shù)目不大于NAT所擁有的公開IP地址的數(shù)目,則可以保證每個(gè)內(nèi)部地址都可以映射到一個(gè)公開的IP地址,否則答應(yīng)同時(shí)連接到外部網(wǎng)絡(luò)的內(nèi)部主機(jī)的數(shù)目會(huì)受到NAT公開IP地址數(shù)量的限制。可以使用靜態(tài)映射的方式,把特定內(nèi)部主機(jī)映射為一個(gè)特定的全球惟一的地址,保證了外部對(duì)內(nèi)部主機(jī)的訪問。一個(gè)內(nèi)部主機(jī)可以利用相同的地址映射同時(shí)發(fā)起多個(gè)會(huì)話。
  
  (2)NAPT
  
  NAPT(網(wǎng)絡(luò)地址端口翻譯)把“基本NAT”翻譯的概念延伸了一步,翻譯地址的同時(shí)也翻譯傳輸層標(biāo)志(如TCP/UDP的端口號(hào),ICMP的查詢ID),從而把多個(gè)內(nèi)部主機(jī)的傳輸層標(biāo)志復(fù)用為一個(gè)惟一的外部地址。NAPT使得一組主機(jī)可以共享一個(gè)惟一的外部地址。在實(shí)際使用中可以把NAPT和基本NAT結(jié)合起來,將一組外部地址與端口翻譯關(guān)聯(lián)起來。
  
  對(duì)于從內(nèi)部網(wǎng)絡(luò)向外的訪問請(qǐng)求,NAPT翻譯源IP地址、源傳輸層標(biāo)志以及相關(guān)的字段,如IP,TCP,UDP和ICMP頭校驗(yàn)和。對(duì)于進(jìn)入內(nèi)部網(wǎng)絡(luò)的包,翻譯目的IP地址、目的傳輸層標(biāo)志以及IP層和傳輸層頭校驗(yàn)和。傳輸層標(biāo)志可以是TCP/UDP端口號(hào)或ICMP查詢ID中的任意一種。
  
  2.雙向NAT(Bi-directionaINAT,Two-WayNAT)
  
  當(dāng)使用雙向NAT(Bi-directionaINAT或Two-WayNAT)時(shí),可以從內(nèi)部網(wǎng)絡(luò)向外部網(wǎng)絡(luò)發(fā)起會(huì)話請(qǐng)求,也可以從外部網(wǎng)絡(luò)向內(nèi)部網(wǎng)絡(luò)發(fā)起會(huì)話請(qǐng)求。當(dāng)在外出或進(jìn)入任何一個(gè)方向上建立連接時(shí),把內(nèi)部網(wǎng)絡(luò)地址靜態(tài)或動(dòng)態(tài)綁定到全局惟一的地址上。這里假設(shè)位于內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的名字空間(FQDN,F(xiàn)ully Qualified Domain Names)是端到端惟一的,因?yàn)橹挥羞@樣才能夠使得位于外部編址域的主機(jī)利用域名系統(tǒng)(DNS)訪問內(nèi)部網(wǎng)絡(luò)的主機(jī)。在雙向NAT上必須部署DNS-ALG(DNS應(yīng)用層網(wǎng)關(guān),DNS-application Level Gateway),以處理名字到地址的映射。當(dāng)一個(gè)DNS包需要穿越內(nèi)部和外部編址域時(shí),DNS-ALG必須能夠?qū)NS查詢和響應(yīng)消息中的內(nèi)部地址翻譯成外部地址,或把外部地址翻譯成內(nèi)部地址。
  
  3.兩次NAT(Twice NAT)
  
  兩次NAT是NAT的一個(gè)變種,它同時(shí)修改源和目的地址。這與前面的傳統(tǒng)NAT和雙向NAT(BiDirectional)都不同,前面的兩種NAT只翻譯源或者目的地址(端口)。
  
  兩次NAT在內(nèi)部編址域和外部編址域存在沖突時(shí)非常有用。典型例子之一是當(dāng)一個(gè)站點(diǎn)(不恰當(dāng)?shù)?使用已分配給其它機(jī)構(gòu)的公開IP地址對(duì)其內(nèi)部主機(jī)進(jìn)行編址時(shí);例子之二是當(dāng)一個(gè)站點(diǎn)從一家運(yùn)營(yíng)商換到另外一家運(yùn)營(yíng)商,同時(shí)希望(在內(nèi)部)保留前一家運(yùn)營(yíng)商分配的地址時(shí)(而前一家運(yùn)營(yíng)商可能會(huì)在一段時(shí)間后將這些地址重新分配給其它人使用)。在這些情況下,非常要害的一點(diǎn)就是外部網(wǎng)絡(luò)的主機(jī)可能會(huì)分配得到以前已分配給內(nèi)部主機(jī)的同一地址。假如該地址碰巧出現(xiàn)在某個(gè)包中,則應(yīng)該將它轉(zhuǎn)發(fā)給內(nèi)部主機(jī),而不是通過NAT轉(zhuǎn)發(fā)給外部編址域。兩次NAT通過同時(shí)翻譯IP包的源和目的地址,試圖橋接這些編址域,解決了地址沖突的問題。
  
  4.多宿主NAT(Multihomed NAT)
  
  使用NAT會(huì)帶來很多問題(RFC2993)。比如,NAT設(shè)備要為經(jīng)過它的會(huì)話維護(hù)狀態(tài)信息,而一個(gè)會(huì)話的請(qǐng)求和響應(yīng)必須通過同一NAT設(shè)備做路由,因此通常要求答應(yīng)NAT末梢域邊界路由器必須是惟一的,所有的IP包要么發(fā)起,要么終結(jié)在該域。但這種配置將NAT設(shè)備變成了可能的單點(diǎn)故障點(diǎn)。
  
  為了讓一個(gè)內(nèi)部網(wǎng)絡(luò)能夠在某個(gè)NAT鏈路故障的情況下,也可以保持與外部網(wǎng)絡(luò)的連通性,通常希望內(nèi)部網(wǎng)絡(luò)到相同或不同的ISP具有多條連接(多宿主的),希望經(jīng)過相同或不同的NAT設(shè)備。
  
  又如,多個(gè)NAT設(shè)備或多條鏈路使用同一NAT,共享相同的NAT配置能夠?yàn)橄嗷ブg提供故障備份。在這種情況下,有必要讓備份NAT設(shè)備交換狀態(tài)信息,以便當(dāng)主NAT出現(xiàn)故障時(shí),備份NAT能夠擔(dān)負(fù)起透明地保持會(huì)話的能力。
  
  三、傳統(tǒng)NAT的類型
  目前,市場(chǎng)上使用最多的是傳統(tǒng)NAT設(shè)備,尤其是NAPT設(shè)備。傳統(tǒng)NAT(內(nèi)部地址,端口)與(內(nèi)部地址,端口)的映射方式主要有以下幾種典型類型(RFC3489)(見圖2):
  
 淺析NAT類型和典型的傳統(tǒng)NAT類型(圖二)

  
圖2 傳統(tǒng)NAI的類型

  
  
  1.克隆NAT(CloneNAT)
  
  當(dāng)在(私有IP,私有端口)與(公開IP.公開端口)已經(jīng)建立了一個(gè)端口映射表后,克隆NAT將為隨后從相同的私有地址和端口號(hào)發(fā)起的呼叫重復(fù)使用該映射,條件是只要使用映射(有時(shí)業(yè)叫綁定)的會(huì)話至少有一個(gè)繼續(xù)保持激活狀態(tài)。
  
  從圖3可以看出,客戶A分別從相同的內(nèi)部地址和端口號(hào)(10.0.0.1:1234)同時(shí)發(fā)起兩個(gè)會(huì)話請(qǐng)求到服務(wù)器1和服務(wù)器2,因?yàn)檫@兩個(gè)請(qǐng)求來自相同的內(nèi)部地址和端口,所以克隆NAT將為這兩個(gè)不同的會(huì)話請(qǐng)求分配相同的公開端點(diǎn)號(hào)(100.100. 100. 100:62000),以保證客戶A的“身份”能夠在經(jīng)過翻譯后仍然保持一致。NAT和防火墻不翻譯端口號(hào),因此也是克隆方式的NAT。根據(jù)克隆時(shí)受到的限制大小,又可以把克隆NAT分為以下三種:
  
 淺析NAT類型和典型的傳統(tǒng)NAT類型(圖三)

  
圖3 克隆NAT

  
  (1)全克隆(Full Cone)
  
  首先,把所有來自相同內(nèi)部IP地址和端口的請(qǐng)求映射到相同的外部1P地址和端口。其次,任何一個(gè)外部主機(jī)通過把一個(gè)TP包發(fā)送給已得到映射的外部IP地址的方式,都能夠把該包發(fā)送給該內(nèi)部主機(jī)。
  
  (2)限制性克隆(Restricted Cone)
  
  把所有來自相同內(nèi)部IP地址和端口號(hào)的請(qǐng)求映射到相同的外部IP地址和端口。與全克隆NAT方式不同,只有當(dāng)內(nèi)部主機(jī)以前曾經(jīng)給IP地址為x的外部主機(jī)發(fā)送過一個(gè)包時(shí),IP地址為x的該外部主機(jī)才能夠把一個(gè)IP包發(fā)送給該內(nèi)部主機(jī)。
  
  (3)端口限制性克隆(Port Restricted Cone)
  
  端口限制性克隆與限制性克隆類似,只是限制中多了端口號(hào)。非凡是,一個(gè)外部主機(jī)可以發(fā)送一個(gè)源IP地址和源端口號(hào)分別為(x,P)的IP包給外部主機(jī),只有當(dāng)內(nèi)部主機(jī)以前曾經(jīng)給IP地址為x,端口號(hào)為P的外部主機(jī)發(fā)送過一個(gè)包時(shí),IP地址為X的該外部主機(jī)才能夠把一個(gè)源端口號(hào)為P的IP包發(fā)送給該內(nèi)部主機(jī)。
  
  2.對(duì)稱NAT
  
  對(duì)稱式NAT(symmetric NAT)是指把所有來自相同內(nèi)部IP地址和端口號(hào),到特定目的1P地址和端口號(hào)的請(qǐng)求映射到相同的外部TP地址和端口。假如同一主機(jī)使用不同的源地址和端口對(duì),發(fā)送的目的地址不同,則使用不同的映射。只有收到了一個(gè)IP包的外部主機(jī)才能夠向該內(nèi)部主機(jī)發(fā)送回一個(gè)UDP包。對(duì)稱式的NAT不保證所有會(huì)話中的(私有地址,私有端口)和(公開IP,公開端口)之間綁定的一致性。相反,它為每個(gè)新的會(huì)話分配一個(gè)新的端口號(hào)。
  
  從圖4可以看出,假如客戶A分別從相同的內(nèi)部地址和端口號(hào)(10.0.0.1:1234)同時(shí)發(fā)起兩個(gè)會(huì)話請(qǐng)求到服務(wù)器1和服務(wù)器2,對(duì)稱NAT可能會(huì)為這兩個(gè)來自相同地點(diǎn)的會(huì)話請(qǐng)求分配不相同的公開端點(diǎn)號(hào),如把100 100. 100.100:62000分配給會(huì)話1,把100 100. 100.100:62001分配給會(huì)話2。因?yàn)檫@兩個(gè)會(huì)話的有一個(gè)端點(diǎn)不同,所以雖然在翻譯的過程中客戶A的身份發(fā)生了變化,但NAT仍然能夠正確工作。
  
淺析NAT類型和典型的傳統(tǒng)NAT類型(圖四)

  
圖4 對(duì)稱NAT



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨玉县| SHOW| 赣榆县| 青神县| 桂平市| 新巴尔虎右旗| 宿松县| 衢州市| 乌兰县| 从化市| 洪洞县| 交口县| 谢通门县| 汤阴县| 江安县| 武隆县| 正镶白旗| 柞水县| 霍邱县| 宜都市| 英山县| 潜山县| 南溪县| 龙井市| 乐安县| 吉林省| 吉安市| 石狮市| 灵武市| 高安市| 循化| 嘉定区| 泰来县| 当雄县| 渝中区| 久治县| 正定县| 固原市| 宜黄县| 六盘水市| 中江县|