一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

協(xié)議森林14 逆襲 (CIDR與NAT)

 dehaoluo 2016-03-30

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

 

IPv4由于最初的設計原因,長度只有32位,所以只提供了大約40億個地址。這造成了IPv4地址的耗盡危機。隨后,IPv6被設計出來,并可以提供足夠多的IP地址。但是IPv4與IPv6并不兼容,IPv4向IPv6的遷移并不容易。一些技術,比如說這里要說的CIDR和NAT,相繼推廣。這些技術可以緩解IPv4的稀缺狀態(tài),成就了IPv4一時的逆襲。

 

CIDR

CIDR(Classless Inter Domain Routing)改進了傳統(tǒng)的IPv4地址分類。傳統(tǒng)的IP分類將IP地址直接對應為默認的分類,從而將Internet分割為網(wǎng)絡。CIDR在路由表中增加了子網(wǎng)掩碼(subnet masking),從而可以更細分網(wǎng)絡。利用CIDR,我們可以靈活的將某個范圍的IP地址分配給某個網(wǎng)絡。

1) IP地址分類

IP接力賽中,我提到,IP地址可以分為如下幾類:

IP class    From          To                 Subnet Mask

A           1.0.0.0       126.255.255.255    255.0.0.0

B           128.0.0.0     191.255.255.255    255.255.0.0

C           192.0.0.0     223.255.255.255    255.255.255.0

這是最初的IPv4地址分類設計。一個IPv4地址總共有32位,可以分為網(wǎng)絡(network)主機(host)兩部分。子網(wǎng)掩碼(subnet mask)是用于表示哪些位代表了網(wǎng)絡部分。比如如下subnet mask 255.0.0.0的二進制表示為:

11111111 00000000 00000000 00000000

它的前八位為1,所以表示IP地址的前八位為網(wǎng)絡部分。而后面的24位代指該網(wǎng)絡的各個主機。一個A類網(wǎng)絡可以有224臺主機,也就是16777216。由于IPv4地址已經(jīng)分好了類,所以當我們拿到一個IP地址,我們就可以通過上面查到它的子網(wǎng)掩碼。(B類,216; C類,28)

 

2) 傳統(tǒng)路由表

IP分類的方便了IP包的接力。IP包到達某個路由器后,會根據(jù)該路由器的路由表(routing table),來決定接力的下一站。一個傳統(tǒng)的路由表看起來是這樣的:

Destination        Gateway             Iface

199.165.145.0      0.0.0.0             eth0

199.165.146.0      0.0.0.0             eth1

0.0.0.0            199.165.146.8       eth1

該路由表代表的網(wǎng)絡拓撲如下:

 

由于IP分類,我們不需要記錄subnet mask。當我們要前往199.165.146.17時,我們已經(jīng)知道這臺主機位于一個C類地址,所以它的子網(wǎng)掩碼是255.255.255.0,也就是說199.165.146代表了網(wǎng)絡,17代表了主機。

 

3) CIDR路由表

然而,由于默認分類,造成了網(wǎng)絡只能按照A、B、C的方式存在。假設一個網(wǎng)絡(比如MIT的網(wǎng)絡)分配了一個A類地址,那么該網(wǎng)絡將容許16777216個主機。如果該網(wǎng)絡無法用完這些IP地址,這些IP地址將無法被其他網(wǎng)絡使用。再比如上面的網(wǎng)絡,199.165.145必須作為一個整個的網(wǎng)絡存在。如果我們只有10臺主機,那么將會有200多個IP地址被浪費。CIDR的本質是在路由表中加入子網(wǎng)掩碼,并根據(jù)該列信息對網(wǎng)絡進行分割,而不是根據(jù)默認的A,B,C進行分割。比如:

Destination        Gateway             Genmask             Iface

199.165.145.254    0.0.0.0             255.255.255.254     eth2

199.165.145.0      0.0.0.0             255.255.255.0       eth0

199.165.146.0      0.0.0.0             255.255.255.0       eth1

0.0.0.0            199.165.146.8       0.0.0.0             eth1

 

根據(jù)路由表的第一條記錄,

199.165.145.254 (IP address) : 11000111 10100101 10010001 11111110

255.255.255.254 (subnet mask): 11111111 11111111 11111111 11111110 (31個1,1個0)

 

通過子網(wǎng)掩碼可以知道,前31位表示網(wǎng)絡,最后一位表示主機。子網(wǎng)掩碼總是有連續(xù)多個1組成,比如上面的31個1。所以也可記為199.165.145.254/31,來同時表示IP地址和子網(wǎng)掩碼。

路由器將原來的199.165.145網(wǎng)絡中的一部分分割出來。這一網(wǎng)絡可以容納兩臺電腦,也就是199.165.145.254199.165.145.255。這個網(wǎng)絡對應網(wǎng)卡是eth2。當有IP包通向這兩個IP地址時,會前往eth2,而不是eth0。

 

網(wǎng)絡拓撲如下:

 

利用CIDR,我們可以將IP地址根據(jù)需要進行分割,從而不浪費IP地址。

 

NAT

CIDR雖然可以更加節(jié)約IP地址,但它并不能創(chuàng)造新的IP地址。IP地址的耗盡危機并不能因此得到解決。我們來看IPv4的第二襲,NAT(Network Address Translation)。

 

理論上,每個IP地址代表了Internet上的一個設備。但有一些IP地址被保留,用于一些特殊用途。下面三段IP地址被保留用作私有IP地址:

From          To            

10.0.0.0      10.255.255.255

172.16.0.0    172.31.255.255

192.168.0.0   192.168.255.255

