day27 網(wǎng)絡(luò)基礎(chǔ) (day 27)

因特網(wǎng)層協(xié)議

TCP和UDP的概念說明
TCP:(Transmission Control Protocol)傳輸控制協(xié)議,是一種面向連接的,可靠的的控制協(xié)議,TCP協(xié)議效率低,安全性高。(比如,在qq上發(fā)送文件,發(fā)送在線文件就是運(yùn)用了tcp協(xié)議,在送離線文件就是運(yùn)用了UDP協(xié)議。)
UDP:User Datagram Protocol 用戶數(shù)據(jù)報(bào)協(xié)議,是一種面向無連接的,不可靠的傳輸控制協(xié)議,UDP協(xié)議效率更高,安全性欠佳。

tcp三次握手
三次握手的原理

三次握手示意圖:



image.png

三次握手的原理:
Syn:請求序列號(hào),0為無效 1為有效
Ack:確認(rèn)請求序列號(hào) 0為無效 1為有效
第一次握手:主機(jī)A作為客戶端向主機(jī)B服務(wù)端發(fā)送請求連接,此時(shí)seq=0,syn=1
第二次握手:主機(jī)B向主機(jī)A發(fā)送確認(rèn)信息,說“我收到了”!,seq=0,ack=1
第三次握手:主機(jī)A向主機(jī)B再次發(fā)送確認(rèn)信息,確認(rèn)主機(jī)B已經(jīng)收到,此時(shí)seq=1 ack=1
Tcp 三次握手進(jìn)行的狀態(tài)


  • 三次握手所設(shè)及到的5種狀態(tài)
    第一次握手:主機(jī)A和主機(jī)B一同處于關(guān)閉狀態(tài),但是主機(jī)B作為服務(wù)端不會(huì)一直保持關(guān)閉狀態(tài),會(huì)打開一個(gè)socket進(jìn)行監(jiān)聽從closed變?yōu)閘isten監(jiān)聽狀態(tài)。主機(jī)A向主機(jī)B發(fā)送請求連接的信息。主機(jī)A這時(shí)處于syn_sent狀態(tài),表示請求建立連接。
    第二次握手:主機(jī)B收到主機(jī)A 的請求連接信息之后,會(huì)發(fā)送一個(gè)ack和syn的tcp報(bào)文給主機(jī)A,此時(shí)主機(jī)B的狀態(tài)為syn_rcvd狀態(tài),表示在收到和發(fā)送的請求連接后,請求等待對連接請求的確認(rèn)。
    第三次握手:主機(jī)A向主機(jī)B發(fā)送確認(rèn)信息,表示說明主機(jī)A 已經(jīng)收到主機(jī)B的確認(rèn)消息了,雙方建立連接
  • 三次握手常見的問題
    (1) 為什么是三次握手,而不是兩次握手?
    采用三次握手是為了防止失效的連接請求報(bào)文段突然又傳送到主機(jī)B,因而產(chǎn)生錯(cuò)誤。失效的連接請求報(bào)文段是指:主機(jī)A發(fā)出的連接請求沒有收到主機(jī)B的確認(rèn),于是經(jīng)過一段時(shí)間后,主機(jī)A又重新向主機(jī)B發(fā)送連接請求,且建立成功,順序完成數(shù)據(jù)傳輸??紤]這樣一種特殊情況,主機(jī)A第一次發(fā)送的連接請求并沒有丟失,而是因?yàn)榫W(wǎng)絡(luò)節(jié)點(diǎn)導(dǎo)致延遲達(dá)到主機(jī)B,主機(jī)B以為是主機(jī)A又發(fā)起的新連接,于是主機(jī)B同意連接,并向主機(jī)A發(fā)回確認(rèn),但是此時(shí)主機(jī)A根本不會(huì)理會(huì),主機(jī)B就一直在等待主機(jī)A發(fā)送數(shù)據(jù),導(dǎo)致主機(jī)B的資源浪費(fèi)。
tcp四次揮手的原理

Tcp四次揮手原理圖示


image.png

Tcp四次揮手原理說明:
第一次揮手:主機(jī)A和主機(jī)B 發(fā)送斷開請求,此時(shí)fin=1,ack=1
第二次揮手:主機(jī)B向主機(jī)A發(fā)送接收到確認(rèn)請求,ack=1
第三次揮手:主機(jī)B向主機(jī)A 發(fā)送結(jié)束連接的請求和確認(rèn)數(shù)據(jù)已經(jīng)全部接收,fin=1,ack=1
第四次揮手:主機(jī)A向主機(jī)B發(fā)送ack確認(rèn)信息,表示回復(fù)主機(jī)B的確認(rèn)而確認(rèn) ack=1
tcp四次揮手所設(shè)及到的狀態(tài):


image.png
  • 原理詳細(xì)說明:
    第一次揮手:主機(jī)A和主機(jī)B共同處于established狀態(tài),主機(jī)A向主機(jī)B發(fā)送斷開連接的信息,此時(shí)主機(jī)A進(jìn)入fin_wait1狀態(tài),等待遠(yuǎn)程tcp的連接中斷請求。
    第二次揮手:主機(jī)B接收到主機(jī)A的請求之后,并發(fā)送主機(jī)Atcp報(bào)文信息,此時(shí)主機(jī)B為close_wait狀態(tài) (被動(dòng)端接收到fin后,就會(huì)發(fā)出ack回應(yīng)。)
    第三次揮手:主機(jī)A 收到主機(jī)B的確認(rèn)信息,并進(jìn)入fin_wait2狀態(tài),主機(jī)B向主機(jī)A 發(fā)送結(jié)束中斷的請求信息,和接收數(shù)據(jù)完成之后的確認(rèn)信息。
    第四次揮手:主機(jī)A 收到主機(jī)B的fin和ack信息之后,會(huì)向主機(jī)B發(fā)送tcp報(bào)文再次確認(rèn)信息,雙方連接結(jié)束。
tcp連接的11種狀態(tài)
image.png
網(wǎng)絡(luò)重要協(xié)議原理

DNS原理:
ip地址和域名的對應(yīng)關(guān)系;
解析過程:
本地查詢;
遞歸查詢;
迭代查詢;
頂級(jí)域名服務(wù)器:
.com .cn .gov .edu .net等等
ARP協(xié)議
原理:建立ip和mac地址的對應(yīng)關(guān)系;
說明:發(fā)送arp請求和回復(fù)信息獲取訪問主機(jī)的MAC地址;
構(gòu)建ARP表,構(gòu)建IP-MAC記錄信息;
實(shí)現(xiàn)減少廣播包的產(chǎn)生;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容