一----IP簡介
1---IP地址簡介:Internet Protocol Address-IP網(wǎng)際協(xié)議地址,常讀寫為IP,有IPV4,IPV6(現(xiàn)在的主流依然是IP v4)
所有的IP地址都由國際組織NIC(Network Information Center)負(fù)責(zé)統(tǒng)一分配,目前全世界共有三個這樣的網(wǎng)絡(luò)信息中心。
2---IP地址的組成:
(1)---長度:32bit(也說32位,4字節(jié)=4B=32b),一共有2^32個IPV-4地址,
(2)---寫法:“4組點分十進(jìn)制樹”--意思將一個32位的IP地址分為4段,每段由2進(jìn)制轉(zhuǎn)換為10進(jìn)制的樹來進(jìn)行表示,每段數(shù)字范圍為0-255
(3)---組成:一個IP地址由網(wǎng)絡(luò)號和主機號組成。
a:網(wǎng)絡(luò)號:同一網(wǎng)段內(nèi)的IP地址的我網(wǎng)絡(luò)號是相同的,通過網(wǎng)絡(luò)號來區(qū)分主機之間是不是在邏輯上屬于同一網(wǎng)絡(luò)。
b:主機號:同一網(wǎng)段內(nèi)主機部分不同時重復(fù)出現(xiàn),通過主機部分來標(biāo)識車主本主機在這個網(wǎng)絡(luò)內(nèi)的位置。
二-----IP報頭詳解
IP報頭大小為固定20字節(jié)(20B*8=160bit),總共由12部分組成。
1- -version---------版本(占4b,指IP協(xié)議的版本)。
2- -Header Length---頭部長度。(頭部長度是指IP報頭的總長度,因為有Option可選部分,通常為20字節(jié),在20--60字節(jié))。
該字段單位為32位字(1個32位字為4字節(jié)),因此當(dāng)ip報頭長度為1111時是最大60字節(jié);
IP報頭長度不是4字節(jié)的整數(shù)倍是,就需要對填充域進(jìn)行填充;
常用IP報頭長度為20字節(jié)---顯示為1010。
3-----Differentiated Services Field(type of service)(占8b)--TOS,服務(wù)類型。用來指定特殊的報文處理方式,又劃分為IP precedenc和D/T/R和reserve保留字段,RFC2474的tos取消了ip precedence字段而使用了DSCP,給QoS用來打標(biāo)簽。
一般情況下不使用這個字段。
4--Total Length----總長度(占16b)
標(biāo)示此IP報頭和數(shù)據(jù)的之和的總長度。
總長度16位,一個數(shù)據(jù)最大長度65535字節(jié);
鏈路只允許1500字節(jié),超過的話需要進(jìn)行MTU分片。
一個數(shù)據(jù)包由IP報頭和數(shù)據(jù)兩部分組成,而IP報頭為20---60字節(jié),所以不會有一個數(shù)據(jù)包里純數(shù)據(jù)超過1480字節(jié)的。
5- -Identification----ID標(biāo)識符(占16b)
與標(biāo)記字段和偏移字段用于IP報文分片。
原始報文大小超過MTU(<1480B)就必須將原始數(shù)據(jù)進(jìn)行分片,每個分片小于MTU
對同一原始文件被分片的報文打上相同的標(biāo)記,也用來判斷流量是否來于同一主機。
IP軟件在存儲器中維持一個計數(shù)器沒生產(chǎn)一個數(shù)據(jù)包,計數(shù)器就加1,并賦予標(biāo)識字段。
數(shù)據(jù)報文進(jìn)行分片處理后每個分片的標(biāo)識值都與原數(shù)據(jù)包的標(biāo)識值相同,接收端具有同標(biāo)識值的分片就能最終正確重組為原數(shù)據(jù)。
Idertification(標(biāo)識字段):
源站沒發(fā)送一個分組,標(biāo)識值+1
(源IP地址,標(biāo)識)------>全網(wǎng)唯一的分組標(biāo)識。
6- -Flag----標(biāo)記(占3b)
占3位,目前只有2位具有意義;
第一位沒有被使用
第二位D時不分片為(DF),當(dāng)DF位置為1時表示路由器不能對報文進(jìn)行分片處理。
第三位M--More fragment---多分片(MF)
當(dāng)路由器對報文進(jìn)行分片時,除了最后一個分片的MF位設(shè)置為0外,其他所有分片MF位置為1,以便接收者直到收到MF位為0的分片為止。
7- -Fragmentation offset----分片偏移(13b)
標(biāo)識分片在分組中的位置。
片偏移以8個字節(jié)為偏移單位,分片的長度為8字節(jié)的整數(shù)倍;
以太網(wǎng)最大幀長為1518B,IP報文1500B(三層)+幀頭18B(二層)。
注意:
MTU不是固定1500,這要取決現(xiàn)場物理環(huán)境;
MTU不包含幀頭幀尾。
8- -Time to live--TTL----生存時間(8b)
跳數(shù)大小,即數(shù)據(jù)包能傳多少跳,
不同操作系統(tǒng)TTL的默認(rèn)最大值會有所不同(linux-255;win98--225;win7/8/10--64);
表示數(shù)據(jù)包在網(wǎng)絡(luò)中的壽命(最初以秒為單位,現(xiàn)在以跳數(shù)為單位,最大225);
分組壽命,防止路由成環(huán)時IP數(shù)據(jù)被無限轉(zhuǎn)發(fā);
源和目的路由器之間的路由數(shù)量(跳數(shù));
路由設(shè)備每此轉(zhuǎn)發(fā)將TTL值減1,TTL為0時丟棄該分組。
9- -Protocol----協(xié)議(8b)
標(biāo)識數(shù)據(jù)攜帶的數(shù)據(jù)是何種協(xié)議,標(biāo)識傳輸層地址或協(xié)議號
如1代表ICMP,6代表TCP,17代表UDP
10- -Header checksum----報頭校驗和(16b)
用于校驗檢查IP報頭是否有出入。
只校驗IP報頭部,數(shù)據(jù)部分由高層協(xié)議校驗(TCP頭的校驗字段包含IP頭和數(shù)據(jù)的校驗)
無需重復(fù)校驗數(shù)據(jù)部分;
縮短路由器轉(zhuǎn)發(fā)分組時的處理時間,數(shù)據(jù)部分由終端用高層協(xié)議校驗。
1- 發(fā)送方先把校驗和字段置為0,對首部中沒個16bit(切割多個16b)進(jìn)行二進(jìn)制反碼求和,結(jié)果存在校驗和字段中。
2- 收到一份IP數(shù)據(jù)包后同樣對首部中每個16b進(jìn)行二進(jìn)制碼反求和,接收方計算中包含了發(fā)送方存在的首部校驗和。
3- 如果傳輸過程無錯誤,接收方結(jié)算結(jié)果全為1,傳輸中出現(xiàn)錯誤或數(shù)據(jù)丟失校驗和結(jié)果為非全1,接受者第丟棄校驗未通過數(shù)據(jù)。
4- 不生成錯誤報文,由上層發(fā)現(xiàn)丟失數(shù)據(jù)進(jìn)行重傳。
11- -source ip address----源IP地址(32b)
此數(shù)據(jù)發(fā)起者的IP地址。
12- -Destination ip address----目的IP地址(32b)
此數(shù)據(jù)的接收者IP地址。
13- -Option----可選字段(0--40B)
Option字段很少使用,用于控制,轉(zhuǎn)發(fā)要求,測試等。