計(jì)算機(jī)網(wǎng)絡(luò)——4.網(wǎng)絡(luò)層

網(wǎng)絡(luò)層(Important)

1.網(wǎng)絡(luò)層提供的兩種服務(wù)

  • 在計(jì)算機(jī)領(lǐng)域节芥,網(wǎng)絡(luò)層應(yīng)該向運(yùn)輸層提供怎樣的服務(wù)("面向連接虛電路服務(wù)"還是"無(wú)連接數(shù)據(jù)報(bào)服務(wù)")曾引起了長(zhǎng)期的討論悼潭。討論的實(shí)質(zhì)就是:在計(jì)算機(jī)網(wǎng)絡(luò)中,可靠交付應(yīng)該由誰(shuí)來(lái)負(fù)責(zé)?網(wǎng)絡(luò)還是端系統(tǒng)篮灼?
    讓網(wǎng)絡(luò)負(fù)責(zé)可靠交付

虛電路表示這只是一條邏輯上的連接货岭,分組都沿著這條邏輯連接按照存儲(chǔ)轉(zhuǎn)發(fā)的方式傳送路操,而不是真正建立一條物理連接

網(wǎng)絡(luò)提供數(shù)據(jù)報(bào)服務(wù)

如今互連網(wǎng)的模式就是:可靠交付由端系統(tǒng)來(lái)負(fù)責(zé)

虛電路服務(wù)和數(shù)據(jù)報(bào)服務(wù)對(duì)比

2.網(wǎng)際協(xié)議IP

  • 網(wǎng)際協(xié)議IP是TCP/IP體系中兩個(gè)最主要的協(xié)議之一千贯。
  • 網(wǎng)絡(luò)層不僅僅只有IP協(xié)議屯仗,與IP協(xié)議配套使用的還有三個(gè)協(xié)議:地址解析協(xié)議ARP網(wǎng)際控制報(bào)文協(xié)議ICMP搔谴,網(wǎng)際組管理協(xié)議IGMP
    網(wǎng)際層的IP協(xié)議及配套協(xié)議
1.虛擬互連網(wǎng)絡(luò)

將網(wǎng)絡(luò)互連并能夠互相通信祭钉,會(huì)遇到許多問(wèn)題,例如:不同的尋址方案(不同的網(wǎng)絡(luò)可能地址的表示位數(shù)不同)己沛,不同的最大分組長(zhǎng)度(最大幀長(zhǎng))慌核,不同的網(wǎng)絡(luò)接入機(jī)制距境,不同的超時(shí)控制,不同的差錯(cuò)恢復(fù)方法......

如何將異構(gòu)的網(wǎng)絡(luò)互相連接起來(lái):使用一些中間設(shè)備(中間系統(tǒng))(中繼系統(tǒng))

  • 物理層中繼系統(tǒng):轉(zhuǎn)發(fā)器
  • 數(shù)據(jù)鏈路層中繼系統(tǒng):網(wǎng)橋或橋接器(二層交換機(jī))
  • 網(wǎng)絡(luò)層中繼系統(tǒng):路由器
  • 網(wǎng)橋和路由器的混合物橋路器(三層交換機(jī))(就是同時(shí)具有數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層的設(shè)備功能)
  • 網(wǎng)絡(luò)層以上的中繼系統(tǒng):網(wǎng)關(guān)

注意垮卓,當(dāng)中繼系統(tǒng)是轉(zhuǎn)發(fā)器或者網(wǎng)橋時(shí)垫桂,一般不稱為網(wǎng)絡(luò)互連,因?yàn)檫@僅僅是把一個(gè)網(wǎng)絡(luò)擴(kuò)大了(以太網(wǎng)的擴(kuò)展)粟按,而這仍然是一個(gè)網(wǎng)絡(luò)诬滩。網(wǎng)絡(luò)互連都是指用路由器進(jìn)行網(wǎng)絡(luò)互連和路由選擇

互連網(wǎng)絡(luò)與虛擬互連網(wǎng)絡(luò)

如上圖灭将,所謂虛擬互連網(wǎng)絡(luò)也就是邏輯互連網(wǎng)絡(luò)疼鸟,它的意思就是互連起來(lái)的各種物理網(wǎng)絡(luò)的異構(gòu)性本來(lái)是客觀存在的(異構(gòu)性包括物理層和數(shù)據(jù)鏈路層),但是在網(wǎng)絡(luò)層我們采用了IP協(xié)議就可以使這些性能各異的網(wǎng)絡(luò)從用戶看起來(lái)好像是一個(gè)統(tǒng)一的網(wǎng)絡(luò)(虛擬互連網(wǎng)絡(luò))(其實(shí)就相當(dāng)于屏蔽了物理層和數(shù)據(jù)鏈路層的不同)庙曙。
使用IP協(xié)議的虛擬互連網(wǎng)絡(luò)可以簡(jiǎn)稱為IP網(wǎng)空镜。使用虛擬互連網(wǎng)絡(luò)的好處是:當(dāng)互連網(wǎng)上的主機(jī)進(jìn)行通信時(shí),就好像在一個(gè)網(wǎng)絡(luò)上通信一樣捌朴,而看不見(jiàn)互連的各具體的網(wǎng)絡(luò)異構(gòu)細(xì)節(jié)吴攒。

2.分類的IP地址

1.IP地址及其表示方法
IP地址就是給每個(gè)連接在互聯(lián)網(wǎng)上的主機(jī)(或路由器)分配一個(gè)在全世界范圍內(nèi)是唯一的32位的標(biāo)識(shí)符。IP地址由互聯(lián)網(wǎng)名字和數(shù)字分配機(jī)構(gòu)(ICANN)進(jìn)行分配砂蔽。分配給ISP洼怔,然后用戶再通過(guò)ISP申請(qǐng)到一個(gè)IP地址。
2.IP地址的編址方式

  • 分類的IP地址左驾。這是最基本的編址方法镣隶,在1981年就通過(guò)了相應(yīng)的標(biāo)準(zhǔn)協(xié)議。
  • 子網(wǎng)的劃分诡右。這是對(duì)最基本的編址方法的改進(jìn)矾缓,其標(biāo)準(zhǔn)[RFC950]在1985年通過(guò)。
  • 構(gòu)成超網(wǎng)稻爬。這是比較新的無(wú)分類編址方法嗜闻。1993年提出后很快就得到推廣應(yīng)用。

后續(xù)還有NATIPv6這些方法

分類IP地址:
1.將IP地址劃分為若干個(gè)固定類
2.每一類地址都由兩個(gè)固定長(zhǎng)度的字段組成桅锄,其中一個(gè)字段是網(wǎng)絡(luò)號(hào) net-id琉雳,它標(biāo)志主機(jī)(或路由器)所連接到的網(wǎng)絡(luò),而另一個(gè)字段則是主機(jī)號(hào) host-id友瘤,它標(biāo)志該主機(jī)(或路由器)翠肘。
3.主機(jī)號(hào)在它前面的網(wǎng)絡(luò)號(hào)所指明的網(wǎng)絡(luò)范圍內(nèi)必須是唯一的。由此可見(jiàn)辫秧,一個(gè)IP地址在整個(gè)互聯(lián)網(wǎng)范圍內(nèi)是唯一的束倍。

分類IP地址

各類IP地址的網(wǎng)絡(luò)號(hào)字段和主機(jī)號(hào)字段

正常使用ABC三類,DE兩類用作科研或者其他一般不開(kāi)放使用。D類地址還是多播地址


常用的三種類別的IP地址

A類地址:

在上圖中绪妹,最大可指派網(wǎng)絡(luò)數(shù)是根據(jù)00000000-011111111(0-127)共128個(gè)但是首尾網(wǎng)絡(luò)號(hào)不用甥桂,因此最大數(shù)就是182-2=126個(gè)。例如A類地址的主機(jī)號(hào)有24位邮旷,因此可以有2的24次方臺(tái)主機(jī)黄选,當(dāng)然24位全0和全1的這兩個(gè)不能用(全0的表示的是網(wǎng)絡(luò)地址不能分配給主機(jī),全1的表示廣播地址)婶肩。A類網(wǎng)絡(luò)數(shù)量少办陷,總共只有126個(gè)網(wǎng)絡(luò),但是網(wǎng)絡(luò)規(guī)模大律歼,每一個(gè)主機(jī)能夠連接16777214臺(tái)主機(jī)民镜。但是A類網(wǎng)絡(luò)地址容易造成極大的浪費(fèi),比如我分配給一個(gè)公司一個(gè)A類網(wǎng)絡(luò)地址险毁,這個(gè)公司有400萬(wàn)臺(tái)主機(jī)(目前地球上還沒(méi)有規(guī)模這么大的公司)制圈,但是一個(gè)A類網(wǎng)絡(luò)地址可以連接16777214(1600多萬(wàn)臺(tái)主機(jī)),所以就相當(dāng)于只用了1/4辱揭,存在極大的浪費(fèi)。

B類地址:

B類地址的網(wǎng)絡(luò)號(hào)16位病附,前兩位固定10问窃,能夠變化的其實(shí)只有14位(變化范圍:14位全0-14位全1),14位全0(128.0)不使用完沪。B類網(wǎng)絡(luò)的主機(jī)號(hào)16位域庇,最多有2的16次方個(gè)地址(同A類網(wǎng)絡(luò)一樣,16位全0和全1的地址是不能使用的)覆积。B類網(wǎng)絡(luò)地址同樣會(huì)存在浪費(fèi)听皿,例如一所學(xué)校3萬(wàn)臺(tái)主機(jī),假設(shè)給這所學(xué)校分配一個(gè)網(wǎng)路地址宽档,那么利用率大概為50%(30000/65534)尉姨,同樣也有一半的網(wǎng)絡(luò)資源會(huì)被浪費(fèi)。

C類地址:

C類地址的網(wǎng)絡(luò)號(hào)24位吗冤,前三位固定110又厉,能夠變化的其實(shí)只有21位(變化范圍:21位全0-21位全1),21位全0(192.0.0)不使用椎瘟。C類網(wǎng)絡(luò)的主機(jī)號(hào)8位覆致,最多有2的8次方個(gè)地址(同A類網(wǎng)絡(luò)一樣,8位全0和全1的地址是不能使用的)肺蔚。C類網(wǎng)絡(luò)的特點(diǎn)就是網(wǎng)絡(luò)數(shù)量多(209萬(wàn))煌妈,但是網(wǎng)絡(luò)規(guī)模小(每個(gè)網(wǎng)絡(luò)地址連接的主機(jī)數(shù)少)

另外因?yàn)?2位的二進(jìn)制IP地址不方便記憶和我們使用,所以通常采用點(diǎn)分十進(jìn)制記法來(lái)提高可讀性璧诵。例如汰蜘,有一個(gè)IP地址為10000000000010110000001100011111,將這個(gè)32位地址分成4段腮猖,每段8位鉴扫,段與段之間用.分隔,所以得到10000000.00001011.00000011.00011111 然后將這四段分別轉(zhuǎn)換成對(duì)應(yīng)的十進(jìn)制數(shù)澈缺。即可得到128.11.3.31展鸡。
那么怎么判斷一個(gè)網(wǎng)絡(luò)地址是屬于A類,B類還是C類的呢蝎毡?例如現(xiàn)在有一個(gè)網(wǎng)絡(luò)地址為10.11.12.13丙猬,根據(jù)點(diǎn)分十進(jìn)制記法,10處于1-126之間项滑,很明顯屬于A類地址依沮。又例如130.131.132.133屬于B類地址,因?yàn)?30處于128-191之間枪狂。注意危喉,200.300.400.500它不是一個(gè)合法地址,因?yàn)?位為一段州疾,最大值是8個(gè)1(255)辜限,所以地址表示是數(shù)字的最大值只能到255,不可能出現(xiàn)300,400严蓖。

3.特殊IP地址

一般不使用的特殊的IP地址

主機(jī)號(hào)全為0的是網(wǎng)絡(luò)地址薄嫡,不能分配給主機(jī);主機(jī)號(hào)全1的是廣播地址颗胡,也不能分配給主機(jī)毫深。

4.IP地址的一些重要特點(diǎn)

  • IP地址是一種分等級(jí)的地址結(jié)構(gòu)(把32位的IP地址分為16位的網(wǎng)絡(luò)號(hào)net-id和16位的主機(jī)號(hào)host-id)。分等級(jí)的兩個(gè)好處是:第一毒姨,IP地址的管理機(jī)構(gòu)在分配IP地址時(shí)只需要分配前16位的網(wǎng)絡(luò)號(hào)哑蔫,而主機(jī)號(hào)則由得到網(wǎng)絡(luò)號(hào)的單位自行分配,這樣方便管理弧呐。第二鸳址,路由器僅根據(jù)目的主機(jī)所連接的網(wǎng)絡(luò)號(hào)來(lái)轉(zhuǎn)發(fā)分組,而不考慮主機(jī)號(hào)泉懦,這樣可以使路由表中的項(xiàng)目大大減少稿黍,減小存儲(chǔ)空間。
  • 實(shí)際上IP地址是標(biāo)志一個(gè)主機(jī)(或路由器)和一條鏈路的接口崩哩。當(dāng)一個(gè)主機(jī)同時(shí)連接到兩個(gè)網(wǎng)絡(luò)上時(shí)巡球,該主機(jī)必須具有兩個(gè)相對(duì)應(yīng)的IP地址言沐,它們的網(wǎng)絡(luò)號(hào)必須是不同的,這樣的主機(jī)稱為多歸屬主機(jī)酣栈。另外险胰,由于一個(gè)路由器至少應(yīng)該連接兩個(gè)網(wǎng)絡(luò),因此一個(gè)路由器至少應(yīng)該有兩個(gè)不同的IP地址矿筝。
  • 利用轉(zhuǎn)發(fā)器或者網(wǎng)橋連接起來(lái)的若干個(gè)局域網(wǎng)仍然是一個(gè)網(wǎng)絡(luò)(局域網(wǎng)的擴(kuò)展)起便,因此這些局域網(wǎng)都具有相同的網(wǎng)絡(luò)號(hào)net-id。
  • 所有分配到網(wǎng)絡(luò)號(hào)net-id的網(wǎng)絡(luò)窖维,無(wú)論是范圍很小的局域網(wǎng)還是覆蓋面很大的廣域網(wǎng)榆综,都是平等的。
    5.互聯(lián)網(wǎng)中的IP地址
  • 在同一個(gè)局域網(wǎng)上的主機(jī)或路由器的IP地址中的網(wǎng)絡(luò)號(hào)必須是一樣的铸史,圖中的網(wǎng)絡(luò)號(hào)就是IP地址中的net-id鼻疮。
  • 路由器總是具有兩個(gè)或兩個(gè)以上的IP地址,它的每一個(gè)接口都有一個(gè)不同網(wǎng)絡(luò)號(hào)的IP地址琳轿。
  • 兩個(gè)路由器直接相連的接口處判沟,可以指明也可以不指明IP地址。如果指明崭篡,那么這一段連線就構(gòu)成了一種只包含一段線路的特殊"網(wǎng)絡(luò)"∨埠澹現(xiàn)在常不指明地址。
