日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网际协议:数据报格式和分片以及IPv4编址

發(fā)布時間:2024/9/30 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网际协议:数据报格式和分片以及IPv4编址 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、報文格式和分片

因特網網絡層協(xié)議的內部視圖如下:

包括路由協(xié)議、IP協(xié)議和ICMP協(xié)議。
(1)路由協(xié)議的主要功能是路徑選擇,計算出用于在網絡中轉發(fā)分組的轉發(fā)表。
(2)IP協(xié)議用于規(guī)定編址規(guī)則、數(shù)據(jù)報格式以及數(shù)據(jù)處理規(guī)則。
(3)ICMP協(xié)議主要復雜報告數(shù)據(jù)報中的差錯和對某些網絡層信息請求進行響應。

1、IP數(shù)據(jù)報格式

網絡層的分組被稱為數(shù)據(jù)報。

(1)版本號:這4比特規(guī)定了數(shù)據(jù)報的IP協(xié)議版本。通過查看版本號,路由器能夠確定如何解釋數(shù)據(jù)報的剩余部分。不同的IP版本使用不同的數(shù)據(jù)報格式。上圖是IPv4版本的數(shù)據(jù)報格式。
(2)首部長度:4比特,IPv4數(shù)據(jù)報中的一些可變數(shù)量的選項包含在首部,首部長度用來確定IP數(shù)據(jù)報中數(shù)據(jù)部分實際從哪里開始。大多數(shù)IP數(shù)據(jù)報不包含此項。
(3)服務類型:8比特。區(qū)別不同類型的數(shù)據(jù)報如區(qū)別實時數(shù)據(jù)報與非實時數(shù)據(jù)報。服務類型比特包含在IPv4首部中。
(4)數(shù)據(jù)報長度:這是IP數(shù)據(jù)報的總長度即首部加上數(shù)據(jù)。為16比特。
(5)標識、標志、片偏移:這三個字段與所謂的IP分片有關。新版本的IP即IPv6不允許在路由器上對分組分片。
(6)壽命:用來確保數(shù)據(jù)報不會永遠在網絡中循環(huán)。每當數(shù)據(jù)報由一臺路由器處理時,該字段的值減1。若壽命字段減為0,則該數(shù)據(jù)報必須丟棄。
(7)高層:也就是上層協(xié)議,指示了IP數(shù)據(jù)報的數(shù)據(jù)部分應交給哪個特定的運輸層協(xié)議。值為6表示上層協(xié)議是TCP協(xié)議,值為17表示上層協(xié)議是UDP協(xié)議。該字段僅在一個IP數(shù)據(jù)報到達其最終目的地才會有用。
(8)首部校驗和:該字段用于幫助路由器檢測收到的IP數(shù)據(jù)報中的比特錯誤。校驗和計算方法在之前的文章中提到過。
(9)源和目的IP地址。當生成一個數(shù)據(jù)報時,它在源IP字段中插入它的IP地址,在目的IP地址字段中插入其最終目的地的地址。
(10)選項:選項字段允許IP首部被擴展。
(11)數(shù)據(jù):交付給目的地的運輸層報文段。

2、IP數(shù)據(jù)報分片和重組

2.1、分片原因

因為目前的因特網中并非所有鏈路層協(xié)議都能承載相同長度的網絡層分組。有的協(xié)議能承載大數(shù)據(jù)報,而有的協(xié)議只能承載小分組。例如以太網幀能夠承載不超過1500字節(jié)的數(shù)據(jù),而某些廣域網鏈路的幀可承載不超過576字節(jié)的數(shù)據(jù)。在因特網中,允許數(shù)據(jù)報在從發(fā)送主機到接收主機的傳送過程中經過不同的鏈路。因此當一個大的數(shù)據(jù)報轉發(fā)到一條只能承載小數(shù)據(jù)報的鏈路時就需要進行分片。如下圖所示:一個大的數(shù)據(jù)報在中間路由器被分為三個小的數(shù)據(jù)報,而這些小的數(shù)據(jù)報將在網絡中繼續(xù)轉發(fā),后續(xù)路由器將每個數(shù)據(jù)報作為一個獨立的報文進行轉發(fā),直到到達接收方主機,接收方主機根據(jù)分片相關的標識符、標志位和片偏移等字段對這些報文進行重組。

2.2、分片方法

那么如何進行分片呢?分片方法需要保證在接收方能準確無誤的重新組裝。因此首先需要分析組裝要考慮的因素。
(1)接收方怎么確定一個收到的數(shù)據(jù)報是一個大的報文的分片?
(2)如果是分片的話,接收方怎么知道大報文最后一個分片是哪個數(shù)據(jù)報呢?
(3)如何將收到的分片重新組裝成初始的數(shù)據(jù)報?
為了解決上述問題,設計者將標識符、標志位、片偏移字段放在IP數(shù)據(jù)報的首部中。通過IP首部中的字段來解決。通過實例來學習具體分片方法。

