日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

引言

IP協(xié)議是TCP/IP協(xié)議族中最核心的協(xié)議,所有的TCP,UDP、ICMP以及IGMP等協(xié)議都以IP數(shù)據(jù)報(bào)的格式傳輸。IP協(xié)議提供最好的傳輸服務(wù),其提供無(wú)連接、不可靠的數(shù)據(jù)傳輸。或許這句話讀起來(lái)很矛盾,為什么說(shuō)是最好的傳輸服務(wù),但同時(shí)又是不可靠的呢。

最好的傳輸可以認(rèn)為IP協(xié)議會(huì)盡一切能力到達(dá)目的主機(jī),若中途發(fā)生錯(cuò)誤無(wú)法到達(dá)目的主機(jī),也會(huì)返回一個(gè)ICMP錯(cuò)誤報(bào)文。收到IP協(xié)議返回的錯(cuò)誤報(bào)文后,本機(jī)就知道報(bào)文沒(méi)有成功到達(dá)目的主機(jī)。而接下來(lái)的傳輸可靠性,即重傳,則不屬于IP協(xié)議的范疇,而是通過(guò)TCP協(xié)議(或者自己實(shí)現(xiàn)的應(yīng)用層協(xié)議)來(lái)保證。

不可靠是指即使傳輸過(guò)程中出現(xiàn)錯(cuò)誤,IP協(xié)議并不負(fù)責(zé)處理報(bào)文重傳的工作,而是交給上層協(xié)議。

無(wú)連接是指IP協(xié)議的首部中不保存維護(hù)任何關(guān)于后續(xù)數(shù)據(jù)報(bào)的相關(guān)狀態(tài)信息。

3.2.IP首部

IP數(shù)據(jù)報(bào)的格式如圖3-1:

TCP/IP協(xié)議——IP協(xié)議

3-1

版本:IP協(xié)議的版本號(hào),IPV4即為4

首部長(zhǎng)度:包含任意選項(xiàng),以32位字為單位的長(zhǎng)度。由于是一個(gè)4比特字段,可知IP首部最長(zhǎng)為16*4字節(jié),即64字節(jié)

服務(wù)類型:包括一個(gè)3 bit的優(yōu)先權(quán)子字段(現(xiàn)在已被忽略),4 bit的TOS子字段和1 bit未用位但必須置0。4 bit的TOS分別代表:最小時(shí)延、最大吞吐量、最高可靠性和最小費(fèi)用。4 bit中只能置其中1 bit。如果所有4 bit均為0,那么就意味著是一般服務(wù)。

總長(zhǎng)度:代表IP數(shù)據(jù)包的總長(zhǎng)(包括其后承載的協(xié)議首部與用戶數(shù)據(jù)),由于其有16bit,單位為字節(jié)數(shù),可知IP數(shù)據(jù)報(bào)的總長(zhǎng)度為65536字節(jié)。不過(guò)盡管IP首部允許其傳輸如此大的字節(jié)數(shù),以太網(wǎng)封裝的鏈路層也是不允許的,以太網(wǎng)封裝的鏈路層,最大允許承載的IP數(shù)據(jù)報(bào)長(zhǎng)度為1500字節(jié)。并且主機(jī)也要求不能接收超過(guò)576字節(jié)的數(shù)據(jù)報(bào)。該限制不會(huì)影響到TCP協(xié)議,因?yàn)門CP協(xié)議會(huì)主動(dòng)將數(shù)據(jù)包分段傳輸。

標(biāo)識(shí):唯一的標(biāo)識(shí)主機(jī)發(fā)送的每一份數(shù)據(jù)報(bào),通常每發(fā)送一份數(shù)據(jù)報(bào)就會(huì)加1,在IP分片中起到順序重組的作用。

標(biāo)志:標(biāo)志該報(bào)文類型,在IP分片中代表該報(bào)文是否是分片報(bào)文

片偏移:分片報(bào)文中指明偏移量