互聯(lián)網(wǎng)中的IP地址

如上圖琉闪,圖中一共有三個(gè)局域網(wǎng)LAN1LAN2LAN3迹炼,三個(gè)路由器R1R2R3。例如塘偎,在LAN1中的三臺(tái)主機(jī)的網(wǎng)絡(luò)號(hào)都是222.1.1疗涉。例如路由器R1,共有三個(gè)接口拿霉,分別連接了LAN1吟秩,R2和R3,這三個(gè)接口的網(wǎng)絡(luò)號(hào)分別是222.1.1,222.1.5和222.1.6各不相同绽淘。另外涵防,兩個(gè)局域網(wǎng)之間通過(guò)轉(zhuǎn)發(fā)器或者網(wǎng)橋連接起來(lái)之后仍然屬于同一個(gè)網(wǎng)絡(luò),各主機(jī)的網(wǎng)絡(luò)號(hào)一定是相同的沪铭,如上面的網(wǎng)橋B連接起來(lái)的兩個(gè)局域網(wǎng)壮池。

3.IP地址與硬件地址

IP地址與硬件地址是不同的地址

  • 從層次角度看
    硬件地址(物理地址)數(shù)據(jù)鏈路層和物理層使用的地址,而IP地址是網(wǎng)絡(luò)層及以上各層使用的地址杀怠,是一種邏輯地址(因?yàn)镮P地址是用軟件實(shí)現(xiàn)的)
    IP地址與硬件地址的區(qū)別

    一般來(lái)說(shuō)椰憋,一臺(tái)連接在互聯(lián)網(wǎng)上的主機(jī)有3個(gè)地址,分別是域名赔退,IP地址橙依,MAC地址证舟。在我們?yōu)g覽網(wǎng)頁(yè)時(shí),在地址端輸入的是域名窗骑,系統(tǒng)會(huì)自動(dòng)把域名轉(zhuǎn)換為對(duì)應(yīng)的IP地址(正向解析女责,反過(guò)來(lái)就是逆向解析),這一步轉(zhuǎn)換由域名解析系統(tǒng)DNS來(lái)完成创译,用戶要根據(jù)IP地址來(lái)找到MAC地址抵知,這一過(guò)程需要用ARP協(xié)議來(lái)完成,當(dāng)然這一步也是系統(tǒng)自己完成的软族。反過(guò)程用的就是RARP協(xié)議刷喜。
4.地址解析協(xié)議ARP

通信時(shí)使用的兩個(gè)地址:

  • IP地址(網(wǎng)絡(luò)層地址)
  • MAC地址(數(shù)據(jù)鏈路層地址)

每個(gè)接口都有兩個(gè)地址,網(wǎng)絡(luò)層及以上的使用IP地址互订,數(shù)據(jù)鏈路層和物理層使用MAC地址(物理地址)
1.地址解析協(xié)議ARP的作用

地址解析協(xié)議ARP的作用

2.地址解析協(xié)議ARP的要點(diǎn)

  • 不管網(wǎng)絡(luò)層使用的是什么協(xié)議吱肌,在實(shí)際網(wǎng)絡(luò)的鏈路上傳送幀時(shí),最終都必須使用硬件地址仰禽。
  • 每一個(gè)主機(jī)都設(shè)有一個(gè)ARP高速緩存氮墨,里面有所在在局域網(wǎng)上的各主機(jī)和路由器的IP地址到硬件地址的映射

3.ARP分組的傳輸

image.png

ARP分組的傳輸

如上圖吐葵,當(dāng)主機(jī)A想要給主機(jī)B發(fā)送一個(gè)IP數(shù)據(jù)報(bào)時(shí)规揪,先在自己的ARP高速緩存中查看是否有主機(jī)B的IP地址,如果有就直接寫入MAC幀進(jìn)行發(fā)送温峭;如果沒(méi)有猛铅,此時(shí)主機(jī)A就會(huì)(本地)廣播發(fā)送一個(gè)ARP請(qǐng)求分組(路由器不轉(zhuǎn)發(fā)ARP請(qǐng)求),這個(gè)ARP請(qǐng)求分組里面包含了源IP地址凤藏,源硬件地址奸忽,目標(biāo)IP地址,發(fā)送出去的目的就是找到目的的硬件地址揖庄,當(dāng)其他全部主機(jī)接收到這個(gè)請(qǐng)求后就會(huì)將請(qǐng)求中的目的IP地址與自己的IP地址比對(duì)栗菜,如果相同就說(shuō)明我是被找的那臺(tái)主機(jī)B,B就會(huì)發(fā)送一個(gè)ARP響應(yīng)蹄梢,A在發(fā)送之后會(huì)收到一個(gè)ARP響應(yīng)(注意發(fā)送響應(yīng)是單播疙筹,而不是廣播),里面包含了發(fā)送方的IP地址和硬件地址禁炒,目的方的IP地址和硬件地址而咆,接收到目的的硬件地址之后就寫入自己的ARP高速緩存中,然后再發(fā)送數(shù)據(jù)幕袱。

4.ARP高速緩存的作用

  • 存放最近獲得的IP地址到MAC地址的映射暴备,以減少ARP廣播的數(shù)量(不可能每次發(fā)送數(shù)據(jù)報(bào)都要經(jīng)歷一次廣播)
  • 為了減少網(wǎng)絡(luò)上的通信量,主機(jī)A在發(fā)送其ARP請(qǐng)求分組時(shí)们豌,就將自己的IP地址到硬件地址的映射寫入ARP請(qǐng)求分組
  • 同時(shí)涯捻,在主機(jī)A發(fā)送ARP請(qǐng)求時(shí)主機(jī)B也會(huì)紀(jì)錄A的IP地址和硬件地址阁危,并存儲(chǔ)在自己的高速緩存中,等到下次B要發(fā)送數(shù)據(jù)給A就不用再發(fā)送ARP請(qǐng)求汰瘫。其實(shí)緩存是非常高效并且互相的狂打。

5.ARP欺騙
網(wǎng)絡(luò)上的任意一臺(tái)主機(jī),在沒(méi)有接收到ARP請(qǐng)求的情況下混弥,可以主動(dòng)發(fā)送ARP響應(yīng)趴乡。

例如在上述例子中,A要發(fā)送數(shù)據(jù)給B蝗拿,但是如果Z主動(dòng)發(fā)送了一個(gè)ARP響應(yīng)給A晾捏,并且把B的IP地址和硬件地址告訴A,那么A就會(huì)誤以為Z就是我要找的B哀托,就會(huì)導(dǎo)致數(shù)據(jù)發(fā)送出錯(cuò)惦辛。這就好比我要找的人是小徐,結(jié)果小紅跑出來(lái)跟我說(shuō)他是小徐仓手,那我就跟著小紅走了胖齐,這就會(huì)出錯(cuò)(三十六計(jì)之瞞天過(guò)海,無(wú)中生有)嗽冒。

6.應(yīng)當(dāng)注意的問(wèn)題

  • ARP是解決同一個(gè)局域網(wǎng)上的主機(jī)或路由器的IP地址和硬件地址的映射問(wèn)題呀伙。
  • 如果出現(xiàn)跨局域網(wǎng)的發(fā)送情況,就需要通過(guò)ARP找到一個(gè)位于本局域網(wǎng)的某個(gè)路由器的硬件地址添坊,然后把分組轉(zhuǎn)發(fā)給這個(gè)路由器剿另,讓這個(gè)路由器把分組轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò),剩下的工作由另一個(gè)網(wǎng)絡(luò)來(lái)做贬蛙。
  • 從IP地址到硬件地址的解析式自動(dòng)進(jìn)行的雨女,系統(tǒng)用戶對(duì)此過(guò)程是不知道的。
  • 只要開(kāi)始進(jìn)行通信阳准,那么ARP協(xié)議就會(huì)自動(dòng)將IP地址轉(zhuǎn)化為鏈路層需要的硬件地址

7.使用ARP的四種典型情況

  1. 發(fā)送方是主機(jī)氛堕,要把IP數(shù)據(jù)報(bào)發(fā)送到本網(wǎng)絡(luò)上的另一個(gè)主機(jī)。這時(shí)用ARP找到目的主機(jī)的硬件地址溺职。
  2. 發(fā)送方是主機(jī)岔擂,要把IP數(shù)據(jù)報(bào)發(fā)送到另一個(gè)網(wǎng)絡(luò)上的個(gè)主機(jī)位喂。這時(shí)用ARP找到本網(wǎng)絡(luò)上的一個(gè)路由器的硬件地址浪耘。剩下的工作由這個(gè)路由器來(lái)完成。
  3. 發(fā)送方是路由器塑崖,要把IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到本網(wǎng)絡(luò)上的一個(gè)主機(jī)七冲。這時(shí)用ARP找到目的主機(jī)的硬件地址。
  4. 發(fā)送方是路由器规婆,要把IP數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到另一個(gè)網(wǎng)絡(luò)上的一個(gè)主機(jī)澜躺。這時(shí)用ARP找到本網(wǎng)絡(luò)上另一個(gè)路由器的硬件地址蝉稳。剩下的工作由這個(gè)路由器來(lái)完成
    使用ARP的四種典型情況

    通信過(guò)程

如上圖:當(dāng)主機(jī)H1發(fā)送數(shù)據(jù)給主機(jī)H2,這就是第一種情況掘鄙;當(dāng)主機(jī)H1發(fā)送數(shù)據(jù)給主機(jī)H4耘戚,這就是第二種情況,具體過(guò)程為:主機(jī)H1發(fā)送ARP請(qǐng)求給路由器R1操漠,但是因?yàn)槁酚善鞑荒苻D(zhuǎn)發(fā)ARP請(qǐng)求收津,所以路由器R1會(huì)把自己的一個(gè)端口的IP地址和硬件地址(HA3)包裝成ARP響應(yīng)發(fā)送給H1,然后主機(jī)H1把數(shù)據(jù)報(bào)發(fā)送給路由器R1浊伙,剩下的工作由R1來(lái)完成撞秋。接著就是R1發(fā)送給主機(jī)H4,屬于第四種情況嚣鄙,在這之前R1還需要跟之前相同的步驟把數(shù)據(jù)報(bào)發(fā)送給R2吻贿,當(dāng)路由器R1發(fā)送數(shù)據(jù)給R2時(shí),源MAC地址就變成了HA4哑子,目的MAC地址就變成了HA5舅列,以此類推,通過(guò)端口不停地往后傳送卧蜓,知道最后R2再發(fā)送給主機(jī)H4剧蹂,這就屬于第三種情況,此時(shí)源MAC地址就是HA6烦却,目的MAC地址就是HA2宠叼。注意,在整個(gè)過(guò)程中其爵,IP數(shù)據(jù)報(bào)內(nèi)的全部信息都沒(méi)有變(源地址始終是IP1冒冬,目的地址始終是IP2),在中間傳輸?shù)倪^(guò)程只不過(guò)是將IP數(shù)據(jù)報(bào)封裝成幀了而已摩渺,并沒(méi)有對(duì)它產(chǎn)生任何改變简烤。

通信過(guò)程中使用的IP地址和硬件地址

這里還有一種最壞的情況就是主機(jī)H1和路由器R1R2的ARP高速緩存中都沒(méi)有存放任何信息界轩,因此在整個(gè)過(guò)程中每發(fā)送一次數(shù)據(jù)報(bào)都要先發(fā)送ARP請(qǐng)求來(lái)獲得目的的IP地址和硬件地址炮温。

5.IP數(shù)據(jù)報(bào)的格式
  • IP數(shù)據(jù)報(bào)由首部數(shù)據(jù)兩部分組成。
  • 首部的前一部分是固定長(zhǎng)度柬赐,共20字節(jié)绰姻,是所有IP數(shù)據(jù)報(bào)必須具有的枉侧。
  • 在首部的固定部分后面還有一些可選字段,其長(zhǎng)度是可變的狂芋。
IP數(shù)據(jù)報(bào)

IP數(shù)據(jù)報(bào)首部的固定部分中的各個(gè)字段:
版本號(hào)——4位榨馁;
首部長(zhǎng)度——4位,可表示的最大數(shù)值為1111(15)帜矾,一個(gè)單位為4個(gè)字節(jié)翼虫,因此最大為60字節(jié)屑柔;
區(qū)分服務(wù)——8位,用來(lái)獲得更好地服務(wù)珍剑;
總長(zhǎng)度——16位掸宛,指的是首部和數(shù)據(jù)之和的長(zhǎng)度,利用總長(zhǎng)度字段可以在接收方接收數(shù)據(jù)的時(shí)候判斷是否進(jìn)行過(guò)填充招拙,填充了多少字節(jié)(用目前長(zhǎng)度-總長(zhǎng)度字段就是填充的數(shù)據(jù)長(zhǎng)度)旁涤。當(dāng)IP數(shù)據(jù)報(bào)的長(zhǎng)度(總長(zhǎng)度16最大可達(dá)65535)大于了在以太網(wǎng)上的最大數(shù)據(jù)長(zhǎng)度MTU(1500)時(shí),就要對(duì)數(shù)據(jù)進(jìn)行切片迫像。如果要進(jìn)行切片劈愚,接收方必須解決三個(gè)問(wèn)題:1.劃分為若干個(gè)分組后是否知道得到的具體是哪幾個(gè)分片;2.接收方怎么判斷是否已經(jīng)全部接收到分片闻妓,沒(méi)有遺漏菌羽;3.將分片重新組成時(shí)各分片的位置怎么確定。
生存時(shí)間——8位由缆,記為TTL注祖,指示數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中可通過(guò)的路由器數(shù)的最大值;
協(xié)議——8位均唉,指出數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)使用的是哪種協(xié)議是晨;
首部檢驗(yàn)和——16位,只檢驗(yàn)數(shù)據(jù)報(bào)的首部舔箭,不檢驗(yàn)數(shù)據(jù)部分罩缴,這里不采用CRC檢驗(yàn)碼而采用簡(jiǎn)單的計(jì)算方法;

