傳輸層協議
傳輸層比較重要的兩個協議是tcp
和udp
協議。
1.tcp
tcp是一種可靠的、面向連線的全雙工傳輸層協議。
tcp
的報文格式是這樣的:
源埠(2位元組):源主機應用程式使用的埠號。源埠和ip位址用作標識報文的返回位址。
目的埠(2位元組):目的主機應用程式使用的埠號。
序號(4位元組):seq
序號,標識傳送方向接收方傳送的資料段的序號。
確認序號(4位元組):ack
序號,接收方應答的序號,為接受到的序號+1。
頭長度(4位元組):表示i頭部佔4位元組的數目。
urg:是否為緊急指標,0為不是,1為是。
ack:請求或者應答連線,用於確認序號有效。
psh:最快速度傳輸資料。
rst:重建會話。
syn:同步連線序號,用於建立連線。
fin:結束連線,為0是請求結束連線,為1是結束連線。
視窗大小(2位元組):接收方告訴傳送方想接收到的每個資料段的大小,可用於流量控制。
校驗和(2位元組):對頭部和資料進行校驗。
緊急指標:當urg為1時生效,表示這個資料是緊急資料,優先傳送。
選項:用於記錄路由或者時間戳之類的可選任務。
tcp傳輸資料分為三個過程:建立連線、傳輸資料、關閉連線。
建立連線的過程是乙個三次握手的過程,首先,客戶端傳送乙個標識為syn
,序列為seq=a
的資料報,伺服器端收到後,要對這個包進行確認,便回覆乙個syn
,ack
,ack=a+1
,seq=b
的資料報,客戶端收到這個包之後,進行確認,回覆乙個ack
,seq=a+1
,ack=b+1
的包,這樣就建立連線了。
注意:ack
是標誌位的,用於確認序號有效。ack
是確認序號,是seq+1
。
接著就開始傳輸資料。
資料傳輸結束後開始進行關閉連線,即tcp四次揮手。假設客戶端想終止這個連線,於是傳送乙個資料報:fin
,ack
,seq=a
,伺服器端收到之後,進行確認回覆ack
,seq=b
,ack=a+1
,確認完客戶端的終止連線之後,伺服器端再進行終止連線,向客戶端傳送資料報為:fin
、ack
,seq=b
,ack=a+1
,客戶端收到之後,知道伺服器端也終止連線然後進行確認回覆:ack
,seq=a+1
,ack=b+1
,這樣會話就關閉了。
2.udp
udp
是一種不可靠的、無連線的傳輸層協議,他不像tcp
一樣需要三次握手四次揮手,udp
不需要事先建立連線,因此也無法保證資料的可靠。
udp
報文的頭****的:
源埠(2位元組):初始化通訊的埠號。
目的埠(2位元組):接收方應用程式的位址介面。
udp資料報長度(2位元組):udp頭和資料的總長度。
校驗和(2位元組):資料報的頭部和包內容的校驗。
對比
傳輸層協議
流量控制 擁塞控制 1.鏈路層 處理與電纜 或其他傳輸介質 的物理介面實現 2.網路層 處理分組在網路中的活動,處理分組路由 3.運輸層 為兩台主機上的應用程式提供端到端的通訊 4.應用層 處理特定的應用程式的細節 絕大多數的網路應用程式都是客戶 伺服器模式 雙方都有乙個或多個協議進行執行 應用程式...
傳輸層協議
目錄tcp ip和osi模型的比較 相同點兩者都是以協議棧的概念為基礎 協議棧中的協議彼此互相獨立 下層對上層提供服務 不同點osi是先有模型 tcp ip先有協議,後又模型 osi是國際標準,適用於各種協議棧 tcp ip實際標準,只適用於tcp ip網路 層次數量不同 tcp ip通訊過程 tc...
167 傳輸協議 傳輸層
tcp基於tcp協議可以建立穩定連線的點對點的通訊。這種通訊方式實時 快速 安全性高,但是很占用系統的資源。tcp transfer control protocol 是面向連線的,所謂面向連線,就是當計算機雙方通訊時必需經過先建立連線,然後傳送資料,最後拆除連線三個過程。tcp在建立連線時又分三步...