路由交換03-----傳輸層協議
阿新 • • 發佈:2018-07-20
選項 服務 事先 code 資源 重要 效率 不可靠 urg
SYN:同步連接序號,用於建立連接。
FIN:結束連接,為0是請求結束連接,為1是結束連接。
窗口大小(2字節):接收方告訴發送方想接收到的每個數據段的大小,可用於流量控制。
校驗和(2字節):對頭部和數據進行校驗。
緊急指針:當URG為1時生效,表示這個數據是緊急數據,優先發送。
選項:用於記錄路由或者時間戳之類的可選任務。 ,
註意:
接著就開始傳輸數據。
數據傳輸結束後開始進行關閉連接,即TCP四次揮手。假設客戶端想終止這個連接,於是發送一個數據包: 一樣需要三次握手四次揮手,
源端口(2字節):初始化通信的端口號。
目的端口(2字節):接收方應用程序的地址接口。
UDP數據包長度(2字節):UDP頭和數據的總長度。
校驗和(2字節):數據包的頭部和包內容的校驗。
傳輸層協議
傳輸層比較重要的兩個協議是TCP
和UDP
協議。
1.TCP
TCP是一種可靠的、面向連接的全雙工傳輸層協議。
TCP
的報文格式是這樣的:
源端口(2字節):源主機應用程序使用的端口號。源端口和IP地址用作標識報文的返回地址。
目的端口(2字節):目的主機應用程序使用的端口號。
序號(4字節):seq
序號,標識發送方向接收方發送的數據段的序號。
確認序號(4字節):Ack
序號,接收方應答的序號,為接受到的序號+1。
頭長度(4字節):表示i頭部占4字節的數目。
URG:是否為緊急指針,0為不是,1為是。
ACK:請求或者應答連接,用於確認序號有效。
PSH:最快速度傳輸數據。
RST:重建會話。
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字節):數據包的頭部和包內容的校驗。
使用UDP
發送數據時,應用程序需要提供報文到達確認、排序、流量控制等功能,UDP
沒有像TCP
一樣的重傳機制,占用資源小,處理效率高。一般用來傳輸語音、視頻等。
對比
路由交換03-----傳輸層協議