16位二進(jìn)制反碼求和算法

源地址和目的地址——各占四個(gè)字節(jié)

IP數(shù)據(jù)報(bào)首部的可變部分:IP數(shù)據(jù)報(bào)的可變部分是一個(gè)選項(xiàng)字段层扶,內(nèi)容豐富多樣箫章,長(zhǎng)度從1個(gè)字節(jié)到40個(gè)字節(jié)不等,增加可變部分的目的是增加IP數(shù)據(jù)報(bào)的功能镜会,但實(shí)際上這些選項(xiàng)很少使用檬寂。

IP數(shù)據(jù)報(bào)切片的解決方法:在IP數(shù)據(jù)報(bào)中還有一個(gè)標(biāo)識(shí)字段——16位,分片如果是來(lái)自同一個(gè)數(shù)據(jù)報(bào)戳表,那么它們的標(biāo)識(shí)字段一定相同桶至;標(biāo)志字段——3位,目前只有前兩位有意義匾旭,標(biāo)志字段的最低位是MF(More Fragment)镣屹,MF=1表示后面還有分片,MF=0表示最后一個(gè)分片季率。標(biāo)志字段中間的一位是DF(Don' t Fragment)野瘦,只有當(dāng)DF=0時(shí)才允許分片描沟;片偏移——13位飒泻,指出每個(gè)分片在原分組的相對(duì)位置鞭光,以8個(gè)字節(jié)為偏移單位(8個(gè)字節(jié)的整數(shù)倍),因此分片時(shí)各片的長(zhǎng)度不能任意泞遗。

IP數(shù)據(jù)報(bào)分片

如上圖惰许,將上述分片完成后得到:
IP數(shù)據(jù)報(bào)分片結(jié)果

6.IP層轉(zhuǎn)發(fā)分組的流程

假設(shè)現(xiàn)在有四個(gè)A類網(wǎng)絡(luò)通過(guò)三個(gè)路由器連接在一起,而每個(gè)網(wǎng)絡(luò)上都有成千上萬(wàn)臺(tái)主機(jī)史辙,如果按照目的主機(jī)的主機(jī)號(hào)來(lái)制作路由表汹买,那么一個(gè)路由表就有成千上萬(wàn)行,這樣路由表的內(nèi)存會(huì)過(guò)于龐大聊倔,因此我們按照目的主機(jī)所在網(wǎng)絡(luò)地址來(lái)制作路由表晦毙,相當(dāng)于歸類紀(jì)錄,這樣的話每個(gè)路由表只需要幾行就可以耙蔑,會(huì)大大簡(jiǎn)化见妒。如下圖:

路由表

圖中以R2的路由表為例,其中網(wǎng)絡(luò)2和網(wǎng)絡(luò)3直接與R2路由器相連甸陌,被叫做直連網(wǎng)絡(luò)须揣,直連網(wǎng)絡(luò)可以直接交付(就是說(shuō)數(shù)據(jù)從路由器R2到網(wǎng)絡(luò)2直接通過(guò)接口0就可以了),并且在路由器初始化的時(shí)候钱豁,如果接口都配置正確耻卡,那么直連網(wǎng)絡(luò)會(huì)自動(dòng)地出現(xiàn)在路由表中。如果路由器R2要轉(zhuǎn)發(fā)到網(wǎng)絡(luò)1牲尺,那么就需要先轉(zhuǎn)發(fā)到路由器R1卵酪,再由R1進(jìn)行直接交付,其實(shí)就相當(dāng)于間接交付谤碳。再比如凛澎,以路由器R1為例,網(wǎng)絡(luò)1要轉(zhuǎn)發(fā)數(shù)據(jù)給網(wǎng)絡(luò)3中的主機(jī)估蹄,因此兩者不是直連關(guān)系塑煎,因此需要先通過(guò)路由器R2的轉(zhuǎn)發(fā),所以下一跳地址為路由器R2的0接口臭蚁,也就是20.0.0.9最铁;如果網(wǎng)絡(luò)1要轉(zhuǎn)發(fā)數(shù)據(jù)給網(wǎng)絡(luò)4中的主機(jī),同樣的還是需要先經(jīng)過(guò)R2的轉(zhuǎn)發(fā)再經(jīng)過(guò)R3的轉(zhuǎn)發(fā)垮兑,因此下一跳地址還是20.0.0.9.對(duì)于網(wǎng)絡(luò)4向網(wǎng)絡(luò)2,1發(fā)送數(shù)據(jù)同理冷尉。默認(rèn)網(wǎng)關(guān)的概念:現(xiàn)在網(wǎng)絡(luò)1中的某臺(tái)主機(jī)要轉(zhuǎn)發(fā)分組給網(wǎng)絡(luò)4中的某臺(tái)主機(jī),默認(rèn)情況下系枪,分組會(huì)被轉(zhuǎn)發(fā)到路由器R1雀哨,因?yàn)樗鼈兪侵边B的關(guān)系,對(duì)于所有在網(wǎng)路1上的主機(jī),它們的默認(rèn)網(wǎng)關(guān)都是路由器R1的接口0雾棺,也就是10.0.0.4膊夹。所以,數(shù)據(jù)報(bào)在傳輸?shù)倪^(guò)程中可能會(huì)經(jīng)過(guò)多次的間接交付捌浩,等到達(dá)最后一個(gè)路由器時(shí)再進(jìn)行直接交付到達(dá)目的主機(jī)放刨。

2.特定主機(jī)路由:雖然互聯(lián)網(wǎng)所有的分組轉(zhuǎn)發(fā)都是基于目的主機(jī)所在的網(wǎng)絡(luò),但是在大多數(shù)情況下尸饺,都允許有一個(gè)特例进统,即指定某個(gè)網(wǎng)絡(luò)中的某一臺(tái)主機(jī)填入路由表,采用特定主機(jī)路由可以使網(wǎng)絡(luò)管理人員更方便地控制網(wǎng)絡(luò)和測(cè)試網(wǎng)絡(luò)浪听,同時(shí)也考慮到某種安全問(wèn)題螟碎。
3.默認(rèn)路由:假如現(xiàn)在有一個(gè)分組的地址為1.2.3.4那么它的網(wǎng)絡(luò)地址就是1.0.0.0,但是在路由表中沒(méi)有記錄迹栓,那么路由器就不知道該轉(zhuǎn)發(fā)給誰(shuí)抚芦,怎么轉(zhuǎn)發(fā),就會(huì)將這個(gè)分組丟棄迈螟,為了避免這種情況叉抡,有了默認(rèn)路由,一旦出現(xiàn)找不到目的地址的分組答毫,就由默認(rèn)路由轉(zhuǎn)發(fā)(或者說(shuō)默認(rèn)路由能夠匹配所有的地址)褥民。但同時(shí)默認(rèn)路由的優(yōu)先級(jí)是最小的,也就是只有在找不到的情況下才會(huì)使用洗搂,找到了的話就不會(huì)用默認(rèn)路由消返。采用默認(rèn)路由可以減少路由表所占用的空間和搜索路由表所用的時(shí)間,如果主機(jī)連接在一個(gè)小網(wǎng)絡(luò)上耘拇,并且這個(gè)網(wǎng)絡(luò)只用一個(gè)路由器與互聯(lián)網(wǎng)連接撵颊,那么這種情況非常適合使用默認(rèn)路由。例如下圖:

默認(rèn)路由舉例

4.路由器分組轉(zhuǎn)發(fā)算法

路由器分組轉(zhuǎn)發(fā)算法

轉(zhuǎn)發(fā)方式的優(yōu)先級(jí)關(guān)系為:直連網(wǎng)絡(luò)(直接交付)——特定主機(jī)路由——間接交付——默認(rèn)路由
5.關(guān)于路由表
路由表并沒(méi)有給分組指明到某個(gè)網(wǎng)絡(luò)的完整路徑惫叛,路由表指出的是到某個(gè)網(wǎng)絡(luò)應(yīng)該先到某個(gè)路由器(下一跳路由器)倡勇,到達(dá)下一步路由器之后再查詢路由表才知道接下去跳轉(zhuǎn)到哪。分組并不是從源地址直接到達(dá)目的地址嘉涌,而是經(jīng)過(guò)一步一步跳轉(zhuǎn)的妻熊。

3.劃分子網(wǎng)和構(gòu)造假網(wǎng)

1.劃分子網(wǎng)

1.從兩級(jí)IP地址到三級(jí)IP地址
早期IP地址的不合理設(shè)計(jì):IP地址浪費(fèi)極大,因此對(duì)分類的IP地址做了一個(gè)改進(jìn)仑最,劃分子網(wǎng):在IP地址中增加一個(gè)"子網(wǎng)號(hào)字段"扔役,使原本的兩級(jí)地址(網(wǎng)絡(luò)號(hào),主機(jī)號(hào))變成三級(jí)地址(網(wǎng)絡(luò)號(hào)警医,主機(jī)號(hào)亿胸,子網(wǎng)號(hào))坯钦,如下圖所示:

劃分子網(wǎng)的基本思路

實(shí)際上就是從主機(jī)號(hào)分出幾位作為子網(wǎng)號(hào)
2.劃分子網(wǎng)的基本思路

  • 從其他網(wǎng)絡(luò)發(fā)給本單位的某個(gè)主機(jī)的IP數(shù)據(jù)報(bào),仍然根據(jù)IP數(shù)據(jù)報(bào)的目的網(wǎng)絡(luò)號(hào)侈玄,找到連接在本單位上的路由器婉刀。
  • 然后這個(gè)路由器再根據(jù)目的網(wǎng)絡(luò)號(hào),目的子網(wǎng)號(hào)找到對(duì)應(yīng)的子網(wǎng)拗馒。
  • 最后將IP數(shù)據(jù)報(bào)直接交付給目的主機(jī)路星。

例如:


一個(gè)未劃分子網(wǎng)的B類網(wǎng)絡(luò)

一個(gè)劃分子網(wǎng)的B類網(wǎng)站

如上圖溯街,路由器R1就是本單位的路由器诱桂,而在路由器R2和R3中的路由表中都記錄這145.13.0.0——>R1這樣的數(shù)據(jù),也就是說(shuō)我要發(fā)送數(shù)據(jù)報(bào)到145.13.0.0網(wǎng)絡(luò)的某臺(tái)主機(jī)呈昔,必須經(jīng)過(guò)路由器R1挥等。在路由器R1中也記錄著145.13.0.0——>-,-表示直接交付堤尾。假設(shè)現(xiàn)在路由器接收到一個(gè)分組肝劲,目的地址為145.13.7.56,首先R2將分組轉(zhuǎn)發(fā)給R1郭宝,接著R1直接交付辞槐。145.13.0.0網(wǎng)絡(luò)被劃分為三個(gè)子網(wǎng):145.13.3.0,145.13.7.0和145.13.21.0粘室,并給它們分別編號(hào)012榄檬,但是對(duì)外仍然是一個(gè)網(wǎng)絡(luò)145.13.0.0,劃分子網(wǎng)僅僅是在內(nèi)部進(jìn)行衔统。因此鹿榜,在路由器R1的路由表中也有到三個(gè)子網(wǎng)的路由表145.13.3.0——>接口0145.13.3.7.0——>接口1锦爵,145.13.3.21——>接口3舱殿。劃分子網(wǎng)后,前面步驟沒(méi)有變化险掀,R1在接收到這個(gè)分組之后根據(jù)網(wǎng)絡(luò)號(hào)145.13.7.0和子網(wǎng)號(hào)來(lái)查詢路由表沪袭,得知需要通過(guò)接口1才能到達(dá),最終傳遞給目的主機(jī)樟氢。

3.子網(wǎng)掩碼

  • 從一個(gè)IP數(shù)據(jù)報(bào)的首部無(wú)法判斷源主機(jī)或目的主機(jī)所連接的網(wǎng)絡(luò)是否進(jìn)行了子網(wǎng)劃分枝恋。
  • 使用子網(wǎng)掩碼可以找出IP地址中的子網(wǎng)部分。

規(guī)則:

  • 子網(wǎng)掩碼的長(zhǎng)度=32位嗡害,和IP地址的長(zhǎng)度相同焚碌。
  • 某位=1,IP地址中的對(duì)應(yīng)位為網(wǎng)絡(luò)號(hào)和子網(wǎng)號(hào)霸妹。
  • 某位=0十电,IP地址中的對(duì)應(yīng)位為主機(jī)號(hào)

IP地址各字段和子網(wǎng)掩碼

如上圖,從16位的主機(jī)號(hào)中挑8位作為子網(wǎng)號(hào)鹃骂,三級(jí)IP地址的子網(wǎng)掩碼中16位的網(wǎng)絡(luò)號(hào)全部取1,8位的子網(wǎng)號(hào)也取1台盯,8位主機(jī)號(hào)取0。將上圖中的三級(jí)IP地址三級(jí)IP地址的子網(wǎng)掩碼逐位進(jìn)行與運(yùn)算畏线,就得到子網(wǎng)的網(wǎng)絡(luò)地址静盅,也就是上面講到的145.13.7.0 145.13.3.0 145.13.21.0。和1相與保持不變寝殴,和0相與為0蒿叠。先看一下默認(rèn)的子網(wǎng)掩碼
默認(rèn)子網(wǎng)掩碼

子網(wǎng)掩碼是一個(gè)重要屬性

原來(lái)的路由表只有目的網(wǎng)絡(luò)地址下一跳這兩個(gè)屬性,現(xiàn)在要增加一個(gè)網(wǎng)絡(luò)子網(wǎng)掩碼這個(gè)屬性蚣常。
4.子網(wǎng)劃分方法

  • 固定長(zhǎng)度子網(wǎng)
  • 變長(zhǎng)子網(wǎng)

采用固定長(zhǎng)度子網(wǎng)時(shí)市咽,所劃分的所有子網(wǎng)的子網(wǎng)掩碼都是相同的(每個(gè)子網(wǎng)的子網(wǎng)號(hào)長(zhǎng)度是一定的)。采用變長(zhǎng)子網(wǎng)時(shí)抵蚊,每個(gè)子網(wǎng)的子網(wǎng)號(hào)長(zhǎng)度是不一定的施绎。注意,子網(wǎng)號(hào)不能為全0或全1贞绳。子網(wǎng)號(hào)全0時(shí)谷醉,如果主機(jī)號(hào)也全0,那么這與之前說(shuō)的16位主機(jī)號(hào)不能全0沖突冈闭,并且也無(wú)法區(qū)分出這到底是沒(méi)有劃分子網(wǎng)的地址還是劃分了子網(wǎng)之后的地址俱尼;子網(wǎng)號(hào)全1的情況類似凌受。例如:

