OSPF路由协议概念解释和特性介绍

所属分类: 软件教程 / 网络通讯 阅读数: 1844
收藏 0 赞 0 分享

  前言:

  本篇文档针对一些对OSPF路由协议有一定的感性熟悉的技术人员,提供一些基于OSPF报文格式的介绍,来达到了解OSPF路由协议的特性和特有的一些概念的了解。

  一.OSPF的特性:

  快速收敛;

  能够适应大型网络;

  能够正确处理错误路由信息;

  使用区域,能够减少单个路由器的CPU负担,构成结构化的网络;

  支持无类路由,完全支持超网,可变长子网等无类特性;

  支持多条路径负载均衡;

  使用组播地址来进行信息互通,减少了非OSPF路由器的负载;

  使用路由标签来表示来自外部区域的路由。

  二.Neighbor和Adjacency的定义:

  Neighbor:

  在网络中,OSPF路由器可以发送Hello报文来进行邻居寻找,当Hello报文中的几个字段的内容是互相一致的时候,相邻的OSPF路由器就会形成Neighbor关系。

  Neighbor是保存在Neighbor表里,需要有Router ID和IP地址信息。

  Router ID的确定:

  1. 选择IP地址最大的Loopback接口的IP地址为Router ID;假如只有一个Loopback接口,那么Router ID就是这个Loopback的地址。

  2. 假如没有Loopback接口,就选择IP地址最大的物理接口的IP地址为Router ID,但是作为Router ID的物理接口,就不能运行OSPF,也就是说这个接口无法发送接受OSPF报文。

  使用Loopback的IP地址作为Router ID的好处:

  a. Loopback接口是逻辑接口,永远不会down,有利于OSPF的稳定运行;

  b. 便于控制OSPF路由器的Router ID。

  Hello协议的特点:

  1. 目的:

  a. 用来发现OSPF Neighbor;

  b. Hello报文包含了多个需要OSPF路由器协商的参数,以形成Neighbor的关系;

  c. 他可以用来维持邻居之间链接的存活;

  d. 用来确定DR,BDR路由器的选择。

  2. 报文内容:

  a. Router ID

  b. Area ID

  c. IP地址和掩码

  d. 认证方式和认证信息

  e. Hello Interval和Dead Interval

  f. Router优先权

  g. DR和BDR的Router ID

  h. 五个字节的特性控制信息

  i. 距上次Hello报文后,在Dead Interval中,路由器的Neighbor的Router ID列表

  每个OSPF路由器收到收到hello报文,将会协商上述信息,是否符合,假如不符合,Hello报文会遭到丢弃。

  并且当一个路由器收到一个Hello报文,其中Neighbor Router ID List里有它的Router ID时,就会进入2-way模式,一旦进入2-way模式,就会建立Adjacency。

  3. DR和BDR使用224.0.0.5(ALLSPFRouter Address)发送Hello Packet,而收到报文的路由器以224.0.0.6(ALLDRRouter Address)发送确认报文,表示收到了Hello Packet。

  4. Point-to-Multipoint:相当与多个点对点网络的集合,但是不会产生DR,BDR的选举,通过组播报文发送路由信息报文。

  5. 只有NBMA网络和采用虚拟链路的网络发送的是单播报文。

  6. Stub Network:只有一个出口连接到路由器的网络,通常产生的报文的原地址和目的地址都是本网络中。

  DR和BDR的选择,特性:

  1. DR和BDR是接口的特性,和路由器本身无关。

  2. DR和BDR和multiAccess网络中其他的路由器形成adjancency,但他们之间没有形成adjancency。

  3. 每个接口上都会有优先级,假如优先级为0时,表示不参加选择DR,BDR。

  Adjacency:

  是在OSPF Neighbor之间形成的虚拟的连接,这些连接有不同的性质,根据路由器连接的不同网络类型。

  形成Adjacency的步骤:

  1. 邻居发现

  2. 双向通信

  3. 数据库同步

  为了使路由器能够实现数据库的一致和同步,通过交换DD,LSR,LSU报文来达到数据库同步的目的。

  4. 完全形成连接

  Master和Slave的关系和选择

  在ExStart状态下,邻居之间进行协商,以决定由哪个路由器来控制Database sychronization。

  Neighbor表项的数据结构:

  Neighbor表项中的信息是通过路由器从Hello报文中学到的,关于邻居的一些信息。

  1. Neighbor ID

  2. Neighbor IP Address

  3. Area ID

  4. Interface

  5. Neighbor Priority

  6. State

  7. PollInterval

  这是用于NBMA网络的一个概念,由于NBMA网络无法用组播来发送报文,也就是说无法自动发现邻居,假如当Neighbor处于down的状态时候,Hello报文每隔一个PollInterval时间就会发送一次,来发现和维护邻居关系。

  8. Neighbor Option

  9. Inactivity Time

  10. DR

  11. BDR

  12. Master/Slave

  13. DD Sequence Number

  14. Last Received Database Description Packet

  15. Lik State Retransmission List

  是指已经发送出去的LSA,但是还没有收到Acknowledge的报文,假如超过RxmtInterval还没有收到,就会进行重传。

  16. Database Summary List

  在database synchronization时,所发送的LSA的表单。

  17. Link State Request List

  是指最新收到的在Database Description报文中所带的LSA清单,

  路由器会发送LSR到Neighbor要最新的LSA,收到LSU后,会把list里的相应条目删掉。