如上圖所示,示例如下:一個4000字節(jié)的數(shù)據(jù)報(包括了20字節(jié)的IP首部和3980字節(jié)的IP有效載荷)到達一臺路由器,且必須被轉發(fā)到一條MTU為1500字節(jié)的鏈路上。這就意味著初始數(shù)據(jù)報中的3980字節(jié)數(shù)據(jù)必須被分配為3個獨立的片,其中的每個片也是一個IP數(shù)據(jù)報。
MTU:最大傳送單元,一個鏈路層幀能承載的最大數(shù)據(jù)量。
第一個分片是1480個字節(jié)的數(shù)據(jù)加20字節(jié)的IP頭部,第二個分片也是1480個字節(jié)的數(shù)據(jù)加20字節(jié)的IP頭部。第三個分片是1020的數(shù)據(jù)加20字節(jié)的IP頭部。因此三個分片的長度分別為1500字節(jié)、1500字節(jié)、1040字節(jié)。需要注意的是在后續(xù)的路由器轉發(fā)中將作為獨立的報文進行轉發(fā)。直到三個分片都到達接收方主機,由接收方主機重新組裝。
分片情況如下:
標識符通過ID號來表示原始數(shù)據(jù)報,ID號相同的分組都屬于一個原始數(shù)據(jù)報,假設數(shù)據(jù)報的標識符為777,也就是圖中的x是777。
通過標志位(fragflag)來表示數(shù)據(jù)報進行的分片,如果標志位為1,則表示后面還有數(shù)據(jù)。標志位為0表示這是最后一個分片,后面沒有數(shù)據(jù)了。
偏移位為0表示插入的數(shù)據(jù)開始于字節(jié)0;偏移185表示插入的數(shù)據(jù)開始于字節(jié)1480(1858=1480);偏移370表示插入的數(shù)據(jù)開始于字節(jié)2960(3708=2960)。

二、IP地址即IPv4的編址規(guī)則

1、IP地址簡單介紹

IP地址:分配給主機或路由器接口的32比特的標識符。
接口:主機/路由器與物理鏈路之間的邊界。
因為路由器的任務是從鏈路上接收數(shù)據(jù)報并從某些其它鏈路轉發(fā)出去,所以路由器必須擁有兩條或更多鏈路與它連接,因此路由器通常有多個接口;因為每臺主機與路由器都能發(fā)送和接收IP數(shù)據(jù)報,IP要求每臺主機和路由器接口擁有自己的IP地址,因此一個IP地址技術上是與一個接口相關聯(lián)的,而不是與包括該接口的主機或路由器相關聯(lián)的。主機也可以有多個接口,例如筆記本通常會有無線網卡接口,也會有有線網卡的以太網接口。每個接口有一個IP地址。在因特網中設備通過IP地址進行尋址。

上圖每臺計算機都有一個IP地址,路由器有三個端口,每個端口都有一個IP地址。

2、IPv4編址

2.1、兩種書寫方法

首先IPv4地址有兩種書寫方法:
(1)32比特的二進制表示法:例如11011111 00000001 00000001 00000001這樣直接寫。
(2)點分十進制表示法:是將32比特按照每8比特劃分為一個字節(jié),每個字節(jié)用10進制數(shù)來表示,十進制數(shù)之間用”.“號分隔。例如:

2.2、IP地址類型

根據(jù)不同的取值范圍,早期將IP地址分為五類。IP地址中前5位用于標識IP地址的類別,A類地址的第一位為”0“,B類地址的前兩位為”10“,C類地址的前三位為”110“,D類地址的前四位為”1110“,E類地址的前五位為”11110“。其中,A類、B類與C類地址為基本的IP地址。

如上圖所示,IP地址由兩部分組成:
(1)網絡號:指明主機所在的物理網絡的編號。
(2)主機號:主機在物理網絡中的編號。
每個IP地址有32比特。
一個A類地址其網絡號最高的8比特,后24比特可以作為主機號。因此可以分配的主機數(shù)為224^{24}24,但是一個家庭或者組織往往不需要這么多的地址空間,造成浪費。
而一個C類地址網絡號為最高的24比特,主機號只有8比特用于分配主機地址,因此可分配的主機數(shù)為28^88即256臺主機,可分配的數(shù)量較少,又不太夠用。
因此,逐漸按類別進行地址分配被CIDR技術取代。

2.3、一些常用的特殊IP地址

(1)127.0.0.1-127.255.255.254
這是預留的一組IP地址,主要是用來識別主機本身的地址。也叫做”localhost“,一半用來測試使用的,做開發(fā)的人比較熟悉。
(2)10.x.x.x ;172.16.x.x-172.31.x.x ;198.168.x.x
這三個地址段主要是我們私有的內網地址。也就是我們平時企業(yè)或者家里局域網所使用的地址段,我們比較熟悉的應該就是192.168.x.x這個地址段了。
注意:內部私有地址是不能夠進行全網尋址的。

2.4、子網

上面說過IP地址由網絡號和主機號構成,網絡號就是子網。
從IP地址的觀點來看,子網是一組設備,這些設備接口的IP地址具有同樣的網絡部分。這些設備通過鏈路相連,當沒有路由器接入時,在物理上能夠相互到達。

上圖有三個子網,分別為223.1.1子網、223.2.1子網和223.1.3子網。
從另一個觀點來看子網:為了確定子網,分開主機和路由器的每個接口,從而產生了幾個分離的網絡島,這寫獨立網絡中的每一個叫做一個子網。如下圖所示:

2.5、CIDR技術

這是一種新的IP地址表示方法,其中網絡部分可以任意長度,不同于早期的分類IP地址,網絡部分是固定長度。在CIDR中地址的寫法為a.b.c.d/x,這里x是地址網絡部分的比特數(shù)。

如上圖所示,這里的/23表示前23位是網絡部分,后面的9比特表示主機部分。
最高位23位是網絡部分可以用/23來表示,也可以用子網掩碼來表示,在子網掩碼中,IP地址的網絡部分用全1表示,主機部分用全0表示。
因此這里的/23等價于11111111 11111111 11111110 00000000,對應的點分十進制寫法為255.255.254.0。

總結

以上是生活随笔為你收集整理的网际协议:数据报格式和分片以及IPv4编址的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。