B類地址子網(wǎng)劃分選擇

在上圖中谐算,如果子網(wǎng)位數(shù)為3位古沥,即從16位的主機(jī)號(hào)中取出3位當(dāng)做子網(wǎng)號(hào)蛆楞,那么剩下16位就是主機(jī)號(hào)赦肋,因此子網(wǎng)數(shù)=23-2=6個(gè)(因?yàn)樽泳W(wǎng)全0和全1不能使用)啸箫,而每個(gè)子網(wǎng)的主機(jī)數(shù)=213-2=8190(主機(jī)號(hào)全0和全1也不能使用)耳舅。

2.使用子網(wǎng)時(shí)分組的轉(zhuǎn)發(fā)

  • 在不劃分子網(wǎng)的兩級(jí)IP地址(網(wǎng)絡(luò)號(hào)和主機(jī)號(hào))下震叙,得出網(wǎng)絡(luò)地址是個(gè)很簡(jiǎn)單的事羹应。
  • 但是在劃分子網(wǎng)的情況下揽碘,從IP地址不能得出唯一的網(wǎng)絡(luò)地址,因?yàn)?strong>網(wǎng)絡(luò)地址取決于子網(wǎng)掩碼园匹,但數(shù)據(jù)報(bào)的首部并沒(méi)有提供子網(wǎng)掩碼的信息雳刺,因此分組轉(zhuǎn)發(fā)的算法必須做出相應(yīng)的改動(dòng)。
在劃分子網(wǎng)的情況下路由器轉(zhuǎn)發(fā)分組的算法

(6).報(bào)告轉(zhuǎn)發(fā)分組出錯(cuò)

劃分子網(wǎng)下的路由器轉(zhuǎn)發(fā)算法

如上圖裸违,共有三個(gè)子網(wǎng)掖桦,并且路由器R1的路由表也增加了一項(xiàng)目的網(wǎng)絡(luò)地址的子網(wǎng)掩碼,現(xiàn)在主機(jī)H1要向主機(jī)H2發(fā)送分組供汛。路由器R1的接口0與子網(wǎng)1相連枪汪,接口1與子網(wǎng)2相連,涌穆。開(kāi)始H1并不知道H2連接在哪一個(gè)網(wǎng)絡(luò)上,僅僅知道的是H2的IP地址為128.30.33.138雀久,主機(jī)H1首先將本子網(wǎng)(子網(wǎng)1)的子網(wǎng)掩碼和目的IP地址進(jìn)行逐位相與運(yùn)算宿稀,得到一個(gè)網(wǎng)絡(luò)地址,如果得到的網(wǎng)絡(luò)地址與子網(wǎng)1的網(wǎng)絡(luò)地址128.30.33.0相同赖捌,那么就說(shuō)明主機(jī)H2也連接在子網(wǎng)1上祝沸,那么進(jìn)行直接交付。在這里子網(wǎng)掩碼255.255.255.128與目的IP地址128.30.33.138相與后得到128.30.33.128與子網(wǎng)1的網(wǎng)絡(luò)地址128.30.33.0不一致越庇,說(shuō)明主機(jī)H2沒(méi)有連接在子網(wǎng)1上罩锐,接著用路由表的第二行進(jìn)行對(duì)比,再進(jìn)行同樣的操作悦荒。最后可以得到主機(jī)H2在子網(wǎng)2上唯欣。因此嘹吨,查看路由表可以知道下一跳為接口1搬味,接著分組就從路由器R1的接口1被轉(zhuǎn)發(fā)出去到子網(wǎng)2。如果蟀拷,目的主機(jī)在其他的子網(wǎng)上碰纬,再根據(jù)特定路由或者默認(rèn)路由轉(zhuǎn)發(fā)到下一個(gè)路由器上,再進(jìn)行分組判斷问芬。

3.無(wú)分類編址CIDR(構(gòu)造超網(wǎng))

1.網(wǎng)絡(luò)前綴
劃分子網(wǎng)雖然在一定程度上解決了困難悦析,但是并沒(méi)有從根本上解決,仍然有幾個(gè)問(wèn)題:

  • B類地址1994年3月已經(jīng)被分配完了
  • 互聯(lián)網(wǎng)主干網(wǎng)上的路由表中的項(xiàng)目數(shù)急劇增長(zhǎng)(幾萬(wàn)個(gè))
  • 整個(gè)IPv4的地址空間最終將被全部耗盡

2.CIDR的特點(diǎn)
CIDR是在變長(zhǎng)子網(wǎng)掩碼(VLSM)的基礎(chǔ)上進(jìn)一步提出的此衅,它的全稱為無(wú)分類域間選擇(CIDR)强戴。
主要特點(diǎn):

  • CIDR消除了傳統(tǒng)A類,B類挡鞍,C類地址以及劃分子網(wǎng)的概念骑歹,因此可以更加有效地分配IPv4的地址空間。
  • CIDR使用各種長(zhǎng)度的"網(wǎng)絡(luò)前綴"來(lái)代替分類地址中的網(wǎng)絡(luò)號(hào)和子網(wǎng)號(hào)墨微。相當(dāng)于又從三級(jí)地址(使用子網(wǎng)掩碼)變回了兩級(jí)地址(網(wǎng)絡(luò)前綴和主機(jī)號(hào))道媚。

無(wú)分類的兩級(jí)編址

如上圖,CIDR和之前最開(kāi)始講的二級(jí)地址(網(wǎng)絡(luò)號(hào)和主機(jī)號(hào))其實(shí)是等價(jià)的翘县。8位的網(wǎng)絡(luò)前綴就對(duì)應(yīng)于A類地址中8位網(wǎng)絡(luò)號(hào)最域,同樣的16位,24位的網(wǎng)絡(luò)前綴對(duì)應(yīng)于B類和C類地址锈麸。圖中的220.78.168.0/24并不是指一個(gè)IP地址镀脂,而是一群IP地址,我們把它叫做地址塊忘伞。如下圖:
CIDR地址塊

被稱為地址塊有兩個(gè)前提:網(wǎng)絡(luò)前綴必須相同薄翅;IP地址必須是連續(xù)的钞馁。地址塊中的地址數(shù)實(shí)際上就是主機(jī)數(shù)。例如128.14.32.0/20匿刮,一共有212個(gè)地址僧凰,而C類地址的主機(jī)號(hào)有8位,那么**這樣的一個(gè)地址塊**就相當(dāng)于2(12/8)=16個(gè)C類地址熟丸。由128.14.32.0/20可得128.14這16位是網(wǎng)絡(luò)前綴训措,但是因?yàn)榫W(wǎng)絡(luò)前綴有20位,所以32.0光羞,這16位中前4位屬于網(wǎng)絡(luò)前綴绩鸣,即0010 0000 0000 0000前4位0010屬于網(wǎng)絡(luò)前綴,不屬于主機(jī)號(hào)纱兑。所以最小地址就是后面12位全0的地址128.14.32.0呀闻,最大地址就是后面12位全1的地址128.14.47.255。之前說(shuō)這樣的一個(gè)地址塊相當(dāng)于16個(gè)C類地址潜慎,其實(shí)就是128.14.32.0-128.14.32.255捡多,128.14.33.0-128.14.33.255,....一直到128.14.47.0-128.14.47.255铐炫。47-32+1=16垒手。其實(shí)最小地址就是網(wǎng)絡(luò)地址,最大地址就是廣播地址倒信。

3.路由聚合

路由聚合

原本在路由表中需要存放16個(gè)C類網(wǎng)絡(luò)地址科贬,現(xiàn)在可以用一個(gè)148.14.32.0/20來(lái)代替,這樣可以大大減少路由表的存儲(chǔ)空間鳖悠,同時(shí)也能縮短檢索路由表的時(shí)間榜掌。CIDR地址塊也有掩碼(不叫子網(wǎng)掩碼)網(wǎng)絡(luò)前綴部分對(duì)應(yīng)全1乘综,主機(jī)號(hào)對(duì)應(yīng)全0憎账。

4.CIDR記法的其它形式

CIDR記法的其它形式

常用的CIDR地址塊

表中的點(diǎn)分十進(jìn)制實(shí)際上就是掩碼。由表中數(shù)據(jù)可以得出瘾带,CIDR前綴長(zhǎng)度越長(zhǎng)鼠哥,包含的二級(jí)網(wǎng)絡(luò)地址數(shù)越少。/24剛好包含1個(gè)C類地址看政。即CIDR前綴長(zhǎng)度不超過(guò)23位的都包含了多個(gè)C類地址朴恳,這些C類地址合起來(lái)就構(gòu)成了超網(wǎng)。并且允蚣,CIDR地址塊中的地址數(shù)一定是2的整數(shù)次冪于颖,因此可以得出:CIDR也存在著IP地址的浪費(fèi),只不過(guò)浪費(fèi)的程度稍微好一點(diǎn)而已嚷兔。例如某個(gè)單位需要50個(gè)IP地址森渐,25<50<26做入,所以還是要分配2的6次,也有一小部分的浪費(fèi)同衣。

5.CIDR地址塊劃分

CIDR地址塊劃分舉例

如上圖竟块,一個(gè)ISP向互聯(lián)網(wǎng)申請(qǐng)了一個(gè)地址塊206.0.64.0/18,某個(gè)大學(xué)又向ISP申請(qǐng)了一個(gè)地址塊206.0.68.0/22耐齐,在這個(gè)大學(xué)里面有4個(gè)系浪秘,一系400臺(tái)主機(jī),二系200臺(tái)主機(jī)埠况,三系和四系各100臺(tái)主機(jī)耸携。一般按照地址數(shù)遞減的順序分配IP地址,即地址數(shù)較少的放在后面分配辕翰。206.0.38.0/22相當(dāng)于4個(gè)C類地址夺衍,206.0.68.0/24-206.0.68.255/24206.0.69.0/24-206.0.69.0/24喜命,......70,71沟沙。首先看一系,28<400<29渊抄,所以至少要給一系分配2^9=512個(gè)地址尝胆,也就是9位主機(jī)號(hào)丧裁,即23位網(wǎng)絡(luò)前綴护桦,所以我們把206.0.68.0/24-206.0.68.255/24206.0.69.0/24-206.0.69.255/24這兩個(gè)C類地址分配給一系。同時(shí)此時(shí)也存在著IP地址的浪費(fèi)煎娇,因?yàn)楫吘?12>400(在碰到其他主機(jī)數(shù)時(shí)記得考慮有兩個(gè)IP地址不能用)二庵。同樣的,給二系分配的地址缓呛,主機(jī)號(hào)至少8位催享,即24位網(wǎng)絡(luò)前綴,所以我們把206.0.70.0/24-206.0.70.255/24分配給二系哟绊。同理因妙,把206.0.71.0/25-206.0.71.127/25這128個(gè)地址分配給三系,把206.0.71.128/25-206.0.71.255/25分配給四系票髓。
再假設(shè)一系二系三系四系各100臺(tái)主機(jī)攀涵。因?yàn)?6<100<27,即主機(jī)號(hào)7位洽沟,網(wǎng)絡(luò)前綴25位以故。一共需要4塊100個(gè)地址,所以把206.0.68.0/24分為206.0.68.0/25-206.0.68.127/25206.0.68.128/25-206.0.68.255/25這兩個(gè)裆操。把206.0.69.0/24分為206.0.69.0/25-206.0.69.127/25206.0.69.128/25-206.0.69.255/25這兩個(gè)怒详。一共4個(gè)128位的地址分別給四個(gè)系的主機(jī)炉媒。

6.最長(zhǎng)前綴匹配

  • 使用CIDR時(shí),路由表中的每個(gè)項(xiàng)目由網(wǎng)絡(luò)前綴下一跳地址組成昆烁,在查找路由表的時(shí)候可能得到不止一個(gè)結(jié)果吊骤。
  • 應(yīng)該從匹配結(jié)果中選擇具有最長(zhǎng)網(wǎng)絡(luò)前綴的路由,因?yàn)榫W(wǎng)絡(luò)前綴越長(zhǎng)静尼,其地址塊也就是主機(jī)號(hào)越少水援,路由就越具體。
  • 最長(zhǎng)前綴匹配又叫最長(zhǎng)匹配最佳匹配

最長(zhǎng)前綴匹配舉例1

最長(zhǎng)前綴匹配舉例2

最長(zhǎng)前綴匹配結(jié)果

其實(shí)這就跟送快遞一樣茅郎,地址填的越詳細(xì)蜗元,快遞到達(dá)的就更準(zhǔn)確不會(huì)出錯(cuò)。在之前講到的特定主機(jī)路由系冗,它的優(yōu)先級(jí)最高奕扣,因?yàn)?strong>它的前綴(255.255.255.255)是最長(zhǎng)的(它的送貨地址時(shí)最詳細(xì)的)。

7.使用二叉線索查找路由
在上面講到的最長(zhǎng)匹配結(jié)果掌敬,我們?cè)谄ヅ涞臅r(shí)候?yàn)榱巳娌贿z漏惯豆,只能采用窮舉的方法來(lái)一個(gè)一個(gè)的匹配看是否有多個(gè)匹配結(jié)果以及最長(zhǎng)匹配結(jié)果是哪個(gè),這樣耗費(fèi)的時(shí)間會(huì)很長(zhǎng)奔害。

  • 當(dāng)路由表項(xiàng)目數(shù)很大時(shí)楷兽,怎么樣設(shè)法減小路由表的查找時(shí)間就成為一個(gè)非常重要的問(wèn)題。
  • 為了進(jìn)行更加有效的查找华临,通常將路由表存放在一種有層次的數(shù)據(jù)結(jié)構(gòu)中芯杀,然后自上而下地進(jìn)行查找。最常用的就是二叉線索雅潭。

用5個(gè)前綴構(gòu)成的二叉線索

唯一前綴不需要等長(zhǎng)揭厚,但是必須要區(qū)分每一個(gè)不同的IP地址,不能存在相同的唯一前綴扶供。

4.網(wǎng)際控制報(bào)文協(xié)議ICMP

