IP數(shù)據(jù)報的分片和組裝原理是什么-創(chuàng)新互聯(lián)

這篇文章主要為大家分析了IP數(shù)據(jù)報的分片和組裝原理是什么的相關知識點,內容詳細易懂,操作細節(jié)合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“IP數(shù)據(jù)報的分片和組裝原理是什么”的知識吧。

成都創(chuàng)新互聯(lián)公司自2013年起,先為宿遷等服務建站,宿遷等地企業(yè),進行企業(yè)商務咨詢服務。為宿遷企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

  一份數(shù)據(jù)從一個主機通過路由器發(fā)送給另一個主機時,要經(jīng)過很多路由層轉發(fā)的。過程比較復雜,那么IP在路由層到底是以怎樣的形式轉發(fā)和目的主機這份數(shù)據(jù)報的時候又是如何處理的?

  首先我們需要了解數(shù)據(jù)報的格式:

IP數(shù)據(jù)報的分片和組裝原理是什么

IP的轉發(fā)和控制都是由IP數(shù)據(jù)報的頭部決定

4位首部長度的數(shù)值是以 4字節(jié)為單位的,最小值為 5,也就是說首部長度最小是 4x5=20字節(jié) ,

也就是不帶任何選項的 IP首部 ,4位能表表示的大值是 15,也就是說首部長度大是 60字 節(jié)

8位TOS字段有 3個位用來指定IP數(shù)據(jù)報的優(yōu)先級 (目前已經(jīng)廢棄不用 ),還有4個位表示可選

的服務類型 (最小延遲、大呑吐量、大可靠性、最小成本 ),還有一個位總 是0。

16位總長度是整個數(shù)據(jù)報 (包括IP首部和 IP層payload)的字節(jié)數(shù)。

每傳一個 IP數(shù)據(jù)報 ,16 位的標識加1,可用于分片和重新組裝數(shù)據(jù)報。

3位標志和13位片偏移用于分片 。

TTL(Time to live) 是這樣用的 :源主機為數(shù)據(jù)包設定一個生存時間 ,比如 64,每過一個路由器

就把該值減 1,如果減到 0就表示路由已經(jīng)太長了仍然找不到目的主機的網(wǎng)絡 ,就丟棄該包 ,因此

這個生存時間的單位不是秒 ,而是跳 (hop)。

協(xié)議字段指示上層協(xié)議是 TCP、 UDP、 ICMP還是 IGMP。

然后是 校驗和, 只校驗IP首部 ,數(shù)據(jù)的校驗由更高層協(xié)議負責。

IPv4的IP地址長度為 32位。

  在IP數(shù)據(jù)報中總長度是16位的字段,一次數(shù)據(jù) 報的大長度為2^16-1,雖然盡可能長的數(shù)據(jù)報能夠提高傳輸效率,但是很少 有超過 1500字節(jié)的;所以在這里只要超過1500字節(jié),就認為此數(shù)據(jù)報該分片了。IP數(shù)據(jù)報被分片以后,各分片分別組成一個具有IP首部的分組,并各自獨立的路由,分別抵達目的主機后,目的主機的IP層會在傳送給傳輸層之前將收到的所有分片重新組裝成一個數(shù)據(jù)報。

一.IP分片

1.IP分片原理:

  分片和重新組裝的過程對于傳輸層是透明的,原因是IP數(shù)據(jù)報進行分片以后,只有它到達下一站時才可以 進行重新組裝,且它是由目的端的IP層來完成的,分片之后的數(shù)據(jù)報根據(jù)需要可以再次 分片;

   IP分片和完整的報文差不多擁有相同的IP頭,ID域對美英分片都是一致的,這樣才能在進行組裝的時候識別出來 同一個IP數(shù)據(jù)報文分片。在IP頭里面,16位識別號唯一記錄了一個IP報的ID,具有同一個ID的IP分片將會重新進行組裝;而13位片偏移則記錄了某IP片相對于整個包的位置;這兩個表中間的3位標志則標志著該分片后面是否還有新的分片。這三個域組成了IP分片的所有信息,接受方可以利用這些信息對IP數(shù)據(jù)進行重新組裝。

(1)標志字段的作用

  0  DF  MF

標志字段共三位,最高位為0,該值必須復制到 所有 分組中

不分片(Do not Fragment ,DF)值必須復制。DF=1表示 接受主機不能對分組進行分片。如果分組的長度超過 MTU,又不可以分片,那么這個分組只能丟棄,并要用ICMP差錯報文向源主機報告 。DF=0,表示可以分片

分片(MF)表示分片是不是最后一個分片,MF=1表示接受分片不是 最后一個分片,MF=0表示 接受分片時是最后一個分片

故意發(fā)送部分IP分片而不是全部,則會導致目標主機總是等待分片消耗并占用系統(tǒng)資源。

2.MTU(大傳輸 單元)原理

  當兩臺遠程CP互聯(lián)的時候,他們的數(shù)據(jù)要穿過很多的路由器和各種各樣的網(wǎng)絡媒介才能到達對端

