可靠安全 -> 7層架構(gòu)
? ?數(shù)據(jù)鏈路層?
? ? ? ? ? ? ? ?解決兩個節(jié)點(diǎn)傳輸,最小傳輸單位,數(shù)據(jù)包肃弟,可以通過基礎(chǔ)驗(yàn)證檢查這個包是否安全和正確
? ? 網(wǎng)絡(luò)層?
? ? ? ? ? ? ? 為了解決數(shù)據(jù)在網(wǎng)絡(luò)上的傳遞竖瘾,加上了路由的概念,通過路由傳到指定的地址揩悄。為了標(biāo)記在網(wǎng)絡(luò)層上的地址,加上了IP協(xié)議
? ? 傳輸層?
? ? ? ? ? ? ?為了保證傳輸?shù)臄?shù)據(jù)包可靠鬼悠,增加了出錯重傳機(jī)制 TCP基于鏈接/UDP
? ? 應(yīng)用層?
? ? ? ? ? ? 為了解決這個數(shù)據(jù)是為哪個應(yīng)用服務(wù)的删性,SMTP/HTTP。焕窝。蹬挺。
網(wǎng)絡(luò)傳輸?shù)膯栴}
不可靠: 丟包,重復(fù)包它掂,出錯巴帮,亂序
不安全: 中間人攻擊,竊取虐秋,篡改
TCP怎么解決網(wǎng)絡(luò)不可靠問題
滑動窗口協(xié)議晰韵,TCP協(xié)議中使用,通過維持發(fā)送方/接收方緩沖區(qū)解決熟妓。如果沒有滑動窗口協(xié)議會一個一個傳遞導(dǎo)致吞吐量問題雪猪。滑動窗口協(xié)議起愈,有超時重傳機(jī)制和按順序發(fā)ACK只恨。圖片
Wireshark教程
有關(guān)TCP協(xié)議及滑動窗口常見的問題
TCP協(xié)議要達(dá)到的目的译仗?基于鏈接的一個協(xié)議,基于TCP協(xié)議達(dá)到一個可靠的傳輸官觅∽菥可靠傳輸是只,包是按序收到休涤,不出錯咱圆,流量控制(滑動窗口),擁塞控制
滑動窗口是怎么運(yùn)行的功氨?解決了什么問題序苏?
解決吞吐量問題,流量控制捷凄,保證收發(fā)順序一致
TCP協(xié)議如何做到流量控制忱详?如何做到擁塞控制?
TCP協(xié)議建立連接三次握手跺涤,斷開連接四次揮手
建立三次握手
1. CLIENT(SYS_SENT) -> SYN -> SERVER (LISTEN)
2. CLIENT(ESTABLSIHED) <- SYN,ACK <-?SERVER(SYS_RECEIVED)
3.? CLIENT(ESTABLSIHED) -> ACK -> SERVER(ESTABLSIHED)
C -> 數(shù)據(jù) -> S
四次揮手
1. SENDER (FIN_WAIT_1) -> FIN -> RECEIVER(ESTABISHED)
2. SENDER(FIN_WAIT_2) <- ACK <- RECEIVER(CLOSE_WAIT)
3. SENDER(TIME_WAIT) <- FIN<- RECEIVER(LAST_ACK)
4. SENDER(TIME_WAIT) -> ACK -> RECEIVER(CLOSED)
斷開連接為什么要四次揮手匈睁?
因?yàn)榻邮辗娇赡懿荒芰ⅠR進(jìn)行斷開,所以先發(fā)一個ACK確認(rèn)收到FIN請求桶错。只有在準(zhǔn)備好以后接收方才會發(fā)送一個FIN請求給接收方