1.ICMP報(bào)文的種類

  • 在網(wǎng)絡(luò)層已經(jīng)有IP協(xié)議的基礎(chǔ)之上筛圆,為了更有效地轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào)提高交付成功的機(jī)會(huì)(因?yàn)榫W(wǎng)絡(luò)層的數(shù)據(jù)報(bào)服務(wù)不提供可靠交付,只提供盡最大努力的交付)椿浓,在網(wǎng)絡(luò)層使用了網(wǎng)際控制報(bào)文協(xié)議ICMP太援。
  • ICMP是互聯(lián)網(wǎng)的標(biāo)準(zhǔn)協(xié)議
  • ICMP允許主機(jī)或路由器報(bào)告差錯(cuò)情況和提供有關(guān)異常情況的報(bào)告扳碍,但是這個(gè)報(bào)告只能向源主機(jī)報(bào)告提岔。
  • ICMP不是高層協(xié)議,因?yàn)樗茄b在IP數(shù)據(jù)報(bào)中左腔,作為其中的數(shù)據(jù)部分的唧垦。是IP層的協(xié)議。

1.ICMP報(bào)文的格式

ICMP報(bào)文

前4個(gè)字節(jié)(類型液样,代碼振亮,檢驗(yàn)和)每個(gè)ICMP報(bào)文都是一樣的巧还。類型字段指出ICMP報(bào)文是什么類型的報(bào)文,ICMP報(bào)告差錯(cuò)是什么類型的差錯(cuò)(目的不可達(dá)...)坊秸。代碼字段指出出現(xiàn)差錯(cuò)的具體原因(鏈路斷開(kāi)麸祷,路由器故障,路由器緩存超出)或者可以說(shuō)類型字段指出大類別褒搔,代碼字段指出具體小類別阶牍。

2.ICMP報(bào)文的種類

  • ICMP報(bào)文的種類有兩種,即ICMP差錯(cuò)報(bào)告報(bào)文ICMP詢問(wèn)報(bào)文星瘾。

ICMP差錯(cuò)報(bào)告報(bào)文有四種:

  • 終點(diǎn)不可達(dá)(3)
  • 時(shí)間超過(guò)(11):IP數(shù)據(jù)報(bào)首部的TTL字段減為零
  • 參數(shù)問(wèn)題(12):分組首部的字段取值有差錯(cuò)
  • 改變路由(重定向)(Redirect)(5)

3.改變路由(重定向)(Redirect)
在非特定的情況下走孽,當(dāng)路由器檢測(cè)到一臺(tái)機(jī)器使用非優(yōu)化路由時(shí),也就是沒(méi)有使用推薦的最佳路由琳状。當(dāng)路由器接收到經(jīng)非優(yōu)化路由傳輸過(guò)來(lái)的分組時(shí)磕瓷,它會(huì)做兩件事,第一它會(huì)發(fā)送一個(gè)ICMP重定向報(bào)文給源主機(jī)念逞,請(qǐng)求主機(jī)改變路由困食。第二它會(huì)把分組轉(zhuǎn)發(fā)給目的地。

非優(yōu)化路由

如上圖翎承,主機(jī)H1向主機(jī)H2發(fā)送分組硕盹,因?yàn)?strong>H1的默認(rèn)網(wǎng)關(guān)為路由器R1的接口,因此在發(fā)送過(guò)程中的路徑為:H1-R1-R2-R4-H2這就是一條非優(yōu)化路由叨咖,因?yàn)橐婚_(kāi)始進(jìn)入路由器R1到出來(lái)瘩例,都是同一個(gè)接口,相當(dāng)于在這里走了"回頭路"芒澜,而另外一條路徑H1-R2-R4-H2才是優(yōu)化路由仰剿。所以挎春,當(dāng)路由器R1接收到主機(jī)H1發(fā)送過(guò)來(lái)的分組之后辣垒,就會(huì)和上面說(shuō)的一樣它會(huì)發(fā)送一個(gè)ICMP重定向報(bào)文給源主機(jī)H1衷掷,告訴H1你剛才發(fā)送的這條不是優(yōu)化路由,真正的優(yōu)化路由應(yīng)該是直接發(fā)送給路由器R2誊酌。同時(shí),它還會(huì)把分組轉(zhuǎn)發(fā)給路由器R2露乏。主機(jī)H1收到ICMP報(bào)文之后會(huì)修改對(duì)應(yīng)的路由碧浊,那么經(jīng)過(guò)這一次發(fā)送之后,下一次的發(fā)送就會(huì)直接使用優(yōu)化路由瘟仿。這就是重定向箱锐。
如何判斷非優(yōu)化路由:1.源主機(jī)發(fā)送數(shù)據(jù)給路由器的入端口和出端口相同(即上圖中的情況)。2.數(shù)據(jù)報(bào)的源IP和轉(zhuǎn)發(fā)的下一跳的IP屬于同一個(gè)網(wǎng)絡(luò)(在上圖中劳较,路由器R1接收到數(shù)據(jù)報(bào)時(shí)驹止,源IP即為主機(jī)H1的IP10.1.1.3浩聋,對(duì)R1來(lái)說(shuō)下一跳是R2,IP為10.1.1.2它們屬于同一個(gè)網(wǎng)絡(luò)臊恋,即說(shuō)明可以直接一步轉(zhuǎn)發(fā))衣洁。

4.ICMP報(bào)文的數(shù)據(jù)部分

ICMP報(bào)文的數(shù)據(jù)部分

5.不發(fā)送ICMP差錯(cuò)報(bào)告的幾種情況

  • 對(duì)lCMP差錯(cuò)報(bào)告報(bào)文不再發(fā)送CMP差錯(cuò)報(bào)告報(bào)文。
  • 對(duì)第一個(gè)分片的數(shù)據(jù)報(bào)片的所有后續(xù)數(shù)據(jù)報(bào)片都不發(fā)送LCMP差錯(cuò)報(bào)告報(bào)文
  • 對(duì)具有多播地址的數(shù)據(jù)報(bào)都不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文抖仅。
  • 對(duì)具有特殊地址(如127.0.0.0或000.0)的數(shù)據(jù)報(bào)不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文坊夫。

6.ICMP詢問(wèn)報(bào)文
ICMP詢問(wèn)報(bào)文有兩種:(請(qǐng)求和回答報(bào)文配合使用)

  • 回送請(qǐng)求和回答報(bào)文
  • 時(shí)間戳請(qǐng)求和回答報(bào)文

2.ICMP的應(yīng)用舉例

1.PING

  • PING用來(lái)測(cè)試兩個(gè)主機(jī)之間的連通性(主機(jī)與路由器,路由器之間)撤卢。
  • PING使用了ICMP會(huì)送請(qǐng)求與回送回答報(bào)文环凿。

2.Traceroute

  • 操作命令是tracert,用來(lái)跟蹤一個(gè)分組從源點(diǎn)到終點(diǎn)的路徑放吩。
  • 他利用IP數(shù)據(jù)報(bào)中的TTL字段ICMP時(shí)間超過(guò)差錯(cuò)報(bào)告實(shí)現(xiàn)對(duì)路徑的跟蹤拷邢。

例如現(xiàn)在有這樣一個(gè)線路:H1-R1-R2-R3-H2,現(xiàn)在要想知道發(fā)送過(guò)程中經(jīng)過(guò)的第一個(gè)路由器R1的地址屎慢,可以由主機(jī)H1向主機(jī)H2發(fā)送一個(gè)分組瞭稼,且分組的IP數(shù)據(jù)報(bào)的TTL字段為1,當(dāng)發(fā)送到R1時(shí)腻惠,TTL-1=0环肘,因此R1會(huì)發(fā)送一個(gè)時(shí)間超過(guò)差錯(cuò)報(bào)告給H1,這樣H1就能夠知道R1的IP地址了集灌。然后悔雹,再次設(shè)置TTL字段為2,同理就可以知道R2的IP地址了欣喧。

5.互聯(lián)網(wǎng)的路由選擇協(xié)議

1.有關(guān)路由選擇協(xié)議的幾個(gè)基本概念

1.理想的路由算法

  • 算法必須是正確的腌零,完整的。
  • 算法在計(jì)算上應(yīng)該簡(jiǎn)單唆阿。
  • 算法能適應(yīng)通信量和網(wǎng)絡(luò)拓?fù)涞淖兓娼В簿褪且?strong>自適應(yīng)性。
  • 算法應(yīng)該具有穩(wěn)定性驯鳖。
  • 算法應(yīng)該是公平的闲询。

2.最佳路由

  • 不存在一種絕對(duì)的最佳路由算法,所謂的最佳就是相對(duì)于某一種特定的要求*下比較合理的選擇浅辙。
  • 實(shí)際的路由選擇算法扭弧,應(yīng)該盡可能的接近理想算法
  • 路由選擇是一個(gè)非常復(fù)雜的問(wèn)題记舆,它必須要考慮到網(wǎng)絡(luò)中的所有結(jié)點(diǎn)鸽捻,它是網(wǎng)絡(luò)中所有結(jié)點(diǎn)共同協(xié)調(diào)工作的結(jié)果。而且,路由選擇的環(huán)境往往是不斷變化的

3.從路由算法的自適應(yīng)性考慮

  • 靜態(tài)路由選擇策略——即非自適應(yīng)路由選擇御蒲,簡(jiǎn)單開(kāi)銷小衣赶,不能及時(shí)適應(yīng)網(wǎng)絡(luò)變化。
  • 動(dòng)態(tài)路由選擇策略——即自適應(yīng)路由選擇删咱,實(shí)現(xiàn)復(fù)雜開(kāi)銷大屑埋,能很好地適應(yīng)網(wǎng)絡(luò)變化。

4.分層次的路由選擇協(xié)議
互聯(lián)網(wǎng)采用的是分層次的路由選擇協(xié)議痰滋。這是因?yàn)榛ヂ?lián)網(wǎng)的規(guī)模非常大摘能,如果讓每個(gè)路由器都知道所有網(wǎng)絡(luò)的下一跳地址,那么這個(gè)路由表就會(huì)非常大敲街。處理時(shí)間會(huì)很長(zhǎng)团搞,彼此交換路由信息時(shí)帶寬也會(huì)很大。另外多艇,許多單位不想透露自己?jiǎn)挝坏木W(wǎng)絡(luò)布局逻恐,安全性不夠。

5.自治系統(tǒng)AS
所謂的自治系統(tǒng)AS峻黍,就是一組路由器复隆,這組的路由器都采用相同的路由選擇協(xié)議和路由選擇的依據(jù)

自治系統(tǒng)AS

如上圖姆涩,如果路由選擇協(xié)議是在自治系統(tǒng)內(nèi)部使用的挽拂,那么就叫做內(nèi)部網(wǎng)關(guān)協(xié)議,如果是在自治系統(tǒng)之間使用的骨饿,那就叫做外部網(wǎng)關(guān)協(xié)議亏栈。因此,互聯(lián)網(wǎng)有兩大類路由選擇協(xié)議:內(nèi)部網(wǎng)關(guān)協(xié)議IGP(使用最多宏赘,如RIP和OSPF)外部網(wǎng)關(guān)協(xié)議EGP(使用最多的是BGP-4)绒北。不同的自治系統(tǒng)可以使用不同的內(nèi)部網(wǎng)關(guān)協(xié)議

內(nèi)部和外部網(wǎng)關(guān)協(xié)議

2.內(nèi)部網(wǎng)關(guān)協(xié)議RIP

1.工作原理

  • 路由信息協(xié)議RIP是內(nèi)部網(wǎng)關(guān)協(xié)議IGP最先得到廣泛使用的協(xié)議察署。
  • RIP是一種分布式的闷游,基于距離向量的路由選擇協(xié)議。分布式就是說(shuō)路由選擇不是由一個(gè)路由器進(jìn)行選擇箕母,而是自治系統(tǒng)中的全部路由器協(xié)調(diào)選擇的結(jié)果储藐。這里的距離就是之前說(shuō)到的路由選擇的依據(jù)

2."距離"的定義

  • 從一個(gè)路由器到直連網(wǎng)絡(luò)的距離定義為1嘶是。
  • 從一個(gè)路由器到非直連網(wǎng)絡(luò)的距離定義為所經(jīng)過(guò)的路由器數(shù)+1
  • RIP協(xié)議中蛛碌,"距離"也稱為"跳數(shù)"聂喇,因?yàn)槊拷?jīng)過(guò)一個(gè)路由器,跳數(shù)就加1。RIP認(rèn)為一個(gè)好的路由就是它通過(guò)的路由器數(shù)目最少希太,即距離短克饶。
  • RIP允許一條路徑最多只能包含15個(gè)路由器,也就是說(shuō)距離的最大值為16時(shí)相當(dāng)于不可達(dá)誊辉,因此RIP只適合小型網(wǎng)絡(luò)矾湃。
  • RIP不能在兩個(gè)網(wǎng)絡(luò)之間同時(shí)使用多條路由。即當(dāng)兩條路徑的距離相同時(shí)堕澄,不能同時(shí)使用邀跃,只能選擇其中的一條(通常選IP地址小的路徑)。RIP會(huì)選擇一個(gè)具有最少路由器的路由(即最短)蛙紫,哪怕還存在另一條高速(低時(shí)延)但路由器較多的路由拍屑。也就是說(shuō)簡(jiǎn)單粗暴RIP只看距離不看帶寬等其它因素坑傅。RIP選擇的路由不一定是最優(yōu)的僵驰,但一定是距離最短的

例如現(xiàn)在有這樣一條線路:N1-R1-N2-R2-N3-R3-N4唁毒,路由器R1到網(wǎng)絡(luò)N1和N2的距離均為1蒜茴,因?yàn)槭侵边B網(wǎng)絡(luò);而路由器R1到網(wǎng)絡(luò)N3的距離就是2浆西。

3.RIP協(xié)議的三個(gè)特點(diǎn)

  1. 僅僅和相鄰的路由器交換信息粉私。Who
  2. 交換信息是當(dāng)前本路由所知道的全部信息,即自己的信息表室谚。What
  3. 按照固定的時(shí)間間隔交換路由信息毡鉴,例如默認(rèn)的時(shí)間間隔為30s。當(dāng)網(wǎng)路拓?fù)浒l(fā)生變化的時(shí)候秒赤,路由器會(huì)及時(shí)地向相鄰的路由器通告拓?fù)渥兓蟮男畔?觸發(fā)更新)猪瞬。When

例如現(xiàn)在有這樣一條線路:H1-N1-R1-N2-R2-N3-R3-N4-H2,那么相鄰的路由器怎么判斷:如果有兩個(gè)路由器各有一個(gè)接口連接在同一個(gè)網(wǎng)絡(luò)上,那么這兩個(gè)路由器就是相鄰的入篮。例如上面例子中R1與R2是相鄰的路由器陈瘦,R2與R3也是相鄰的路由器,R1與R3就不是相鄰的路由器潮售。交換全部信息就等于交換自己的路由表痊项。把路由表封裝成RIP報(bào)文,以RIP報(bào)文的形式交換酥诽。