生存時(shí)間TTL:設(shè)置數(shù)據(jù)報(bào)可以經(jīng)過(guò)的路由跳數(shù),每經(jīng)過(guò)一個(gè)路由則減1,減到0仍為到達(dá)目的主機(jī)則丟棄該報(bào)文。可解決黑洞路由,報(bào)文一直占用帶寬的問(wèn)題。TTL最大值為255.

協(xié)議:即指明IP首部后承載的協(xié)議類型,如ICMP/IGMP/TCP/UDP等,前文曾提到該字段。

首部檢驗(yàn)和:僅包括IP數(shù)據(jù)報(bào)首部的檢驗(yàn)和,檢驗(yàn)和的計(jì)算不包含其承載的IGMP/ICMP等協(xié)議的報(bào)文內(nèi)容。檢驗(yàn)和可以檢驗(yàn)IP數(shù)據(jù)報(bào)在傳輸過(guò)程中,首部是否出現(xiàn)的錯(cuò)誤。RFC 1071包含了如何計(jì)算檢驗(yàn)和的方法,感興趣可以了解。

源IP地址:即前文所述的32位互聯(lián)網(wǎng)地址,代表報(bào)文的始發(fā)主機(jī)。

目的ip地址:代表報(bào)文的目的主機(jī)。

選項(xiàng):是一個(gè)任選項(xiàng),可以用作以下領(lǐng)域,但很少被使用。

  • 安全和處理限制(詳細(xì)內(nèi)容可參考RFC 1108)
  • 記錄路徑(即報(bào)文傳輸過(guò)程中,讓經(jīng)過(guò)的路由器記錄其地址)
  • 時(shí)間戳(即報(bào)文傳輸過(guò)程中,讓經(jīng)過(guò)的路由器記錄其時(shí)間與地址)
  • 寬松的源站選路(為數(shù)據(jù)報(bào)選定一系列必須經(jīng)過(guò)的IP地址)
  • 嚴(yán)格的源站選路(與寬松的源站選路類似,但是要求只能經(jīng)過(guò)指定的這些地址,不能經(jīng)過(guò)其他的地址)

很少被使用且并不是所有的主機(jī)與路由器都實(shí)現(xiàn)了這些選項(xiàng)。值得注意的是選項(xiàng)字段必須是32位的整數(shù)倍,因?yàn)槭撞块L(zhǎng)度是32bit的整數(shù)倍。若未達(dá)到32位的整數(shù)倍,可以用0填充。

3.3.IP路由選路

IP協(xié)議提供的最本質(zhì)的服務(wù)之一就是為報(bào)文提供選路功能。

IP層的路由功能存在兩種模式,一種是路由器模式,一種是主機(jī)模式。一般來(lái)說(shuō),主機(jī)是不作為路由器模式使用。

路由器模式與主機(jī)模式的本質(zhì)區(qū)別在于系統(tǒng)是否轉(zhuǎn)發(fā)從網(wǎng)絡(luò)口接收進(jìn)來(lái)的報(bào)文。若配置為主機(jī)模式,則對(duì)目的ip非本機(jī)的報(bào)文,系統(tǒng)做丟棄處理,而路由器則會(huì)去查找路由表(提供選路信息的轉(zhuǎn)發(fā)表),若查找到則將該報(bào)文從對(duì)應(yīng)的網(wǎng)絡(luò)接口轉(zhuǎn)發(fā)出去,轉(zhuǎn)發(fā)之前需要更改報(bào)文的源目mac地址,且TTL-1(如前文所述,為了防止黑洞路由占用帶寬),若TTL被減為0,則做丟棄處理不轉(zhuǎn)發(fā)。兩種模式對(duì)于目的ip屬于本機(jī)或者為廣播地址(廣播地址即前文所述的5類互聯(lián)網(wǎng)地址中主機(jī)號(hào)為全1的互聯(lián)網(wǎng)地址)的報(bào)文,數(shù)據(jù)報(bào)就被送到由I P首部協(xié)議字段所指定的協(xié)議模塊進(jìn)行處理。

包含選路信息的路由表中,一般都包含以下這些信息:

目的IP地址:可以是一個(gè)主機(jī)地址(即全掩碼的IP地址,主機(jī)號(hào)包含非0值,這種稱為主機(jī)路由),也可以是一個(gè)網(wǎng)絡(luò)地址(即非全掩碼的IP地址,主機(jī)號(hào)為全0,這種稱為網(wǎng)絡(luò)路由)

下一跳路由器的IP地址或直連IP的網(wǎng)絡(luò)地址:下一跳路由器的IP地址即報(bào)文需要轉(zhuǎn)發(fā)到的下一個(gè)網(wǎng)絡(luò)接口的IP地址(這個(gè)網(wǎng)絡(luò)接口與當(dāng)前的路由器直連);而直連IP的網(wǎng)絡(luò)地址會(huì)直接標(biāo)明該網(wǎng)段IP地址的路由出口,報(bào)文直接從該出口轉(zhuǎn)發(fā)(前提是該報(bào)文的目的IP必須存在,可通過(guò)ARP報(bào)文探測(cè)驗(yàn)證)。

標(biāo)志:指明路由的類型,例如路由是直連網(wǎng)絡(luò)地址還是真正的下一跳地址,路由時(shí)OSPF協(xié)議計(jì)算地址還是BGP協(xié)議學(xué)習(xí)地址等。

網(wǎng)絡(luò)接口:為數(shù)據(jù)報(bào)傳輸指定一個(gè)網(wǎng)絡(luò)接口。

IP路由選擇是逐跳地(hop-by-hop)進(jìn)行的。從這個(gè)路由表信息可以看出,IP并不知道到達(dá)任何目的的完整路徑(當(dāng)然,除了那些與主機(jī)直接相連的目的)。所有的I P路由選擇只為數(shù)據(jù)報(bào)傳輸提供下一站路由器的IP地址。它假定下一站路由器比發(fā)送數(shù)據(jù)報(bào)的主機(jī)更接近目的,而且下一站路由器與該主機(jī)是直接相連的。

IP路由選擇主要完成以下這些功能:

  1. 搜索路由表,尋找能與目的IP地址完全匹配的表目(網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)都要匹配)。如果找到,則把報(bào)文發(fā)送給該表目指定的下一站路由器或直接連接的網(wǎng)絡(luò)接口(取決于標(biāo)志字段的值)。
  2. 搜索路由表,尋找能與目的網(wǎng)絡(luò)號(hào)相匹配的表目。如果找到,則把報(bào)文發(fā)送給該表目指定的下一站路由器或直接連接的網(wǎng)絡(luò)接口(取決于標(biāo)志字段的值)。目的網(wǎng)絡(luò)上的所有主機(jī)都可以通過(guò)這個(gè)表目來(lái)處置。例如,一個(gè)以太網(wǎng)上的所有主機(jī)都是通過(guò)這種表目進(jìn)行尋徑的。這種搜索網(wǎng)絡(luò)的匹配方法必須考慮可能的子網(wǎng)掩碼。關(guān)于這一點(diǎn)我們?cè)谙乱还?jié)中進(jìn)行討論。
  3. 搜索路由表,尋找標(biāo)為“默認(rèn)(default)”的表目。如果找到,則把報(bào)文發(fā)送給該表目指定的下一站路由器。

如果上面這些步驟都沒(méi)有成功,那么該數(shù)據(jù)報(bào)就不能被傳送。如果不能傳送的數(shù)據(jù)報(bào)來(lái)自本機(jī),那么一般會(huì)向生成數(shù)據(jù)報(bào)的應(yīng)用程序返回一個(gè)“主機(jī)不可達(dá)”或“網(wǎng)絡(luò)不可達(dá)”(即IP協(xié)議附屬ICMP協(xié)議報(bào)文)的錯(cuò)誤。

圖3-2,是我在一個(gè)路由器查看路由表的結(jié)果:

TCP/IP協(xié)議——IP協(xié)議

3-2

