注:本文**
osi中的層
功能tcp/ip協議族
應用層檔案傳輸,電子郵件,檔案服務,虛擬終端
表示層資料格式化,**轉換,資料加密
會話層解除或建立與別的接點的聯絡
傳輸層提供端對端的介面
tcp,udp
網路層為資料報選擇路由
ip,icmp,rip,ospf,bgp,igmp
鏈路層傳輸有位址的幀以及錯誤檢測功能
slip,cslip,ppp,arp,rarp,mtu
物理層以二進位制資料形式在物理**上傳輸資料
iso2110,ieee802,ieee802.2
上圖**
(注:圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。)
黃色的是資料鏈路層的頭部,一共14位元組
綠色的部分是ip頭部,一般是20位元組
紫色部分是tcp頭部,一般是20位元組
最內部的是資料報內容
黃色部分:鏈路層
型別:指定網路層所用的協議型別,通常是ip協議,0x0800
綠色部分:網路層,這裡用的是ip包頭格式
版本:記錄資料報屬於哪乙個版本的協議,如ipv4或ipv6
首部長度:指明ip頭部長度,它指明的是首部佔32bit的數目,(即單位為4byte)。該域的值最小為5,就是標準的頭部長度;最大為15,表明有擴充套件部分。
服務型別:用來區分不同服務的需要
資料報總長:包含ip頭部的資料報的總長度。注意,這裡不包括鏈路層的頭部,目前最大值是65535位元組。
分組id:這個域的作用是當乙個大的資料報被拆分時,拆分成的小的資料段的這個域都是一樣的。
標記:共三個bit,第乙個未使用;第二個df(don』t fragment),設定成1表示這個資料報不能被分割,這個是針對路由器的一條指令;第三個mf(morefragment),如果乙個資料報被分割了,那麼除了最後乙個分段以外的所有分段都必須設定為1,用來表示後面還有更多的分段沒有到達,最後乙個設定為0,用來表示分割的段全部到達。
段偏移量:這個域有13bit,也就是每乙個資料報最多有8192個分段。每乙個分段的長度必須是8位元組的倍數,也就是說8位元組是分段的基本單位,當然分組的最後乙個段不做限制。這樣最大的資料報長度為8*8192=65536位元組,比目前限制的最大資料報長度還多1,能夠滿足對網路中所有資料報傳送的需求。
高層協議:這裡和鏈路層的型別作用相同,用來表示更高層的協議,這個資料報裡是tcp
首部校驗和:ip頭部的校驗和
紫色部分:傳輸層,這裡用的是tcp協議
目的埠號:資料報目的主機的埠號
tcp序號(sq):傳送的tcp的序號,從0開始,實際中這個值就是傳送的資料報中內容的位元組數,比如我傳送的第乙個報中sq=0,資料報內容20位元組,那麼下乙個資料報的sq就應該是21。
捎帶的確認(ack):確認收到上乙個資料報,然後act的值是指定自己想要收到的下乙個資料報的sq,比如我收到乙個資料報的sq=0,資料報內容20位元組,那麼我的ack就應該是21,用來標明我sq=0,內容為20位元組的資料報已經收到,我接下來期望收到的是sq=21的資料報。
首部長度:和ip頭部的長度域類似,這個域用來標明tcp頭部的長度,單位也是字。
保留:6bit未使用的域
flag:從左到右,[urg|ack|psh|rst|syn|fin]
ack設定為1表示前面的確認(ack)是有效的,否則前面的確認應被忽略。
psh表示要求對方在接到資料後立即請求遞交給應用程式,而不是緩衝起來直到緩衝區收滿為止。
rst用於重置乙個已經混亂的連線。
syn用於建立連線的過程。在鏈結請求中,syn=1和ack=0表示該資料段沒有使用捎帶的確認域。鏈結應答則捎帶了乙個確認,即syn=1和ack=1.本質上syn位是用來表示connection
request和connection accepted,然後進一步用ack來區分是請求還是應答,的確很高明。
fin用來釋放乙個連線。它表示傳送方已經沒有資料要傳輸了。然後,在關閉乙個連線後,關閉程序可能會在一段不確定的時間內繼續接收到資料。syn和fin資料段都有tcp序號,從而保證了這兩種資料段被按照正確的順序來進行處理。
視窗大小:指定了從被確認的位元組算起可以傳送多少個位元組。要深入理解這個域的含義,可以參看tcp用色控制和慢啟動演算法
校驗和:校驗範圍包括tcp頭、資料報內容和概念性偽頭部。概念性偽頭部又包括源ip,目的ip,tcp協議號。
「TCP IP五層模型」與「資料報封裝和分用」
為了方便交流,人類發明了語言,約定了每個漢字符號代表的意思。同理,為了機器之間的交流,我們也需要一些 約定 我們稱這些約定為 協議 在網際網路中,所有的計算機都是由 路由器和交換機 連線到一起的。計算機之間的傳輸媒介是光訊號和電訊號。通過 頻率 和 強弱 來表示 0 和 1 這樣的資訊。要想傳遞不同...
TCP IP 網路層 抓包分析IP資料報首部
ip資料報的結構 首部 資料部分 1.版本 v4或者v6 首部長度 固定的20位元組,所以就沒有 區分服務優先順序 我的例子是 assured forwarding 31 0x1a 26,保證 2.總長度 是否分片 分片的標誌 片偏移 我的例子中不需要分片 網路層資料報最大65535位元組,資料鏈路...
TCP IP 物理層卷四 資料報與虛電路
資料報是分組交換的一種,主要向通訊子網中的端系統提供無連線的分組交換服務。通訊子網的某主機傳送乙個報文時,無需建立連線,只需在實現高層協議的前提下對資料拆分並且層層包裹,最後形成網路層的ip分組,通過路由器進行 來實現資料通訊。虛電路是另一種分組交換方式,它一種面向連線的資料交換技術。可以說虛電路是...