4.路由表的建立

路由表的建立

5.距離向量算法

距離向量算法

如上圖所示鞍泉,假設(shè)現(xiàn)在有這樣一條線路,N1-R1-N2-R2-N3-R3-N4“拐剩現(xiàn)在路由器R2把自己的路由表以RIP報(bào)文的形式發(fā)送給R1咖驮,其中發(fā)送的報(bào)文(路由表)有三項(xiàng)數(shù)據(jù)边器,目的,下一跳托修,距離忘巧。在R1接收到這個(gè)報(bào)文之后,進(jìn)行上圖中的操作睦刃。操作完之后砚嘴,將修改后的R2的路由表與R1自己的路由表進(jìn)行對(duì)比。首先比較的是目的網(wǎng)絡(luò)涩拙,如果目的網(wǎng)絡(luò)不在路由表當(dāng)中了际长,那么新增一項(xiàng)。如果已經(jīng)在路由表當(dāng)中了吃环,那么開(kāi)始比較下一跳字段也颤,如果下一跳地址相同那么就將收到的項(xiàng)目替換掉原來(lái)路由表中的項(xiàng)目(更新路由表)。如果下一跳地址不同郁轻,那么就比較距離翅娶,如果收到的項(xiàng)目的距離小于路由表中的距離,那么進(jìn)行更新好唯。否則竭沫,什么也不做。概括的來(lái)說(shuō)骑篙,距離向量算法就是:1.接收RIP報(bào)文并修改蜕提;2.RIP報(bào)文每一項(xiàng)和路由表中的每一項(xiàng)進(jìn)行比較;根據(jù)不同的比較結(jié)果做出不同的操作靶端。例如:

距離向量算法舉例

路由表更新

注意:在上圖路由表更新圖中谎势,當(dāng)碰到下一跳地址不同并且距離相同時(shí),如Net8杨名,通常不進(jìn)行改變脏榆。另外,在更新路由的時(shí)候台谍,直連路由基本上不會(huì)變须喂,因?yàn)樗鼈兊?strong>距離一定是最短的。

6.RIP報(bào)文的格式

RIP報(bào)文的格式

命令字段用來(lái)指出RIP報(bào)文的性質(zhì)趁蕊,1代表請(qǐng)求更新報(bào)文坞生;版本字段代表RIP報(bào)文的版本。"必為0"其實(shí)就是填充字段(采用的是零比特填充)掷伙。路由部分就是"路由表信息"是己,可以最多包含25條路由,當(dāng)路由數(shù)超過(guò)25條路由時(shí)任柜,就需要分多個(gè)RIP報(bào)文赃泡。RIP報(bào)文的最大長(zhǎng)度為25×20+4=504字節(jié)寒波。封裝過(guò)程為:將整個(gè)RIP報(bào)文作為UDP用戶數(shù)據(jù)報(bào)的數(shù)據(jù)部分封裝到UDP用戶數(shù)據(jù)報(bào)中乘盼,再將UDP用戶數(shù)據(jù)報(bào)整個(gè)作為IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分封裝到IP數(shù)據(jù)報(bào)中升熊。RIP1版本不支持子網(wǎng)掩碼,而RIP2版本支持子網(wǎng)掩碼绸栅。另外级野,RIP2還具有簡(jiǎn)單的鑒別功能。就是說(shuō)原本兩個(gè)路由器R1R2通過(guò)網(wǎng)絡(luò)N1連接在一起R1-N1-R2粹胯,結(jié)果現(xiàn)在有人把另一個(gè)路由器R3連在了網(wǎng)絡(luò)N1上蓖柔,那么R3就能夠與R1R2交換路由信息結(jié)果就可能導(dǎo)致安全問(wèn)題。因此风纠,鑒別功能就能夠判斷別的路由器是否有不正常的行為信息等况鸣。最常用的鑒別手段就是口令密碼

RIP2的鑒別功能

7.RIP協(xié)議的特點(diǎn)

RIP協(xié)議的優(yōu)缺點(diǎn)

好消息傳播得快竹观,壞消息傳播得慢(路由環(huán)路)镐捧。RIP存在一個(gè)問(wèn)題,當(dāng)網(wǎng)絡(luò)出現(xiàn)故障的時(shí)候臭增,要經(jīng)過(guò)比較長(zhǎng)的時(shí)間(例如數(shù)分鐘)才能將信息傳送到所有的路由器懂酱。
好消息傳播得快,壞消息傳播得慢

如上圖誊抛,當(dāng)網(wǎng)絡(luò)1出現(xiàn)故障時(shí)列牺,R1就會(huì)認(rèn)為網(wǎng)絡(luò)1不可達(dá)即距離為16,因此在R1中的路由信息變?yōu)?code>N1 16 -拗窃,但是R2并不知道網(wǎng)絡(luò)1的故障還是認(rèn)為我要到達(dá)網(wǎng)絡(luò)1通過(guò)R1就行瞎领,如果此時(shí)R2的更新周期到了,R2就會(huì)把自己的路由信息與R1進(jìn)行交換随夸,原本在R2中存儲(chǔ)的路由信息:N1 2 R1在被R1接收到并修改為N1 3 R2之后與自己內(nèi)部的信息N1 16 -進(jìn)行對(duì)比九默,對(duì)比完了之后R1就會(huì)更新為N1 3 R2,R2仍是N1 2 R1逃魄,這樣會(huì)導(dǎo)致信息在路由器R1R2之間不停的轉(zhuǎn)發(fā)(路由環(huán)路)荤西。接著R1的更新周期到了,如此往復(fù)循環(huán)伍俘,距離的值逐漸變大直到變?yōu)?6邪锌,R1R2才知道原來(lái)網(wǎng)絡(luò)N1不可達(dá)了。整個(gè)過(guò)程需要15個(gè)更新周期需要花費(fèi)好幾分鐘癌瘾。當(dāng)然如果還有其他的路由器那么這個(gè)時(shí)間會(huì)更長(zhǎng)觅丰。又如果此時(shí)R1的更新周期先到,那么R2就能第一時(shí)間接收到網(wǎng)絡(luò)N1不可達(dá)的信息妨退,就不會(huì)出現(xiàn)路由環(huán)路的問(wèn)題了妇萄。

為了避免上述的問(wèn)題蜕企,可以采用水平分割:水平分割是一個(gè)規(guī)則,用來(lái)防止路由環(huán)路的產(chǎn)生冠句。它的規(guī)則是:從一個(gè)接口上學(xué)習(xí)到的路由信息轻掩,不再?gòu)倪@個(gè)接口中發(fā)送出去

3.內(nèi)部網(wǎng)關(guān)協(xié)議OSPF

開(kāi)放最短路徑優(yōu)先OSPF協(xié)議是為了克服RIP的缺點(diǎn)在1989年開(kāi)發(fā)出來(lái)的懦底。它的原理很簡(jiǎn)單唇牧,但是實(shí)現(xiàn)起來(lái)很復(fù)雜。
1.OSPF協(xié)議的基本特點(diǎn)

  • 開(kāi)放:公開(kāi)發(fā)表
  • 最短路徑優(yōu)先
  • 采用分布式的鏈路狀態(tài)協(xié)議

2.OSPF協(xié)議的三個(gè)要點(diǎn)(和誰(shuí)發(fā)送信息聚唐,怎么發(fā)送丐重,什么時(shí)候發(fā)送)

OSPF協(xié)議的三個(gè)要點(diǎn)

3.鏈路狀態(tài)數(shù)據(jù)庫(kù)
鏈路狀態(tài)數(shù)據(jù)庫(kù)

例如,現(xiàn)在有這樣的一個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):

網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

對(duì)于路由器A來(lái)說(shuō)杆查,它只知道:B與我相鄰事甜,距離是1缴挖;C與我相鄰闺阱,距離是2焰雕。同樣的對(duì)于B來(lái)說(shuō),它只知道:A與我相鄰烙肺,距離是1纳猪;C與我相鄰,距離是5桃笙。路由器C...路由器D...
也就是說(shuō)每個(gè)路由器初始化時(shí)候的鏈路狀態(tài)數(shù)據(jù)庫(kù)只記錄直連路由器的鏈路狀態(tài)氏堤。假設(shè)現(xiàn)在路由器C向其它三個(gè)相鄰的路由器發(fā)送自己的鏈路狀態(tài)信息,當(dāng)路由器RA接收到路由器C發(fā)來(lái)的信息之后搏明,會(huì)將收到的鏈路狀態(tài)數(shù)據(jù)和自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)進(jìn)行對(duì)比鼠锈,將自己庫(kù)中沒(méi)有的添加進(jìn)來(lái),最終路由器A自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)會(huì)變成:A—B—1星著,A—C—2购笆,C—B—5C—D—3虚循,這樣路由器A就把整個(gè)網(wǎng)絡(luò)拓?fù)渲械逆溌窢顟B(tài)全部包含了同欠,同樣的B也把整個(gè)網(wǎng)絡(luò)拓?fù)渲械逆溌窢顟B(tài)都學(xué)習(xí)到了。對(duì)于其它路由器的學(xué)習(xí)情況也是類似的横缔,不一一舉例了铺遂。再到下一次,路由器A將自己的信息告訴路由器B,C并通過(guò)C告訴D茎刚,此時(shí)襟锐,因?yàn)锽已經(jīng)包含了全部的鏈路狀態(tài),它的鏈路狀態(tài)數(shù)據(jù)庫(kù)不會(huì)再變化膛锭。而C和D就會(huì)繼續(xù)學(xué)習(xí)新的鏈路信息粮坞,最終它們四個(gè)路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)都會(huì)是一模一樣的蚊荣。另外,根據(jù)其中任意一個(gè)路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)都能夠得到對(duì)應(yīng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)莫杈。

4.最短路徑優(yōu)先算法SPF

  • OSPF確保同一區(qū)域內(nèi)所有的路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)保持一致互例。
  • OSPF路由器根據(jù)鏈路狀態(tài)數(shù)據(jù)庫(kù),使用SPF算法計(jì)算出最短路徑生成樹(shù)姓迅,再由最短路徑樹(shù)得出路由表敲霍。
  • 每臺(tái)路由器都有獨(dú)立的拓?fù)湟晥D,因?yàn)樗鼈冊(cè)诘贸鲎疃搪窂缴蓸?shù)時(shí)都把自己作為根結(jié)點(diǎn)丁存。
  • SPF根據(jù)一種開(kāi)銷度量在確定最佳路徑,也就是開(kāi)銷最小的路徑柴我。鏈路的帶寬越高解寝,開(kāi)銷越低
  • 開(kāi)銷(cost)=100000000/鏈路帶寬(bit/s)艘儒。

5.SPF算法思想——三個(gè)步驟

  • 建立鏈路狀態(tài)通告報(bào)文(建立自己的鏈路狀態(tài)數(shù)據(jù)庫(kù))聋伦。
  • 將鏈路狀態(tài)通告報(bào)文泛洪給鄰居(也就是把自己的鏈路狀態(tài)告訴其它的路由器,達(dá)到鏈路狀態(tài)數(shù)據(jù)庫(kù)的同步)界睁。
  • 構(gòu)建路由表觉增。

6.OSPF的區(qū)域

  • 為了使OSPF能夠用于規(guī)模很大的網(wǎng)絡(luò),OSPF將一個(gè)自治系統(tǒng)再劃分為若干個(gè)更小的范圍翻斟,叫做區(qū)域逾礁。
  • 每一個(gè)區(qū)域都有一個(gè)32位的區(qū)域標(biāo)識(shí)符(用點(diǎn)分十進(jìn)制來(lái)表示)
  • 區(qū)域不能太大访惜,在一個(gè)區(qū)域內(nèi)的路由器最好不要超過(guò)200個(gè)嘹履。


    劃分區(qū)域

例如:OSPF劃分為兩種不同的區(qū)域:

OSPF劃分區(qū)域

主干區(qū)域的標(biāo)識(shí)符固定的為:0.0.0.0。主干區(qū)域的特殊之處在于它是該自治系統(tǒng)用來(lái)連通到其它自治系統(tǒng)的债热。只有在同一區(qū)域內(nèi)的路由器才進(jìn)行鏈路狀態(tài)信息交換砾嫉,不同區(qū)域的路由器不交換,這樣大大減少了鏈路狀態(tài)交換的量窒篱,但是這樣的做法最終形成的鏈路狀態(tài)數(shù)據(jù)庫(kù)僅僅是某個(gè)區(qū)域內(nèi)部的鏈路狀態(tài)數(shù)據(jù)庫(kù)焕刮。位于主干區(qū)域內(nèi)部的路由器叫做主干路由器,例如圖中的R3-7都是主干路由器墙杯,其中的R3,R4,R7又比較特殊配并,例如在除了主干區(qū)域的其它三個(gè)區(qū)域內(nèi)的路由器R1R2R8R9,它們的兩個(gè)或是三個(gè)接口都連接在同一個(gè)區(qū)域內(nèi)霍转,而對(duì)于R3R4R7來(lái)說(shuō)荐绝,它們的兩個(gè)或三個(gè)接口并不是連接在同一個(gè)區(qū)域內(nèi),這樣的路由器叫做區(qū)域邊界路由器避消。在主干區(qū)域中還有一個(gè)路由器更加特殊R6低滩,因?yàn)樗囊粋€(gè)接口連接著其它自治系統(tǒng)召夹,這樣的路由器叫做自治系統(tǒng)邊界路由器

7.OSPF直接用IP數(shù)據(jù)報(bào)發(fā)送

  • OSPF不用UDP而是直接用IP數(shù)據(jù)報(bào)傳送(區(qū)別于RIP協(xié)議通過(guò)UDP,IP兩層封裝來(lái)傳輸恕沫,即OSPF分組直接將自己作為IP分組的數(shù)據(jù)部分傳輸)监憎。
  • OSPF構(gòu)成的數(shù)據(jù)報(bào)很短,這樣做可以減少路由信息的通信量婶溯。
  • 數(shù)據(jù)報(bào)很短的另一好處是可以不必將唱的數(shù)據(jù)報(bào)分片發(fā)送鲸阔。

8.OSPF的其它特點(diǎn)

OSPF的其它特點(diǎn)

OSPF的其它特點(diǎn)

9.OSPF分組

OSPF分組

