链路状态路由协议
OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。2、数据包格式在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段:* Version number-定义所采用的OSPF路由协议的版本。* Type-定义OSPF数据包类型。OSPF数据包共有五种:* Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。* Database Description-用于描述整个数据库,该数据包仅在OSPF初始化时发送。* Link state request-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。* Link state update-这是对link state请求数据包的响应,即通常所说的LSA数据包。* Link state acknowledgment-是对LSA数据包的响应。* Packet length-定义整个数据包的长度。* Router ID-用于描述数据包的源地址,以IP地址来表示。* Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。* Checksum-校验位,用于标记数据包在传递时有无误码。* Authentication type-定义OSPF验证类型。* Authentication-包含OSPF验证信息,长为8个字节。3、OSPF基本算法3.1 SPF算法及最短路径树SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×106/链路带宽在这里,链路带宽以bps来表示。也就是说,OSPF的Cost 与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。3.2 链路状态算法作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。链路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤:当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)时,路由器会产生链路状态广播数据包LSA(Link-State Advertisement),该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。 当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达目的地的Cost以及到达该目的地所要转发的下一个路由器(next-hop)。 第4个步骤实际上是指OSPF路由协议的一个特性。当网络状态比较稳定时,网络中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。这也正是链路状态路由协议区别与距离矢量路由协议的一大特点。
3月30日 15:44 路由协议作为TCP/IP协议族中重要成员之一,其选路过程实现的好坏会影响整个Internet网络的效率。按应用范围的不同,路由协议可分为两类:在一个AS(Autonomous System,自治系统,指一个互连网络,就是把整个Internet划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由选择协议)内的路由协议称为内部网关协议(interior gateway protocol),AS之间的路由协议称为外部网关协议(exterior gateway protocol)。这里网关是路由器的旧称。现在正在使用的内部网关路由协议有以下几种:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前4种路由协议采用的是距离向量算法,IS-IS和OSPF采用的是链路状态算法。对于小型网络,采用基于距离向量算法的路由协议易于配置和管理,且应用较为广泛,但在面对大型网络时,不但其固有的环路问题变得更难解决,所占用的带宽也迅速增长,以至于网络无法承受。因此对于大型网络,采用链路状态算法的IS-IS和OSPF较为有效,并且得到了广泛的应用。IS-IS与OSPF在质量和性能上的差别并不大,但OSPF更适用于IP,较IS-IS更具有活力。IETF始终在致力于OSPF的改进工作,其修改节奏要比IS-IS快得多。这使得OSPF正在成为应用广泛的一种路由协议。现在,不论是传统的路由器设计,还是即将成为标准的MPLS(多协议标记交换),均将OSPF视为必不可少的路由协议。 外部网关协议最初采用的是EGP。EGP是为一个简单的树形拓扑结构设计的,随着越来越多的用户和网络加入Internet,给EGP带来了很多的局限性。为了摆脱EGP的局限性,IETF边界网关协议工作组制定了标准的边界网关协议--BGP。RIP协议OSPF协议BGP协议IGRP协议EIGRP协议 ES-IS和IS-IS协议

请说明链路状态路由协议的特点
Link-State Routing Protocols 链路状态路由协议(link-state routing protocol)的一些特征:1.对网络发生的变化能够快速响应2.当网络发生变化的时候发送触发式更新(triggered update)3.发送周期性更新(链路状态刷新),间隔时间为30 分钟链路状态路由协议只在网络拓扑发生变化以后产生路由更新.当链路状态发生变化以后,检测到变化的设备创建LSA(link state advertisement),通过使用组播地址传送给所有的邻居设备,然后每个设备拷贝一份LSA,更新它自己的链路状态数据库(link state database,LSDB),接着再转发LSA 给其他的邻居设备.这种LSA 的洪泛(flooding)保证了所有的路由设备在更新自己的路由表之前更新它自己的LSDBLSDB 通过使用Dijkstra 算法(shortest path first,SPF)来计算到达目标网络的最佳路径,建立一条SPF 树(tree),然后最佳路径从SPF 树里选出来,被放进路由表里OSPF 和IS-IS 协议被归类到链路状态路由协议中.链路状态路由协议在一个特定的区域(area)里从邻居处收集网络信息,一旦路由信息都被收集齐以后,每个路由器开始通过使用Dijkstra算法(SPF)独立计算到达目标网络的最佳路径运行了链路状态路由协议的路由器跟踪以下信息:1.它们各自的邻居2.在同一个区域中的所有路由器 3.到达目标网络的最佳路径