S代表該路由時(shí)靜態(tài)配置,不是通過(guò)協(xié)議生成。重點(diǎn)關(guān)注標(biāo)注的三條路由,分別是主機(jī)路由、網(wǎng)絡(luò)路由和默認(rèn)路由。查表時(shí),優(yōu)先查找主機(jī)路由表,若能匹配中,則報(bào)文直接按照查表結(jié)果轉(zhuǎn)發(fā)。若無(wú)法匹配中,則繼續(xù)查找網(wǎng)絡(luò)路由表,若匹配中網(wǎng)絡(luò)路由則按照查表結(jié)果轉(zhuǎn)發(fā)。若仍無(wú)法匹配中,查找是否存在默認(rèn)路由,存在的話匹配默認(rèn)路由轉(zhuǎn)發(fā)。若所有的都無(wú)法匹配中,那么丟棄該報(bào)文。

舉個(gè)例子,一個(gè)目的IP是200.1.1.2的報(bào)文進(jìn)來(lái),那么直接命中主機(jī)路由表,報(bào)文直接按照查表結(jié)果,往下一跳網(wǎng)絡(luò)接口IP為192.168.3.1的路由器轉(zhuǎn)發(fā)。若進(jìn)來(lái)的報(bào)文目的IP為200.1.1.3,那么無(wú)法命中主機(jī)路由表,而命中了網(wǎng)絡(luò)路由表,那么就往下一跳網(wǎng)絡(luò)接口IP為192.168.4.1的路由器轉(zhuǎn)發(fā)。若進(jìn)來(lái)的報(bào)文目的IP為100.1.1.2,那么既不能命中主機(jī)路由表,也不能命中網(wǎng)絡(luò)路由表,只能命中默認(rèn)路由,那么就往下一跳網(wǎng)絡(luò)接口IP為101.0.0.1的路由器轉(zhuǎn)發(fā).

這里有人可能會(huì)疑問(wèn),明顯主機(jī)路由能更精確匹配,直接全部使用主機(jī)路由就完事了,為什么還需要網(wǎng)絡(luò)路由的存在。這里主要考慮的是資源容量問(wèn)題,硬件資源是有限的,一個(gè)路由表不可能無(wú)限大,能讓你容納那么多的主機(jī)路由。因此,網(wǎng)絡(luò)路由是很有必要的,網(wǎng)絡(luò)路由的存在大大縮減了對(duì)路由表容量的要求。

值得注意的是,在這個(gè)轉(zhuǎn)發(fā)過(guò)程中,報(bào)文中的目的IP地址始終都未修改(使用源路由選項(xiàng)時(shí)會(huì)修改,但這種情況很少出現(xiàn)),所有的路由決策都是通過(guò)這個(gè)目的IP來(lái)決策。

3.4.子網(wǎng)尋址與子網(wǎng)掩碼

現(xiàn)在所有的主機(jī)都要求支持子網(wǎng)尋址(RFC 950規(guī)定)。不再把一個(gè)互聯(lián)網(wǎng)IP地址單純的認(rèn)作由網(wǎng)絡(luò)號(hào)與主機(jī)號(hào)組成,而是將主機(jī)號(hào)再次進(jìn)行劃分,主機(jī)號(hào)分為子網(wǎng)號(hào)和主機(jī)號(hào)兩部分。這么做的主要好處在于使得互聯(lián)網(wǎng)地址的使用更加靈活,因?yàn)橥粋€(gè)網(wǎng)絡(luò)號(hào)后是用不了這么多主機(jī)的,例如B類的互聯(lián)網(wǎng)地址,有16位的主機(jī)號(hào),即可以包含2^16的主機(jī)數(shù)量,而往往這一個(gè)網(wǎng)絡(luò)號(hào)下不會(huì)存在這么多主機(jī),存在極大的浪費(fèi)。圖3-3展示了B類地址的一種子網(wǎng)編址方式。

TCP/IP協(xié)議——IP協(xié)議

3-3

