1. 程式人生 > >計算機網路IP資料包的3個標誌位以及IP資料報的分片和重組過程

計算機網路IP資料包的3個標誌位以及IP資料報的分片和重組過程

1.3個標誌位是哪3位?

目前只有兩位有意義

<1>標誌位中的最低位記為MFMore Fragment)。MF=1即表示後面"還有分片"的資料報。MF=0表示這已是若干資料報片中的最後一個。

<2>標誌欄位中間的以為記為DFDon't Fragment)。意思是"不能分片"的資料報。只有當DF=0是才允許分片。

2.描述資料報的分片和組裝過程

分片和重新組裝的過程對傳輸層是透明的,其原因是當IP 資料報進行分片之後,只有當它到達下一站時,才可以進行重新組裝,

且它是由目的端的IP 來完成的。分片之後的資料報根據需要也可以再次進行分片。

IP分片的原理:

  IP分片和完整IP

報文差不多擁有相同的IP頭,ID域對於每個分片都是一致的,這樣才能在重新組裝的時候識別出來自同一個IP報文

的分片。在IP頭裡面,16位識別號位移記錄了一個IP報文的分片。在IP頭裡面,16位識別號唯一記錄了一個IP報文的ID

,具有同一個IDIP分片將會重新組裝;而13位片偏移則記錄了某IP片相對整個包的位置;而這兩個表中間的3位標誌位,則標誌著該分片後面是否還有新的分片,這三個域就組成了IP分片的所有資訊,接受方就可以利用這些資訊對IP資料進行重新組織

IP分片的步驟:

一個未分片的資料報的分片資訊欄位全為0,即多個分片標誌位為0;即多個分片標誌位為0;且偏移量為0.分片一個數據報,需執行以下幾個步驟:

(1) 檢查DF標誌位,查明是否允許分片,如果DF=1,則將該資料報丟棄,並將一個ICMP錯誤返回給源端。

(2) 基於MTU值,把資料欄位分成兩個部分或者多個部分。除了最後的資料部分外,所有新建資料選項的長度必須為8的倍數。

(3) 每個資料部分被放入一個IP資料報,這些資料報的報文頭略微修改了原來的報文頭。除了最後的資料報分片外,所有分片都設定了多個分片標誌位。

每個分片中的片偏移量欄位設為這個資料部分在原來資料報中所佔的位置,這個位置相對於原來未分片資料報中的開頭處。

(4) 設定新資料報的報文頭欄位及總長度欄位。

(5) 重新計算報文頭部校驗和欄位。

IP報文的重組:

為了重組資料報分片,接收主機在第一個分片到達時分配一個儲存緩衝區。這個主機還將啟動一個計時器。當資料報的後續分片到達時,資料被複制到緩衝區儲存器中片偏移量欄位指出的位置。當所有分片都到達時,完整的未分片的原始資料報就被恢復了。處理如同未分片資料報一樣繼續進行。

如果計時器超時並且分片保持尚未認可狀態,則資料報被丟棄。這個計時器的初始值稱為IP資料報的生存期值。它是依賴於實現的。一些實現允許對它進行配置。在某些IP主機上可以使用netstat命令列出分片的細節。如TCP/IP for OS/2中的netstat-i命令。

在接收方,一個由傳送方發出的原始IP資料報,其所有分片將被重新組合,然後才能提交到上層協議。每一個將被重組的IP 資料報都用了一個ipq結構例項來表示,因此先來看看ipq這個非常重要的結構。

為了能高效地組裝分片,用於儲存分片的資料結構要有一下幾點:

1. 快速定位屬於某一個數據報的一組分組。

2. 在屬於某一個數據報的一組分片中快速插入新的分片

3. 有效地判斷一個數據報的所有分片是否已經全部接收

4. 具有組裝超時機制,如果在重組完成之前定時器溢位,則刪除該資料報的所有內容


相關推薦

計算機網路IP資料3標誌以及IP資料分片重組過程