网络flooding是广什么意思
在网络中,flooding是指从任何节点通过一个路由器发送的信息包会被发送给与该路由器相连的所有其他节点(除了发送信息包出来的那个节点)。flooding是快速散布路由更新信息到整个大型网络的每个节点的一种方法。它有时也被用于多点传输信息包(在真实或虚拟网络中从一个来源节点传输到许多特定节点)。 互联网的OSPF协议(它在网络中更新路由信息)使用的就是flooding。

有人知道何为泛洪协议吗?急啊
泛洪(flooding) 交换机和网桥使用的一种数据流传递技术,将某个接口受到的数据流从除该核接口之外的所有接口发送出去。 SYN泛洪攻击。SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。我们可以利用路由器的TCP拦截功能,使网络上的主机受到保护(以Cisco路由器为例)。DHCP报文泛洪攻击DHCP报文泛洪攻击是指:恶意用户利用工具伪造大量DHCP报文发送到服务器,一方面恶意耗尽了IP资源,使得合法用户无法获得IP资源;另一方面,如果交换机上开启了DHCP Snooping功能,会将接收到的DHCP报文上送到CPU。因此大量的DHCP报文攻击设备会使DHCP服务器高负荷运行,甚至会导致设备瘫痪。ARP报文泛洪攻击 ARP报文泛洪类似DHCP泛洪,同样是恶意用户发出大量的ARP报文,造成L3设备的ARP表项溢出,影响正常用户的转发。

