- 面向連接服務:建立連接 使用連接 釋放連接,較複雜,效率不高,不需要攜帶目的地址
- 無連接服務:無須事先建立通信,傳送帶有目的地址的數據包,例如IP協議的UDP的協議,優點:靈活,迅速,開銷小 ;缺點:不可靠,不能防止報文丢失
TCP
1.使用序号對數據标記 ;
2.使用校驗碼 定時器系統提高安全性 ;
3.TCP使用窗口機制調整數據流量 ;
TCP報文
- 源端口和目的端口均為16位,TCP協議使用端口來識别源端和目的端,端口号取值為0-65535
- 序列号:32位
- 确認号:32位,
- 報頭長度:4位,單位32位,沒有任何選項的TCP報頭為20位,最大60字節
- 标記:ack 确認,建立連接後報文回應ack設置為1 ;SYN,發起連接 ;fin,終止
- 窗口大小:16位,流量控制,
- 校驗和:16位,對整個TCP報文段進行校驗,并由目标端進行驗證
- 緊急指針:16位,
- 選項:該字段可以達到40字節
三次握手:
A:SYN發起連接,序列号為x ;
B:收到後,發起連接,發送确認ACK,序列号為y,然後确認序号表明期待下一個數據段序号即ack=X 1(表明前一個收到無誤,期待下一個)
A:建立連接,序号為y 1(每次會消耗一個序号),ack=y 1
三次握手
A:發送結束報文,序号
B:确認報文,确認序号,期待發送
B:發送結束報文,序号,确認序号
A:确認報文,确認序号,序号
接收ack報文
源主機發送确認報文等待一段時間進入CLOSED狀态 ;目标主機收到确認報文後也進入CLOSED狀态
四次揮手
- 慢啟動與擁塞避免
- 快重傳和快恢複
- 随機早期檢測RED
- 往返時間
- 加權平均往返時間
- 重傳超時時間
3.UDP(與TCP不同的是無順序号,不可靠連接,主要用于類似IP電話,視頻會議等需要恒定速率發送數據的應用,因為TCP需要在通信前建立連接,會有額外的開銷)
源端口号:16位,标識源端進程
目标端口号:16位,标識目标端進程
長度字段:16位,頭部和數據總長
校驗和字段:16位,校驗頭部和數據,有錯就丢棄,與TCP不同的是在UDP裡校驗和為可選項,而TCP裡校驗和為必選
(1)系統端口 :取值[0,1023]常見端口号如下:
常見端口
(2)登記端口 :是為 沒有熟知端口号 的應用進程的,端口範圍 [1024,49151],必須在IANA登記避免重複
(3)客戶端使用端口:僅在客服運行進程時使用,進程結束就會釋放端口
,