傳輸層會把由應用層來的數據分段,進行TCP或UDP的封裝,以便數據在網絡上傳輸。
TCP協議分段的大小由實際的TCP軟件決定,既可以把幾次寫入的少量數據合并在一個TCP段中,也可以將一次寫入的大量數據分割成幾個部分,并封裝在幾個TCP分段中。TCP分段的大小有兩個決定條件:一是IP的負載能力,TCP段的大小(包括TCP段頭)不能超過65535字節,二是網絡的較大傳輸單元(MTU),實際環境中,MTU一般較大是幾千字節,根據網絡連接介質(簡單說就是各種規格的網絡連線)類型的不同,MTU的大小也不同。在這兩個條件中,其實最重要的還是MTU的大小,畢竟數據要通過網絡連接介質進行傳輸,MTU實際上決定了TCP段的大小的上限。在TCP分段中,實際的數據可以有也可以沒有,也就是說,只發送一個段頭也可以通過網絡傳遞到目的端,TCP實體會將它視為一個普通的TCP段進行傳輸。實際互聯網絡環境非常復雜,一個數據包在傳輸過程中可能會經過幾個不同的網絡。如果在經過前幾個網絡時,該數據包可以順利地通過(沒有被分解),在到達某一個網絡時,由于該數據包的MTU大于該網絡所規定的MTU上限,它就會被處于網絡邊界的路由器自動拆解,形成幾個適合在該網絡中傳送的新MTU。這些新MTU包含更多的IP包頭和TCP段頭(這些頭是原IP包頭和TCP段頭的復制品)。在原有基礎上這些操作無形中增加了經過網絡的數據量(比原來更多的IP包頭和TCP段頭),同時也增加了系統的總開銷。近年來,嵌入式系統的廣泛應用已經深刻改變了我們的生活方式。從智能手機到智能家居,從汽車到醫療設備,嵌入式技術已經成為現代社會不可或缺的...詳情>>
2023-12-12 11:02:35在當今的科技世界中,嵌入式系統已經滲透到我們生活的方方面面,從智能手機、電視、汽車到醫療設備等。而在這些設備中,Linux網絡編程扮演著至...詳情>>
2023-12-12 09:55:55在數字化世界中,游戲已經成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進步,游戲開發行業也在不斷發展,而Java作為一門廣泛使用的編程語...詳情>>
2023-12-12 08:49:15在數字化的時代,網頁設計已經成為了一個重要的領域。而在這個領域中,HTML(HyperTextMarkupLanguage)無疑是最基礎、最重要的一環。它是構建...詳情>>
2023-12-12 08:15:55嵌入式系統開發中,內存分配是一個至關重要的話題。嵌入式系統通常具有有限的內存資源,因此合理的內存分配方式對系統的性能和穩定性至關重要。...詳情>>
2023-12-12 06:35:55