① 計算機網路:網路層(2)
如圖,一個IP數據報由首部和數據兩部分組成。首部的前一部分是固定長度,共20位元組,是所有IP數據報必須具有的。在首部的固定部分的後面是一些可選欄位,其長度是可變的。
(1)版本
佔4位,指IP協議的版本。通信雙方使用的IP協議的版本必須一致。目前廣泛使用的IP協議版本號為4(即IPv4)。也有使用IPv6的(即版本6的IP協議)。
(2)首部長度
佔4位,可表示的最大十進制數值是15。 這個欄位所表示數的單位是32位字(1個32位字長是4位元組),因此,當I的首部長度為1111時(即十進制的15),首部長度就達到最大值60位元組。當分組的首部長度不是4位元組的整數倍時,必須利用最後的填充欄位加以填充。 因此數據部分永遠在4位元組的整數倍時開始,這樣在實現IP協議時較為方便。首部長度限制為60位元組的缺點是有時可能不夠用。但這樣做是希望用戶盡量減少開銷。最常用的首部長度就是20位元組(即首部長度為0101),這時不使用任何選項。
(3)區分服務
佔8位,用來獲得更好的服務。這個欄位在舊標准中叫做服務類型,但實際上一直沒有被使用過。1998年ITF把這個欄位改名為區分服務DS( Differentiated Services。只有在使用區分服務時,這個欄位才起作用。在一般的情況下都不使用這個欄位。
(4)總長度
總長度指首部和數據之和的長度,單位為位元組。總長度欄位為16位,因此數據報的最大長度為216-1=65535位元組。
在IP層下面的每一種數據鏈路層都有其自己的幀格式,其中包括幀格式中的數據欄位的最大長度,這稱為最大傳送單元MTU( Maximum Transfer Unit)。當一個IP數據報封裝成鏈路層的幀時,此數據報的總長度(即首部加上數據部分)一定不能超過下面的數據鏈路層的MTU值。雖然使用盡可能長的數據報會使傳輸效率提高,但由於乙太網的普遍應用,所以實際上使用的數據報長度 很少有超過1500位元組 的。為了不使IP數據報的傳輸效率降低,有關IP的標准文檔規定,所有的主機和路由器必須能夠處理的IP數據報長度不得小於576位元組。這個數值也就是最小的IP數據報的總長度。當數據報長度超過網路所容許的最大傳送單元MTU時,就必須把過長的數據報進行分片後才能在網路上傳送。這時,數據報首部中的「總長度」欄位不是指未分片前的數據報長度,而是指分片後的每一個分片的首部長度與數據長度的總和。
(5)標識 (identification)
佔16位。軟體在存儲器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識欄位。但這個「標識」並不是序號,因為IP是無連接服務,數據報不存在按序接收的問題。當數據報由於長度超過網路的MTU而必須分片時,這個標識欄位的值就被復制到所有的數據報片的標識欄位中。相同的標識欄位的值使分片後的各數據報片最後能正確地重裝成為原來的數據報。
(6)標志(flag)
佔3位,但目前只有兩位有意義。
標志欄位中的最低位記為 MF ( More Fragment)。MF=1即表示後面「還有分片」的數據報。MF=0表示這已是若千數據報片中的最後一個。
標志欄位中間的一位記為 DF (Dont Fragment),意思是「不能分片」。只有當DF=0時才允許分片。
(7)片偏移
佔13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對於用戶數據欄位的起點,該片從何處開始。片偏移以8個位元組為偏移單位。這就是說,每個分片的長度一定是8位元組(64位)的整數倍。
(8)生存時間
佔8位,生存時間欄位常用的英文縮寫是TTL( Time To live),表明是數據報在網路中的壽命。由發出數據報的源點設置這個欄位。其目的是防止無法交付的數據報無限制地在網際網路中兜圈子(例如從路由器R1轉發到R2,再轉發到R3,然後又轉發到R1),因而白白消耗網路資源。最初的設計是以秒作為TTL值的單位。每經過一個路由器時,就把TTL減去數據報在路由器所消耗掉的一段時間。若數據報在路由器消耗的時間小於1秒,就把TTL值減1。當TTL值減為零時,就丟棄這個數據報然而隨著技術的進步,路由器處理數據報所需的時間不斷在縮短,一般都遠遠小於1秒鍾,後來就把TTL欄位的功能改為「跳數限制」(但名稱不變)。路由器在轉發數據報之前就把TTL值減1。若TTL值減小到零,就丟棄這個數據報,不再轉發。因此,現在TTL的單位不再是秒,而是跳數。 TTL的意義是指明數據報在網際網路中至多可經過多少個路由器 。顯然,數據報能在網際網路中經過的路由器的最大數值是255。若把TTL的初始值設置為1,就表示這個數據報只能在本區域網中傳送。因為這個數據報一傳送到區域網上的某個路由器,在被轉發之前TTL值就減小到零,因而就會被這個路由器丟棄。
(9)協議
佔8位,協議欄位指出此數據報攜帶的數據是使用何種協議,以便使目的主機的IP層知道應將數據部分上交給哪個處理過程。
過程大致如下:
(1)從數據報的首部提取目的主機的IP地址D,得出目的網路地址為N。
(2)若N就是與此路由器直接相連的某個網路地址,則進行直接交付,不需要再經過其他的路由器,直接把數據報交付給目的主機(這里包括把目的主機地址D轉換為具體的硬體地址,把數據報封裝為MAC幀,再發送此幀);否則就是間接交付,執行(3)。
(3)若路由表中有目的地址為D的特定主機路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
(4)若路由表中有到達網路N的路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行(5)
(5)若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行(6)。
(6)報告轉發分組出錯。
在進行更詳細的轉發解釋之前,先要了解一下子網掩碼:
上一篇說到了二級IP地址,也就是IP地址由網路號和主機號組成。
二級IP地址有以下缺點:
第一,IP地址空間的利用率有時很低每一個A類地址網路可連接的主機數超過1000萬,而每一個B類地址網路可連接的主機數也超過6萬。然而有些網路對連接在網路上的計算機數目有限制,根本達不到這樣大的數值。例如10 BASE-T乙太網規定其最大結點數只有1024個。這樣的乙太網若使用一個B類地址就浪費6萬多個IP地址,地址空間的利用率還不到2%,而其他單位的主機無法使用這些被浪費的地址。有的單位申請到了一個B類地址網路,但所連接的主機數並不多,可是又不願意申請一個足夠使用的C類地址,理由是考慮到今後可能的發展。IP地址的浪費,還會使IP地址空間的資源過早地被用完。
第二,給每一個物理網路分配一個網路號會使路由表變得太大因而使網路性能變壞。
每一個路由器都應當能夠從路由表査出應怎樣到達其他網路的下一跳路由器。因此,互聯網中的網路數越多,路由器的路由表的項目數也就越多。這樣,即使我們擁有足夠多的IP地址資源可以給每一個物理網路分配一個網路號,也會導致路由器中的路由表中的項目數過多。這不僅增加了路由器的成本(需要更多的存儲空間),而且使查找路由時耗費更多的時間,同時也使路由器之間定期交換的路由信息急劇增加,因而使路由器和整個網際網路的性能都下降了。
第三,兩級IP地址不夠靈活。
有時情況緊急,一個單位需要在新的地點馬上開通一個新的網路。但是在申請到一個新的IP地址之前,新增加的網路是不可能連接到網際網路上工作的。我們希望有一種方法,使一個單位能隨時靈活地增加本單位的網路,而不必事先到網際網路管理機構去申請新的網路號。原來的兩級IP地址無法做到這一點。
於是為解決上述問題,從1985年起在IP地址中又增加了一個「子網號欄位」,使兩級IP地址變成為三級IP地址,它能夠較好地解決上述問題,並且使用起來也很靈活。這種做法叫作劃分子網 (subnetting),或子網定址或子網路由選擇。劃分子網已成為網際網路的正式標准協議。
劃分子網的基本思路如下:
(1)一個擁有許多物理網路的單位,可將所屬的物理網路劃分為若干個子網 subnet)。劃分子網純屬一個單位內部的事情。本單位以外的網路看不見這個網路是由多少個子網組成,因為這個單位對外仍然表現為一個網路。
(2)劃分子網的方法是從網路的主機號借用若干位作為子網號 subnet-id,當然主機號也就相應減少了同樣的位數。於是兩級IP地址在本單位內部就變為三級IP地址:網路號、子網號和主機號。也可以用以下記法來表示:
IP地址:=(<網路號>,<子網號>,<主機號>}
(3)凡是從其他網路發送給本單位某個主機的IP數據報,仍然是根據IP數據報的目的網路號找到連接在本單位網路上的路由器。但此路由器在收到IP數據報後,再按目的網路號和子網號找到目的子網,把IP數據報交付給目的主機。
簡單來說就是原來的IP地址總長度不變,把原來由「網路號+主機號」組成的IP地址,變為了「網路號+子網號+主機號」,因為其他網路找當前網路的主機時,使用的還是網路號,所以外面的網看不見當前網路的子網。當本網的路由器在收到IP數據報後,按目的網路號和子網號找到目的子網,把IP數據報交付給目的主機。
現在剩下的問題就是:假定有一個數據報(其目的地址是145.133.10)已經到達了路由器R1。那麼這個路由器如何把它轉發到子網145.3.3.0呢?
我們知道,從IP數據報的首部並不知道源主機或目的主機所連接的網路是否進行了子網的劃分。這是因為32位的IP地址本身以及數據報的首部都沒有包含任何有關子網劃分的信息。因此必須另外想辦法,這就是使用子網掩碼( (subnet mask)。
子網掩碼,簡單來說就是把除了主機號設置為0,其他位置的數字都設置為1。
以B類地址為例:
把三級IP地址的網路號與子網號連起來,與子網掩碼做「與」運算,就得到了子網的網路地址。
在網際網路的標准規定:所有的網路都必須使用子網掩碼,同時在路由器的路由表中也必須有子網掩碼這一欄。如果一個網路不劃分子網,那麼該網路的子網掩碼就使用默認子網掩碼。
那麼既然沒有子網,為什麼還要使用子網掩碼?
這就是為了更便於査找路由表。
默認子網掩碼中1的位置和IP地址中的網路號欄位 net-id正好相對應。因此,若用默認子網掩碼和某個不劃分子網的IP地址逐位相「與」(AND),就應當能夠得出該IP地址的網路地址來。這樣做可以不用查找該地址的類別位就能知道這是哪一類的IP地址。顯然,
子網掩碼是一個網路或一個子網的重要屬性。在RFC950成為網際網路的正式標准後,路由器在和相鄰路由器交換路由信息時,必須把自己所在網路(或子網)的子網掩碼告訴相鄰路由器。在路由器的路由表中的每一個項目,除了要給出目的網路地址外,還必須同時給出該網路的子網掩碼。若一個路由器連接在兩個子網上就擁有兩個網路地址和兩個子網掩碼。
以一個B類地址為例,說明可以有多少種子網劃分的方法。在採用固定長度子網時,所劃分的所有子網的子網掩碼都是相同的。
表中的「子網號的位數」中沒有0,1,15和16這四種情況,因為這沒有意義。雖然根據已成為網際網路標准協議的RFC950文檔,子網號不能為全1或全0,但隨著無分類域間路由選擇CIDR的廣泛使用,現在全1和全0的子網號也可以使用了,但一定要謹慎使用,要弄清你的路由器所用的路由選擇軟體是否支持全0或全1的子網號。這種較新的用法我們可以看出,若使用較少位數的子網號,則每一個子網上可連接的主機數就較多。
反之,若使用較多位數的子網號,則子網的數目較多但每個子網上可連接的主機數就較少因此我們可根據網路的具體情況(一共需要劃分多少個子網,每個子網中最多有多少個主機)來選擇合適的子網掩碼。
所以,劃分子網增加了靈活性,但卻減少了能夠連接在網路上的主機總數。
在劃分子網的情況下,分組轉發的演算法必須做相應的改動。
使用子網劃分後,路由表必須包含以下三項內容:目的網路地址、子網掩碼和下一跳地址。
所以之前的流程變成了下面這樣:
(1)從收到的數據報的首部提取目的IP地址D。
(2)先判斷是否為直接交付。對路由器直接相連的網路逐個進行檢查:用各網路的子網掩碼和D逐位相「與」(AND操作),看結果是否和相應的網路地址匹配。若匹配,則把分組進行直接交付(當然還需要把D轉換成物理地址,把數據報封裝成幀發送出去),轉發任務結束。否則就是間接交付,執行(3)。
(3)若路由表中有目的地址為D的特定主機路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
(4)對路由表中的每一行(目的網路地址,子網掩碼,下一跳地址),用其中的子網掩碼和D逐位相「與」(AND操作),其結果為N。若N與該行的目的網路地址匹配,則把數據報傳送給該行指明的下一跳路由器;否則,執行(5)。
5)若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行(6)
(6)報告轉發分組出錯。
② IP子網劃分的劃分方法
子網掩碼概念及子網劃分規則
一、子網掩碼概述
1.子網掩碼的概念
子網掩碼是一個32位地址,用於屏蔽IP地址的一部分以區別網路標識和主機標識,並說明該IP地址是在區域網上,還是在遠程網上。
2.確定子網掩碼數
用於子網掩碼的位數決定於可能的子網數目和每個子網的主機數目。在定義子網掩碼前,必須弄清楚本來使用的子網數和主機數目。
定義子網掩碼的步驟為:
A、確定哪些組地址歸我們使用。比如我們申請到的網路號為 「210.73.a.b」,該網路地址為c類IP地址,網路標識為「210.73」,主機標識為「a.b」。
B、根據我們現在所需的子網數以及將來可能擴充到的子網數,用宿主機的一些位來定義子網掩碼。比如我們現在需要12個子網,將來可能需要16個。用第三個位元組的前四位確定子網掩碼。前四位都置為「1」,即第三個位元組為「11110000」,這個數我們暫且稱作新的二進制子網掩碼。
C、把對應初始網路的各個位都置為「1」,即前兩個位元組都置為「1」,第四個位元組都置為「0」,則子網掩碼的間斷二進制形式為:「11111111.11111111.11110000.00000000」
D、把這個數轉化為間斷十進制形式為:「255.255.240.0」
這個數為該網路的子網掩碼。
3.IP掩碼的標注
A、無子網的標注法
對無子網的IP地址,可寫成主機號為0的掩碼。如IP地址210.73.140.5,掩碼為255.255.255.0,也可以預設掩碼,只寫IP地址。
B、有子網的標注法
有子網時,一定要二者配對出現。以C類地址為例。
1.IP地址中的前3個位元組表示網路號,後一個位元組既表明子網號,又說明主機號,還說明兩個IP地址是否屬於一個網段。如果屬於同一網路區間,這兩個地址間的信息交換就不通過路由器。如果不屬同一網路區間,也就是子網號不同,兩個地址的信息交換就要通過路由器進行。例如:對於IP地址為210.73.140.5的主機來說,其主機標識為00000101,對於IP地址為210.73.140.16的主機來說它的主機標識為00010000,以上兩個主機標識的前面三位全是000,說明這兩個IP地址在同一個網路區域中,這兩台主機在交換信息時不需要通過路由器進行10.73.60.1的主機標識為00000001,210.73.60.252的主機標識為11111100,這兩個主機標識的前面三位000與011不同,說明二者在不同的網路區域,要交換信息需要通過路由器。其子網上主機號各為1和252。
2.掩碼的功用是說明有子網和有幾個子網,但子網數只能表示為一個范圍,不能確切講具體幾個子網,掩碼不說明具體子網號,有子網的掩碼格式(對C類地址)。
二、子網掩碼的用處之一
便於網路設備盡快地區分本網段地址和非本網段的地址。
主機A與主機B交互信息。
主機A: IP地址:202.183.58.11
子網掩碼:255.255.255.0
路由地址:202.183.58.1
主機B: IP地址:202.183.56.5
子網掩碼:255.255.255.0
路由地址:202.183.56.1
路由器從埠202.183.58.1接收到主機A發往主機B的IP數據報文後,
(1)首先用埠地址202.183.58.1與子網掩碼地址255.255.255.0進行「邏輯與」,得到埠網段地址:202.183.58.0,
(2)然後將目的地址202.183.56.5與子網掩碼地址255.255.255.0進行「邏輯與」,得202.183.56.0,
(3)將結果202.183.56.0與埠網段地址202.183.58.0比較,如果相同,則認為是本網段的,不予轉發。如果不相同,則將該IP報文轉發到埠202.183.56.1所對應的網段。
三、子網掩碼的用處之二
將子網進一步劃分,縮小子網地址空間。將一個網段劃分多個子網段,便於網路管理。
學校校園網信息中心可以將202.183.56.0(C類地址)分配給兩個系,每個系約有120
台計算機,則可以將子網掩碼地址定義為:255.255.255.128
這樣將原來的一個網段分成兩個獨立的子網段,便於網路管理。
系1的地址范圍:202.183.56.1—202.183.56.126
子網地址:1100101010110111 00111000 0xxxxxxx
系2的地址范圍:202.183.56.129—202.183.56.254
子網地址:1100101010110111 00111000 1xxxxxxx
四、子網掩碼的演算法
(一)、利用子網數來計算
在求子網掩碼之前必須先搞清楚要劃分的子網數目,以及每個子網內的所需主機數目。
1)將子網數目轉化為二進制來表示
2)取得該二進制的位數,為 N
3)取得該IP地址的類子網掩碼,將其主機地址部分的的前N位置 1 即得出該IP地址劃分子網的子網掩碼。
如欲將B類IP地址168.195.0.0劃分成27個子網:
1)27=11011
2)該二進制為五位數,N = 5
3)將B類地址的子網掩碼255.255.0.0的主機地址前5位置 1,得到 255.255.248.0
即為劃分成 27個子網的B類IP地址 168.195.0.0的子網掩碼。
(二)、利用主機數來計算
1)將主機數目轉化為二進制來表示
2)如果主機數小於或等於254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數,為 N,這里肯定 N<8。如果大於254,則 N>8,這就是說主機地址將占據不止8位。
3)使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然後從後向前的將N位全部置為 0,即為子網掩碼值。
如欲將B(c)類IP地址168.195.0.0劃分成若乾子網,每個子網內有主機700台(17):
1) 700=1010111100
2)該二進制為十位數,N = 10(1001)
3)將該B類地址的子網掩碼255.255.0.0的主機地址全部置 1,得到255.255.255.255
然後再從後向前將後 10位置0,即為: 11111111.11111111.11111100.00000000
即255.255.252.0。這就是該欲劃分成主機為700台的B類IP地址 168.195.0.0的子網掩碼。
五、子網的計算
在思科網路技術學院CCNA教學和考試當中,不少同學在進行IP地址規劃時總是很頭疼子網和掩碼的計算。現在給大家一個小竅門,可以順利解決這個問題。
首先,我們看一個CCNA考試中常見的題型:一個主機的IP地址是202.112.14.137,掩碼是255.255.255.224,要求計算這個主機所在網路的網路地址和廣播地址。
常規辦法是把這個主機地址和子網掩碼都換算成二進制數,兩者進行邏輯與運算後即可得到網路地址。其實大家只要仔細想想,可以得到另一個方法:255.255.255.224的掩碼所容納的IP地址有256-224=32個(包括網路地址和廣播地址),那麼具有這種掩碼的網路地址一定是32的倍數。而網路地址是子網IP地址的開始,廣播地址是結束,可使用的主機地址在這個范圍內,因此略小於137而又是32的倍數的只有128,所以得出網路地址是202.112.14.128。而廣播地址就是下一個網路的網路地址減1。而下一個32的倍數是160,因此可以得到廣播地址為202.112.14.159。
CCNA考試中,還有一種題型,要你根據每個網路的主機數量進行子網地址的規劃和計運算元網掩碼。這也可按上述原則進行計算。比如一個子網有10台主機,那麼對於這個子網需要的IP地址是:
10+1+1+1=13
注意:加的第一個1是指這個網路連接時所需的網關地址,接著的兩個1分別是指網路地址和廣播地址。因為13小於16(16等於2的4次方),所以主機位為4位。而
256-16=240
所以該子網掩碼為255.255.255.240。
如果一個子網有14台主機,不少同學常犯的錯誤是:依然分配具有16個地址空間的子網,而忘記了給網關分配地址。這樣就錯誤了,因為:
14+1+1+1=17
17大於16,所以我們只能分配具有32個地址(32等於2的5次方)空間的子網。這時子網掩碼為:255.255.255.224。
六、子網掩碼及其應用 (綜合)
在TCP/IP協議中,SUBNET MASKS(子網掩碼)的作用是用來區分網路上的主機是否在同一網路取段內。在大型網路中,CLASS A的SUBNET MASKS為255.0.0.0, CLASS B的SUBNET MASKS為255.255.0.0,CLASS C的SUBNET MASKS為255.255.255.0。
假如某台主機的SUBNET MASKS為IP地址為202.119.115.78,它的SUBNET MASKS為255.255.255.0。將這兩個數據作AND運算後,所得出的值中的非0的BYTE部分即為NETWORK ID 。運算步驟如下:
202.119.115.78的二進制值為:
11001010.01110111.01110011.01001110
255.255.255.0的二進制值為:
11111111.11111111.11111111.00000000
AND後的結果為:
11001010.01110111.01110011.00000000
轉為二進制後即為:
202.119.115.0
它就是NETWORK ID,在IP地址中剩下的即為HOST ID,即為78,這樣當有另一台主機 的IP 地址為202.119.115.83,它的SUBNET MASKS也是255.255.255.0,則其NETWORK ID 為202.119.115,HOST ID為83,因為這兩台主機的NETWORK ID都是202.119.115,因此,這兩台主機在同一網段內。
但是,在實際應用中,可能會有多個分布與各地的網路,而且,每個網路的主機數量並不很多,如果申請多個NETWORK ID,會造成IP資源的浪費,而且很不經濟,如果我們在SUBNET MASKS上動一下手腳,可以在只申請一個NETWORK ID的基礎上解決這個問題。
比如,我們有三個不同的子網,每個網路的HOST數量各為20、25和50,下面依次稱為甲、乙和丙網,但只申請了一個NETWORK ID 就是202.119.115。首先我們把甲和乙網的SUBNET MASKS改為255.255.255.224,224的二進制為11100000,即它的SUBNET MASKS為:
11111111.11111111.11111111.11100000
這樣,我們把HOST ID的高三位用來分割子網,這三位共有000、001、010、011、100、 101、110、111八種組合,除去000(代表本身)和111(代表廣播),還有六個組合,也就是可提供六個子網,它們的IP地址分別為:(前三個位元組還是202.119.115)
00100001~00111110 即33~62為第一個子網
01000001~01011110 即65~94為第二個子網
01100001~01111110 即97~126為第三個子網
10000001~10011110 即129~158為第四個子網
10100001~10111110 即161~190為第五個子網
11000001~11011110 即193~222為第六個子網
選用161~190段給甲網,193~222段給乙網,因為各個子網都支持30台主機,足以應付甲網和乙網20台和25台的需求。
再來看丙網,由於丙網有50台主機,按上述分割方法無法滿足它的IP需求,我們 可以將它的SUBNET MASKS設為255.255.255.192, 由於192的二進制值為11000000,按上述方法,它可以劃分為兩個子網,IP地址為:
01000001~01111110 即65~126為第一個子網
10000001~10111110 即129~190為第二個子網
這樣每個子網有62個IP可用,將65~126分配丙網,多個子網用一個NETWORK ID 即告實現。
如果將子網掩碼設置過大,也就是說子網范圍擴大。那麼根據子網尋徑規則,很可能發往和本地機不在同一子網內的目的機的數據,會因為錯誤的相與結果而認為是在同一子網內,那麼,數據包將在本子網內循環,直到超時並拋棄。數據不能正確到達目的機,導致網路傳輸錯誤。如果將子網掩碼設置得過小,那麼就會將本來屬於同一子網內的機器之間的通信當做是跨子網傳輸,數據包都交給預設網關處理,這樣勢必增加預設網關的負擔,造成網路效率下降。因此,任意設置子網掩碼是不對的,應該根據網路管理部門的規定進行設置。
隨著IP地址資源的日趨枯竭,可供分配的IP地址越來越少,往往一個擁 有幾百台計算機規模的網路只能得到區區幾個IP地址,於是,許多人開始採用其他技術來擴展IP空間。
③ 計算機網路-網路層-IPv6數據報格式
IPv6:解決IP地址耗盡的根本措施就是採用具有更大地址空間的新版本的IP,即IPv6。
IPv6仍支持無連接的傳送,但將協議數據單元PDU稱為分組,而不是Pv4的數據報。IPv6所引進的主要變化如下:
(1)更大的地址空間,Pv6把地址從Pv4的32位增大到4倍,即增大到128位,使地址空間增大了2^96倍,這樣大的地址空間在可預見的將來是不會用完的。
(2)擴展的地址層次結構。IPv6由於地址空間很大,因此可以劃分為更多的層次。
(3)靈活的首部格式。IPv6數據報的首部和Pv4的並不兼容。IPv6定義了許多可選的擴展首部,不僅可提供比Pv4更多的功能,而且還可提高路由器的處理效率,這是因為路由器對擴展首部不進行處理(除逐跳擴展首部外)。
(4)改進的選頂。Pv6允許數據報包含有選項的控制信縣,因而可以包含一些新的選項。但IPv6的首部長度是固定的,其選項放在有效載荷中。IPv4所規定的選項放在首部的可變部分。
(5)允許協議繼續擴充。這一點很重要,因為技術總是在不斷地發展(如網路硬體的更新)而新的應用也還會出現。但我們知道,IP4的功能是固定不變的。
(6)支持即插即用(即自動配置),因此IPv6不需要使用DHCP。
(7)支持資源的預分配。Pv6支持實時視像等要求保證一定的帶寬和時延的應用。
(8)IPv6首部改為8位元組對齊(即首部長度必須是8位元組的整數倍)。原來的IPv4首部是4位元組對齊。
IPv6數據報由兩大部分組成,即基本首部(base header)和後而的有效載荷(payload) ,有效載荷也稱為凈負荷。有效我荷允許有零個或多個擴展首部(extension header),再後面是數據部分(圖4-46)。
IPv6各個欄位:
(1)版本(version)佔4位。它指明了協議的版本,對IPv6該欄位是6。
(2)通信量類(traffic class)佔8位。這是為了區分不同的IPv6數據報的類別或優先順序。目前正在進行不同的通信量類性能的實驗。
(3)流標號(flow labe)佔20位。IPv6的一個新的機制是支持資源預分配,並且允許路由器把每一個數據報與一個給定的資源分配相聯系。IPv6提出流(flow)的抽象概念。所謂「流」就是互聯網路上從特定源點到特定終點(單播或多播)的一系列數據報(如實時音頻或視頻傳輸),而在這個「流」所經過的路徑上的路由器都保證指明的服務質量。所有屬於同一個流的數據報都具有同樣的流標號小因此,流標號對實時音煩/視頻數據的傳送特別有用。對於傳統的電子郎件或非實時數據,標號則沒有用處,把它置為0即可。
(4)有效載荷長度(payload length)佔16位。它指明IPv6數據報除基本首部以外的位元組數(所有擴展首部都算在有效載荷之內)。這個欄位的最大值是64KB(65535位元組).
(5)下一個首部(next header)佔8位。它相當於IPv4的協議欄位或可選欄位。
① 當Pv6數據報沒有擴展首部時,下一個首部欄位的作用和Pv4的協議欄位一樣,它的值指出了基本首部後面的數據應交付P層上面的哪一個高層協議(例如:6或17分別表示應交付運輸層TCP或UDP)。
② 當出現擴展首部時, 下一個首部欄位的值就標識後面第一個擴展首部的類型 。
(6)跳數限制(hop limit)佔8位。用來防止數據報在網路中無限期地存在。源點在每
個數據報發出時即設定某個跳數限制(最大為255跳)。每個路由器在轉發數據報時,要先
把跳數限制欄位中的值減1。當跳數限制的值為零時,就要把這個數據報丟棄。
(7)源地址佔128位。是數據報的發送端的IP地址。
(8)目的地址佔128位。是數據報的接收端的IP地址。
擴展首部
IP4的數據報如果在其首部中使用了選項,那麼沿著數據報傳送的路徑上的每一個路由器都必須對這些選項一一進行檢查,這就降低了路由器處理數據報的速度。然而實際上很多的選項在途中的路由器上是不需要檢查的(因為不需要使用這些選項的信息)。IPv6把原來IPv4首部中選項的功能都放在擴展首部中,並把擴展首部留給路徑兩端的源點和終點的主機來處理,而數據報途中經過的路由器都不處理這些擴展首部(只有一個首部例外,即逐跳選項擴展首部),這樣就大大提高了路由器的處理效率。
在RFC2460中定義了以下六種擴展首部:(1)逐跳選項:(2)路由選擇:(3)分片:(4)鑒別:(5)封裝安全有效載荷:(6)目的站選項。
每一個擴展首部都由若干個欄位組成,它們的長度也各不同。但所有擴展首部的第一個欄位都是8位的「下一個首部」欄位,此欄位的值指出了在該擴展首部後面的欄位是什麼。當使用多個擴展首部時,應按以上的先後順序出現。高層首部總是放在最後面。
④ 計算機網路ip地址劃分的方法
ip地址是指互聯網協議地址,是ip address的縮寫,ip地址是ip協議提供的一種統一的地址格式,它為互聯網上的每一個網路和每一台主機分配一個邏輯地址,以此來屏蔽物理地址的差異。
ip是網路之間互連的協議,也就是為計算機網路相互連接,進行通信而設計的協議,在網際網路中,它是能使連接到網上的所有計算機網路,實現相互通信的一套規則,規定了計算機在網際網路上進行通信時應當遵守的規則。任何廠家生產的計算機系統,只要遵守ip協議,就可以與網際網路互連互通。
ip地址被用來給網際網路上的電腦一個編號,大家日常見到的情況是,每台聯網的PC上都需要有ip地址才能正常通信。
ip地址是一個32位的二進制數,通常被分割為四個八位二進制數,ip地址,常用點分十進製表示成abcd的形式。其中abcd都是0-255之間的十進制整數。
ip地址是一種在internet上的給主機編址的方式,也稱為網路協議地址,常見的ip地址分為ipv4與ipv6兩大類。
ip地址編址方案,ip地址編制方案,將ip地址空間劃分為A,B,C,D,E 5類,其中A,B,C是基本類,D,E類是作為多播和保留使用。
ip v4就是有四段數字,每一段最大不超過255,由於互聯網的蓬勃發展,ip位址的需求量越來越大,使得ip位址的發放愈趨嚴格。
ip地址的分類。
1.a類地址:
a類地址,第一位元組為網路地址,其他三個位元組為主機地址,它的第一個位元組的第一位,固定為零,a類地范圍,1.0.0.1-126.255.255.254。
2. B類地址:第一位元組和第二位元組為網路地址,其它兩個位元組為主機地址。他的第一個位元組的前兩位固定為10。
B類地址的范圍:128.0.0.1----191.255.255.254。
3. C類地址:第一位元組,第二位元組和第三個位元組為網路地址,第四個位元組為主機地址,另外第一個位元組的前三位固定為110。
c類地址范圍:192.0.0.1-223.255.255.254。
D類地址和E類地址,不分主機地址和網路地址。
⑤ Ip地址格式是什麼
Ip地址格式有四種:
一、A類地址。
一個A類IP地址是指, 在IP地址的四段號碼中,第一段號碼為網路號碼,剩下的三段號碼為本地計算機的號碼。如果用二進製表示IP地址的話,A類IP地址就由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是「0」。A類IP地址中網路的標識長度為8位,主機標識的長度為24位,A類網路地址數量較少,可以用於主機數達1600多萬台的大型網路。A類IP地址 地址范圍1.0.0.0到126.255.255.255(二進製表示為:00000001 00000000 00000000 00000001 - 01111111 11111111 11111111 11111111)。最後一個是廣播地址。A類IP地址的子網掩碼為255.0.0.0,每個網路支持的最大主機數為256的3次方-2=16777214台。
二、B類地址。
一個B類IP地址是指,在IP地址的四段號碼中,前兩段號碼為網路號碼。如果用二進製表示IP地址的話,B類IP地址就由2位元組的網路地址和2位元組主機地址組成,網路地址的最殲大李高位必須是「10」。B類IP地址中網路的標識長度為16位,主機標識的長度為16位,B類網路地址適用於中等規模的網路仿信,每個網路所能容納的計算機數為6萬多台。B類IP地址地址范圍128.0.0.0-191.255.255.255(二進製表示為:10000000 00000000 00000000 00000001----10111111 11111111 11111111 11111110)。 最後一個是廣播地址。B類IP地址的子網掩碼為255.255.0.0,每個網路支持的最大主機數為256的2次方-2=65534台
三、C類地址。
IP地址圖片一個C類IP地址是指,在IP地址的四段號碼中,前三段號碼為網路號碼,剩下的一段號碼為本地計算機的號碼。如果用二進製表示IP地址的話,C類IP地址就由3位元組的網路地址和1位元組主機地址組成,網路地址的最高位必須是「110」。C類IP地址中網路的標識長度為24位,主機標識的長度為8位,C類網路地址數量較多,適用於小規模的區域網絡,每個網路最多隻能包含254台計算機。C類IP地址范圍192.0.0.0-223.255.255.255(二進製表示為: 11000000 00000000 00000000 00000001 - 11011111 11111111 11111111 11111110)。C類IP地址的子網掩碼為255.255.255.0,每個網路支持的最大主機數為256-2=254台
四、特殊網址。
1、「lll0」開始的地址都叫多點廣播地址。因此,任何第一個位元組大於223小於240的IP地址(范圍224.0.0.1-239.255.255.254)是多點廣播地址。
2、每一個位元組都為0的地址(「0.0.0.0」)對應於當前主機。
3、IP地址中的每一個位元組都為1的IP地址(「255.255.255.255」)是當前子網的廣播地址。
4、IP地址中凡是以「llll0」開頭的E類IP地址都保留用於將來和實驗使用。
5、IP地址中不能以十進制「127」作為開頭,該類地址中數字127.0.0.1到127.255.255.255用於迴路測試,如:127.0.0.1可以代表本機IP地址,用「http://127.0.0.1」就可以測試本機中配置的Web伺服器氏遲。
6、網路ID的第一個6位組也不能全置為「0」,全「0」表示本地網路。
⑥ 計算機網路ip地址的劃分
子公司1:
部門1:144.66.8.0 255.255.248.0 144.66.7.255
部門2:144.66.16.0 255.255.248.0 144.66.7.255
部門3:144.66.24.0 255.255.248.0 144.66.7.255 依此類推,每個加8
部門15:144.66.120.0 255.255.248.0 144.66.7.255
子公司2:
部門1:144.66.136.0 255.255.248.0 144.66.135.255
部門2:144.66.144.0 255.255.248.0 144.66.135.255 依此類推,每個加8
部門12:144.66.224.0 255.255.248.0 144.66.135.255
子公司1,部門三:
辦公室1:144.66.25.0 255.255.255.0 144.66.0.255
辦公室2:144.66.26.0 255.255.255.0 144.66.0.255
辦公室3:144.66.27.0 255.255.255.0 144.66.0.255依此類推,每個加1
辦公室6:144.66.30.0 255.255.255.0 144.66.0.255
子公司1:144.66.0.0 255.255.248.0 144.66.7.255
子公司2:144.66.128.0 255.255.248.0 144.66.135.255
純手打,要給分喲^_^
⑦ ip是什麼的縮寫
ip是網路之間互連的協議InternetProtocol的外語縮寫,中文縮寫為網協。網路之間互連的協議也就是為計算機網路相互連接進行通信而設計的協尺擾帶議,在網際網路中IP是能使連接到網上的所有計算機陵蘆網路實現相互通信的一套規則,規定計算機在網際網路上進行通信時應當遵守的規則。
任何計算機系統,只要遵守IP協議就可以與網際網路互連互通。
IP包含內容
IP編址方案、分組封裝格式及分組轉發規則。
IP分組的轉發規則
路由器僅根據網路地址進行轉發,當IP數據包經由路由器轉發時,如果目標網路與本地路由器直接相連,則直接將數據包交付給目標主機,這稱為直接交付;否則,路由器通過路由表查找路由信息,並將數據包轉交給指明的下一跳路由器,這稱為間接交付。
IP分片
一個IP包從源主機傳輸到目標主機可能需要經過多個不同的物理網路,由於各種網路的數據幀都有一個最大傳輸單元)的限制,如乙太網幀的MTU是1500;因此,當路由器在轉發IP包時,如果數據包的大小超過了出口鏈路的最大傳輸單元時,則會將該IP分組分解成很多足夠小的片段,以便能夠在目標鏈路上進行傳輸。
IP分組結構
一個IP分組由首部和數據兩部分組成。首部的前20位元組是所有IP分組必須具有的,也稱固定首部。在首部固定部分的後面是一些可選欄位,其長度是可李爛變的。
⑧ 計算機網路題,ip數據報首部的首部長度欄位值為12時,首部的可選部分有多少位元組急求,謝謝,
首部長度,這個欄位所表示數的單位是32位字長(1個32位字長是4位元組)
目前廣泛使用的IP協議版本號為4(即IPv4),IPv4的數據報長度為20,首部長度為12*4=48位元組,則可選部分就是 48-20=28位元組