我想了解HTTP請求在主機與服務器之間通過的數據包和硬件的過程。客戶端到服務器的HTTP請求。 TCP/IP堆棧之旅
首先,將HTTP數據放入TCP數據包(第4層)。然後將這個數據包壓縮成IP數據包(第3層),由NIC(第2層)構成並通過物理介質(電纜,光纖等)傳輸(第1層)到最近的路由器。
問題1.是否NIC(一個連接到客戶端的局域網中,由於路由器具有兩個NIC)在路由器重構幀並將該有效載荷(所以IP包)到路由器的處理器?這似乎是合乎邏輯的,但我無法在網上找到明確表示的地方。
路由器然後有一個IP包,並根據其路由表通過另一個NIC將其轉發,該NIC將其再次構築並傳輸它。
一跳,服務器的NIC最終收到&重建幀並將它們傳遞給...(請參閱問題2)...,它解開TCP包並以某種方式讀取HTTP信息並且該操作使用所給出的參數來執行。
問題2:內核?它是否負責在計算機內部進行IP打包/解包?
問題3:如何負責TCP和「理解」計算機中的HTTP?它是什麼部分的操作系統?我猜這個也是負責理解HTTP的。
我知道還有很多更多細節,但總體問題太長了。我也很高興看到有關鏈接深入到這個問題。
感謝您的回答EJP。對於「重構」,我的意思是NIC只接收離散信號,並通過使用標誌字節(加上位填充)來分離不同的幀,以知道標題和預告片開始/結束的位置,從而區分一幀和另一幀。 –
這是由'接收'一詞充分描述。你用同樣的東西用兩個詞。 – EJP
我明白'接收',因爲NIC識別有信號。這並不意味着NIC能夠重建幀,因爲真正損壞的信號可能不會被正確識別。你怎麼看?這兩個程序有不同的符號嗎? –