這種對(duì)B類地址的子網(wǎng)劃分是比較典型的劃分方法,這種方式在利用點(diǎn)分十進(jìn)制的方式表示IP地址時(shí),可以很容易的區(qū)分子網(wǎng)號(hào)和主機(jī)號(hào)。大部分對(duì)互聯(lián)網(wǎng)地址的劃分都是對(duì)B類互聯(lián)網(wǎng)地址的劃分,其實(shí)對(duì)C類地址也是可以劃分的,只是C類地址的主機(jī)號(hào)本身只有8位,可用來(lái)劃分的位數(shù)較少。不止C類地址,A類地址也是經(jīng)常會(huì)被劃分。

總結(jié)一句,這種劃分子網(wǎng)的方式非常靈活,不一定需要8位一個(gè)整體的劃分,可以通過(guò)子網(wǎng)掩碼來(lái)精確劃分到具體的位。例如一個(gè)A類地址表示成40.40.40.2/24,那么24就標(biāo)識(shí)前24位屬于網(wǎng)絡(luò)號(hào)+子網(wǎng)號(hào),而我們知道A類地址的網(wǎng)絡(luò)號(hào)只有8位,可以知道該地址的網(wǎng)絡(luò)號(hào)為前8位,即40,而子網(wǎng)號(hào)有16位,即40.40,主機(jī)號(hào)為2。掩碼有一種經(jīng)常使用的表示方法,40.40.40.2/24這個(gè)也可以等價(jià)表示為40.40.40.2 255.255.255.0,其中255.255.255.0就是我們所說(shuō)的真正的子網(wǎng)掩碼。

3.5.ifconfig命令與netstat命令

既然我們已經(jīng)了解了所謂的IP地址與子網(wǎng)掩碼,那么在我們的主機(jī)上可以如何查看自己的網(wǎng)絡(luò)接口所屬的IP地址與相應(yīng)的子網(wǎng)掩碼呢。

在unix系統(tǒng)與類unix系統(tǒng)(linux)上可以使用ifconfig命令查看相應(yīng)的ip地址,圖3-4是我在一個(gè)linux系統(tǒng)上用命令查看的結(jié)果

TCP/IP協(xié)議——IP協(xié)議

3-4

可以看到存在多個(gè)網(wǎng)絡(luò)接口,分別分配有B類地址,C類地址與環(huán)回地址,其中netmask即子網(wǎng)掩碼,可以發(fā)現(xiàn)在這臺(tái)主機(jī)上,子網(wǎng)掩碼與互聯(lián)網(wǎng)地址的網(wǎng)絡(luò)號(hào)位數(shù)相同。同時(shí)可以發(fā)現(xiàn),各個(gè)網(wǎng)絡(luò)接口的MTU最大值為1500(前文鏈路層所述,以太網(wǎng)接口的IP數(shù)據(jù)報(bào)MTU范圍為46-1500),而環(huán)回接口的MTU為65536,是IP首部所能承載的最大數(shù)據(jù)報(bào)字節(jié)數(shù)。這是因?yàn)榄h(huán)回接口接收的包是由本機(jī)發(fā)出,不需經(jīng)過(guò)網(wǎng)絡(luò)傳輸(前文TCP/IP簡(jiǎn)介所述,MTU的限制與傳輸時(shí)延相關(guān)),因此可以發(fā)最大的IP數(shù)據(jù)報(bào)。

除了ifconfig可以查詢本機(jī)網(wǎng)絡(luò)接口的信息,也可以通過(guò)netstat -in來(lái)查看主機(jī)的網(wǎng)絡(luò)接口與IP地址。

3.6.小結(jié)

本篇主要講述了

  1. IP首部的具體格式,并初步講述了各個(gè)字段的用途。
  2. IP的重要功能選路,講述了選路的原理,即根據(jù)報(bào)文的目的IP來(lái)查路由表,決策最終的報(bào)文出口。也大概講述了主機(jī)與路由器在處理報(bào)文時(shí)的差別。
  3. 介紹了子網(wǎng)以及子網(wǎng)掩碼的概念
  4. 講述了在系統(tǒng)上查閱主機(jī)網(wǎng)絡(luò)接口的兩條重要命令,ifconfig與netstat

分享到:
標(biāo)簽:協(xié)議 IP
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定