浅析OSPF协议的工作原理(2)
浅析OSPF协议的工作原理6.Exchange: 信息交换状态,本地路由器向邻居发送数据库描述包,并且会发送LSR用于请求新的LSA.7.Loading: 信息加载状态,本地路由器向邻居发送LSR用于请求新的LSA .8.Full: 完全邻接状态,这种邻接出现在Router LSA和Network LSA中.在DR和BDR出现之前,每一台路由器和他的邻居之间成为完全网状的OSPF邻接关系,这样5台路由器之间将需要形成10个邻接关系,同时将产生 25条LSA.而且在多址网络中,还存在自己发出的LSA 从邻居的邻居发回来,导致网络上产生很多LSA的拷贝,所以基于这种考虑,产生了DR和BDR.DR将完成如下工作:1. 描述这个多址网络和该网络上剩下的其他相关路由器.2. 管理这个多址网络上的flooding过程.3. 同时为了冗余性,还会选取一个BDR,作为双备份之用.DR BDR选取规则: DR BDR选取是以接口状态机的方式触发的.1. 路由器的每个多路访问(multi-access)接口都有个路由器优先级(Router Priority),8位长的一个整数,范围是0到255,Cisco路由器默认的优先级是1优先级为0的话将不能选举为DR/BDR.优先级可以通过命 令ip ospf priority进行修改.2. Hello包里包含了优先级的字段,还包括了可能成为DR/BDR的相关接口的IP地址.3. 当接口在多路访问网络上初次启动的时候,它把DR/BDR地址设置为0.0.0.0,同时设置等待计时器(wait timer)的值等于路由器无效间隔(Router Dead Interval).DR BDR选取过程:1. 在和邻居建立双向(2-Way)通信之后,检查邻居的Hello包中Priority,DR和BDR字段,列出所有可以参与DR/BDR选举的邻居.所有 的路由器声明它们自己就是DR/BDR(Hello包中DR字段的值就是它们自己的接口地址;BDR字段的值就是它们自己的接口地址)2. 从这个有参与选举DR/BDR权的列表中,创建一组没有声明自己就是DR的路由器的子集(声明自己是DR的路由器将不会被选举为BDR)3. 如果在这个子集里,不管有没有宣称自己就是BDR,只要在Hello包中BDR字段就等于自己接口的`地址,优先级最高的就被选举为BDR;如果优先级都一样,RID最高的选举为BDR4. 如果在Hello包中DR字段就等于自己接口的地址,优先级最高的就被选举为DR;如果优先级都一样,RID最高的选举为DR;如果选出的DR不能工作,那么新选举的BDR就成为DR,再重新选举一个BDR。5. 要注意的是,当网络中已经选举了DR/BDR后,又出现了1台新的优先级更高的路由器,DR/BDR是不会重新选举的6. DR/BDR选举完成后,DRother只和DR/BDR形成邻接关系.所有的路由器将组播Hello包到AllSPFRouters地址 224.0.0.5以便它们能跟踪其他邻居的信息,即DR将洪泛update packet到224.0.0.5;DRother只组播update packet到AllDRouter地址224.0.0.6,只有DR/BDR监听这个地址.四 OSPF邻居关系邻接关系建立的4个阶段:1.邻居发现阶段2.双向通信阶段:Hello报文都列出了对方的RID,则BC完成.3.数据库同步阶段:4.完全邻接阶段: full adjacency邻居关系的建立和维持都是靠Hello包完成的,在一般的网络类型中,Hello包是每经过1个HelloInterval发送一次,有1个例外: 在NBMA网络中,路由器每经过一个PollInterval周期发送Hello包给状态为down的邻居(其他类型的网络是不会把Hello包发送给状 态为down的路由器的).Cisco路由器上PollInterval默认60s Hello Packet以组播的方式发送给224.0.0.5,在NBMA类型,点到多点和虚链路类型网络,以单播发送给邻居路由器。邻居可以通过手工配置或者 Inverse-ARP发现.OSPF泛洪Flooding采用2种报文LSU Type 4---链路状态更新报文LSA Type 5---链路状态确认报文在P-P网络,路由器是以组播方式将更新报文发送到组播地址224.0.0.5.在P-MP和虚链路网络,路由器以单播方式将更新报文发送至邻接邻居的接口地址.在广播型网络,DRother路由器只能和DR&BDR形成邻接关系,所以更新报文将发送到224.0.0.6,相应的DR以 224.0.0.5泛洪LSA并且BDR只接收LSA,不会确认和泛洪这些更新,除非DR失效 在NBMA型网络,LSA以单播方式发送到DR BDR,并且DR以单播方式发送这些更新.LSA通过序列号,校验和,和老化时间保证LSDB中的LSA是最新的,Seq: 序列号(Seq)的范围是0x80000001到0x7fffffff.Checksum: 校验和(Checksum)计算除了Age字段以外的所有字段,每5分钟校验1次.Age: 范围是0到3600秒,16位长.当路由器发出1个LSA后,就把Age设置为0,当这个LSA经过1台路由器以后,Age就会增加1个LSA保存在LSDB中的时候,老化时间也会增加.当收到相同的LSA的多个实例的时候,将通过下面的方法来确定哪个LSA是最新的:1. 比较LSA实例的序列号,越大的越新.2. 如果序列号相同,就比较校验和,越大越新.3. 如果校验和也相同,就比较老化时间,如果只有1个LSA拥有MaxAge(3600秒)的老化时间,它就是最新的.4. 如果LSA老化时间相差15分钟以上,(叫做MaxAgeDiff),老化时间越小的越新.5. 如果上述都无法区分,则认为这2个LSA是相同的.

本文由 在线网速测试 整理编辑,转载请注明出处。