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