TCP UDP IP 協議分析

2021-08-03 11:40:00 字數 2495 閱讀 9018

互連網早期的時候,主機間的互連使用的是ncp協議。這種協議本身有很多缺陷,如:不能互連不同的主機,不能互連不同的作業系統,沒有糾錯功能。為了改善這種缺點,大牛弄出了tcp/ip協議。現在幾乎所有的作業系統都實現了tcp/ip協議棧。

tcp/ip

協議棧主要分為四層:應用層、傳輸層、網路層、資料鏈路層,每層都有相應的協議,如下圖

所謂的協議就是雙方進行資料傳輸的一種格式。整個網路中使用的協議有很多,所幸的是每一種協議都有rfc文件。在這裡只對ip、tcp、udp協議頭做乙個分析。

首先來看看在網路中,一幀乙太網資料報的格式:

在linux作業系統中,當我們想傳送資料的時候,我們只需要在上層準備好資料,然後提交給核心協議棧 , 核心協議棧自動新增相應的協議頭。

下面我們來看看,每一層新增的協議頭具體內容。

一.tcp協議

tcp協議是面向連線、保證高可靠性(資料無丟失、資料無失序、資料無錯誤、資料無重複到達)傳輸層協議。

1.tcp

頭分析

先來分析一下tcp頭的格式以及每乙個欄位的含義:

(1)埠號[16bit]

我們知道,網路實現的是不同主機的程序間通訊。在乙個作業系統中,有很多程序,當資料到來時要提交給哪個程序進行處理呢?這就需要用到埠號。在tcp頭中,有源埠號(source port)和目標埠號(destination port)。源埠號標識了傳送主機的程序,目標埠號標識接受方主機的程序。

(2)序號[32bit]

序號分為傳送序號

tcp源端向

32bit

的無符號數,序號到達

1後又從

1,順序號字段包含由這個主機選擇的該連線的初始順序號

initial sequence number)。

確認序號:包含傳送確認的一端所期望收到的下乙個順序號。因此,確認序號應當是上次已成功收到資料位元組順序號加

1時確認序號欄位才有效。

tcp採用一種名為

ack。傳送方對發出的每個分組都儲存乙份記錄,在傳送下乙個分組之前等待確認資訊。傳送方還在送出分組的同時啟動乙個定時器,並在定時器的定時期滿而確認資訊還沒有到達的情況下,重發剛才發出的分組。圖

3-5可以看出,雖然網路具有同時進行雙向通訊的能力,但由於在接到前乙個分組的確認資訊之前必須推遲下乙個分組的傳送,簡單的肯定確認協議浪費了大量寶貴的網路頻寬。為此,

ip協議

t c p

、i g m p

資料都以

不可靠(

i p僅提供最好

的傳輸服務。如果發生某種錯誤時,如某個路由器暫時用完了緩衝區,

t c p)。

i p資料報可以不按傳送順序接收。如果一信源

向相同的信宿傳送兩個連續的資料報(先是

b可能在

ipv6

,目前還處於草案階段。1個

4位元組),因此,當

15),首部長度就達到

ip分組的首部長度不是

0101

),這時不使用任何選項。

(3)區分服務 佔

1998

年ds(differentiated services)

。只有在使用區分服務時,這個欄位才起作用。

16位,因此資料報的最大長度為

ip層下面的每一種資料鏈路層都有自己的幀格式,其中包括幀格式中的資料字段的最大長度,這稱為最大傳送單元

」並不是序號,因為

mtu而必須分片時,這個標識欄位的值就被複製到所有的資料報的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確地重灌成為原來的資料報。

2位有意義。

●標誌字段中間的一位記為

「不能分片

df=0

時才允許分片。

64位)的整數倍。

ttl的單位。每經過乙個路由器時,就把

ttl值減

ttl值為 8

位,協議字段指出此資料報攜帶的資料是使用何種協議,以便使目的主機的

ip位址 佔 ip

位址 佔

32位。 2.

分片解釋

分片指的是需要傳送的資料大於最大傳輸單元(mtu)的時候,就需要分成多個包,然後乙個個傳送給對方。我們在說tcp的時候,說到mss很多人不能區分它們。通過下面的圖,我想就可以完全區分它們了。

個人覺的如果通過tcp協議傳輸資料,到ip層的時候,可定不需要分片了。只有在通過udp協議傳送大資料的時候,需要分片。

例如:用udp協議傳送10240個位元組資料

可以看到,但資料提交到網路層的時候,由於資料超過了最大傳輸單元,就分片了。分成多個包通過ip協議傳送個對方。每個資料報最大的位元組為mtu - ip頭 = 1500 - 20 = 1480。

四 、乙太網頭

三部分組成 :源mac address | 目的mac address | 所使用的協議.

所以在乙太網中,資料報的格式有一下幾種:

arp協議是通過ip位址獲得對應的mac位址,稱為位址解析協議

rarp

協議是通過mac位址來獲得對應的ip位址,稱為逆向位址解析協議

TCP UDP IP報頭結構體分析

tcp udp ip報頭結構體分析 tcp資料段格式 tcp是一種可靠的 面向連線的位元組流服務。源主機在傳送資料前需要先和目標主機建立連線。然後,在此連線上,被編號的資料段按序收發。同時,要求對每個資料段進行確認,保證了可靠性。如果在指定的時間內沒有收到目標主機對所發資料段的確認,源主機將再次傳送...

HTTP和tcp,udp,ip等網路協議學習

前言,計算機網路的分層,按照osi標準,分為物理層 硬體 資料鏈路層 雙工等這一些 網路層 乙太網協議等 傳輸層 可以理解為計算機裡面的傳輸 會話層 建立乙個會話 表示層,應用層,看到狹義來說,可以把最後的會話,表示,應用層都統一為應用層 1,在資料鏈結層上的乙太網協議,分為head和data,he...

網路協議分析 VRRP協議分析

2 rip 2的報文格式 3 rip 2的驗證報文 三 例項化 rip報文由頭部 header 和多個路由表項 route entries 部分組成。乙個rip表項中最多可以有25個路由表項。rip是基於udp協議的,所以rip報文的資料報不能超過512個位元組。1 command 長度8bit,報...