一、網路通訊模型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的連線,要想倆個人通話,首先一方要撥通另一方的 等待另一方接通 之後才可以通...