版本字段:目前版本2;類型字段:指出OSPF分組的數(shù)據(jù)部分?jǐn)y帶的是哪種類型的OSPF迄委;分組長(zhǎng)度:指出整個(gè)OSPF分組的長(zhǎng)度褐筛;路由器標(biāo)識(shí)符字段:指出發(fā)送OSPF分組的路由器接口的IP地址;區(qū)域標(biāo)識(shí)符子段:指出OSPF分組所在的區(qū)域的標(biāo)識(shí)符叙身;檢驗(yàn)和字段:用來(lái)進(jìn)行差錯(cuò)檢測(cè)渔扎;鑒別類型字段:0-不鑒別,1-口令鑒別信轿,口令放在最后的8個(gè)字節(jié)中晃痴。

10.OSPF的五種分組類型

OSPF的五種分組類型

Hello分組用來(lái)確認(rèn)彼此是否正常工作,是否可達(dá)财忽。它還用來(lái)確認(rèn)兩個(gè)路由器之間誰(shuí)是主路由器誰(shuí)是副路由器(也就是誰(shuí)先發(fā)送數(shù)據(jù)誰(shuí)后發(fā)送)倘核。數(shù)據(jù)庫(kù)描述分組用來(lái)告訴其他路由器自己包含的全部鏈路狀態(tài)信息有哪些,但是它就相當(dāng)于是一本書的目錄即彪,要想知道詳細(xì)的信息還需要再次發(fā)送請(qǐng)求分組紧唱。這五種類型的分組是相互合作工作的,來(lái)達(dá)到數(shù)據(jù)庫(kù)鏈路狀態(tài)信息同步的目的祖凫。

OSPF的基本操作

具體過(guò)程還是拿這個(gè)中的路由器A和B來(lái)舉例兩個(gè)路由器之間怎么實(shí)現(xiàn)鏈路狀態(tài)的更新
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

初始化時(shí)琼蚯,路由器A,B的鏈路狀態(tài)信息表中都只有兩個(gè)相鄰路由器的鏈路信息,首先它們通過(guò)Hello分組建立聯(lián)系確保對(duì)方是可達(dá)的惠况,接著雙方互相發(fā)送鏈路狀態(tài)數(shù)據(jù)庫(kù)描述分組遭庶,B接收到A發(fā)送來(lái)的分組之后,將它與自己的信息進(jìn)行對(duì)比稠屠,結(jié)果發(fā)現(xiàn)路由器A與C的鏈路狀態(tài)信息自己是沒(méi)有的于是B又向A發(fā)送一個(gè)鏈路狀態(tài)請(qǐng)求分組峦睡,告訴路由器A,你把A與C的鏈路信息發(fā)給我权埠,然后A向全網(wǎng)發(fā)送一個(gè)鏈路狀態(tài)更新分組榨了,把A與C的具體鏈路信息告訴B,B收到并學(xué)習(xí)到新的鏈路狀態(tài)之后還需要發(fā)送一個(gè)鏈路狀態(tài)確認(rèn)分組攘蔽,以此來(lái)保證可靠性龙屉。

11.OSPF使用可靠的洪泛法發(fā)送更新分組

洪泛法

12.指定路由器
指定的路由器

例如在一個(gè)區(qū)域內(nèi)有5臺(tái)路由器,彼此相互交換的話需要10次,當(dāng)路由器數(shù)量一多交換次數(shù)就會(huì)變得很大转捕,為了避免這種情況作岖,在區(qū)域內(nèi)通過(guò)一些復(fù)雜的算法選舉出一個(gè)代表,讓它與其它的每個(gè)路由器進(jìn)行信息交換五芝,從而大大減少了交換次數(shù)痘儡。

4.外部網(wǎng)關(guān)協(xié)議BGP

BGP是不同自治系統(tǒng)的路由器之間交換路由信息的協(xié)議。
1.BGP使用環(huán)境不同

BGP使用環(huán)境不同

每個(gè)自治系統(tǒng)內(nèi)部有可能采用不同的協(xié)議枢步,那么在A自治系統(tǒng)中的某條路由有可能到了B就會(huì)變成一條不可用路由或者性能差的路由沉删。不同的自治系統(tǒng)就好比不同的部落,比方說(shuō)你一個(gè)很高的人到了A部落會(huì)被當(dāng)做神人醉途,因?yàn)樗鼈冏迦似毡榘臃澹钱?dāng)你到了B部落之后,發(fā)現(xiàn)他們把高的人當(dāng)做敵人结蟋,那你就慘了脯倚。所謂的交換可達(dá)性信息,就是某個(gè)自治系統(tǒng)告訴另一個(gè)自治系統(tǒng)嵌屎,你發(fā)送的信息通過(guò)我可以達(dá)到某個(gè)網(wǎng)絡(luò)。為了避免兜圈子恍涂,在一條路由中同一個(gè)自治系統(tǒng)不能出現(xiàn)兩次宝惰。

2.BGP發(fā)言人

BGP發(fā)言人

3.BGP交換路由信息
BGP交換路由信息

4.BGP發(fā)言人和自治系統(tǒng)AS的關(guān)系
BGP發(fā)言人和自治系統(tǒng)AS的關(guān)系

BGP發(fā)言人一般是自治系統(tǒng)邊界路由器,但也有可能不是再沧。并且尼夺,在一個(gè)自治系統(tǒng)中BGP發(fā)言人不一定只有一個(gè),例如上圖中的AS1炒瘸,AS3都有兩個(gè)BGP發(fā)言人淤堵。另外,假設(shè)在自治系統(tǒng)AS2中有一個(gè)網(wǎng)絡(luò)N1顷扩,那么當(dāng)AS2與AS1進(jìn)行路由信息交換時(shí)拐邪,AS2的BGP發(fā)言人就會(huì)告訴AS1的BGP發(fā)言人,你如果要想到達(dá)網(wǎng)絡(luò)N1隘截,你可以通過(guò)我AS2扎阶,同樣的自治系統(tǒng)AS3也會(huì)收到這樣的信息。但同時(shí)婶芭,AS1的BGP發(fā)言人在接收到信息后還會(huì)轉(zhuǎn)發(fā)信息給AS3东臀,當(dāng)然信息內(nèi)容就會(huì)變成:你如果要想到達(dá)網(wǎng)絡(luò)N1,你可以通過(guò)我AS1再通過(guò)AS2到達(dá)網(wǎng)絡(luò)N1犀农。這樣一來(lái)惰赋,自治系統(tǒng)AS3的BGP發(fā)言人一共收到兩條路由信息,然后它再根據(jù)自身內(nèi)部使用的協(xié)議選擇一條最適合的路由呵哨。BGP所交換的網(wǎng)路可達(dá)性信息就是要到達(dá)某個(gè)網(wǎng)絡(luò)所要經(jīng)過(guò)的一系列AS赁濒。

5.BGP發(fā)言人交換路徑向量

BGP發(fā)言人交換路徑向量

與上面的過(guò)程類似轨奄,當(dāng)自治系統(tǒng)AS2給主干網(wǎng)發(fā)送完消息之后,主干網(wǎng)還會(huì)把這個(gè)信息再次發(fā)送給AS2和AS3流部。

6.BGP協(xié)議的特點(diǎn)

  • BGP協(xié)議交換路由信息的結(jié)點(diǎn)數(shù)量是自治系統(tǒng)級(jí)的戚绕,也就是說(shuō)一個(gè)自治系統(tǒng)中它的BGP發(fā)言人的數(shù)量是有限的,要比這些自治系統(tǒng)中的網(wǎng)絡(luò)數(shù)少很多枝冀。
  • 每一個(gè)自治系統(tǒng)中BGP發(fā)言人(或邊界路由器)的數(shù)目是很少的舞丛,這樣使得自治系統(tǒng)之間的路由選擇不會(huì)太復(fù)雜
  • BGP支持CIDR果漾,因此BGP的路由表也就應(yīng)當(dāng)包括目的網(wǎng)絡(luò)前綴球切,下一跳路由器,以及到達(dá)該目的網(wǎng)絡(luò)所要經(jīng)過(guò)的各個(gè)自治系統(tǒng)的序列绒障。
  • 在BGP剛剛運(yùn)行時(shí)吨凑,BGP的鄰站是交換整個(gè)BGP路由表。但是以后只需要在發(fā)生變化的時(shí)候更新有變化的部分户辱。這樣做對(duì)節(jié)省網(wǎng)絡(luò)帶寬和減少路由器的處理開(kāi)銷都有好處鸵钝。

7.BGP-4共使用四種報(bào)文

BGP的四種報(bào)文

open報(bào)文僅僅是一方發(fā)送給另一方請(qǐng)求建立關(guān)系,但是另一方也有可能不接受(有可能自身已經(jīng)負(fù)載過(guò)多)庐镐。如果另一方接受了請(qǐng)求恩商,它就要發(fā)送一個(gè)響應(yīng)報(bào)文(keepalive報(bào)文)給發(fā)送方,這個(gè)響應(yīng)報(bào)文有兩種作用必逆,第一是確認(rèn)同意響應(yīng)怠堪;第二就是這兩個(gè)站要定期地互相發(fā)送keepalive報(bào)文確保對(duì)方是正常工作的。當(dāng)路由表發(fā)生更新之后名眉,就會(huì)發(fā)送更新報(bào)文粟矿,注意一個(gè)更新報(bào)文只能新增一條路由,但是能夠撤銷多條路由损拢。

8.BGP報(bào)文的封裝形式

BGP報(bào)文的封裝形式

BGP報(bào)文的通用首部中陌粹,共19個(gè)字節(jié),前16個(gè)字節(jié)是標(biāo)記字段探橱,用來(lái)鑒別BGP報(bào)文申屹,如果不需要鑒別全部取1就行了;長(zhǎng)度字段用來(lái)指出整個(gè)BGP報(bào)文的長(zhǎng)度(19-4096字節(jié))隧膏,也就是說(shuō)BGP報(bào)文可以沒(méi)有主體部分哗讥,其中keepalive報(bào)文就是沒(méi)有主體部分的報(bào)文;類型字段用來(lái)指出BGP報(bào)文的類型胞枕。

5.路由器的構(gòu)成

  • 路由器是一種典型的網(wǎng)絡(luò)層設(shè)備杆煞。
  • 路由器時(shí)互聯(lián)網(wǎng)中的關(guān)鍵設(shè)備。
  • 路由器的主要作用是:互連網(wǎng)絡(luò)路由選擇决乎。

1.路由器的結(jié)構(gòu)

路由器的結(jié)構(gòu)

2.典型的路由器的結(jié)構(gòu)
整個(gè)路由器結(jié)構(gòu)可劃分為兩大部分:

  • 路由選擇部分(控制部分)
  • 分組轉(zhuǎn)發(fā)部分

路由選擇部分的核心構(gòu)件是路由選擇處理機(jī)队询。路由選擇機(jī)的任務(wù)就是根據(jù)路由選擇協(xié)議構(gòu)造路由表交換路由信息构诚,不斷地更新和維護(hù)路由表蚌斩。
分組轉(zhuǎn)發(fā)部分由三部分組成:交換結(jié)構(gòu)(交換組織);輸入端口范嘱;輸出端口送膳。交換結(jié)構(gòu)的作用就是根據(jù)轉(zhuǎn)發(fā)表對(duì)分組進(jìn)行處理。
3.轉(zhuǎn)發(fā)和路由選擇的區(qū)別

  • 轉(zhuǎn)發(fā)就是路由器根據(jù)轉(zhuǎn)發(fā)表將用戶的IP數(shù)據(jù)報(bào)從適合的端口轉(zhuǎn)發(fā)出去丑蛤。
  • 路由選擇則是按照分布式算法(需要網(wǎng)絡(luò)上全部的路由器共同參與叠聋,相互協(xié)作),根據(jù)從各相鄰路由器得到的關(guān)于網(wǎng)絡(luò)拓?fù)涞淖兓闆r受裹,動(dòng)態(tài)地改變所選擇的路由碌补。
  • 路由表是根據(jù)路由算法得出的,而轉(zhuǎn)發(fā)表是根據(jù)本路由表得出的棉饶。

6.IPv6

  • IP是互聯(lián)網(wǎng)的核心協(xié)議厦章。
  • 到2011.2,IPv4的32位地址已經(jīng)耗盡照藻。
  • ISP已經(jīng)不能再申請(qǐng)到新的IP地址塊了闷袒。
  • 解決IP地址耗盡的根本措施就是采用具有更大地址空間的新版本IP,即IPv6岩梳。

另外:

  • IPv6仍支持無(wú)連接的傳送,但將協(xié)議數(shù)據(jù)單元PDU稱為分組晃择。
  • IPv6所引進(jìn)的變化主要有:
    更大的地址空間:IPv6將地址從32位增加到了128位冀值。
    擴(kuò)展的地址層次結(jié)構(gòu)
    靈活的首部格式:IPv6定義了許多可選的擴(kuò)展首部宫屠。
    改進(jìn)的選項(xiàng):IPv6允許數(shù)據(jù)報(bào)中包含有選項(xiàng)的控制信息列疗,其選項(xiàng)放在有效載荷中。
    允許協(xié)議繼續(xù)擴(kuò)充
    支持即插即用(即自動(dòng)配置)浪蹂,因此IPv6不需要使用DHCP抵栈。
    支持資源的預(yù)分配:IPv6支持實(shí)時(shí)視像等要求,保證一定的帶寬和時(shí)延的應(yīng)用坤次。
    IPv6首部改為8字節(jié)對(duì)齊古劲,首部長(zhǎng)度必須是8字節(jié)的整數(shù)倍。原來(lái)的IPv4首部是4字節(jié)對(duì)齊缰猴。

IPv6數(shù)據(jù)報(bào)的一般形式:

  • IPv6數(shù)據(jù)報(bào)由兩大部分組成:
    基本首部
    有效載荷产艾。有效載荷也被稱為凈負(fù)荷,有效載荷允許有零個(gè)或多個(gè)擴(kuò)展首部,再后面是數(shù)據(jù)部分闷堡。
具有多個(gè)可選擴(kuò)展首部的IPv6數(shù)據(jù)報(bào)的一般格式

1.IPv6的基本首部

IPv6數(shù)據(jù)報(bào)的基本首部

IPv6的基本首部

