1. TCP IP Protocol Suite 4
1.1. TCP UDP 形容圖
1.2. TCP 3-Way Handshake
1.2.1. virtual circuit (虛擬電路)
在兩個終端系統(End system)間,建立一條連線,來進行資料交換。在使用虛擬電路之前,必須先在兩個節點或軟體應用程式間建立連線。在建立連線之後,兩個節點之間,就可以進行資料串流的交換。概念來自於電路交換
3次握手
- SYN
- SYN-ACK
- ACK
握手成功後,就開始傳送資料
只要任何一次出了問題,就不會傳送資料
當資料傳送太快時,會將接收資料先放在buffer區等待處理
1.3. TCP Flow Control
發送停止命令
當有能力再處理資料時,再發送開始命令
1.4. TCP Sequencing & Acknowledgment
當點擊下載10m的檔案時候,其實會拆解成多個包裏傳遞
可以解決的問題
數據包可能沒有按步驟到達
我可以確保每一個數據包都在接受方有收到
1.5. TCP Window Control
一次能發送多少數據包
1.6. TCP Segment Format
20 bytes overhead
1.7. UDP
8 bytes overhead
傳輸速率比TCP快
傳送的過程掉包了就掉了,沒有SEQ跟ACK
程序員決定TCP跟UDP方式
以前的電纜品質比較不好,物理上的質量造成很容易掉包
現在的品質比較好,物理上的質量造成的丟包比較少了
現在的應用程序比較傾向用UDP