解析無線網(wǎng)絡(luò)技術(shù)
網(wǎng)絡(luò)就像一個(gè)王國,這個(gè)王國可以分成b幾個(gè)區(qū)(area),現(xiàn)在我們來看看區(qū)域內(nèi)的某一個(gè)人(你所在的機(jī)器root)是怎樣得到一張世界地圖(routing table)的。
首先,你得跟你周圍的人(同一網(wǎng)段如129.102)建立基本聯(lián)系。你大叫一聲“我在這!”(發(fā)HELLO報(bào)文),于是,周圍的人知道你的存在,他們也會(huì)大叫,這樣你知道周圍大概有哪些人,你與他們之間建立了鄰居(neighbor)關(guān)系,當(dāng)然,他們之間也有鄰居關(guān)系。
在你們這一群人中,最有威望(Priority優(yōu)先級(jí))的人會(huì)被推薦為首領(lǐng)(Designated Router)首領(lǐng)與你之間是上下級(jí)關(guān)系(adjacency鄰接),它會(huì)與你建立單線聯(lián)系,而不許你與其它鄰居有過多交往,他會(huì)說:“那樣做的話,街上太擠了”。
你只好通過首領(lǐng)來知道更多的消息了,首先,你們繼續(xù)訪問 取消訪問互通消息,他告訴你他知道的所有地圖的地名,你也會(huì)告訴他你現(xiàn)知道的地名,當(dāng)然上也許只有你一個(gè)點(diǎn)。(Database Description數(shù)據(jù)庫描述報(bào)文)
你發(fā)現(xiàn)地名表中有你缺少的或比你新的東西,你會(huì)問他要一份更詳細(xì)的資料,他發(fā)現(xiàn)你的地名表中有他需要的東西,他也會(huì)向你索求新資料。(Link State Request連接狀態(tài)請(qǐng)求報(bào)文)
當(dāng)然,你們毫不猶豫地將一份詳細(xì)資料發(fā)送給對(duì)方。(Link State Update連接狀態(tài)升級(jí)報(bào)文)
收到地圖后,互相致謝表示收到了。(Link State Ack連接狀態(tài)響應(yīng)報(bào)文)現(xiàn)在,你已經(jīng)盡你所能得到一份地圖(Link State DataBase連接狀態(tài)數(shù)據(jù)庫),你去查找地圖把到所有地方的路挑一條最近(shortest path最短路)的,記為一張表格(routing table路由表),當(dāng)然以后查這份表格就知道到目的地的一條最近的路了。地圖也要收好,萬一表格上的某條路不通了可以通過圖去找一條新的路。
其實(shí)跟你有聯(lián)系的,只是周圍一群人,外面的消息要通過首領(lǐng)來知道。因?yàn)槟愕牡貓D是跟首領(lǐng)的一致,我們假設(shè)你是首領(lǐng),你要去畫一份世界地圖。
你命令所有手下向你通報(bào)消息,你可以知道你這一群人的任何一點(diǎn)點(diǎn)小動(dòng)靜(event事件)。你手下還會(huì)有同時(shí)屬于兩群人的家伙(同一區(qū)內(nèi)兩網(wǎng)段),他會(huì)告訴你另一群人的地圖,當(dāng)然也會(huì)把你們這一群人的地圖泄露,(不過,無所謂啦)。這樣,整個(gè)區(qū)的地圖你知道了(對(duì)于不知道的那也沒辦法,我們盡力了)。
通過不停地交換地圖,現(xiàn)在,整個(gè)區(qū)的人都有同樣的地圖了,住在區(qū)邊境上的人義不容辭地把這個(gè)區(qū)的地圖(精確到每一群人)發(fā)送到別的區(qū),把別的區(qū)信息發(fā)送進(jìn)來。國王會(huì)把這些邊境的人命名為骨干(backbone area)。通過骨干人士的不懈努力,現(xiàn)在,整個(gè)國家的地圖你都了解得一清二楚了。
有些人“里通外國”(AS Boundary Router自治系統(tǒng)邊界,他們知道一些“出國”(AS External route自治系統(tǒng)外部路由)的路,當(dāng)然他們會(huì)把這些秘密公之與眾(import 引入),通過信息的傳遞,現(xiàn)在,你已經(jīng)有一張完整的“世界地圖”了。
OSPF是這樣標(biāo)記最短的路的:對(duì)于某個(gè)目的地,首先,考慮是否有同一區(qū)內(nèi)部到目的地的路(intra area區(qū)域內(nèi)),如果有,則在其中取一條離你最近的(花費(fèi)最?。?,寫進(jìn)你的表格中,這個(gè)目的地可能是到本群體某個(gè)人也可能是到其他群體的,對(duì)于經(jīng)過其他區(qū)域的路由,你會(huì)不予考慮,跟自己人(同區(qū)域)打交道總比與外人(其他區(qū)域)打交道好;如果沒有本區(qū)的路,你只好通過別的區(qū)域了(區(qū)域間),你只要在地圖上找最近的就是了;如果你發(fā)現(xiàn)目的地在國外,你也只能先把它標(biāo)記到你的表格上,期待什么時(shí)候王國擴(kuò)張到那,你就可以把它標(biāo)記到國內(nèi)地圖上了。
OSPF就是這樣,給你一份“世界地圖”,并且在上面標(biāo)記了最短的路,如此而已罷了。
1.2. 背景介紹
TCP/IP協(xié)議中,尋找一臺(tái)計(jì)算機(jī)到另一臺(tái)計(jì)算機(jī)的路由是很重要的.
1.要判斷是否能找到路
2.找到路后找一條短的路(花費(fèi)時(shí)間最小)
3.在找路時(shí)不能循環(huán)
4.最好還應(yīng)該能動(dòng)態(tài)處理路由變化,如:接口的UP或DOWN,時(shí)間花費(fèi)的變化,
IETF(Internet Engineering Task Force)于1988年提出的OSPF是一個(gè)基于鏈路狀態(tài)的動(dòng)態(tài)路由協(xié)議,
思路如下:在自治系統(tǒng)中每一臺(tái)運(yùn)行OSPF的由器收集各自的接口/鄰接信息稱為鏈路狀態(tài),通過Flooding算法在整個(gè)系統(tǒng)廣播自己的鏈路狀態(tài),使得在整個(gè)系統(tǒng)內(nèi)部維護(hù)一個(gè)同步的鏈路狀態(tài)數(shù)據(jù)庫,根據(jù)這一數(shù)據(jù)庫,路由器計(jì)算出以自己為根,其它網(wǎng)絡(luò)節(jié)點(diǎn)為葉的一根最短的路徑樹,從而計(jì)算出自己到達(dá)系統(tǒng)內(nèi)部可達(dá)的最佳路由]。
OSPF是一類Interior Gateway Protocol(內(nèi)部網(wǎng)關(guān)協(xié)議IGP),它處理在一個(gè)自治系統(tǒng)中,路由器的網(wǎng)絡(luò)的路由表信息。
1.3. 術(shù)語和基本概念
OSPF路由協(xié)議術(shù)語:
OSPF路由協(xié)議:Open Shortest Path First 最短路徑優(yōu)先協(xié)議
路由器(router):第三層的IP包交換機(jī),以前在IP文獻(xiàn)中也叫做網(wǎng)關(guān)
自治系統(tǒng)(autonomy system):一群路由器通過相同的路由協(xié)議來交換路由信息,
縮寫為AS區(qū)域(area):自治系統(tǒng)的劃分單元,一個(gè)自治系統(tǒng)可以劃分為多個(gè)區(qū)域.
區(qū)域 ID(area ID):自治系統(tǒng)內(nèi)區(qū)域的32-bit標(biāo)識(shí)
內(nèi)部網(wǎng)關(guān)協(xié)議(internal gateway protocol):屬于一個(gè)自治系統(tǒng)的路由器上運(yùn)行的路
由協(xié)議,縮寫為IGP,每一個(gè)自治系統(tǒng)有一個(gè)單獨(dú)的IGP,不同的自治系統(tǒng)可能
運(yùn)行不同的IGP。OSPF是內(nèi)部網(wǎng)關(guān)協(xié)議的一種
路由器的ID(router ID):一個(gè)32位的標(biāo)號(hào)對(duì)每個(gè)運(yùn)行OSPF的路由器,在自治系
唯一的網(wǎng)絡(luò)(network):在這種意義下,是IP網(wǎng)絡(luò)/子網(wǎng)/超網(wǎng),可能是標(biāo)記了多重復(fù)合IP
地址的子網(wǎng),我們把它們看成是分離的網(wǎng)絡(luò),點(diǎn)到點(diǎn)的物理網(wǎng)絡(luò)是個(gè)特例,它們
只是被當(dāng)作簡單的網(wǎng),不管對(duì)它們?cè)鯓又付↖P號(hào)。
網(wǎng)絡(luò)掩碼(network mask):一個(gè)32位的數(shù)指示IP網(wǎng)絡(luò)的IP地址范圍,以十六進(jìn)
制數(shù)顯示,例如一個(gè)C類網(wǎng)的掩碼是0xfffff00,在文字上寫成255.255.255.0。
點(diǎn)到點(diǎn)網(wǎng)絡(luò)(point to point network):由一對(duì)路由器簡單組成的網(wǎng)絡(luò),例如一個(gè)
56Kb的串口線的連接
廣播網(wǎng):網(wǎng)絡(luò)支持許多(兩個(gè)以上)的路由器。都有能力將地址信息發(fā)送到所有連
接的路由器上(廣播)鄰居路由器被OSPF的hello協(xié)議動(dòng)態(tài)地發(fā)現(xiàn),OSPF使這種
廣播能力能得到更大的應(yīng)用,如果它存在,它上的每一對(duì)路由器都假定能和對(duì)方
直接相連,以太網(wǎng)是一個(gè)廣播網(wǎng)的例子。
非廣播網(wǎng):網(wǎng)絡(luò)支持許多(兩個(gè)以上)路由器,但沒有廣播能力,鄰結(jié)點(diǎn)也是通過OSPF hello報(bào)文來維持,但是由于設(shè)有廣播能力一些鄰居需要靠配置來發(fā)現(xiàn),在鄰居間,OSPF協(xié)議報(bào)文也是互相傳送的,X.25網(wǎng)是一個(gè)例子。
OSPF可以在兩種非廣播網(wǎng)上運(yùn)行,一種是非廣播多重訪問,(NBMA)它類似于OSPF在廣播網(wǎng)上的操作,第二種類型叫點(diǎn)到多點(diǎn),可看為多個(gè)點(diǎn)到點(diǎn)的連接的集合。非廣播網(wǎng)類型的判別依靠于對(duì)網(wǎng)絡(luò)的操作模式。
接口(interface):一個(gè)路由器與它連接的一個(gè)網(wǎng)絡(luò) 的連接稱為接口,一個(gè)接口有它的狀態(tài)信息,可以通過底層協(xié)議或是路由協(xié)議本身來得到。每個(gè)接口有一個(gè)唯一一個(gè)IP地址和掩碼(除非是不標(biāo)號(hào)的點(diǎn)到點(diǎn)連接),一個(gè)接口有時(shí)也指一個(gè)連接。
鄰居路由器(neighbor):兩臺(tái)路由器有接口連向共同的網(wǎng)絡(luò),鄰居關(guān)系通過OSPF hello協(xié)議被維持(通常是動(dòng)態(tài)的)。
鄰接(adjacency):為交換路由而在鄰居間建立的關(guān)系,不是每對(duì)鄰居都成都為鄰接的。
連接狀態(tài)傳送(Link State Advertise):描述本地路由器或網(wǎng)絡(luò)的數(shù)據(jù)單元 對(duì)路由器來說,它描述了路由器的接口狀態(tài)和鄰接狀態(tài),第一個(gè)連接狀態(tài)傳送會(huì)發(fā)送到整個(gè)路由領(lǐng)域,所有的連接狀態(tài)傳送組成了協(xié)議的連接狀態(tài)數(shù)據(jù)庫,這在全局范圍內(nèi)使用,縮寫為LSA
連接狀態(tài)數(shù)據(jù)庫(Link State DataBase):所有連接狀態(tài)傳送組成了連接狀態(tài)數(shù)據(jù)庫.
Stub網(wǎng)絡(luò):只有一個(gè)接口與外部相連的網(wǎng)絡(luò),如一個(gè)PPP可視為一個(gè)stub網(wǎng)絡(luò)
骨干區(qū)域(Backbone Area):所有區(qū)域邊界路由器和它們之間的路由組成骨干區(qū)域.
自治系統(tǒng)外部路由(AS external route):指由非OSPF協(xié)議得到的路由,如BGP(邊界網(wǎng)關(guān)協(xié)議),RIP(Routing Information Protocol),系統(tǒng)的靜態(tài)配置路由等,系統(tǒng)的靜態(tài)路由是由配置得
評(píng)論