• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      OSPF鄰接關(guān)系建立過程分析與研究

      2015-04-29 00:44:03張洋王淑娟白艷宇
      計算機時代 2015年12期

      張洋 王淑娟 白艷宇

      摘 要: 在大中型網(wǎng)絡(luò)的部署中,OSPF協(xié)議常作為首選路由協(xié)議。在實際網(wǎng)絡(luò)環(huán)境中,經(jīng)常會遇到OSPF鄰接關(guān)系無法建立,導(dǎo)致路由條目學(xué)習(xí)不到的情況。鄰接關(guān)系的建立是OSPF路由協(xié)議最基本的內(nèi)容,如果連鄰接關(guān)系都建立不起來,就無從談LSDB和路由表的建立和維護了。鑒于OSPF鄰接關(guān)系建立的重要性,詳細介紹了OSPF鄰接關(guān)系建立的過程,旨在為無法建立鄰接關(guān)系時提供技術(shù)支持。

      關(guān)鍵詞: OSPF; Hello包; 鄰接關(guān)系; LSA; DBD報文

      中圖分類號:TP393 文獻標志碼:A 文章編號:1006-8228(2015)12-06-04

      Analysis and research on the establishment of OSPF adjacency relationship

      Zhang Yang, Wang Shujuan, Bai Yanyu

      (Xuchang Prison, Xuchang, Henan 461000, China)

      Abstract: In the deployment of large and medium sized networks, OSPF protocol can be used as the preferred routing protocol. In the actual network environment, if the OSPF adjacency relationship can't be established, the route item cannot be learnt from the other routers. The establishment of the adjacency relationship is the basic content of OSPF routing protocol. If the OSPF adjacency relationship can't be established, it is impossible to discuss the establishment and maintenance of LSDB and routing tables. In view of the importance of establishing the OSPF adjacency relationship, this paper introduces the process of establishing the OSPF adjacency relationship, which aims to provide technical support for the establishment of the adjacency relationship.

      Key words: OSPF; Hello packet; adjacency relationship; LSA; DBD packet

      0 引言

      OSPF(Open Shortes Path First)開放式最短路徑優(yōu)先協(xié)議,是所有廠商都支持的鏈路狀態(tài)路由選擇協(xié)議,應(yīng)用非常廣泛,適應(yīng)各種規(guī)模的網(wǎng)絡(luò)。OSPF協(xié)議中鏈路(Link)是指路由器的接口特征,狀態(tài)(State)是指路由器與其鄰居路由器之間的關(guān)系。Link-State描述了整個OSPF網(wǎng)絡(luò)的拓撲結(jié)構(gòu),對路由處理更加準確和快速,且不會產(chǎn)生環(huán)路。OSPF路由協(xié)議在對路由處理時,首先需要每個路由器都知道自己的鄰居是誰,其次要知道自己的本區(qū)域內(nèi)有哪些路由器,最后還需要通過SPF算法對鏈路狀態(tài)數(shù)據(jù)庫中拓撲結(jié)構(gòu)進行計算,得到其到達目的網(wǎng)絡(luò)的最佳路由。

      在運行OSPF協(xié)議的路由器中都有三張表,分別是鄰居表(Neighbor Table)、鏈路狀態(tài)數(shù)據(jù)庫表(Link-State DataBase,LSDB)、路由表(Routing Table)。鄰居表中記錄著所有已經(jīng)和建立雙向鄰居關(guān)系的路由器信息;鏈路狀態(tài)數(shù)據(jù)庫表中記錄著網(wǎng)絡(luò)中所有其他路由器的信息,列出網(wǎng)絡(luò)的拓撲結(jié)構(gòu);路由表中存放的是使用SPF算法算出到每個目的網(wǎng)絡(luò)的最短路徑。

      1 OSPF的報文類型

      為了交換鏈路狀態(tài)信息以及路由信息,OSPF路由器之間要先建立鄰接關(guān)系。在建立鄰接關(guān)系時,會涉及以下五種報文類型。

      1.1 HELLO報文(Hello Packet)

      HELLO報文主要用于建立和維護OSPF鄰接關(guān)系。路由器周期性的使用組播地址224.0.0.5發(fā)送Hello包給鄰居路由器。

      1.2 DBD報文(Database Description Packet)

      DBD是鏈路狀態(tài)數(shù)據(jù)庫描述信息,有時也可簡寫為DD,描述LSDB中的LSA頭部信息。

      相鄰路由器之間相互發(fā)送DBD報文,報告對方自己所擁有的路由信息內(nèi)容,包括LSDB中每一條LSA摘要。摘要是指LSA的頭部。這樣做是為了減少路由器之間傳遞信息的量,因為LSA的頭部信息只占一條LSA整個數(shù)據(jù)量一小部分,根據(jù)LSA頭部信息,對方路由器就可以判斷出是否已經(jīng)有了這條LSA。

      1.3 LSR報文(Link-State Request Packet)

      LSR報文用于鏈路狀態(tài)請求,向OSPF鄰居請求鏈路狀態(tài)信息。

      兩臺路由器之間互相交換DBD報文后,知道對方路由器有哪些LSA是本地LSDB所缺少的或者對方更新的LSA,這時需要發(fā)送LSR報文向?qū)Ψ秸埱笮枰腖SA,報文內(nèi)容主要是需要的LSA摘要信息。

      1.4 LSU報文(Link-State Update Packet)

      LSU報文主要是鏈路狀態(tài)更新的內(nèi)容,用于向?qū)Ψ铰酚善靼l(fā)送所需要的LSA,內(nèi)容可以是一條或多條LSA。

      1.5 LSAck報文(Link-State Acknowledgment Packet)

      LSAck報文主要用于對LSU進行確認。

      由于OSPF不是使用可靠的TCP協(xié)議,但OSPF包又要求可靠的傳輸,所以就有了LSAck包,它是用于來對接收到的LSU報文進行確認,內(nèi)容是需要確認的LSA的頭部信息。

      2 OSPF鄰接關(guān)系建立的過程

      以路由器A(Router ID為192.168.1.1)和路由器B(Router ID為192.168.1.2)之間建立鄰接關(guān)系的過程為例,如圖1,共經(jīng)歷12個過程交互,來介紹OSPF鄰接關(guān)系所經(jīng)歷的狀態(tài)。首先需要說明OSPF鄰接關(guān)系狀態(tài)是有立足點的,是指立足于本路由器上看到對方的狀態(tài),并不是兩臺路由器之間處于什么狀態(tài)。

      2.1 Down狀態(tài)

      初始狀態(tài)下,路由器AB的接口激活后處于Down狀態(tài),沒有發(fā)現(xiàn)任何鄰居,但都有意愿發(fā)起尋找鄰居建立鄰居關(guān)系,所以就會在以組播的形式發(fā)送Hello包。Hello包中,有一個Active Neighbor字段,用來存儲已經(jīng)發(fā)現(xiàn)的鄰居,Down狀態(tài)下該字段不存在。

      2.2 Init(初始化)狀態(tài)

      圖1中第1個過程是由路由器A通過組播地址224.0.0.5發(fā)送Hello包,Hello包中Active Neighbor字段為空。路由器B收到該Hello包就表明有OSPF鄰居嘗試和自己建立鄰居關(guān)系,所以路由器B把路由器A置為Init狀態(tài),也就是在路由器B上看到路由器A的狀態(tài)是初始化狀態(tài)。之后路由器B將路由器A的Router ID存儲在自己將要發(fā)送的Hello包的Active Neighbor字段中。

      圖2 Init狀態(tài)下的Hello包

      2.3 Two-Way狀態(tài)

      第2個過程,因為路由器B已經(jīng)發(fā)現(xiàn)了路由器A,路由器B就將路由器A的Router ID存儲在自己Hello包的Active Neighbor字段中,并將含有鄰居信息的Hello包發(fā)送給路由器A。路由器A收到路由器B的Hello包,會發(fā)現(xiàn)對方的Hello包中Active Neighbor字段就是自己的Router ID,這個時候就意味著路由器AB之間已經(jīng)建立起雙向雙邊關(guān)系,路由器A將路由器B的鄰居狀態(tài)置為Two-Way狀態(tài)。第3個過程,與此同時,路由器A也會將路由器B的Router ID放到自己的Active Neighbor字段中,發(fā)送Hello包。路由器B收到這個Hello包并看到自己的Router ID后,也會將路由器A的狀態(tài)置為Two-Way狀態(tài)。

      圖3為路由器B發(fā)送的Hello包,Active Neighbor字段為192.168.1.1。

      Two-Way之后,如果是廣播型多路訪問網(wǎng)絡(luò)(MA),會有一個選舉DR和BDR的,DR和BDR一旦選舉好,會在Hello包中相應(yīng)字段填充,這個階段結(jié)束后進入準啟動/預(yù)啟動(Ex-Start)狀態(tài)。

      2.4 Ex-Start狀態(tài)

      接下來,路由器AB會進入Ex-Start狀態(tài),在這個階段會發(fā)送DBD報文協(xié)商主/從關(guān)系。DBD報文是對本路由器LSA頭部信息的描述,DBD報文格式只有一種,但內(nèi)容有兩種情況,第一種情況DBD報文沒有任何LSA頭部信息,是空的,主要用于協(xié)商鄰居之間的主從關(guān)系;第二種是裝載的有LSA頭部信息。

      DBD報文字段中有三個位非常重要,分別是I、M、MS位。

      I位:Init,置1,表明這是初始化協(xié)商報文,用于協(xié)商兩臺路由器的主從關(guān)系。當I=1時,DBD報文中不會包含LSA頭部信息,體積超小。這里需要說明DR和BDR是只在MA網(wǎng)絡(luò)中進行選舉指定路由器的,而主從是在后續(xù)的LSA同步過程中誰占主動,并依據(jù)主動一方的序列號seq,統(tǒng)一LSDB當中的LSA序列號,也就是協(xié)商該用誰的序列號。

      M位:More,置1,表明后續(xù)還有更多的DBD更新。置0,表明是最后一個DBD報文,本路由器的情況已經(jīng)描述完了。

      MS位:Master,置1,表明本路由器是主動方。置0,表明本路由器是從動方。最開始路由器雙方都會認為自己是主動方,經(jīng)過對比后,確定誰是主動方,對比原則是誰的Router ID大誰為主動方。

      第4個過程,路由器A發(fā)向路由器B的DBD報文中I=1,M=1,MS=1,表明這是一條初始化協(xié)商報文,后續(xù)還有報文發(fā)送,路由器A會認為自己是主動方。第5個過程,路由器B收到路由器A發(fā)過來的DBD報文后,發(fā)現(xiàn)路由器A的Router ID小,B會認為自己是Master,所以MS=1。

      圖4所示為第4個過程中初始化協(xié)商的DBD報文,I=1。

      2.5 Exchange狀態(tài)

      第6個過程,路由器A收到路由器B的DBD后,會發(fā)現(xiàn)路由器B的Router ID的確比自己大,會將自己的MS=0,主/從關(guān)系也協(xié)商完畢,I=0,此時進入Exchange狀態(tài)。進入Exchange狀態(tài)的標志是收到的DBD的I位置0,表示預(yù)啟動狀態(tài)結(jié)束,主/從關(guān)系協(xié)商完畢。路由器AB之間發(fā)送報文的序列號seq以路由器B的序列號為主,I=0,開始交互真正攜帶LSA頭部的DBD。

      第8-9個過程,經(jīng)過一系列的交互,路由器AB雙方都已經(jīng)知道了對方的基本情況,也就是對方有多少個LSA頭部摘要信息。在所有的DBD交互完時,最后一個報文中的M=0,當收到這種類型的DBD報文就表示Exchange狀態(tài)結(jié)束。

      2.6 Loading狀態(tài)

      第10-12個過程,開始裝載更新本路由器需要的完整LSA。在本路由器上維護著一個列表,列表是需要向鄰居請求具體的LSA頭部信息,如果此時沒有任何LSA要更新,就直接進入Full狀態(tài);如果有LSA更新,就發(fā)送關(guān)于LSA的請求,對方收到就回復(fù)LSU,LSU里包含完整的LSA信息。經(jīng)過一系列的交互,雙方的LSA信息同步,就進入Full狀態(tài),OSPF鄰接關(guān)系建立達到全毗鄰,開始進行路由收斂。

      圖6為路由器A發(fā)送的一個LSR報文。

      2.7 Full Adjacency狀態(tài)

      Loading狀態(tài)結(jié)束后,也就是本地OSPF接口上再沒有待更新的LSA信息后,將鄰居置為Full狀態(tài)。

      這里需要聲明如果是NBMA網(wǎng)絡(luò)(幀中繼)中,在Down狀態(tài)和Init狀態(tài)之間有一個Attempt狀態(tài)。該狀態(tài)表示最近沒有從鄰居收到信息,需要間隔一定時間向鄰居繼續(xù)發(fā)送Hello包嘗試聯(lián)系。

      3 結(jié)束語

      在運行OSPF協(xié)議的網(wǎng)絡(luò)中,路由器之間建立全毗鄰的鄰接關(guān)系是路由信息相互學(xué)習(xí)的前提條件,鄰接關(guān)系是否正常建立影響著OSPF后續(xù)工作,其重要性不言而喻。因此,本文對OSPF的基本概念進行了描述,研究了對OSPF中五種報文類型,并以實際的兩臺路由器之間建立鄰接關(guān)系的過程為例,通過抓包分析詳細介紹了鄰接關(guān)系建立過程中所經(jīng)歷的每種狀態(tài)。

      參考文獻(References):

      [1] 劉海峰.解析Cisco設(shè)備中OSPF路由協(xié)議鄰居關(guān)系建立的

      過程[J].產(chǎn)業(yè)與科技論,2011.10:55-56

      [2] 黃向農(nóng),曾毅夫,譚永欣.關(guān)于OSPF路由優(yōu)化技術(shù)的探討[J].

      實驗技術(shù)與管理,2012.29(2):104-108

      [3] 李淑紅.Packet Tracer在OSPF路由協(xié)議教學(xué)中的應(yīng)用研究[J].

      實驗室科學(xué),2013.13(3):83-86

      [4] 郭方平.OSPF路由協(xié)議安全性探討[J].中國新通信,

      2014.15:45

      [5] 潘楠,王勇,陶曉玲.基于OSPF協(xié)議的網(wǎng)絡(luò)拓撲發(fā)現(xiàn)算法[J].

      計算機工程與設(shè)計,2011.5:1550-1567

      刚察县| 孟津县| 绵阳市| 宜宾县| 桃江县| 霍城县| 湖口县| 湖南省| 梅州市| 福海县| 阿拉善右旗| 凤翔县| 阜新市| 上饶市| 江山市| 搜索| 库尔勒市| 池州市| 平乡县| 循化| SHOW| 西充县| 平远县| 阿巴嘎旗| 辽阳县| 巴马| 三江| 河西区| 奇台县| 金川县| 长治市| 方山县| 康保县| 龙海市| 正定县| 东丰县| 左权县| 济宁市| 镇巴县| 兰西县| 本溪|