網絡的7層協議
光纖 以太網 :
物理層
數據鏈路層
ipv4 ipv6 ipsce:
網絡層
tcp udp等:
傳輸層
http ssh pop smtp等:以下三層可統稱為應用層
會話層
表示層
應用層
tcp:可靠性傳輸,需建立連接,三次握手建立連接,四次揮手斷開鏈接。
三次握手:雙方發送三次報文,為了可靠性傳輸,三次握手的過程即是通信雙方互相告知對方起始值,并確認對方已經收到起始值的必經過程。如果是兩次握手,那只有發起的一方才能完全確認對方已經收到起始值。
tcp是全雙工模式
其實tcp協議就是 通信雙方都得確認收到對方的應答確認才算連接真正建立。
好比,兩個人打電話
A:你好,在嗎
B:我在,你好,你也在嗎?
A:我也在。
站在B的角度講, 只有 B也收到A說他也在,這時候才算真正意義的通信連接成功。所以就是三次握手
四次揮手:
四次揮手即終止TCP連接,就是指斷開一個TCP連接時,需要客戶端和服務端總共發送4個包以確認連接的斷開。在socket編程中,這一過程由客戶端或服務端任一方執行close來觸發。
由于TCP連接是全雙工的,因此,每個方向都必須要單獨進行關閉,這一原則是當一方完成數據發送任務后,發送一個FIN來終止這一方向的連接,收到一個FIN只是意味著這一方向上沒有數據流動了,即不會再收到數據了,但是在這個TCP連接上仍然能夠發送數據,直到這一方向也發送了FIN。首先進行關閉的一方將執行主動關閉,而另一方則執行被動關閉。
因為通信雙方都正在互相給對方傳輸數據,所以 發起斷開請求,確認可斷開,通信雙方都得這么確認之后,才算整個tcp連接斷開。共四次,就叫四次揮手。
當客戶端發送數據完畢:
1.客戶端請求斷開鏈接
2.針對客戶的的斷開請求,服務端給予應答
當服務端也發生數據完畢:
3.服務端請求斷開鏈接
4.針對服務端的斷開請求,客戶端給予應答
udp:
udp是無連接的,發送數據之前不需要建立連接,udp 具有較好的實時性,工作效率高。適用于對高速傳輸,實時性有較高要去的通信或廣播。