IP協(xié)議對數(shù)據(jù)報的操作
在IP協(xié)議中,我們常要用了解的就是它和數(shù)據(jù)報的聯(lián)系。那么在它的格式,也就是對物理幀結(jié)構(gòu)進(jìn)行傳輸和封裝的時候,所進(jìn)行的操作和原理我們在這里為大家介紹一下。首先對這個原理的分段和重組來介紹一下。
IP協(xié)議數(shù)據(jù)報的分段與重組
IP數(shù)據(jù)報是通過封裝為物理幀來傳輸?shù)?。由于因特網(wǎng)是通過各種不同物理網(wǎng)絡(luò)技術(shù)互連起來的,在因特網(wǎng)的不同部分,物理幀的大小(***傳輸單元MTU)可能各不相同。為了***程度的利用物理網(wǎng)絡(luò)的能力,IP模塊以所在的物理網(wǎng)絡(luò)的MTU做為依據(jù),來確定IP數(shù)據(jù)報的大小。當(dāng)IP數(shù)據(jù)報在兩個不同MTU的網(wǎng)絡(luò)之間傳輸時,就可能出現(xiàn)IP數(shù)據(jù)報的分段與重組操作。
在IP頭中控制分段和重組的IP頭域有三個:標(biāo)識域、標(biāo)志域、分段偏移域。標(biāo)識是源主機(jī)賦予IP數(shù)據(jù)報的標(biāo)識符。目的主機(jī)根據(jù)標(biāo)識域來判斷收到的IP數(shù)據(jù)報分段屬于哪一個數(shù)據(jù)報,以進(jìn)行IP數(shù)據(jù)報重組。標(biāo)志域中的DF位標(biāo)識該IP數(shù)據(jù)報是否允許分段。當(dāng)需要對IP數(shù)據(jù)報進(jìn)行分段時,如果DF位置1,網(wǎng)關(guān)將會拋棄該IP數(shù)據(jù)報,并向源主機(jī)發(fā)送出錯信息。標(biāo)志域中的MF位標(biāo)識該IP數(shù)據(jù)報分段是否是***一個分段。分段偏移域記錄了該IP數(shù)據(jù)報分段在原IP數(shù)據(jù)報中的偏移量。偏移量是8字節(jié)的整數(shù)倍。分段偏移域被用來確定該IP數(shù)據(jù)報分段在IP數(shù)據(jù)報重組時的順序。
IP數(shù)據(jù)報在被傳輸過程中,一旦被分段,各段就作為獨(dú)立的IP數(shù)據(jù)報進(jìn)行傳輸,在到達(dá)目的主機(jī)之前有可能會被再次或多次分段。但是IP數(shù)據(jù)報分段的重組都只在目的主機(jī)進(jìn)行。
IP協(xié)議對輸入數(shù)據(jù)報的處理
IP對輸入數(shù)據(jù)報的處理分為兩種,一種是主機(jī)對數(shù)據(jù)報的處理,一種是網(wǎng)關(guān)對數(shù)據(jù)報的處理。
當(dāng)IP數(shù)據(jù)報到達(dá)主機(jī)時,如果IP數(shù)據(jù)報的目的地址與主機(jī)地址匹配,IP接收該數(shù)據(jù)報并將它傳給高級協(xié)議軟件處理;否則拋棄該IP數(shù)據(jù)報。
網(wǎng)關(guān)則不同,當(dāng)IP數(shù)據(jù)報到達(dá)網(wǎng)關(guān)IP層后,網(wǎng)關(guān)首先判斷本機(jī)是否是數(shù)據(jù)報到達(dá)的目的主機(jī)。如果是,網(wǎng)關(guān)將接收到的IP數(shù)據(jù)報上傳給高級協(xié)議軟件處理。如果不是,網(wǎng)關(guān)將對接收到的IP數(shù)據(jù)報進(jìn)行尋徑,并隨后將其轉(zhuǎn)發(fā)出去。
IP協(xié)議對輸出數(shù)據(jù)報的處理
IP對輸出數(shù)據(jù)報的處理也分為兩種,一種是主機(jī)對數(shù)據(jù)報的處理,一種是網(wǎng)關(guān)對數(shù)據(jù)報的處理。
對于網(wǎng)關(guān)來說,IP接收到IP數(shù)據(jù)報后,經(jīng)過尋徑,找到該IP數(shù)據(jù)報的傳輸路徑。該路徑實際上是全路徑中的下一個網(wǎng)關(guān)的IP地址。然后,該網(wǎng)關(guān)將該IP數(shù)據(jù)報和尋徑到的下一個網(wǎng)關(guān)的地址交給網(wǎng)絡(luò)接口軟件。網(wǎng)絡(luò)接口軟件收到IP數(shù)據(jù)報和下一個網(wǎng)關(guān)地址后,首先調(diào)用ARP完成下一個網(wǎng)關(guān)IP地址到物理地址的映射,然后將IP數(shù)據(jù)報封裝成幀,***由子網(wǎng)完成數(shù)據(jù)報的物理傳輸。