計算機網路stage2

2021-10-21 13:54:04 字數 1380 閱讀 2485

繼計算機網路stage1

socket 庫向協議棧發出委託的一系列操作

所以只要通過描述符確定了相應的套接字,協議棧就能夠獲取所有的相關資訊,這樣一來,應用程式就不需要每次都告訴協議棧應該和誰進行通訊了。

作業系統中有乙個「記憶體管理」模組

連線實際上是通訊雙方交換控制資訊,在套接字中記錄這些必要資訊並準備資料收發的一連串操作

論何種作業系統的協議棧都是共通的

tcp 模組會與該 ip 位址對應的物件,也就是與伺服器的 tcp 模組交換控制信

當 tcp 頭部建立好之後,接下來 tcp 模組會將資訊傳遞給 ip 模組並委託它進行傳送

建立連線之後,協議棧的連線操作就結束了

對應英文的 connection。也有人把連線稱為「會話」(session)

協議棧會根據乙個叫作 mtu [①] 的引數來進行判斷。mtu 表示乙個網路包的最大長度,在乙太網中一般是 1500 位元組

mss:除去頭部之後,乙個網路包所能容納的 tcp 資料的最大長度。

為此,協議棧的內部有乙個計時器,當經過一定時間之後,就會把網路包傳送出去

|判斷要素就是這兩個,但它們其實是互相矛盾的。如果長度優先,那麼網路的效率會提高,但可能會因為等待填滿緩衝區而產生延遲;相反地,如果時間優先,那麼延遲時間會變少,但又會降低網路的效率。

傳送緩衝區中的資料會被以 mss 長度為單位進行拆分

通過這些資訊,接收方還能夠檢查收到的網路包有沒有遺漏。例如,假設上次接收到第 1460 位元組,那麼接下來如果收到序號為 1461 的包,說明中間沒有遺漏

「到第 ×× 位元組之前的資料我已經都收到了哦!」這個返回 ack 號的操作被稱為確認響應,通過這樣的方式,傳送方就能夠確認對方到底收到了多少資料。

tcp 採用這樣的方式確認對方是否收到了資料,在得到對方確認之前,傳送過的包都會儲存在傳送緩衝區中。如果對方沒有返回某些包對應的 ack 號,那麼就重新傳送這些包。

因此,網絡卡、集線器、路由器都沒有錯誤補償機制,一旦檢測到錯誤就直接丟棄相應的包

還需要將控制位中的 ack 比特設為 1,這代表 ack 號字段有效,接收方也就可以知道這個網路包是用來告知 ack 號的。

syn 是 synchronize(同步)的縮寫,意思是通過告知初始序號使通訊雙方保持步調一致

議棧會將接收到的資料複製到應用程式指定的記憶體位址中

計算機網路stage1

前面介紹的這個負責搬運數字資訊的機制,再加上瀏覽器和 web 伺服器這些網路應用程式,這兩部分就組成了網路。也就是說,這兩部分組合起來,就是網路的全貌 名詞 協議棧 網絡卡 集線器 快取伺服器 負載均衡器 先查出 web 伺服器的 ip 位址 查詢到 ip 位址之後,瀏覽器就可以將訊息委託給作業系統...

計算機網路 2

三次握手與四次揮手 1 三次握手 我要和你建立鏈結,你真的要和我建立鏈結麼,我真的要和你建立鏈結,成功 第一次握手 client將標誌位syn置為1,隨機產生乙個值seq j,並將該資料報傳送給server,client進入syn sent狀態,等待server確認。第二次握手 server收到資料...

計算機網路2

網路邊緣 除了客戶端和伺服器之間的請求,提供請求的服務。還有p2p方式,乙個點從另外幾個點都獲取服務,這些點之間即能擔當伺服器,又能擔當客戶端。好處在於不是所有客戶端都向乙個伺服器請求,那很慢,而且相互之間傳輸資源,快很多。迅雷 接入網 也就是家裡上網。之前有過的貓 modern 一開始是用 線上網...