OSI七層模型
一個數(shù)據(jù)包的發(fā)送,是從A從上層一路加頭包裝到底層,在由底層一路解頭獲取數(shù)據(jù)包的過程
| 七層模型 | TCP/IP模型 | 說明 |
|---|---|---|
| 應(yīng)用層 | 應(yīng)用層 | 提供服務(wù),http、FTP |
| 表示層 | -- | 加解密、壓縮、解壓 |
| 會話層 | -- | session,DNS |
| 傳輸層 | 傳輸層 | 建立,管理和維護端對端到連接,如TCP UDP |
| 網(wǎng)絡(luò)層 | 網(wǎng)絡(luò)層 | ip地址選擇和路由選擇,如路由器 |
| 鏈路層 | 鏈路層 | 介質(zhì)訪問鏈路管理,如交換機 |
| 物理層 | -- | 物理傳輸如網(wǎng)卡,網(wǎng)線 |
三次握手
會被偽造ip通過第一階段握手進行洪泛攻擊,可通過防火墻解決
| 客戶端 | 服務(wù)端 | |
|---|---|---|
| SYN_SEND | SYN=1;seq=J;--請求連接----> | SYN_RCVD |
| ESTABLISHED | <----確認應(yīng)答并建立連接--SYN=1;ACK=1;ack=J+1;seq=K; | -- |
| -- | ACK=1;ack=K+1;--針對服務(wù)的SYN應(yīng)答----> | ESTABLISHED |
四次揮手
全雙工協(xié)議,所以需要相互確認斷開連接,進行了4次揮手
| 客戶端 | 服務(wù)端 | |
|---|---|---|
| ESBILISHED | FIN=1;seq=u;--發(fā)起斷開連接----> | ESBLISHED |
| FIN-WAIT1 | <--響應(yīng)結(jié)束請求--ACK=1;seq=v;ack=u+1 | ESBLISHED |
| FIN_WAIT2 | <--被動請求斷開連接--FIN=1;seq=w;ack=u+1 | CLOSE-WAIT |
| TIME-WAIT | ACK=1;ack=w+1;seq=u+1 | CLOSE |
| CLOSE |
一次完成的http請求
- 對域名進行DNS解析,獲取IP地址
- 根據(jù)IP進行三次握手建立TCP連接
- 通過連接發(fā)起http請求
- 服務(wù)響應(yīng)http請求,瀏覽器得到代碼
- 瀏覽器解析、加載代碼,展示ui
- 四次揮手斷開連接
Socket 編程
Socket套接字
TCP緩沖區(qū)
高可靠性,序列號和確認應(yīng)答提高可靠性
滑動窗口控制發(fā)送接收大小
短連接、長連接