一、IP fragment是什么
在計算機網(wǎng)絡中,當數(shù)據(jù)包過大以致無法通過網(wǎng)絡進行傳輸時,將這個數(shù)據(jù)包分解成小部分進行傳輸?shù)倪^程就被稱為IP分片(IP Fragmentation)。IP分片是網(wǎng)絡協(xié)議族TCP/IP的核心組成部分之一,它在IP層實現(xiàn),使得網(wǎng)絡設備能夠處理和傳輸比其最大傳輸單元(MTU)大的數(shù)據(jù)包。
二、IP分片的主要步驟
數(shù)據(jù)包的分片:發(fā)送設備首先將大的數(shù)據(jù)包分解成小的分片,以滿足網(wǎng)絡的MTU要求。每個分片都包含了原始數(shù)據(jù)包的一部分內(nèi)容。分片的傳輸:每個分片都被單獨發(fā)送到接收設備,可能會通過不同的路徑。分片的重組:接收設備收到所有分片后,會根據(jù)每個分片的偏移量將它們重新組合成原始的數(shù)據(jù)包。然而,IP分片也存在一些問題。如,由于分片可能通過不同的路徑傳輸,因此它們可能會在不同的時間到達接收設備,或者甚至可能根本不到達。此外,由于網(wǎng)絡設備需要維護分片的狀態(tài),所以分片可能會消耗大量的網(wǎng)絡資源。因此,一些新的協(xié)議,如IPv6,已經(jīng)開始尋找替代IP分片的方法。
延伸閱讀
IPv6與IP分片:一種新的處理大數(shù)據(jù)包的方法
在IPv4中,IP分片由發(fā)送設備完成,而在IPv6中,這個過程發(fā)生了改變。在IPv6中,發(fā)送設備必須先通過路徑MTU發(fā)現(xiàn)(Path MTU Discovery)過程來確定數(shù)據(jù)包的最大大小,然后再發(fā)送數(shù)據(jù)包。
在路徑MTU發(fā)現(xiàn)過程中,發(fā)送設備會嘗試發(fā)送一個大的數(shù)據(jù)包。如果這個數(shù)據(jù)包過大,網(wǎng)絡設備會返回一個“需要進行分片但不允許分片”的ICMP錯誤消息。接收到此消息的發(fā)送設備會減小數(shù)據(jù)包大小,并再次嘗試發(fā)送,直到找到可以成功發(fā)送的最大數(shù)據(jù)包大小。
這種方法的主要優(yōu)點是,它把IP分片的任務從網(wǎng)絡設備轉(zhuǎn)移到了發(fā)送設備,從而降低了網(wǎng)絡設備的負載。同時,由于發(fā)送設備知道數(shù)據(jù)包的最大大小,因此可以避免數(shù)據(jù)包的分片,從而提高了數(shù)據(jù)傳輸?shù)男省?/p>
然而,路徑MTU發(fā)現(xiàn)也存在一些問題。例如,它需要網(wǎng)絡設備返回ICMP錯誤消息,而這可能會被某些網(wǎng)絡設備或防火墻阻止。此外,路徑MTU發(fā)現(xiàn)的過程可能會延遲數(shù)據(jù)的傳輸。
盡管如此,IPv6的這種處理大數(shù)據(jù)包的方法仍然為我們提供了一種新的視角,讓我們了解如何在網(wǎng)絡中處理大的數(shù)據(jù)包。