1.3個標誌位是哪3位? 目前只有兩位有意義 <1>標誌位中的最低位記為MF(More Fragment)。MF=1即表示後面"還有分片"的資料報。MF=0表示這已是若干資料報片中的最後一個。 <2>標誌欄位中間的以為記為DF(Don't Fragm

計算機網路(5)-傳輸層--TCP傳輸:可靠資料傳輸、流量控制、3次握手過程

TCP傳輸 TCP連線提供的服務是全雙工服務,同一連線能夠雙向傳輸資料,同時,也是點對點的連線(僅有一個傳送方和一個接收方)。 TCP報文段結構 TCP報文段由首部欄位和資料欄位組成。 首部欄位 源埠號和目的埠號:用於多路分用和多路複用 因特網檢驗和:差

CDA資料分析師3級別的薪資待遇|人才認證標準

從統計到資料分析,從資料探勘到大資料,資料科學逐漸成為了一門新興的學科,資料分析師也逐漸成為了一門搶手的職業。如何成為資料分析師?如何入行資料分析?教育是一個難題!在這個行業中,是否有高質量的證書?拿到證書後能找到多少薪資的工作?今天,我們來分析分析作為這個行業中的老牌,CDA資料分析

iOS基礎網路教程-Swift版本: 3.使用UIWebView載入本地的資料

在前面, 我們使用了 UIWebView 載入了網路的資料, 其實 UIWebView不只是可以載入普通的網頁, 還可以載入其他不同的檔案, 比如視訊, 音樂, PDF, Word等等檔案都是可以的, 下面讓我們來看看~~ PS: 例子裡的 PDF, Txt, doc 檔案請自行準備, 裡面的內容隨便, 只

計算機網路基礎概念】3廣域網、網路互聯與Internet

這裡跟一般的信源編碼略有一些區別,比如程式還需要有一定的可讀性,因而需要引入額外的冗餘,要不然就會像brainfuck或者花式perl一樣沒法看了。這件事可以理解為兩種效果的混合:第一,我們希望程式中不僅編碼進執行的資訊,還編進一部分設計思想,這可以看作是程式設計的額外需求;第二,我們需要程

計算機網路 第一章(3網路邊緣(1)

在上一節中我們對因特網和網路協議做了總體的概述。這裡我們將更深入地探究計算機網路的部件。 我們通常把與因特網相連的計算機和其他裝置成為端系統。因為它們位於因特網的邊緣,故而被稱為端系統。因特網的端系統包括了桌面計算機、伺服器和移動計算機。 端系統也被稱為主機,因為它們容納

IP資料網路中為什麼要分片重組

一、什麼是IP分片?IP協議在傳輸資料包時會將資料報文分成若干片進行傳輸,並在目標系統中進行重組。這以過程就成為分片。二、為什麼要進行IP分片如果IP資料報加上資料幀頭部後大於MTU,資料報文就會分成若干片進行傳輸。那麼什麼是MTU呢?每一種物理網路都會規定鏈路層資料幀的最大

計算機網路學習六:關於TCP流模式與UDP資料報文模式區別

1 概述 “TCP是一種流模式的協議,UDP是一種資料報模式的協議”,這句話相信大家對這句話已經耳熟能詳~但是,“流模式”與“資料包模式”在程式設計的時候有什麼區別呢?以下是我的理解,僅供參考! (1) TCP 打個比方比喻TCP,你家裡有個蓄水池,你可以裡

計算機網路之區域網(3)無線區域網

六,無線區域網 1,典型的無線區域網結構 無限區域網分為兩種: 有固定基礎設施的無線區域網 無固定基礎設施的無線區域網自組網路(ad hoc network) 2,有固定基礎設施的無線區域網 一個基本服務集 BSS 包括一個基站和

IP數據分片重組過程

ip一。IP分片(一)IP分片的原理: 分片和重新組裝的過程對傳輸層是透明的,其原因是當IP數據報進行分片之後,只有當它到達下一站時,才可進行重新組裝,且它是由目的端的IP層來完成的。分片之後的數據報根據需要也可以再次進行分片。 IP分片和完整IP報文差不多擁有相同的IP頭,ID域對於每個分片都

最強資料集50最佳機器學習公共資料,可以幫你驗證idea!

1.  尋找資料集の奧義 根據CMU的說法,尋找一個好用的資料集需要注意一下幾點: 資料集不混亂,否則要花費大量時間來清理資料。 資料集不應包含太多行或列,否則會難以使用。 資料越乾淨越好,清理大型資料集可能非常耗時。 應該預設一個有趣的問題,而這個問題又可以用資料來

計算機網路】【TCP】如何講清楚Tcp的三次握手四次揮手?

每一次TCP連線都需要三個階段:連線建立、資料傳送和連線釋放。 三次握手: 三次握手就發生在連線建立階段。 目的:三次握手的目的是為了防止已失效的連線請求報文段突然又傳送到了服務端,因而產

一張表中把兩相同的資料合併(listagg函式)

問題描述: 如下圖所示,需求是把省和產品相同的NTID合併到一起。 元資料: 想要的結果: 折騰了半天,結果經專案組大神指教,說有一個函式可以直接完成上訴操作。 listagg(); 程式碼如下: select yearmonth, listagg(ntid,

簡述TCP協議的六標誌三次握手與四次揮手的過程及原理

簡述TCP協議的三次握手與四次揮手的過程及原理        今天,我們來分享一下TCP協議的六個標誌位和三次握手與四次揮手的過程及原理。        先介紹一下TCP中的六個控制位,      

工業大資料漫談3:什麼是工業大資料

        前面兩部分我們大概瞭解了一下大資料的由來和特點,這一部分我們來看看什麼是工業大資料,它和傳統我們理解的大資料有什麼不同?         在瞭解什麼是工業大資料的時候,我覺得我們有必要先了解一下什麼是工業以及工業都包括哪些門類。         工業(Ind

oracle資料庫表中某幾的重複資料去重

delete from szpj_biz_水文觀測資料 a where (a.觀測點_id, a.觀測時間, a.取樣位置) in       (select 觀測點_id, 觀測時間, 取樣位置          from szpj_biz_水文觀測資料         g

計算機網路(六) 閘道器--內部閘道器協議RIPOSPF

內部閘道器協議RIP RIP(Routing Information Protocol)是內部閘道器協議IGP中最先得到廣泛使用的協議。RIP是一種分散式的基於距離向量的路由選擇協議。 RIP協議要求網路中每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄。 RIP

資料庫表,3,姓名,薪水,部門,用一條sql語句求每個部門薪水最高的人姓名

select t1.姓名 from 表 t1, (select max(薪水) 薪水,部門 from 表 group by 部門) t2 where t1.部門=t2.部門 and t1.薪水 = t2.薪水 create table t1 (   NAME VARCH

parttion by ~~~針對某個欄或多重複,資料只取前n條。問題例子:1.主評論下的評論按著 時間正序最多隻取前5條 2.獲取最新登入記錄......

分組目前已知partition by、group by partition by用於給結果集分組分割槽,如果沒有指定那麼它把整個結果集作為一個分組,最後顯示具體資料 group by:通過所查詢的資料的某一欄位或屬性進行分組,最後顯示組資料,而不是具體資料,因為select 後面的所有列中,沒有使用聚合函

mysql 刪除單表內多重複的資料

遇到個問題,一個表內兩個欄位應該加上unique約束,但沒加導致出現重複資料,網上找到一條sql可以刪掉重複資料,原sql是這樣的: DELETE from test WHERE (mid,uid) in (SELECT mid,uid FROM test GROUP