,網(wǎng)絡中不同媒介的MTU各不相同,就好比一長段的水管,由不同粗細的水管組成(MTU不同 )通過這段水管大水量就要由中間最細的水管決定。

   對于網(wǎng)絡層的上層協(xié)議而言(這里以TCP/IP協(xié)議簇為例)他們對水管的粗細不在意因為他們認為 這是網(wǎng)絡的事情。網(wǎng)絡層IP協(xié)議會檢測每個從上層協(xié)議下來的數(shù)據(jù)報包的大小 ,并根據(jù)本機的MTU大小決定是否分片處理。分片大的壞處就是降低了傳輸性能,本來可以一次搞定的事情,分成多次。所以在網(wǎng)絡的更高一層(傳輸層的實現(xiàn))往往會對此加以注意,因為有些高層因為某些原因可能就要求不能對分組進行分片,索引會在IP數(shù)據(jù)報的包頭加上一個標簽:DF這樣IP數(shù)據(jù)包在一大段網(wǎng)絡傳輸?shù)臅r候,如果遇到MTU小于 數(shù)據(jù)包的情況,轉發(fā)設備會根據(jù)情況丟掉這個數(shù)據(jù)包。然后返回一個錯誤信息給 發(fā)送者,這往往會造成通訊上的問題,不過幸運的是大部分網(wǎng)絡鏈路MTU都是1500或者大于 1500

   對于UDP而言,這個協(xié)議本身是無連接的協(xié)議,對數(shù)據(jù)包的到達順序是否正確并不關心,所以一般UDP對分片沒有多大要求

  對于TCP就不一樣了,這個協(xié)議是面向連接的協(xié)議,對于 TCP而言它非常在意數(shù)據(jù)包的到達順序

以及在傳輸過程中是否有錯誤發(fā)生,所以有些TCP應用對分片有要求---不能分片

3.MSS(大報文段長度 )原理

  MSS就是TCP數(shù)據(jù)包每次能夠傳輸?shù)拇髷?shù)據(jù)分段,為了達到最佳的傳輸效能TCP協(xié)議在建立連接的時候通常要協(xié)商雙方MSS的值,這個值TCP協(xié)議在實現(xiàn)的時候用MTU代替(要減去IP數(shù)據(jù)包的包頭大小20bites和TCP數(shù)據(jù)段的包頭20BITES)所以MSS大小往往為1460,雙方會根據(jù)提供的MSS最小值 確定這次連接的MSS大值

二.IP分片步驟

  一個未分片的數(shù)據(jù)報的分片信息字段全為0,即多個分片標志位為 0,并且偏移量 為0,分片一個數(shù)據(jù)報需要經(jīng)過一下步驟

(1)檢查DF標志位,查看是否允許分片,如果設置了該位,則數(shù)據(jù)報將被丟棄 ,并將ICMP錯誤返回給源端

(2)基于MTU值,把數(shù)據(jù)字段分成兩個或對個部分,除了最后的數(shù)據(jù) 部分外,所有新建的數(shù)據(jù)選項 長度必須為8字節(jié)的倍數(shù)

(3)每個數(shù)據(jù)被放入一個IP數(shù)據(jù)報,這些數(shù)據(jù)報的包頭略微改了原先的報文頭

(4)除了最后的數(shù)據(jù)報分片外,所有的分片都設置了多個分片標志位

(5)每個分片中的片偏移量字段設為這個數(shù)據(jù)部分在原來數(shù)據(jù)報中所占的位置,這個位置相對于原來未分片數(shù)據(jù)報中的開頭處。
(6)如果在原來的數(shù)據(jù)報中包括了選項,則選項類型字節(jié)的高位字節(jié)決定了這個信息是被復制到所有分片數(shù)據(jù)報,還是只復制到第一個數(shù)據(jù)報。
(7) 設置新數(shù)據(jù)報的報文頭字段及總長度字段。
(8)重新計算報文頭部校驗和字段。

  此時這些分片數(shù)據(jù)報如一個完整的IP數(shù)據(jù)報一樣被轉發(fā),IP獨立的處理每個數(shù)據(jù)報分片,數(shù)據(jù)報分片能夠通過不同的路由 ,到達目的,如果他們通過了那些規(guī)定了更小的MTU路由,還能夠進一步對他們進行分片

  在目的主機上,數(shù)據(jù)被 重新組合成原來的數(shù)據(jù)報 ,發(fā)送主機設置的標示字段與數(shù)據(jù)報中的袁IP地址和目的IP地址一起使用,分片過程不改變這個字段

三 .重組

  為了重新組合這些數(shù)據(jù)報分片,接受主機在第一個分片到達時分配一個存儲緩沖區(qū)。這個主機還將啟動一個計時器。當數(shù)據(jù)報的后續(xù)分片到達時,數(shù)據(jù)被復制到緩沖區(qū)存儲器中片偏移量指定的位置,當所有分片都到達時,完整的未分片的原始數(shù)據(jù)報就被恢復了。

  如果計時器超時并且分片保持尚未認可狀態(tài),則數(shù)據(jù)將被丟棄。這個計時器的初始值為IP數(shù)據(jù)報的生存期值,它依賴于實現(xiàn)的,一些實現(xiàn)允許對他進行配置。

重組步驟

在接受方,一個由發(fā)送方發(fā)出的原始數(shù)據(jù)IP報,將所有的分片重新組合,才能夠提交到上一層協(xié)議,每一個將被重組的IP數(shù)據(jù)報都用一個ipq結構來表示

為了能夠有效提高組裝分片,用于保存分片的結構必須做到以下幾點

(1)快速定位某一個數(shù)據(jù)報的一組分組

(2)在屬于某一個數(shù)據(jù)報的一組分片中快速插入新的分片

(3)有效的判斷一個數(shù)據(jù)報的所有分片是否已經(jīng)被全部接收

(4)具有重組超時機制,如果在重組完成之前超時溢出,則刪除該數(shù)據(jù)報的所有內容

這篇文章主要為大家分析了IP數(shù)據(jù)報的分片和組裝原理是什么的相關知識點,內容詳細易懂,操作細節(jié)合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學習“IP數(shù)據(jù)報的分片和組裝原理是什么”的知識吧。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文標題:IP數(shù)據(jù)報的分片和組裝原理是什么-創(chuàng)新互聯(lián)
鏈接URL:http://www.bm7419.com/article48/cdjjhp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、虛擬主機網(wǎng)站營銷、自適應網(wǎng)站、建站公司、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營