欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    路由器软件设计与实现.ppt

    • 资源ID:6441911       资源大小:657KB        全文页数:135页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    路由器软件设计与实现.ppt

    IP交换和路由技术,内容简介,第一章IP网络概述第二章路由器工作原理第三章路由器硬件组成第四章路由器软件设计与实现第五章IP网络设计与应用第六章IP交换技术第七章MPLS技术,第四章路由器软件设计与实现,4.1 引言4.2路由信息协议4.3开放最短路径优先协议4.4边界网关协议,4.1 引言,动态路由协议一般运行于路由器上,它们在整个路由器协议栈中所处的位置是位于IP之上的,它们利用TCP和UDP乃至IP本身作为自己的承载实体的一种特殊的应用。不同于其它应用的是,各动态路由协议的基本功能是为所传递的数据报文提供维护路由器路由转发表的功能。,4.2路由信息协议,4.2.1 RIP概述4.2.2 RIP基本工作原理4.2.3 RIP路由表的建立过程4.2.4 RIP配置4.2.5 基于IPv6的RIPng路由协议,4.2.1 RIP概述,RIP是路由协议中使用时间最长的协议之一,RIP是一组基于距离矢量路由算法协议中的一个。RIP的另一个名字是routed(路由守护神),来自一个实现它的程序。这个程序最初由加利福尼亚大学伯克利分校设计,用于给他们在局域网上的机器提供一致的选路和可达信息。它依靠物理网络的广播功能来迅速交换选路信息。它并不是被设计来用于大型广域网的(尽管现在的确这么用)。,在施乐(Xerox)公司的Palo Alto研究中心PARC早期所作的关于网络互连的研究的基础上,routed实现了起源于Xerox NS RIP的一个新协议,它更为通用化,能够适应多种网络。尽管在其前辈上做了一些小改动,RIP作为IGP流行起来并非技术上有过人之处,而是由于伯克利分校把路由守护神软件附加在流行的4BSD UNIX系统上一起分发,从而使得许多TCP/IP网点根本没考虑其技术上的优劣就采用routed并开始使用RIP。一旦安装并使用了这个软件,它就成为本地选路的基础,研究人员也开始在大型网络上使用它。,关于RIP的最令人吃惊的事可能就是它在还没有正式标准之前就已经广泛流行了。大多数的实现都脱胎于伯克利分校的程序,但是由于编程人员对未形成文档的微妙细节理解不同而造成了它们之间互操作性限制。协议出现新版本后,出现了更多的问题。在1988年6月形成了一个RFC标准,这才使软件商解决了互操作性问题。,RIP协议的基础就是基于本地网的矢量距离选路算法的直接而简单的实现。它把参加通信的机器分为主动的(active)和被动的(passive或silent)。主动路由器向其他路由器通告其路由,而被动路由器接收通告并在此基础上更新其路由,它们自己并不通告路由。只有路由器能以主动方式使用RIP,而主机只能使用被动方式。目前RIP有两个版本RIPv1和RIPv2。,RIP有以下一些主要特性:RIP属于典型的距离向量路由选择协议。RIP消息通过广播地址255.255.255.255进行发送,使用UDP 协议的520端口。RIP以到目的网络的最小跳数作为路由选择度量标准,而不是在链路的带宽和延迟的基础上进行选择。RIP是为小型网络设计的。它的跳数计数限制为16跳,这限制了网络的规模。RIP是一种有类路由协议,不支持不连续子网设计。RIP周期进行路由更新,将路由表广播给邻居路由器,广播周期为30秒。RIP的管理距离为120。,4.2.2 RIP基本工作原理,路由器的关键作用是用于网络的互连,每个路由器与两个以上的实际网络相连,负责在这些网络之间转发数据报。在讨论 IP 进行选路和对报文进行转发时,我们总是假设路由器包含了正确的路由,而且路由器可以利用 ICMP 重定向机制来要求与之相连的主机更改路由。,但在实际情况下,IP 进行选路之前必须先通过某种方法获取正确的路由表。在小型的、变化缓慢的互连网络中,管理者可以用手工方式来建立和更改路由表。而在大型的、迅速变化的环境下,人工更新的办法慢得不能接受。这就需要自动更新路由表的方法,即所谓的动态路由协议,RIP协议是其中最简单的一种。,在路由实现时,RIP作为一个系统长驻进程(daemon)而存在于路由器中,负责从网络系统的其它路由器接收路由信息,从而对本地IP层路由表作动态的维护,保证IP层发送报文时选择正确的路由。同时负责广播本路由器的路由信息,通知相邻路由器作相应的修改。,RIP协议处于UDP协议的上层,RIP所接收的路由信息都封装在UDP协议的数据报中,RIP在520号UDP端口上接收来自远程路由器的路由修改信息,并对本地的路由表做相应的修改,同时通知其它路由器。通过这种方式,达到全局路由的有效。,RIP路由协议用“更新(UNPDATES)”和“请求(REQUESTS)”这两种分组来传输信息的。每个具有RIP协议功能的路由器每隔30秒用UDP520端口给与之直接相连的机器广播更新信息。更新信息反映了该路由器所有的路由选择信息数据库。路由选择信息数据库的每个条目由“局域网上能达到的IP地址”和“与该网络的距离”两部分组成。请求信息用于寻找网络上能发出RIP报文的其他设备。,RIP用“路程段数”(即“跳数”)作为网络距离的尺度。每个路由器在给相邻路由器发出路由信息时,都会给每个路径加上内部距离。,路由器3直接和网络C相连。当它向路由器2通告网络142.10.0.0的路径时,它把跳数增加1。与之相似,路由器2把跳数增加到“2”,且通告路径给路由器1,则路由器2和路由器1与路由器3所在网络142.10.0.0的距离分别是1跳、2跳。,RIP工作原理示例,然而在实际的网络路由选择上并不总是由跳数决定的,还要结合实际的路径连接性能综合考虑。在如下所示网络中,从路由器1到网络3,RIP协议将更倾向于跳数为2的路由器1-路由器2-路由器3的1.5Mbps链路,而不是选择跳数为1的56Kbps,直接的路由器1-路由器3路径,因为跳数为1的56Kbps串行链路比跳数为2的1.5Mbps串行链路慢得多。,路由选择不仅限于“跳数”考虑的示例,4.2.3 RIP路由表的建立过程,在RIP中,每个路由器都周期性的向其直连的邻居路由器发送自己完全的路由表,并也从自己直连的邻居路由器接收路由更新信息。因为每个路由器都只从自己的邻居路由器了解路由信息,因此也将其称为谣言路由。在每个RIP协议路由更新报文中,最多可以携带25个子网的路由信息。如果数量多于此值,则通过发送多个RIP报文来实现。,运行RIP的路由器在决定发送一条路由更新消息之前,首先要检查待发送路由更新的网络或子网是否和路由更新送出接口属于同一个主网络。如果不属于同一个主网络,则RIP会将待发送路由更新的网络在主网络边界进行自动总结。如果属于同一个主网络,而且二者的子网掩码相同则发送此路由更新,否则不发送此网络的路由更新信息。,1、路由更新的发送,运行RIP的路由器在决定发送一条路由更新消息之前,首先要检查待发送路由更新的网络或子网是否和路由更新送出接口属于同一个主网络。如果不属于同一个主网络,则RIP会将待发送路由更新的网络在主网络边界进行自动总结。如果属于同一个主网络,而且二者的子网掩码相同则发送此路由更新,否则不发送此网络的路由更新信息。,RIP路由更新的发送 首先对于子网络172.16.25.0/24,由于它和路由更新发出的接口Serial1(172.17.26.1/24)不属于同一个主网络,所以RIP将子网172.16.25.0/24自动总结成为主网络:172.16.0.0/16并发送总结后的主网络。对于网络172.17.25.0/24,由于它的路由更新发出的接口Serial 1(172.17.26.1/24)属于同一个主网络(172.17.0.0/16)且二者的子网掩码相同。所以,该网络路由更新将被发送。,2、路由更新的接收,当运行RIP的路由器收到一条路由更新消息后,首先要检查收到的路由更新中的网络与接收更新的接口是否属于同一主网络。如果是,则路由更新中网络子网掩码将使用接收更新的接口的子网掩码。如果不属于同一主网络,同时路由更新中的网络的任一子网已经存在于接收路由更新的路由器的路由表中了,而且是从另一接口收到的更新中学到的,则此路由更新被忽略。否则,安装此路由条目且使用路由更新中的网络所属主网络的子网掩码。,在RouterB上执行命令show ip route的输出,3、路由自环问题,路由自环问题-1,路由自环问题,路由自环问题-2,路由自环问题,路由自环问题-3,4、解决路由自环问题计数到无穷,在这种方案中,RIP将路由表中任一路由条目的代价值限制为15跳。同时,用代价值16表明一个网络不可达。但是,计数到无穷的提出限制了路由网络的规模。,5、解决路由自环问题水平分割,水平分割(网络复杂时失效),6、解决路由自环问题触发更新,RIP规定:当网络发生变化(新网络的加入、原有网络的消失)时,路由器将立刻发送路由更新消息而不用等待更新计时器到时。触发更新只是在概率上降低了自环发生的可能性。,7、解决路由自环问题路由毒杀和反转毒杀,8、解决路由自环问题抑制定时器,发生路由自环问题的原因还在于RouterC在收到RouterB的关于网络的路由更新消息后,重新安装了一条到网络的路由,而且该路由的代价比原路由的代价更大。在RIP中定义了抑制定时器,当某个路由器得知一个网络不可达时,会启动此抑制定时器(如180秒)。在此抑制定时器到时之前,该路由器不会接收任何关于不可达网络重新可达的路由更新信息,除非收到的到不可达网络的路由更新信息具有比原来更小(更好)的代价值。,9、RIP中的计时器,更新(Update)周期时间30秒 更新周期时间是指每个路由器发送路由更新消息的时间间隔。默认情况下路由表的更新周期时间为30秒。为了避免所有路由器在同一时刻发送路由更新信息,造成通信链路的拥塞。每个路由器都采用了修正了的更新周期时间,而不是精确的30秒。失效(Invalid)计时器180秒 当连续6个更新周期时间(180秒)内没有收到关于某个网络的路由更新信息时,该路由条目被标为失效。,清空(Flushed)计时器270秒 当一条路由条目被标为失效后再经过90秒,如果还没收到该网络的路由更新消息,则该路由被从路由表中删除。抑制(Hold-down)计时器180秒 当一个路由器收到某个网络不可达的路由更新消息时,启动抑制计时器。在此抑制定时器到时之前,该路由器不会重新安装不可达网络的路由条目,除非收到具有比原来的代价值更小的,到不可达网络的路由更新消息。,RIP中的计时器,4.2.4 RIP配置,1基本配置 配置RIP的步骤很简单。首先启动RIP路由进程,然后声明RIP协议“关心”的网络。所谓“关心”的网络是指RIP将广播本路由器接口所在的这些网络的路由更新信息。在Router A上配置RIP协议的过程和命令,RIP基本配置,2被动接口(Passive Interface),有时出于某种目的,例如不想公布自己某些网络的信息,这是可以采用被动接口。配置被动接口,RIP诊断,1show 命令show runshow ip routeshow ip protocols,显示动态路由协议的配置参数,2Debug命令,对RIP进行诊断,4.2.5 基于IPv6的RIPng路由协议,路由技术的发展是与整个因特网的发展密切相关的。随着因特网规模和负载的增长,产生了地址空间不足及路由器存储和交换的信息量急剧增加等一系列问题,使得 IPv6得以长足发展,并将最终取代IPv4。同时现有的基于IPv4的路由协议也必须加以改造,使之符合未来因特网的发展要求。,RIP作为一种成熟的路由标准,在因特网中有着广泛的应用,特别是在一些中小型网络中。正是基于这种现状,同时考虑到RIP与IPv6的兼容性问题,IETF对现有技术进行改造,制定了IPv6下的RIP标准,即RIPng(RIP next generation)。下面将分别对RIPng的消息格式、工作原理、与RIPv1及RIPv2的主要差别、协议的缺点及改进方向、发展趋势等方面做简单的介绍。,RIPng的报文格式,RIPng是基于UDP的协议,并且使用端口号521发送和接收数据报。RIPng报文大致可分为两类:选路信息报文和用于请求信息的报文。它们都使用相同的格式,由固定的首部和路由表项RTE(Route Table Entry)组成,其中路由表项可以有多个。首部包括命令字段和版本号字段。同RIP一样,命令字段用来区分报文要实现的各种操作。其中命令号1表示请求部分或全部选路信息,命令号2表示响应,其中包含一个或多个RTE。,路由器或主机可以通过发送请求命令向另一个路由器请求选路信息。路由器使用响应命令回答。版本号字段包含了协议的版本号(目前的版本号值为1),接收方会检测该字段,以确定对方运行的RIPng协议本地是否能进行正确的解释。报文的剩余部分是一个RTE序列,其中每一个RTE由目的IPv6前缀、路由标记、前缀的有效长度以及到目的网络的花费等4部分组成。,IPv6的地址为128bit,因此在RTE中占用16字节。路由标记字段是从RIP中保留下来的,其最主要的用途是用来对外部路由做标志,以区分内部路由和外部路由,供外部网关路由协议(如EGP或BGP)使用。该字段也可用于其他目的,只要网络内所有运行RIPng的路由器对其解释是一致的。,前缀长度字段指明了前缀中有效位的长度,IPv6中使用了前缀长度的概念代替了IPv4中的子网掩码。由于IPv6地址的意义很明确,因此RIPng中不再区分网络路由、子网路由或主机路由。路由花费字段指明到目的网络的花费,由于RIPng的最大工作直径为15跳,因此该字段可以为1和15之间的任意值,16即意味着目的地不可达。RIPng中仍然使用固定的度量方式,即该字段的含义只能是跳数,路由器不能对其进行其他的解释。,RIPng并没有限制报文的大小,RIPng报文所能携带的最大RTE的数目是由物理介质的MTU所决定的,计算公式如下:报文长度=RTE数目20+4其中RTE数目的计算公式如下:RTE数目=INT(MTU-IPv6首部长度-UDP首部长度-RIPng首部长度)/RTE长度,与RIPv2不同的是,RIPng的下一跳字段是由一个单独的RTE指定的。RIPng使用单独的RTE表示下一跳的原因是IPv6的地址多达 128bit,若将下一跳字段与目的网络地址放在同一个RTE中,则RTE的大小几乎将会增加一倍,因此RIPng中采取目的网络地址和下一跳分开的方法来减小RTE的长度。在表示下一跳的RTE中,路由标记和前缀长度字段必须为零,而度量字段为0 xFF。,RIPng的工作原理,RIPng把参与通信的机器分为主动和被动两种方式。主动路由器向其他路由器通告路由,而被动路由器接收通告并更新其路由,被动路由器自己并不通告路由。只有路由器以主动方式使用RIPng,主机只能使用被动方式,因为主机并不了解路由信息。,运行RIPng的路由器维持一个到所有可能目的网络的路由表,路由器周期性地(RFC推荐为30s)向邻居节点发送该路由器的路由表,接收方通过接收邻居路由器的周期性通告更新自己的路由表。这种周期性的路由信息的交换使得每个路由器形成对网络拓扑结构的局部的认识。RIPng使用到达目的站点所经过的链路数,即跳数来度量路由花费,同时RFC规定RIPng的工作范围为15跳,数值16表示无穷大,即意味着路由不可达。,路由器通常不会主动发出请求报文来进行路由请求,路由请求通常只是在路由器刚启动或是路由器正在寻找路由信息时才会发出请求报文以获得响应。路由器在查询响应、周期更新、触发更新三种情况下会收到响应报文。路由器根据响应报文判断是否对本地路由表进行更新。由于响应报文可能对本地路由表进行改动,因此对报文的来源必须进行严格的检查,以确认报文的合法性。,众所周知,基于距离矢量算法的路由协议会产生慢收敛和无限计数问题,这样就引发了路由的不一致。RIPng使用水平分割技术、毒性逆转技术、触发更新技术来解决这些问题,但是这些技术的引入,同时又带来了另一些问题,如采用触发更新技术后,如果不对产生的报文进行合理的控制,很容易产生广播风暴。,路由器周期性的报文广播和触发更新给网络造成很多额外的负载,为减少路由信息的数量,RIPng可以采用多播技术发送更新报文,同时利用一个小的随机时延对触发更新报文进行抑制。介绍RIPng的工作原理就不能不提到定时器,定时器在RIPng中起着非常重要的作用,RIPng使用定时器来实现路由表的更新、报文的发送。周期性的报文广播是由定时器实现的,另外为防止路由表长时间未更新而失效,每个路由表项有两个定时器与之相联系,超时的路由表项最终将会被删除,以防止路由器广播和使用已经失效的路由。,RIPng中使用的定时器主要有以下三个:(1)启动周期性广播的定时器。此定时器被设置成25s到35s之间的任一随机数。这样设置的目的是为了避免网络上所有路由器以相同的定时发送更新报文,利用随机间隔可以均衡通信量,从而减少路由器之间发生冲突的可能性。(2)期满定时器。路由器只要收到通往特定信宿路由,就对通往该信宿的期满定时器初始化。期满定时器被设定为180s,如果一条路由在期满定时器超时前未得到相关报文的更新,则该条路由不再有效,但仍保留在路由表中,以便通知其他路由器这条路由已经失效。,(3)垃圾收集定时器。路由器对无效路由打上尺度为无穷大的无效标记并将垃圾收集定时器初始化。此时,定时器被设置为120s,在这段时间内这些路由仍然会被路由器周期性地广播,这样相邻路由器就能迅速从路由表中删除该路由。,RIPv1、RIPv2和RIPng的比较,根据上面的介绍,我们应该看到RIPng的目标并不是创造一个全新的协议,而是对RIP进行必要的改造以使其适应IPv6下的选路要求,因此RIPng的基本工作原理同RIP是一样的,其主要的变化在地址和报文格式方面。下面列举了一些RIPv1、RIPv2与RIPng之间的主要区别:,(1)地址版本。RIPv1、RIPv2是基于IPv4的,地址域只有32bit,而RIPng基于IPv6,使用的所有地址均为128bit。,(2)子网掩码和前缀长度。RIPv1被设计成用于无子网的网络,因此没有子网掩码的概念,这就决定了RIPv1不能用于传播变长的子网地址或用于 CIDR的无类型地址。RIPv2增加了对子网选路的支持,因此使用子网掩码区分网络路由和子网路由。IPv6的地址前缀有明确的含义,因此RIPng中不再有子网掩码的概念,取而代之的是前缀长度。同样也是由于使用了IPv6地址,RIPng中也没有必要再区分网络路由、子网路由和主机路由。,(3)协议的使用范围。RIPv1、RIPv2的使用范围被设计成不只局限于TCP/IP协议簇,还能适应其他网络协议簇的规定,因此报文的路由表项中包含有网络协议簇字段,但实际的实现程序很少被用于其他非IP的网络,因此RIPng中去掉了对这一功能的支持。,(4)对下一跳的表示。RIPv1中没有下一跳的信息,接收端路由器把报文的源IP地址作为到目的网络路由的下一跳。RIPv2中明确包含了下一跳信息,便于选择最优路由和防止出现选路环路及慢收敛。与RIPv2不同,为防止RTE过长,同时也是为了提高路由信息的传输效率,RIPng中的下一跳字段是作为一个单独的RTE存在的。,(5)报文长度。RIPv1、RIPv2中对报文的长度均有限制,规定每个报文最多只能携带25个RTE。而RIPng对报文长度、RTE的数目都不作规定,报文的长度是由介质的MTU决定的。RIPng对报文长度的处理,提高了网络对路由信息的传输效率。,(6)安全性考虑。RIPv1报文中并不包含验证信息,因此也是不安全的,任何通过UDP的520端口发送分组的主机,都会被邻机当作一个路由器,从而很容易造成路由器欺骗。RIPv2设计了验证报文来增强安全性,进行路由交换的路由器之间必须通过验证才能接收彼此的路由信息,但是RIPv2的安全性还是很不充分的。IPv6包含有很好的安全性策略,因此RIPng中不再单独设计安全性验证报文,而是使用IPv6的安全性策略。,(7)报文的发送方式。RIPv1使用广播来发送路由信息,不仅路由器会接收到分组,同一局域网内的所有主机也会接收到分组,这样做是不必要的,也是不安全的。因此RIPv2和RIPng既可以使用广播也可以使用多播发送报文,这样在支持多播的网络中就可以使用多播来发送报文,大大降低了网络中传播的路由信息的数量。,4.3 开放最短路径优先协议,4.3.1 OSPF概述4.3.2 OSPF的特点4.3.3 OSPF协议的基本术语4.3.4 OSPF数据包类型4.3.5 OSPF网络介质分类4.3.6 SPF过程4.3.7 SPF计算4.3.8 OSPF区域,4.3.1 OSPF概述,链路状态路由选择协议的典型代表是开放最短路径优先OSPF路由选择协议。它是一种适合在大型、复杂网络环境下部署的路由协议。RFC2328描述了OSPF第2个版本的概念和原理。,4.3.2 OSPF的特点,OSPF无路由自环问题。OSPF支持变长子网掩码VLSM。OSPF支持区域划分、适应大规模网络。OSPF支持等值路径负载分担(Cisco定义最大6条)。OSPF支持验证,防止对路由器、路由协议的攻击行为。,OSPF路由变化时收敛速度快,可适应大规模网络。OSPF并不周期性地广播路由表,因此节省了宝贵的带宽资源。OSPF被直接封装于IP协议之上(使用协议号89),它靠自身的传输机制保证可靠性。OSPF数据包的TTL值被设为1,即OSPF数据包只能被传送到一跳范围之内的邻居路由器。OSPF以组播地址发送协议报文(对所有DR/BDR路由器的组播地址:224.0.0.6;对所有的SPF路由器的组播地址:224.0.0.5)。,4.3.3 OSPF协议的基本术语,1.路由器IDRouter ID路由器号(路由器ID、Router ID)是一个长度为32位的无符号二进制数,用于标识OSPF区域内的每一台路由器。这个编号在整个自治系统内部是唯一的。路由器ID是否稳定对于OSPF协议的运行来说是很重要的。通常会采用路由器上处于激活(UP)状态的物理接口中IP地址最大的那个接口的IP地址作为路由器ID。如果配置了逻辑环回接口,则采用具有最大IP地址的环回接口的IP地址作为路由器ID。采用环回接口的好处是,它不像物理接口那样随时可能失效。因此,用环回接口的IP地址作为路由器ID更稳定、也更可靠。,2.邻居(Neighbors)运行OSPF协议的路由器每隔一定时间发送一次Hello数据包。可以互相收到对方Hello包的路由器构成邻居关系。两个互为邻居的路由器之间的关系可以一直维持这样的邻居关系,也可以进一步形成邻接关系。3邻接(Adjacency)邻接关系是一种比邻居关系更为密切的关系。互为邻接关系的两台路由器之间不但交流Hello包,还发送LSA泛洪消息。,4指定路由器(Designative Router,DR)指定路由器用来在广播介质类型网络中减少LSA泛洪数据量。在广播介质类型的网络中,所有的路由器将自己的链路状态数据库向DR广播,而DR又将这些链路状态数据库信息发送到网络中的其他路由器。路由器优先级高的路由器将成为DR。网络中的所有路由器的优先级默认为1,最大为255.如果路由器优先级为0,则表示此路由器不参加DR/BDR选举过程,也不会成为DR/BDR。在路由器优先级相同的情况下,具有最大路由器ID的路由器将成为DR。DR一旦选定,除非路由器故障,否则DR不会更换。这样,可以免去经常重算链路状态数据库的开销。,5备份指定路由器(Backup Designative Router,BDR)在选举出指定路由器后,还要选择备份指定路由器。当DR失效后,BDR自动成为DR,接收所有其他路由器的LSA泛洪消息。6DROTHER 在广播介质类型网络中,除了DR、BDR以外,所有的其他路由器被称为非指定路由器。注意:DR、BDR或DROTHER是对接口而言。一个路由器的一个接口在一个区域可能是DR,而在另一个区域可能是BDR或DROTHER。,7OSPF链路状态数据库在一个OSPF区域内,所有的路由器将自己的活动接口(并且是运行OSPF协议的接口)的状态及所连接的链路情况通告给所有的OSPF路由器。同时,每个路由器也收集本区域内所有其他OSPF路由器的链路状态信息,并将其汇总成为OSPF链路状态数据库。经过一段时间的同步后,同一个OSPF区域内的所有OSPF路由器将拥有完全相同的链路状态数据库。这些路由器定时传送Hello存活信息包以及LSA更新数据包以反映网络拓扑结构的变化。,4.3.4 OSPF数据包类型,1.OSPF数据包类型OSPF数据包类型,2OSPF数据包头部结构,5种类型的OSPF数据包,1Hello数据包Hello数据包是编号为1的OSPF数据包。运行OSPF协议的路由器每隔一定的时间发送一次Hello数据包,用以发现、保持邻居(Neighbors)关系并可以选举DR/BDR。,2链路状态数据库描述数据包链路状态数据库描述数据包(DataBase Description,DBD)是编号为2的OSPF数据包。该数据包在链路状态数据库交换期间产生。它的主要作用有三个:选举交换链路状态数据库过程中的主/从关系。确定交换链路状态数据库过程中的初始序列号。交换所有的LSA数据包头部。,3链路状态请求数据包链路状态请求数据包(LSA-REQ)是编号为3的OSPF数据包。该数据包用于请求在DBD交换过程发现的本路由器中没有的或已过时的LSA包细节。,4链路状态更新数据包链路状态更新数据包(LSA-Update)是编号为4的OSPF数据包。该数据包用于将多个LSA泛洪,也用于对接收到的链路状态更新进行应答。如果一个泛洪LSA没有被确认,它将每隔一段时间(缺省是5秒)重传一次。,5链路状态确认数据包链路状态确认数据包(LSA-Acknowledgement)是编号为5的OSPF数据包。该数据包用于对接收到的LSA进行确认。该数据包会以组播的形式发送。如果发送确认的路由器的状态是DR或者BDR,确认数据包将被发送到OSPF路由器组播地址:224.0.0.5。如果发送确认的路由器的状态不是DR或者BDR,确认将被发送到OSPF路由器组播地址:224.0.0.6。,LSA数据包,1链路状态通告数据包(LSA)头部格式 LSA数据包类型,LSA头,LSA 头部,LSA类型及对应链路状态ID,2路由器LSA,路由器LSA主要包括以下内容:该路由器是否是一个区域边界路由器(ABR)。该路由器是否是一个自治系统边界路由器(ASBR)。路由器链路的数量。链路类型、链路数据、链路ID:不同链路类型的这三个字段的内容及含义不同。度量:指定链路的OSPF代价。,同类型链路的对应链路状态ID和链路数据,3网络LSA,网络LSA主要包括以下内容:网络掩码:与传输网相关的网络掩码。接入(Attached)路由器:接入到传输网的所有路由器的路由器ID列表。,4.3.5 OSPF网络介质分类,RFC将网络介质类型分为:NBMA和点到多点类型。Cisco额外定义了三种网络介质:点到点、广播和点到多点非广播。,.1 点到点(Point to Point,PTP),在点到点类型的介质中,OSPF数据包以多播地址发送不选举DR、BDROSPF路由器之间的hello数据包每10秒钟发送一次,邻居的死亡间隔时间为40秒点到点链路,.2 广播网络(Broadcast),需要选举DR/BDR。OSPF路由器之间的hello数据包每10秒钟发送一次,邻居的死亡间隔时间为40秒。广播网络,.3 非广播多路访问(NBMA),非广播多路访问(Non-Broadcast Multi-Access,NBMA)类型的介质包括运行帧中继、X.25、ATM等协议的网络。对于NBMA网络,需要手工指定DR/BDR。之后,其运行模式将同广播网络一样。OSPF路由器之间的hello数据包每30秒钟发送一次,邻居的死亡间隔时间为120秒。,非广播多路访问(NBMA),.4 点到多点(PTMP),点到多点(Point to Multi-Point,PTMP)类型的介质包括运行帧中继、X.25、ATM等协议的网络。在点到多点介质中,不选举DR/BDR。OSPF路由器之间的hello数据包每30秒钟发送一次,邻居的死亡间隔时间为120秒。,点到多点,.5 点到多点非广播(P2MP-NonBroadcast),不选举DR/BDR。需要使用命令neighbor手工指定近邻。OSPF路由器之间的hello数据包每30秒钟发送一次,邻居的死亡间隔时间为120秒。,介质特性表,SPF过程,4.3.6.1 OSPF邻居状态机1OSPF邻接建立过程OSPF邻接建立过程主要会经过以下一些阶段或状态:关闭(Down)状态:没有发送hello数据包,也没有收到hello数据包。尝试(Attempt)状态:不停地向对方发送hello数据包。初始(Init)状态:收到了对方的hello数据包。但对方没有收到自己的hello报文。,双向(Two-Way)状态:双方均收到了对方的hello数据包。启动(ExStart)状态:发送DBD报文,选举主/从设备、设定初始序列号。交换(Exchange)状态:互相交换LSA报头信息。装入(Loading)状态:向对方请求自己没有的或过时的LSA信息,并在收到对方的更新LSA后添加到自己的链路状态数据库中。完成(Full)状态:双方的链路状态数据库完全相同。,OSPF邻接建立过程,2OSPF邻居状态机,OSPF邻居状态机,SPF计算,OSPF协议的核心是SPF,即最短路径优先算法。OSPF使用Dijkstra算法来产生最短生成树。OSPF协议中的SPF计算路由过程如下:各路由器发送自己的LSA,其中描述了自己的链路状态信息。各路由器汇总收到的所有LSA,生成LSDB。各路由器以自己为根节点计算出最小生成树,依据是链路的代价。各路由器按照自己的最小生成树得出路由条目并安装到路由表中。,OSPF中路由表生成过程,RouterB和RouterC的最短生成树,RouterD和RouterE的最短生成树,OSPF区域,多区域OSPF,多区域OSPF中路由器的名称及用途,区域内路由器(Inter Area Router,IAR):该路由器负责维护本区域内部路由器之间的链路状态数据库。骨干(主干)路由器:可以是区域内路由器,也可以是区域边界路由器。区域边界路由器(Area Border Router,ABR):该路由器拥有所连接的区域的所有链路状态数据库并负责在区域之间发送LSA更新消息。自治系统边界路由器(Autonomous System Border Router,ASBR)。该路由器处于自治系统边界,负责和自治系统外部交换路由信息。,思考与练习,1写出OSPF不同于RIP的特点。2写出5种类型OSPF数据包的名称和作用。3写出路由器LSA和网络LSA的区别。4写出各种OSPF网络拓扑结构的名称及特点。5画出OSPF邻居状态机。,单区域OSPF配置,4.3.9 单区域OSPF配置,.1 单区域OSPF配置单区域OSPF的配置分为两个步骤:启动OSPF路由器协议进程。Router(config)#router ospf Process-ID声明运行OSPF协议的路由器接口IP地址或子网地址。Router(config-router)#network area area-id,点到点链路OSPF配置,.2 点到点链路OSPF配置点到点链路OSPF配置,以下是路由器A的配置命令:RouterA(config)#router ospf 2RouterA(config-router)#network 1.1.1.0 0.0.0.255 area 1RouterA(config-router)#network 192.168.1.1 0.0.0.0 area 1RouterA(config-router)#network 192.168.2.1 0.0.0.0 area 1以下是路由器B的配置命令:RouterB(config)#router ospf 2RouterB(config-router)#network 2.2.2.0 0.0.0.255 area 1RouterB(config-router)#network 192.168.1.2 0.0.0.0 area 1RouterB(config-router)#network 192.168.3.1 0.0.0.0 area 1以下是路由器C的配置命令:RouterC(config)#router ospf 2RouterC(config-router)#network 3.3.3.0 0.0.0.255 area 1RouterC(config-router)#network 192.168.2.2 0.0.0.0 area 1RouterC(config-router)#network 192.168.3.2 0.0.0.0 area 1,点到点链路OSPF诊断,1log-adjacency-changesRouterA(config-router)#log-adjacency-changes命令log-adjacency-changes的输出,命令log-adjacency-changes的输出,OSPF相关诊断命令,2show ip protocol3show ip route4show ip ospf neighbor5show ip ospf neighbor detail6show ip ospf database7show ip ospf interface,OSPF相关诊断命令(续),8show ip ospf flood-list9show ip ospf process-id10debug ip ospf hello11debug ip ospf adj12debug ip ospf events13debug ip ospf flood14debug ip ospf packet15debug ip ospf spf,show ip ospf database,OSPF Router with ID(192.168.1.67)(Process ID 10)Router Link States(Area 1)Link ID ADV Router Age Seq#Checksum Link count192.168.1.67 192.168.1.67 48 0 x80000008 0 xB112 2192.168.2.130 192.168.2.130 212 0 x80000006 0 x3F44 2,sh ip protocol,Routing Protocol is ospf 100 Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Number of areas in this router is 1.1 normal 0 stub 0 nssa Maximum path:4 Routing for Networks:10.1.1.0 0.0.0.255 area 0 10.1.2.0 0.0.0.255 area 0 172.16.64.0 0.0.15.255 area 0 172.16.128.0 0.0.15.255 area 0 Reference bandwidth unit is 100 mbps Routing Information Sources:Gateway Distance Last Update 172.16.192.1 110 00:14:15 172.16.64.3 110 00:14:15 Distance:(default is 110),sh ip ospf neighbor,Nei

    注意事项

    本文(路由器软件设计与实现.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开