#p#

  三.Neighbor状态机制

  1. Down

  没有收到任何Hello报文的时候,或是在DeadInterval中,没有收到Hello报文

  2. Attempt

  只有在NBMA网络里才有,手工进行Neighbor的指定。

  3. Init

  收到了Hello报文

  4. 2-way

  当路由器看到自己的Router ID在邻居发来的Hello报文里;在广播网络里,DR和BDR开始被选举。

  5. ExStart

  决定Master/Slave关系,以初始化DD 报文序列号来交换Database Description报文

  6. Exchange

  路由器开始交换DD报文的过程

  7. Loading

  发送LSR报文已处在Loading状态的报文,请求最新的通过Exchange DD报文发现的未收到的LSA

  8. Full

  完成了路由器和网络的LSA的交换

  当路由器收到LSA后,会把LSA存到数据库中,然后会把收到LSA复制并从其它的OSPF接口发送出去,直到整个网络区域的LSA Database获得同步一致。然后每个路由器根据LSA Database里的Link信息进行SPF运算,算出没有回路的最短路径。

  四.Database Description报文

  它是包含了路由器所有的LSA信息的报头,可以使路由器知道,Neighbor上有多少LSA是自己不知道的,可以通过LSR报文来请求新的LSA。

  五.多区域OSPF特性

  1.骨干区域:起到了让其他非骨干区域能够知道别的区域的网络情况的作用。也就是说,所有非骨干区域的路由信息都要流经骨干区域。

  2.虚拟链路:是一个通过非骨干区域到骨干区域的链路。

  使用目的:

  连接一个非骨干区域到一个骨干区域通过一个非骨干区域

  通过一个非骨干区,连接分开的两个骨干区部分

  规则:

  必须在两个ABR之间进行配置

  虚链路通过的区域作为传输区域,必须有完整的路由信息

  中间传输区不能是存根区   
  六.区域的Link State报文类型:

  1. Router LSA

  由区域内所有的路由器产生的,并且只能在本个区域泛洪广播。

  2. Network LSA

  由区域内的DR或BDR路由器产生的,报文包括DR和BDR连接的路由器的链路信息。

  3. Network Summary LSA

  由ABR产生的,可以通知本区域内的路由器通往区域外的路由信息;同时可以发送通往相同自治区不同区域的默认路由;把本区域的路由发送到骨干区域,假如有两个到相同目的地的路径,只会把最低cost的路由发送出去;

  4. ASBR Summary LSA

  由ABR产生,但是它是一条主机路由,指向ASBR路由器地路由。

  5. Autonomous System External LSA

  由ASBR产生,它告诉相同自治区的路由器通往外自治区的路径。

  6. NSSA External LSA

  由ASBR产生,在NSSA区域中,当有一个路由器是ASBR时,不得不产生LSA 5报文,但是NSSA中不能有LSA 5报文,所有ASBR产生LSA 7报文,发给本区域的路由器。

  七.OSPF Over Demand Circuits

  是应用于有交换虚电路的链路中,当链路在是空闲的时候,它不会有虚电路的连接,只有在链路上有通信量的时候,才会建立虚电路。而OSPF的Hello,LSA报文是要每隔一段时间要发送一次,而Demand Circuits提供了一种特性,在虚电路上只需要传一次Hello和LSA报文进行OSPF的邻居和数据库同步,接下来就不需要再发送以上这些报文,LSA也不会由于收不到Update报文而过期,邻居关系也不会Dead。这样可是减少链路的使用情况,节省了广域网链路的开支。

    OSPF通过在LSA报文中设置一个DonotAge字节,来使两端得到协商,使收到的LSA永不过期。并且在LSA中加了一个标志位,DC bit,使其他路由器知道这个LSA具有Demand Circuit的特性,

  使其他路由器不会认为这条路由过期。

  八.OSPF的配置(只有一些特点,比较常规的东西不讲了)

  OSPF 具有DNS功能,可以使用路由器名来取代Router ID。

  配置:

  ip name-server 172.19.45.1

  指定OSPF使用的DNS-SERVER的 IP地址

  ip ospf name-lookup

  使OSPF可以启用DNS功能

  OSPF针对接口有多个地址的解决方法:

  1. OSPF只有当接口主地址启用了OSPF时候,才会对secondary IP address Network的路由信息进行处理。

  2. OSPF把secondary IP address Network看作是Stub Network,没有别的OSPF邻居,并且不会送Hello报文,也不会和从地址网络形成链接。所以当secondary IP address Network上有连着一台路由器时,而又需要这两台路由器互通路由信息,可以考虑采用静态路由。

  Area 1 nssa no-summary no-redistribution命令使用在既是ABR又是ASBR上,可以让他所连接的NSSA区域中,只有Router LSA,没有其他的类型LSA,甚至LSA 7也没有,只有一条指向ABR的默认路由。

  Area 1 nssa no-redistribution default-information-originate命令可以使上述情况中,可以让LSA 3和4进入NSSA区域,但是LSA 5和LSA 7会被过滤掉。由于把no-summary去掉后,虽然可以使LSA 3和4可以进入NSSA区域,但是ABR就不能产生一个指向外面网络的默认路由,使NSSA区域内的路由器和自治区外的路由隔离。使用default-information-originate参数,可以使ABR产生一个默认路由。

  在OSPF上配置地址汇总时,最好在ABR上增加一条指向null0口的默认路由,防止路由回环。

