烏鴉反哺:
《本草綱目·禽部》載:
「慈烏:此鳥初生,母哺六十日,長則反哺六十日。」
大意是說,小烏鴉長大之後,老烏鴉不能飛了,不能本身找食物了,
小烏鴉會反過來找食物餵養它的母親。
複製代碼
借用這個典故,我但願表達的意思是:當咱們和麪試官探討相關知識的時候,可以讓他從你這獲得更多的理解,從而達到反哺的效果。面試
但願這篇文章能給你帶來幫助。bash
計算機網絡中,五層協議的體系結構以下:服務器
運輸層是整個網絡體系結構中的關鍵層次之一。網絡
網絡層爲主機之間提供通信邏輯,而運輸層爲應用進程之間提供端到端的邏輯通訊。spa
運輸層服務於應用層。計算機網絡
運輸層一個很重要的功能就是複用和分用。code
運輸層至關於一個辦公室,應用層全部的應用進程均可以經過運輸層傳遞給網絡層(複用)。cdn
運輸層從網絡層接受到數據後,分別交付給指明的應用進程(分用)。blog
不一樣主機的不一樣進程使用協議端口號(protocol port number)識別對方。進程
UDP的一些特色:
總結就是:快狠準,我管你收沒收到。
UDP的報文首部只有4個字段:源端口、目的端口、報文長度和檢驗和。
TCP的一些特色:
TCP的全部特性都是爲了保證可靠性。
B接收M1時檢測出了差錯,就丟棄M1,或者是M1傳輸過程當中丟失。在這兩種狀況下,B都不會發送任何信息。
只要A超過了一段時間仍然沒有收到確認,就認爲剛纔發送的分組丟失了,由於重傳前面發送過的分組。這就叫超時重傳。
超時重傳實現的原理是每發送完一個分組時設置一個超時計時器。若是未超時就銷燬該計時器,不然重發分組。
下面這種確認遲到的狀況A什麼都不會作。
TCP的滑動窗口是以字節爲單位的。接收方會把本身的接收窗口數值放在窗口字段中發送給對方,已保證A的發送窗口不會大於B的接收窗口。
發送窗口前沿一般是不斷向前移動的,如下兩種狀況會致使發送窗口中止滑動:
TCP 創建鏈接的過程叫作過程,握手須要在客戶合服務器之間交換三個TCP報文段。
爲何須要三次?不能兩次?
如今有這麼一種狀況,A發送的第一個請求報文段M1在網絡中滯留,B未收到。A超時未收到確認,觸發超時重傳。
A再次發送請求報文段M2,這以後都是正常的,A與B創建鏈接完成數據傳輸而後斷開鏈接。
此時滯留在網絡中的請求報文段M1才傳送給B,若只須要兩次握手就創建鏈接,B將請求報文段發送給A後將創建鏈接。
A會將這個延遲的報文丟棄掉,不會創建鏈接。所以致使B的許多資源就這樣白白浪費了。
TCP斷開鏈接須要四次握手,是由於其全雙工的特性。即客戶端A與服務端B二者既能發送報文,也能接收報文。
值得注意的是,A在收到B的鏈接釋放報文段後,發出確認報文段。以後A並無直接關閉,而是進入TIME-WAIT(時間等待)狀態。
等待的時間是2MSL,MSL叫作最長報文段壽命(Maximum Segment Lifetime),RFC793建議設爲2分鐘。
若是A在2MSL沒收到B發送的重傳報文段,則表示B已收到A發送的關閉信號。2MSL是接收B的重傳報文的最長時間。
假設客戶段與服務器已創建了TCP鏈接,可是客戶端因爲異常掛掉。若服務器連續發送10個探測報文後,間隔通常爲75秒,客戶端都沒有迴應則關閉鏈接。
ps: 如想要《計算機網絡第7版》
的 可留言/