TCP IP筆記一(TCP基礎概念)

2021-10-01 10:34:53 字數 3739 閱讀 8895

一、網路通訊模型osi七層模型

功能對應網路協議

tcp/ip協議四層模型

應用層各種應用程式和網路之間的介面,其功能是直接向使用者提供服務,完成使用者希望在網路上完成的工作。

應用層表示層

它對來自應用層的命令和資料進行解釋,對各種語法賦予相應的含義,並按照一定的格式傳送給會話層。其主要功能是「處理使用者資訊的表示問題,如編碼、資料格式轉換和加密解密」等。表示層的具體功能如下:

telnet,rlogin,snmp,gopher

會話層smp,dns

傳輸層定義一些傳輸資料的協議和埠。傳輸協議同時進行流量控制,或是基於接收方可接受資料的快慢程度規定適當的傳輸速率。除此之外,傳輸層按照網路能處理的最大尺寸將較長的資料報進行強制分割。

tcp,udp

傳輸層網路層

將網路位址翻譯成對應的實體地址,並決定如何將資料從傳送方路由到到接收方,網路層通過綜合考慮傳送優先權、網路擁塞程度、服務質量以及可選路由的花費來決定從乙個網路中節點a 到另乙個網路中節點b 的最佳路徑。

ip, icmp, arp,rarp,akp,uucp

網路層資料鏈路層

它控制網路層與物理層之間的通訊,確保在不可靠的物理線路上進行可靠的傳輸。從網路層接收到的資料被分割成特定的可被物理層傳輸的幀,幀中包括原始資料、源位址、目的位址以及糾錯和控制資訊等。

fddi, ethernet, arpanet, pdn, slip, ppp,stp。hdlc,sdlc,幀中繼

資料鏈路層

物理層定義物理裝置的標準,主要對物理連線方式,電氣特性,機械特性等制定統一標準,傳輸位元流,因此最小的傳輸單位——位(位元流)

ieee 802.1a, ieee 802.2到ieee 802.

物理層二、資料封裝過程

三、tcp包頭分析

tcp資料被封裝在乙個ip資料報中,如下圖所示

ip首部

tcp首部

tcp資料

tcp首部的資料格式,通常為20個位元組:

源埠號和目的埠號,各為16個位元組,每個tcp段都包含源端和目的端的埠號,用於尋找傳送端和接收端應用程序,這兩個值加上ip首部中的源端ip位址和目的端ip位址唯一確定乙個tcp連線;

序列號,32個位元組,用來標識從tcp傳送端向tcp接收端傳送的資料字節流,它表示在這個報文段中的第乙個資料位元組。如果將位元組流看作在兩個應用程式間的單向流動,則tcp用序列號對每個位元組進行計數。

確認號,32個位元組,客戶端和伺服器端都可以傳送,ack=seq+1;

urg,1個位元組,緊急指標(urgent pointer)有效。

ack,1個位元組,確認序號有效。

psh,1個位元組,接收方應該盡快將這個報文段交給應用層。

rst,1個位元組,重建連線。

syn,1個位元組, 同步序號用來傳送乙個連線。

fin,1個位元組,傳送端完成傳送任務。

首部長度,4個位元組,用於指示資料起始位置。由於tcp包頭中可選項的長度可變,因此整個包頭的長度不固定。如果沒有附加字段,則tcp資料報基本長度為20位元組。

視窗,2個位元組,表示源端主機在請求接收端等待確認之前需要接收的位元組數。它用於流量控制,視窗大小根據網路擁塞情況和i資源可用性增減。

校驗位:16位。用於檢查tcp資料報頭和資料的一致性。

緊急指標:16位。當urg碼有效時指向緊急資料位元組。

可選項:存在時表示tcp包頭後還有另外的4位元組資料。tcp常用的選項為最大資料報(並非整個tcp報文)mss。每乙個tcp段都包含乙個固定的20位元組的段頭。tcp段頭由20位元組固定頭和一些可選項組成。實際資料部分最多可以有65495(65535-20-20=65495)位元組。