更多精彩内容其他人还在看

局域网合理布线的六大规则

  网络拓扑结构凌乱、布线过程中偷工减料、设备摆放不合理,别小看这些网络布线时的疏忽大意、有章不循,它们就是一颗颗定时炸弹,随时都会发作,随时都会毁掉你的网络、你的工作。 亡羊补牢?为时已晚,这些问题需要我们提前避免。   如同大厦
收藏 0 赞 0 分享

技巧:对无线局域网进行高效故障诊断

  基于IEEE 802.11标准的WLAN逐渐进入主流网络,使得针对无线网络的故障诊断和安全保障变得与有线网络一样重要。     支持多种模式的分析仪可以扫描所有802.11频段,包括2   .4GHz和5GHz频段中的所有通道,并以图形化的形式显示,从这些图表中
收藏 0 赞 0 分享

巧用WinXP中的“网桥”功能

  当前局域网已经相当普及,经常会遇到以下的状况:    局域网中新增了一台客户机,但集线器端口已接满,为一台电脑增加集线器太不合算。怎么办?Windows XP的“网桥”功能就派上用场了,不过需要一个前提条件,就是局域网中必须有一台安装了双
收藏 0 赞 0 分享

设置防火墙实现禁用QQ,MSN,联众

  现在要求禁止内网用户使用QQ、联众等聊天和网游软件的需求逐渐增多,不久前售后工程师就处理了一项此类业务。工程师在处理过程中发现了一些解决方法,现在进行一下总结,希
收藏 0 赞 0 分享

XP中网络怪异事件解决方法

  未接网线却显示已启用连接   问:Windows XP系统正确识别了新安装的网卡,并安装了驱动程序,在没有连接网线的情况下,网络连接中的“本地连接”显示已启用,并且处于“连接状态”。在接上网线并设置了相应的参数后,进行网络访问,IE显示“无
收藏 0 赞 0 分享

为您支招 局域网内如何防止ARP欺骗

  对于ARP欺骗,提出几点加强安全防范的措施。环境是主机或者网关是基于Linux/BSD的。一、理论前提   本着“不冤枉好人,不放过一个坏人的原则”,先说说我的一些想法和理
收藏 0 赞 0 分享

网管,请别随意关闭默认共享!

  不知道在什么时候,关闭Windows系统中的C$、D$、IPC$等默认共享成为了最基本的安全防范措施,惊弓之鸟们纷纷响应号召,向默认共享宣战。然而存在是有理由的,默认共享的存在同样如此。你可知道盲目地关闭这些默认共享会带来某些非常严重的危害吗
收藏 0 赞 0 分享

网络应用技巧 用注册表强化网上邻居

  每次与内网用户进行信息共享传输时,“网上邻居”就会被派上用场;当然,在默认状态下系统的“网上邻居”功能十分有限,如果你想与内网朋友更高效、更安全地进行共享传输时,就必须想方设法挖掘“网上邻居”自身的潜能。这不,本文为了帮助各位网
收藏 0 赞 0 分享

教你在局域网中映射网络驱动器的使用

  一、为每个学生机建立“映射网络驱动器”   环境为Windows 98对等网。教师机名为“Teacher”,硬盘分成四个区为C、D、E、F;学生机有60台,计算机名为1~60,硬盘分成三个分区C、D、E。   首先在教师机的F盘上建立60个文件夹,文件夹的名字
收藏 0 赞 0 分享

节约成本 详解网络打印机安装方法

  现在很多单位为了节约成本,普遍采取共享使用网络打印机的方法,正巧笔者的单位也要求办公室和其他科室共用办公室的打印机,下面我们一起来看看如何添加网络打印机。   首先,在办公室的计算机上,安装好打印机的驱动,并且把打印机设为共享,
收藏 0 赞 0 分享
查看更多