私有IP地址只用于局域網(wǎng)內部。理論上,我們不應該在互聯(lián)網(wǎng)上看到來自或者發(fā)往私有IP地址的IP包。與私有IP地址對應的是全球IP地址(global IP address)。

 

NAT是為私有網(wǎng)絡(private network)服務的。該網(wǎng)絡中的主機使用私有IP地址。當私有網(wǎng)絡內部主機和外部Internet通信時,網(wǎng)關(gateway)路由器負責將私有IP地址轉換為全球IP地址,這個地址轉換過程就是Network Address Translation。網(wǎng)關路由器的NAT功能。最極端情況下,我們可以只分配一個全球IP地址給網(wǎng)關路由器,而私有網(wǎng)絡中的設備都使用私有IP地址。由于私有IP地址可以在不同私有網(wǎng)絡中重復使用,所以就大大減小了設備對IP地址的需求。

 

1) 基礎NAT

NAT的一種為基礎NAT,也成為一對一(one-to-one)NAT。在基礎NAT下,網(wǎng)關路由器一一轉換一個外部IP地址和一個私有IP地址。網(wǎng)關路由器保存有IP的NAT對應關系,比如:

上面網(wǎng)絡中,當有IP包要前往199.165.145.1時,網(wǎng)關路由器會將目的地改寫為10.0.0.1,并接力給私有網(wǎng)絡中的10.0.0.1的電腦。同樣,當10.0.0.1的電腦向Internet發(fā)送IP包時,它的發(fā)送地為10.0.0.1。在到達網(wǎng)關路由器時,會將發(fā)送地更改為199.165.145.1。此外,IP頭部的checksum,以及更高層協(xié)議(比如UDPTCP)中的校驗IP的checksum也會更改。

基礎NAT盡管是一對一轉換IP地址,它還是可以減小內部網(wǎng)絡對IP地址的需求。通常來說,一個局域網(wǎng)中只有少數(shù)的設備處于開機狀態(tài),并不需要給每個設備對應一個全球IP地址。NAT可以動態(tài)的管理全球IP地址,并將全球IP地址對應到開機設備,從而減小內部網(wǎng)絡對IP地址的需求。

 

2) NAPT

NAT還有一種,被成為NAPT (Network Address and Port Translation)。在基礎NAT中,高層協(xié)議的端口號并不會改動。NAPT下,IP地址和端口號可能同時改動。

我們在UDPTCP中提到端口(port)的概念。在建立UDP或者TCP通信時,我們實際上是用IP:Port來代表通信的一端(正如打電話時主機:分機號一樣)。NAPT就是在網(wǎng)關路由器處建立兩個通信通道,一個通往內部網(wǎng)絡,一個通往外部網(wǎng)絡,然后將網(wǎng)關處的通道端口連接,從而讓內部和外部通信。比如:

我們看到,通往IP 199.165.145.1建立了三個端口的連接:8888, 8889和8080。它們分別在NAPT處改為通往10.0.0.1:80, 10.0.0.1:8080和10.0.0.3:6000。NAPT記錄有外部IP:端口和內部IP:端口的一一對應關系。在IP包經(jīng)過時,網(wǎng)關路由器會更改IP地址,端口號以及相關的checksum。

利用NAPT我們可以使用一個(或者多個但少量的)外部IP和大量的端口號,來對應多個內部IP以及相應的端口號,從而大大減小了對全球IP地址的需求。

NAPT:多重影分身術

 

無論是基礎NAT還是NAPT,它們的設置都比較復雜,并且從本質上違背了互聯(lián)網(wǎng)最初的設計理念。但由于IPv4的使用慣性,NAT還是被廣泛推廣。由于NAT所處的網(wǎng)關服務器是理想的設置防火墻的位置,NAT還往往和防火墻共同建設,以提高私有網(wǎng)絡的安全性。

 

總結

即使是CIDR和NAT廣泛使用,IPv4還是在不可避免的耗盡。IPv6正在加緊部署。但上述的兩種技術,CIDR和NAT在IPv6中同樣被采用,所以了解它們依然是有意義的。

 

歡迎繼續(xù)閱讀“協(xié)議森林”系列

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产成人免费激情视频| 亚洲精品国产第一区二区多人| 福利专区 久久精品午夜| 国产不卡最新在线视频| 久热99中文字幕视频在线| 国产午夜精品美女露脸视频| 在线观看免费视频你懂的| 天堂网中文字幕在线视频| 欧美午夜色视频国产精品| 国产成人午夜av一区二区 | 亚洲欧美中文字幕精品| 午夜小视频成人免费看| 色偷偷偷拍视频在线观看| 我想看亚洲一级黄色录像| 爱在午夜降临前在线观看| 在线一区二区免费的视频| 99免费人成看国产片| 久久99青青精品免费| 黄色污污在线免费观看| 91国内视频一区二区三区| 日韩精品一区二区三区含羞含羞草| 最好看的人妻中文字幕| 日系韩系还是欧美久久| 91久久国产福利自产拍| 久久大香蕉一区二区三区| 国产亚洲不卡一区二区| 亚洲综合天堂一二三区| 自拍偷拍福利视频在线观看| 成人区人妻精品一区二区三区| 麻豆视频传媒入口在线看| 黑色丝袜脚足国产一区二区| 五月婷婷综合缴情六月| 中文字幕精品一区二区年下载| 国产成人一区二区三区久久| 成人精品欧美一级乱黄| 美女被后入福利在线观看| 亚洲黄香蕉视频免费看| 久久精品中文扫妇内射| 亚洲欧美一二区日韩高清在线| 欧美成人精品国产成人综合| 国产精品内射婷婷一级二级|