1. 網(wǎng)絡(luò)地址轉(zhuǎn)換
網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,NAT)誕生于1994年,它的提出是在IPv4地址資源面臨枯竭的背景下,NAT在一定程度上,能夠有效的解決公網(wǎng)地址不足的問題。
NAT的工作原理就是重寫通過路由器的數(shù)據(jù)包的識(shí)別信息。 NAT路由器將其管理的內(nèi)部主機(jī)發(fā)送的數(shù)據(jù)包的源IP地址由局部地址變?yōu)槿值刂?,從外部傳輸過來的數(shù)據(jù)包則做相反轉(zhuǎn)換以分配到合適的內(nèi)部主機(jī)。
2. IP數(shù)據(jù)報(bào)
IP協(xié)議提供不可靠無連接的數(shù)據(jù)報(bào)傳輸服務(wù),IP層提供的服務(wù)是通過IP層對(duì)數(shù)據(jù)報(bào)的封裝與拆封來實(shí)現(xiàn)的。 IP數(shù)據(jù)報(bào)是一個(gè)與硬件無關(guān)的虛擬包,由IP首部和數(shù)據(jù)區(qū)兩大部分,其中IP首部是為了正確傳輸高層數(shù)據(jù)而加的各種控制信息,數(shù)據(jù)區(qū)包括高層協(xié)議需要傳輸?shù)臄?shù)據(jù)。
IP數(shù)據(jù)報(bào)的格式如下圖示:
IP數(shù)據(jù)報(bào)各字段功能如下:
版本:占據(jù)4bit空間,該字段規(guī)定了數(shù)據(jù)報(bào)的IP協(xié)議版本,對(duì)于IPv4,該值為4; 對(duì)于IPv6,該值為6; 通過查看版本號(hào),路由器能夠確定如何解釋IP數(shù)據(jù)報(bào)的其他部分,不同的IP版本使用不同的數(shù)據(jù)報(bào)格式
首部長度:占據(jù)4bit空間,用于記錄IP首部的數(shù)據(jù)的長度; 可表示的最大十進(jìn)制數(shù)是15,但是該字段所表示的數(shù)的單位是字(32bit),即當(dāng)該字段為15時(shí),首部長度就達(dá)到15*4=60字節(jié)
服務(wù)類型(TOS):占據(jù)8bit空間,包含在IPv4首部中,以便使不同類型的IP數(shù)據(jù)報(bào)能相互區(qū)別開來。 也就是路由器根據(jù)這個(gè)字段的值來為數(shù)據(jù)報(bào)選擇最合理的路徑
數(shù)據(jù)報(bào)長度:占據(jù)16bit空間,是指整個(gè)IP數(shù)據(jù)報(bào)的長度(首部區(qū)+數(shù)據(jù)區(qū)),以字節(jié)為單位。 由于該字段長度為16位二進(jìn)制數(shù),因此理論上IP數(shù)據(jù)報(bào)最長可達(dá)65536個(gè)字節(jié)(事實(shí)上受物理網(wǎng)絡(luò)的限制,要比這個(gè)數(shù)值小很多)
標(biāo)識(shí):占據(jù)16bit空間,用于表示IP層發(fā)送出去的每一份IP數(shù)據(jù)報(bào),在發(fā)送每一份報(bào)文,該值加 1,在分片的時(shí)候,該字段會(huì)被復(fù)制到每個(gè)分片數(shù)據(jù)報(bào)中,在目標(biāo)接收主機(jī)中,使用該字段判斷這些數(shù)據(jù)是否屬于同一個(gè)IP數(shù)據(jù)報(bào)
標(biāo)志:占據(jù)3bit空間,第一位保留未用,第二位是不分片標(biāo)志位,為1表示IP數(shù)據(jù)報(bào)在發(fā)送的過程中不允許進(jìn)行分片,為0表示IP層在必要的時(shí)候可以對(duì)其進(jìn)行分片處理; 第三位為更多分片位,為1表示該分片數(shù)據(jù)報(bào)不是整個(gè)IP數(shù)據(jù)報(bào)的最后一個(gè)分片,為0表示是整個(gè)IP數(shù)據(jù)報(bào)的最后一個(gè)分片
分片偏移量:占據(jù)13bit空間,表示當(dāng)前分片所攜帶的數(shù)據(jù)在整個(gè)IP數(shù)據(jù)報(bào)中的相對(duì)偏移位置(以 8 字節(jié)為單位),目標(biāo)主機(jī)必須受到以0偏移量開始到最高偏移量的所有分片,才能將分片進(jìn)行重裝為一個(gè)完整的IP數(shù)據(jù)報(bào),并且重裝IP數(shù)據(jù)報(bào)的依據(jù)就是分片的偏移量
生存時(shí)間(Time-To-Live,TTL):占據(jù)8bit空間,用來確保數(shù)據(jù)報(bào)不會(huì)永遠(yuǎn)在網(wǎng)絡(luò)中循環(huán)。 每當(dāng)IP數(shù)據(jù)報(bào)由一臺(tái)路由器處理時(shí),該字段的值減 1,若TTL字段減為0,則該數(shù)據(jù)報(bào)必須丟棄,同時(shí)會(huì)返回一個(gè)ICMP差錯(cuò)報(bào)文給源主機(jī),這樣數(shù)據(jù)就不會(huì)永遠(yuǎn)在網(wǎng)絡(luò)中漂流而占據(jù)資源
上層協(xié)議:占據(jù)8bit空間,該字段僅在一個(gè)IP數(shù)據(jù)報(bào)到達(dá)其最終目的地才會(huì)有用。 該字段的值指示了IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分應(yīng)交給哪個(gè)特定的傳輸層協(xié)議。 例如,值為6表明數(shù)據(jù)部分要交給 TCP,而值為17表明數(shù)據(jù)要交給UDP。 在 IP 數(shù)據(jù)報(bào)中的協(xié)議號(hào)所起的作用,類似于運(yùn)輸層報(bào)文段中端口號(hào)字段所起的作用。 常用網(wǎng)際協(xié)議編號(hào)如下圖示:
首部檢驗(yàn)和:占據(jù)16bit空間,用于協(xié)議頭數(shù)據(jù)有效性的校驗(yàn),可以保證IP報(bào)頭區(qū)在傳輸時(shí)的正確性和完整性。 頭部檢驗(yàn)和字段是根據(jù)IP協(xié)議頭計(jì)算出的檢驗(yàn)和,它不對(duì)頭部后面的數(shù)據(jù)進(jìn)行計(jì)算
源IP地址:占據(jù)32bit空間,表示發(fā)送端IP地址
目標(biāo)IP地址:占據(jù)32bit空間,表述目的端IP地址
選項(xiàng)字段:占據(jù)0~40個(gè)字節(jié),允許IP首部被擴(kuò)展,首部選項(xiàng)在日常生活中還是比較少使用的,因此在每個(gè)IP數(shù)據(jù)報(bào)首部中必須存在的字段是不包括選項(xiàng)字段的,這樣能夠節(jié)約開銷,如果與選項(xiàng)字段就添加,沒有就無需理會(huì)
數(shù)據(jù)區(qū)域:是IP數(shù)據(jù)報(bào)的最后的一個(gè)字段,也是最重要的內(nèi)容,因?yàn)橛袛?shù)據(jù)區(qū)域才會(huì)有數(shù)據(jù)報(bào)首部的存在,在大多數(shù)情況下,IP數(shù)據(jù)報(bào)中的數(shù)據(jù)字段包含要交付給目標(biāo)IP地址的運(yùn)輸層(TCP協(xié)議或UDP協(xié)議),當(dāng)然數(shù)據(jù)區(qū)域也可承載其他類型的報(bào)文,如ICMP報(bào)文
3. IP協(xié)議抓包分析
使用ping -l size命令對(duì)指定IP地址ping指定大小字節(jié)的數(shù)據(jù)。 如下圖示,對(duì)IP地址ping了4096個(gè)字節(jié)的數(shù)據(jù):
打開wireshark進(jìn)行抓包,監(jiān)聽IP地址后,在對(duì)該IP地址ping 4096字節(jié)的數(shù)據(jù),可以抓取到如下數(shù)據(jù)包:
由于以太網(wǎng)數(shù)據(jù)幀的最大長度為1500個(gè)字節(jié),因此4096字節(jié)的數(shù)據(jù)被分為了3個(gè)片。 下圖中標(biāo)志(Flags)字段的第三位為1表示該數(shù)據(jù)報(bào)是分片數(shù)據(jù)報(bào),分片偏移量(Fragment offset)為0
第二段數(shù)據(jù)報(bào)的標(biāo)志(Flags)字段的第三位為1表示該數(shù)據(jù)報(bào)仍然是分片數(shù)據(jù)報(bào),此時(shí)分片偏移量(Fragment offset)為1480
第三段數(shù)據(jù)報(bào)的標(biāo)志(Flags)字段的第三位為0表示是整個(gè)IP數(shù)據(jù)報(bào)的最后一個(gè)分片,此時(shí)分片偏移量(Fragment offset)為1480; 三段組成一個(gè)完整的ICMP數(shù)據(jù)報(bào)
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5465瀏覽量
172842 -
IP協(xié)議
+關(guān)注
關(guān)注
3文章
85瀏覽量
21703 -
路由器
+關(guān)注
關(guān)注
22文章
3746瀏覽量
114563 -
NAT
+關(guān)注
關(guān)注
0文章
146瀏覽量
16310 -
IPv4
+關(guān)注
關(guān)注
0文章
142瀏覽量
19981
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
學(xué)嵌入式必看的100本書,你看過哪些?
《TCP-IP詳解_卷3_TCP事務(wù)協(xié)議,HTTP,NNTP
TCPv1-TCP-IP協(xié)議詳解-卷1
TCPv2-TCP-IP協(xié)議詳解-卷2
tcp ip協(xié)議詳解卷三 下載
![tcp <b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>詳解</b>卷三 下載](https://file.elecfans.com/web2/M00/48/BF/pYYBAGKhtB-ABGFBAABBD9VPguQ798.jpg)
tcp ip協(xié)議詳解卷二
tcp ip協(xié)議詳解卷一
tcp ip協(xié)議_什么是tcp ip協(xié)議
![tcp <b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b>_什么是tcp <b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b>](https://file.elecfans.com/web1/M00/EB/A0/pIYBAGB86e2AA8i5AADGujP1HUI639.jpg)
tcp ip協(xié)議詳解 中文版PDF
![tcp <b class='flag-5'>ip</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>詳解</b> 中文版PDF](https://file.elecfans.com/web2/M00/49/66/pYYBAGKhtEyANSYAAAAT5EhXaI0435.jpg)
評(píng)論