版本字段:4位隘膘,指明了協(xié)議的版本,對(duì)于IPv6來(lái)說(shuō)總是6杠览;通信量類字段:8位弯菊,為了區(qū)分不同的IPv6數(shù)據(jù)報(bào)的類別或優(yōu)先級(jí);流標(biāo)號(hào):20位踱阿,所有屬于同一個(gè)數(shù)據(jù)流的流標(biāo)號(hào)都相同管钳;有效載荷長(zhǎng)度:16位,它指明IPv6數(shù)據(jù)報(bào)除基本首部外以外的字節(jié)數(shù)(所有的擴(kuò)展首部包含在里面)扫茅,最大值為64KB蹋嵌;下一個(gè)首部字段:8位,相當(dāng)于IPv4的協(xié)議字段或可選字段葫隙;跳數(shù)限制字段:8位栽烂,相當(dāng)于TTL字段;

IPv6的擴(kuò)展首部
IPv6把原來(lái)IPv4首部中選項(xiàng)的功能都放在了擴(kuò)展首部中恋脚,并將擴(kuò)展首部留給路徑兩端的源站和目的站的主機(jī)來(lái)處理腺办。途中經(jīng)過(guò)的路由器都不處理這些擴(kuò)展首部(只有一個(gè)逐跳選項(xiàng)擴(kuò)展首部除外),這樣就大大提高了路由器的處理效率糟描。(逐跳選項(xiàng)擴(kuò)展首部嚴(yán)格規(guī)定了傳輸途中經(jīng)過(guò)的一系列路由器的順序)怀喉。另外,擴(kuò)展首部是按照下面的次序來(lái)進(jìn)行排列的船响。

六種擴(kuò)展首部

分片
當(dāng)IP分組長(zhǎng)度太長(zhǎng)時(shí)澡谭,需要對(duì)IP分組進(jìn)行分片崭歧,這里的分片和之前說(shuō)過(guò)的類似,要解決三個(gè)問(wèn)題:怎么判斷來(lái)自于同一個(gè)分組的切片;怎么判是否是最后一個(gè)切片缸兔;怎么判斷切片在原分組中的位置子刮。并且也有偏移量肛著,標(biāo)識(shí)符和M這三個(gè)字段游两,用來(lái)將各切片重新恢復(fù)成原來(lái)的分組。

2.IPv6的地址

IPv6的地址

1.結(jié)點(diǎn)與接口
結(jié)點(diǎn)與接口

2.冒號(hào)十六進(jìn)制記法
冒號(hào)十六進(jìn)制記法

3.為了更加方便史侣,還引入了零壓縮
零壓縮

4.點(diǎn)分十進(jìn)制記法的后綴
點(diǎn)分十進(jìn)制記法的后綴

5.IPv6地址分類
IPv6地址分類

  • 未指明地址:16字節(jié)全地址拴泌,直接縮寫為::,這類地址只能為還沒(méi)有配置到一個(gè)標(biāo)準(zhǔn)IP地址的主機(jī)當(dāng)做源地址使用惊橱。這類地址僅此一個(gè)蚪腐。
  • 環(huán)回地址:即0:0:0:0:0:0:0:1(記為::1),作用和IPv4的環(huán)回地址一樣李皇,也是僅此一個(gè)削茁。
  • 多播地址:功能和IPv4的一樣宙枷,這類地址占IPv6地址總數(shù)的1/256。
  • 本地鏈路單播地址:用于一個(gè)單位內(nèi)部的通信茧跋,無(wú)法與互聯(lián)網(wǎng)上的其它主機(jī)進(jìn)行通信慰丛。在互聯(lián)網(wǎng)上如果發(fā)現(xiàn)目的地址是本地鏈路單播地址,一律不轉(zhuǎn)發(fā)瘾杭。
  • 全球單播地址
    全球單播地址

3.從IPv4向IPv6過(guò)渡

從IPv4向IPv6過(guò)渡

1.雙協(xié)議棧
雙協(xié)議棧

2.隧道技術(shù)(封裝技術(shù))
隧道技術(shù)

4.ICMPv6

IPv6也不保證數(shù)據(jù)報(bào)的可靠交付诅病,因?yàn)榛ヂ?lián)網(wǎng)中的路由器可能會(huì)丟棄數(shù)據(jù)報(bào)。因此IPv6也需要使用ICMP來(lái)反饋一些差錯(cuò)信息粥烁。新的版本稱為ICMPv6贤笆。

ICMPv6

ICMPv6報(bào)文

7.IP 多播。

8.虛擬專用網(wǎng)VPN和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT

1.虛擬專用網(wǎng)VPN

虛擬專用網(wǎng)VPN

1.本地地址與全球地址

  • 本地地址——僅在機(jī)構(gòu)內(nèi)部使用的IP地址讨阻,可以由本機(jī)構(gòu)自行分配芥永,不需要向互聯(lián)網(wǎng)的管理機(jī)構(gòu)申請(qǐng)。
  • 全球地址——全球唯一的IP地址钝吮,必須向互聯(lián)網(wǎng)的管理機(jī)構(gòu)申請(qǐng)埋涧。

但是這樣存在一個(gè)問(wèn)題就是在內(nèi)部使用的地址可能和互聯(lián)網(wǎng)中的某個(gè)IP地址重合,這樣就會(huì)出現(xiàn)地址的二義性問(wèn)題奇瘦。
解決辦法就是:RFC 1918指明了一些專用地址棘催。專用地址只能作為本地地址而不能作為全球地址。在互聯(lián)網(wǎng)中的所有路由器耳标,對(duì)目的地址是專用地址的數(shù)據(jù)報(bào)一律不進(jìn)行轉(zhuǎn)發(fā)醇坝。
RFC 1918指明的專用地址

RFC 1918指明的專用地址

2.專用網(wǎng)
采用這樣的專用IP地址的互連網(wǎng)絡(luò)稱為專用互聯(lián)網(wǎng)本地互聯(lián)網(wǎng),或者就叫做專用網(wǎng)次坡。另外呼猪,在不同的網(wǎng)絡(luò)中,專用地址是可以重用的砸琅,因此也叫做可重用地址郑叠。
3.虛擬專用網(wǎng)VPN
虛擬專用網(wǎng)VPN

虛擬專用網(wǎng)VPN的構(gòu)建

4.用隧道技術(shù)實(shí)現(xiàn)虛擬專用網(wǎng)
用隧道技術(shù)實(shí)現(xiàn)虛擬專用網(wǎng)

如上圖,部門A與部門B屬于同一個(gè)機(jī)構(gòu)明棍,X和Y分別是兩個(gè)部門中的一臺(tái)主機(jī),X和Y的IP地址均是專用地址寇僧,因此X給Y發(fā)送的數(shù)據(jù)報(bào)是無(wú)法通過(guò)互聯(lián)網(wǎng)進(jìn)行轉(zhuǎn)發(fā)的(互聯(lián)網(wǎng)對(duì)目的地址是專用地址的數(shù)據(jù)報(bào)一律不進(jìn)行轉(zhuǎn)發(fā))摊腋,同樣的Y要給X發(fā)送消息也是不行的。要想傳輸就要將專用地址(本地地址)轉(zhuǎn)化為全球地址嘁傀,每個(gè)部門和互聯(lián)網(wǎng)都連接有一個(gè)路由器兴蒸,如上圖的R1R2,這兩個(gè)路由器的兩個(gè)接口一個(gè)連接著本地網(wǎng)絡(luò)(該接口使用本地地址)细办,一個(gè)連接著互聯(lián)網(wǎng)(該接口使用全球地址)橙凳。將本地地址轉(zhuǎn)化為全球地址就是在原來(lái)數(shù)據(jù)報(bào)的基礎(chǔ)上重新進(jìn)行封裝蕾殴,再加上新的一個(gè)數(shù)據(jù)報(bào)首部,在這個(gè)數(shù)據(jù)報(bào)首部中岛啸,將源地址和目的地址都轉(zhuǎn)化成全球地址(在上圖中國(guó)就是將源地址本地地址10.1.0.1轉(zhuǎn)化成125.1.2.3钓觉,目的地址從10.2.0.3轉(zhuǎn)化成194.4.5.6)。另外坚踩,為了保證安全性荡灾,還要對(duì)數(shù)據(jù)報(bào)進(jìn)行加密。

5.內(nèi)聯(lián)網(wǎng)和外聯(lián)網(wǎng)

內(nèi)聯(lián)網(wǎng)和外聯(lián)網(wǎng)

6.遠(yuǎn)程接入VPN
這其實(shí)就是在家里登錄上校園網(wǎng)中的教務(wù)管理系統(tǒng)瞬铸。
遠(yuǎn)程接入VPN

2.網(wǎng)絡(luò)地址轉(zhuǎn)換NAT

1.網(wǎng)絡(luò)地址轉(zhuǎn)換的過(guò)程

網(wǎng)絡(luò)地址轉(zhuǎn)換的過(guò)程

現(xiàn)在以主機(jī)A向主機(jī)B發(fā)送分組為例批幌,由于主機(jī)A的地址是專用地址,并且A是源地址嗓节,因此主機(jī)A向主機(jī)B發(fā)送的數(shù)據(jù)能夠順利地通過(guò)互聯(lián)網(wǎng)到達(dá)B荧缘。如果反過(guò)來(lái),主機(jī)B向主機(jī)A發(fā)送分組拦宣,因?yàn)檫@個(gè)數(shù)據(jù)的目的地址為A截粗,屬于專用地址,因此互聯(lián)網(wǎng)不會(huì)轉(zhuǎn)發(fā)分組恢着。這樣的單向通信是毫無(wú)意義的桐愉,因此需要將A的專用地址轉(zhuǎn)化成全球地址。這時(shí)候就需要在路由器上運(yùn)行NAT軟件掰派,來(lái)將本地專用地址轉(zhuǎn)化成全球地址从诲。路由器連接互聯(lián)網(wǎng)的一端有一個(gè)全球地址。當(dāng)主機(jī)A向主機(jī)B發(fā)送分組時(shí)靡羡,NAT軟件就會(huì)對(duì)分組中的源IP地址(主機(jī)A的地址)進(jìn)行轉(zhuǎn)換系洛,因?yàn)楫?dāng)B返回一個(gè)響應(yīng)時(shí),源IP地址就會(huì)變成目的IP地址略步。當(dāng)主機(jī)B返回的響應(yīng)到達(dá)路由器是描扯,路由器收到的是全球IP地址,需要將它轉(zhuǎn)變成本地地址再發(fā)送給目的主機(jī)A趟薄。綜上所述绽诚,對(duì)路由器來(lái)說(shuō),"出(本地—互聯(lián)網(wǎng))"的時(shí)候轉(zhuǎn)化的是源IP地址并且是將本地地址轉(zhuǎn)化成全球地址杭煎,"入(互聯(lián)網(wǎng)—本地)"的時(shí)候轉(zhuǎn)化的是目的IP地址并且是將全球地址轉(zhuǎn)化成本地地址恩够。如下圖:

NAT路由器上的兩次地址轉(zhuǎn)換

2.網(wǎng)絡(luò)地址與端口號(hào)轉(zhuǎn)換NAPT
當(dāng)NAT路由器具有n個(gè)全球IP地址時(shí),專用網(wǎng)最多可以同時(shí)又n臺(tái)主機(jī)接入到互聯(lián)網(wǎng)羡铲,如果主機(jī)數(shù)過(guò)多蜂桶,采用輪流使用全球IP地址的方式。但是這樣的方式在實(shí)際中顯然不夠好也切,因此提出了是否可以將一個(gè)全球IP地址給全部主機(jī)使用扑媚?有腰湾!方法就是網(wǎng)絡(luò)地址與端口號(hào)轉(zhuǎn)換NAPT

網(wǎng)絡(luò)地址與端口號(hào)轉(zhuǎn)換NAPT

還是拿這張圖來(lái)舉例:
網(wǎng)絡(luò)地址轉(zhuǎn)換的過(guò)程

假如現(xiàn)在在主機(jī)A的網(wǎng)絡(luò)中還有若干臺(tái)主機(jī),它們的IP地址分別是192.168.0.4疆股,192.168.0.5费坊,192.168.0.6,...這些主機(jī)都能夠用同一個(gè)全球IP地址172.38.1.5押桃,但是這樣又會(huì)帶來(lái)一個(gè)新的問(wèn)題葵萎,那就是當(dāng)B返回一個(gè)相應(yīng)時(shí),到達(dá)NAT路由器之后不知道該將全球地址轉(zhuǎn)化成哪個(gè)本地地址唱凯,到底是192.168.0.3羡忘,192.168.0.4192.168.0.5還是192.168.0.6磕昼,因此就需要在網(wǎng)絡(luò)地址轉(zhuǎn)換的基礎(chǔ)上再加一個(gè)端口轉(zhuǎn)換卷雕。通過(guò)端口號(hào)來(lái)區(qū)別到底是發(fā)送給哪臺(tái)主機(jī)的分組,如下圖:

NAPT地址轉(zhuǎn)換表

9.多協(xié)議標(biāo)記交換MPLS

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末票从,一起剝皮案震驚了整個(gè)濱河市漫雕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌峰鄙,老刑警劉巖浸间,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異吟榴,居然都是意外死亡魁蒜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門吩翻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)兜看,“玉大人,你說(shuō)我怎么就攤上這事狭瞎∠敢疲” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵熊锭,是天一觀的道長(zhǎng)弧轧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)碗殷,這世上最難降的妖魔是什么劣针? 我笑而不...
    開(kāi)封第一講書人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮亿扁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸟廓。我一直安慰自己从祝,他們只是感情好襟己,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著牍陌,像睡著了一般擎浴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上毒涧,一...
    開(kāi)封第一講書人閱讀 52,584評(píng)論 1 312
  • 那天贮预,我揣著相機(jī)與錄音,去河邊找鬼契讲。 笑死仿吞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的捡偏。 我是一名探鬼主播唤冈,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼银伟!你這毒婦竟也來(lái)了你虹?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤彤避,失蹤者是張志新(化名)和其女友劉穎傅物,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體琉预,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡董饰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了模孩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尖阔。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖榨咐,靈堂內(nèi)的尸體忽然破棺而出介却,到底是詐尸還是另有隱情,我是刑警寧澤块茁,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布齿坷,位于F島的核電站,受9級(jí)特大地震影響数焊,放射性物質(zhì)發(fā)生泄漏永淌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一佩耳、第九天 我趴在偏房一處隱蔽的房頂上張望遂蛀。 院中可真熱鬧,春花似錦干厚、人聲如沸李滴。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)所坯。三九已至谆扎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芹助,已是汗流浹背堂湖。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留状土,地道東北人无蜂。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像声诸,于是被迫代替她去往敵國(guó)和親酱讶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361