四、ip包頭分析

4位版本字段:表示ip的版本號,如果是0100表示ipv4,如果是0110表示ipv6。

4位首部長度字段:表示ip首部的總長度,其中包括選項字段(如果有)。該字段的表示長度單位為32bit(4 bytes), 因此首部長  度最大為15(1111)*32bit=60bytes。在沒有選項時,該字段的值為5,表示普通的ip包頭長度為20bytes。

8位服務型別(tos)字段:前3bit表示該欄位優先權(現在已經忽略該欄位),隨後4bit表示服務型別,按順序分別表示 最小時延、  最大吞吐量、最高可靠性、最小費用四種,這個4個bit中最多只能有1個bit置位,如果全為0。則表示一般服務。最後1個 bit為未用位,必須置為0。

16位總長度(位元組數)字段:表示整個ip資料報的長度,以位元組為單位,最大長度為65535bytes。

16位標識字段:該標識字段唯一的標識主機傳送的每乙份資料報,由主機生成具有唯一性,通常每傳送乙份報文該值加1。 該值   在資料報分片時,會複製到每乙個片中,所以在重組分片包時會觀察該值,把該值相同的分片收集到一起重組。

3位標誌字段:欄位每一位都有特定的含義,該欄位主要用來分片和重組。第1個bit為保留位(reserved bit),一般置位0。第2   個bit為不分片位(don』t fragment),該位在置1時表示不分片。第3個bit為更多片位(more fragment),該位表示後面是否還有更多的分片,置位1時表示後面還有,所以除了最後一片報文,其他分片報文該位全部置1。

13位片偏移字段:13位元的片偏移字段表示分片時,每乙個分片的資料字段偏移原始資料報開始處的位置。

8位生存時間(ttl)字段:8bit的生存時間字段表示該ip資料報可以經過的路由器的最大數量。它指定了資料報的生存時間。

8位協議字段:8bit的協議字段表示在ip上層承載的是什麼協議。比如:0x01表示icmp協議、0x06表示tcp協議、0x11表示udp  協議等。

16位首部校驗和字段:該欄位用來在接收端校驗收到的報文是否正確,該字段只對ip首部計算校驗和,不包括後面的資料字段。

32位源ip位址字段:傳送端的ip位址。

32位目的ip位址字段:接收端的ip位址。

選項字段:一般不使用該欄位,該字段的值以32bit為單位,不足時以0補充。

資料字段:存放應用資料。

TCP IP基礎概念

上個世紀60年代,由於 集中式網路的容災性較弱,以美國國防部為中心的一家組織研究出分組交換網路。後來為了驗證分組交換技術的實用性,arpanet出現了,並且在3年內逐漸發展,由4個節點發展至34個節點。20世紀70年代前半葉,arpanet乙個機構研製出了tcp ip,1982年具體規範確定,198...

TCP IP學習筆記 TCP

tcp協議提供可靠的資料流服務,有以下5個特徵 1.面向資料流 2.虛電路連線 3.有緩衝的傳輸 4.無結構的資料流 5.全雙工連線 tcp使用確認 重傳來保障可靠性,採用滑動視窗機制來保障傳輸效率和進行流量控制 tcp報文段格式 6位code bit 其中視窗是16bit的捎帶視窗通告 tcp報文...

TCP IP詳解學習筆記 TCP的基本概念

雖然tcp和udp最後都會通過ip層傳輸,但是二者卻為使用者提供完全不同的服務,tcp提供的是面向連線的,可靠的位元組流服務 面向連線意味著倆個使用tcp的應用在彼此交換資料之前必須先建立乙個tcp連線。可以用打 比喻tcp的連線,要想倆個人通話,首先一方要撥通另一方的 等待另一方接通 之後才可以通...