日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP 学习 --- 2

發(fā)布時間:2024/1/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP 学习 --- 2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 上圖為tcp和udp協(xié)議格式

2 tcp有發(fā)送和接收緩沖區(qū),每次發(fā)送多少字節(jié)和讀取多少字節(jié),沒有固定量,根據(jù)mss,tcp自動進行分發(fā)報文。但是udp不同,每一個發(fā)送操作對應一個讀操作,否則會丟包。

3 序號值會被系統(tǒng)初始化為一個隨機值isn,那么在該方向上發(fā)送的消息的序號值時該tcp報文段數(shù)據(jù)部分第一個字節(jié)相對于整個字節(jié)流頭部的偏移量加上這個isn值,例如某個tcp報文段的數(shù)據(jù)是第1025-2048字節(jié),那么其序號值為isn+1025。確認號為序列號+1

4 URG標志位表示緊急指針是否有效。ACK標志位表示確認號是否有效。PSH標志位表示接收端應用程序應立即從TCP緩沖區(qū)中讀走數(shù)據(jù)(一般來說,每一次 write,都會將這一次的數(shù)據(jù)打包成一個或多個 TCP 報文段(如果數(shù)據(jù)量大于 MSS 的話,就會被打包成多個 TCP 段),并將最后一個 TCP 報文段標記為 PSH)表示一個完整的消息包結(jié)束。只要接收方的緩沖區(qū)沒有滿,就會一直等待,直到接收到一個帶有PSH標志的報文,read才回返回。RST標志表示要求對方重新建立連接。SYN標志表示請求建立一個連接。FIN標志表示通知對方本端即將關(guān)閉。

5 如果A端向B端發(fā)送SYN,當時沒有收到B端回復,A端會發(fā)送6個序號一致的同步報文段,其間隔為1S、2s、4s、8s、16s、32s。指數(shù)增長。

6?

7 tcp出現(xiàn)連接時的四次握手狀況:

當TCP連接雙方幾乎同時向?qū)Ψ桨l(fā)送SYN同步報文段請求連接,隨后進入到SYN_SEND狀態(tài)。接到對方的SYN后進入SYN_RCVD狀態(tài)各自返回一個ACK。雙方收到對方的ACK進入ESTABLISHED。同時打開的時候沒有服務器和客戶端的概念,并且一共會發(fā)送4個報文段,而不是正常三次握手中的3個

8?當客戶端發(fā)送ACK給服務器端后要進入2MSL的TIME_WAIT時間,MSL是報文段最大生存時間,RFC1122中定義這個時間一般為2min。等待這端時間的目的是防止由于網(wǎng)絡原因服務器端未收到這個ACK回復,重傳了上一個FIN報文段,如果不進入TIME_WAIT狀態(tài)則服務器端一旦接收不到ACK,就會維持連接,消耗內(nèi)核資源。所以在實際編程過程中,我們會經(jīng)常發(fā)現(xiàn)多次測試重復綁定socket的時候會出現(xiàn)端口被占用的錯誤,這就是端口仍處于TIME_WAIT狀態(tài)不能被使用,可用socket選項SO_REUSEADDR來強制立即使用端口。

9?TCP發(fā)送攜帶RST標志的復位報文段以通知對方關(guān)閉連接或重新建立連接。一般有三種情況:1)訪問不存在的端口,這點在上面的①中已經(jīng)說明;2)異常中止連接,當一方向另一方發(fā)送復位報文段時,發(fā)送端所有排隊等待發(fā)送的數(shù)據(jù)皆被丟棄,在編程過程中,可以使用socket選項的SO_LINGER來發(fā)送復位報文段以異常終止一個連接;3)處理半打開連接,當通信雙方建立連接后,若其中一方網(wǎng)絡斷線,而另一方此時并不知情,此時斷線方網(wǎng)絡重連,沒有了該連接的信息,即處于了半打開狀態(tài),另一方繼續(xù)向?qū)Ψ桨l(fā)送數(shù)據(jù),此時由于對面連接已經(jīng)被關(guān)閉,所以對方會返回一個復位報文段以重新連接。

10 發(fā)現(xiàn)網(wǎng)絡擁塞的依據(jù):1、傳輸超時 2、收到兩個重復的確認報文段。

轉(zhuǎn)載于:https://www.cnblogs.com/zanyouxin/p/9203842.html

總結(jié)

以上是生活随笔為你收集整理的TCP/IP 学习 --- 2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。