㈠ 计算机网络中的路由器使用距离向量算法
1、假设路由器使用距离向量算法,下图给出了网络拓扑及路由器的初始路由表(只包含部分字段),假设A给B传了一次路由信息,B处理后又也给C传了一次路由信息,请在表中填写经过路由信息交换之后B和C的路由表(相邻路由器间距离计为1)。
2、B路由器增加2条:10.3.0.0 s0 1
10.4.0.0 s1 1
3、C路由器增加2条:10.3.0.0 s0 2
10.2.0.0 S0 1
㈡ 求距离向量算法,实现路由表的自动更新,用vb编程实现的
vb不好弄,用c吧
㈢ 距离向量算法的实现(Java或C++)
希望这个对你有所启发,尽管是用C编的,你看一下思想。
下载地址: http://download.pudn.com/downloads98/sourcecode/multimedia/streaming/7941968VCD.rar
出处:
http://www.pudn.com/downloads138/sourcecode/internet/tcp_ip/detail594129.html
㈣ 计算机网络中的距离向量算法(RIP)的基本原理
RIP协议采用距离向量算法,在实际使用中已经较少适用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组。
㈤ 距离矢量路由算法 (计算机网络题
通过B到个点的距离为:(11,6,14,18,12,8),因为B到A的距离为5,C到B的距离为6所以C到A的距离更新为5+6=11,C到B的距离没变为6,C通过B到C的距离为6+8=14,C通过B到D的距离为6+12=18,C通过B到E距离6+6=12,C通过B到F距离为6+2=8。
通过D到个点的距离为:(19,15,9,3,12,13),通过D到A的距离为3+16=19,通过D到B的距离为3+12=15,通过D到C的距离为6+3=9,通过D到D的距离为3,通过D到E的距离为3+9=12,通过D到F的距离为3+10=13。
通过E到个点的距离为:(12,11,8,14,5,9),通过E到A的距离为5+7=12,通过E到B的距离为5+6=11,通过E到C的距离为5+3=8,通过E到D的距离为5+9=14,通过E到Eden距离为5,通过E到F的距离为9。
取到达每一目的地的最小值(C除外)得到: (11, 6,0,3, 5,8)就得出了新的路由表。输出的路线输出线路是: (B,,B, -,D,E, B)。
(5)网络配置距离向量算法扩展阅读:
路由算法的度量标准:
路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。
通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等。
路径长度:
路径长度是最常用的路由。一些路由协议允许网管给每个网络连接人工赋以代价值,这种情况下,路由长度是所经过各个链接的代价总和。
可靠性:
可靠性,在路由算法中指网络连接的可依赖性(通常以位误率描述),有些网络连接可能比其它的失效更多,网路失效后,一些网络连接可能比其它的更易或更快修复。
路由延迟:
路由延迟指分组从源通过网络到达目的所花时间。很多因素影响到延迟,包括中间的网络连接的带宽、经过的每个路由器的端口队列、所有中间网络连接的拥塞程度以及物理距离。
带宽
带宽指连接可用的流通容量。在其它所有条件都相等时,10Mbps的以太网链接比64kbps的专线更可取。虽然带宽是链接可获得的最大吞吐量,但是通过具有较大带宽的链接做路由不一定比经过较慢链接路由更好。
负载:
负载指网络资源,如路由器的繁忙程度。负载可以用很多方面计算,包括CPU使用情况和每秒处理分组数。持续地监视这些参数本身也是很耗费资源的。
通信代价:
通信代价是另一种重要的metric,尤其是有一些公司可能关心运作费用甚于关心性能。即使线路延迟可能较长,他们也宁愿通过自己的线路发送数据而不采用昂贵的公用线路。
参考资料来源:网络-路由算法
㈥ 网络中路由器的应用与配置 介绍
网络中路由器的应用与配置
摘 要:路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,并能够高速的选择信息传送的线路,大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率,从而让网络系统发挥出更大的效益来。
随着Internet的迅猛发展,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型的网络资源,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。在目前的情况下,任何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以大网技术、FDDI技术、还是ATM技术,都离不开路由器,否则就无法正常运作和管理。
一、路由器的工作原理
网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上。
二、路由器的主要功能
路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。
三、路由选择协议
典型的路由选择方式有两种:静态路由和动态路由。静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
四、路由算法
路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。
五、路由器安全维护
利用路由器的漏洞发起攻击的事件经常发生。路由器攻击会浪费CPU周期,误导信息流量,使网络异常甚至陷于瘫痪。因此需要采取相应的安全措施来保护路由器的安全。
①避免口令泄露危机。 据卡内基梅隆大学的CERT/CC(计算机应急反应小组/控制中心)称,80%的安全突破事件是由薄弱的口令引起的。黑客常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。
②关闭IP直接广播。 Smurf攻击是一种拒绝服务攻击。在这种攻击中,攻击者使用假冒的`源地址向你的网络广播地址发送一个“ICMP echo”请求。这要求所有的主机对这个广播请求做出回应。这种情况会降低网络性能。使用no ip source-route关闭IP直接广播地址。
③禁用不必要的服务。 强调路由器的安全性就不得不禁用一些不必要的本地服务,例如SNMP和DHCP这些用户很少用到的服务,都可以禁用,只有绝对必要的时候才使用。另外,可能时关闭路由器的HTTP设置,因为HTTP使用的身份识别协议相当于向整个网络发送一个未加密的口令。然而,HTTP协议中没有一个用于验证口令或者一次性口令的有效规定。
④限制逻辑访问。 限制逻辑访问主要借助于合理处置访问控制列表,限制远程终端会话有助于防止黑客获得系统逻辑访问。SSH是优先的逻辑访问方法,但如果无法避免Telnet,不妨使用终端访问控制,以限制只能访问可信主机。因此,用户需要给Telnet在路由器上使用的虚拟终端端口添加一份访问列表。
⑤封锁ICMP ping请求。 控制消息协议(ICMP)有助于排除故障,识别正在使用的主机,这样为攻击者提供了用来浏览网络设备、确定本地时间戳和网络掩码以及对OS修正版本作出推测的信息。因此通过取消远程用户接收ping请求的应答能力,就能更容易的避开那些无人注意的扫描活动或者防御那些寻找容易攻击的目标的“脚本小子”(script kiddies)。
⑥关闭IP源路由。 IP协议允许一台主机指定数据包通过你的网络路由,而不是允许网络组件确定最佳的路径。这个功能的合法应用是诊断连接故障。但是,这种用途很少得到应用,事实上,它最常见的用途是为了侦察目的对网络进行镜像,或者用于攻击者在专用网络中寻找一个后门。除非指定这项功能只能用于诊断故障,否则应该关闭这个功能。
⑦监控配置更改。 用户在对路由器配置进行改动之后,需要对其进行监控。如果用户使用SNMP,那么一定要选择功能强大的共用字符串,最好是使用提供消息加密功能的SNMP。如果不通过SNMP管理对设备进行远程配置,用户最好将SNMP设备配置成只读。拒绝对这些设备进行写访问,用户就能防止黑客改动或关闭接口。 此外,用户还需将系统日志消息从路由器发送至指定服务器。
总之,路由器在网络中起着举足轻重的作用,它工作在网络层,可以确定网络上各个数据包的目的地址,并将数据包发往通向目的地的最短路径上,同时路由器还可以过滤数据包。
㈦ RIP协议的距离向量算法的有个疑惑
RIP协议采用水平分割法不向路由信息来源方向反向发送路由信息,以防止路由环路的发生。
所以得到信息的路由器都是将跳数加1。
即使没有采用水平分割法,路由器保存的路由表也是最优的路径,不会将小的跳数修改为大的跳数,换言之Net2,3,Y仍将保留Net2,3,Y,就如你说的,靠近目标网段的路由器的跳数是小的而不是大的。
㈧ 计算机网络-网络层-内部网关协议RIP
RIP (Routing Information Protocol))是内部网关协议IGP中最先得到广泛使用的协议,它的中文名称叫做 路由信息协议 ,但很少被使用。RIP是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大优点就是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。RIP协议将“ 距离 ”定义如下:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。“加1”是因为到达目的网络后就进行直接交付,而到直接连接的网络的距离已经定义为1。例如路由器R1到网1或网2的距离都是1(直接连接),而到网3的距离是2,到网4的距离是3。
RIP协议的“距离”也称为“跳数”(hop count)吧,因为每经过一个路由器,跳数就加1。RP认为好的路由就是它通过的路由器的数目少,即“距离短”, RIP允许一条路径最多只能包含15个路由器 。因此“距离”等于16时即相当于不可达,可见RIP只适用于小型互联网。
"需要注意的是,到直接连接的网络的距离也可定义为0(采用这种定义的理由是:路由器在和直接连接在该网络上的主机通信时,不需要经过另外的路由器。既然每经过一个路由器要将距高加1,那么不再经过路由器的距离就应当为0)。但两种不同的定义对实现RIP协议并无影响,因为重要的是要找出最短距离,将所有的距离都加1或都减1,对迭择最佳路由其实是一样的。"
RIP不能在两个网格之间同时使用多条路由 ,RIP选择一条具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时廷)但路由器较多的路由。
RIP协议和OSPF协议,都是分布式路由选择协议。 它们的共同特点就是每一个路由器都要不新地和其他一些路由器交换路由信息。我们一定要弄清以下三个要点,即和哪些路由器交换信息?交换什么信息?在什么时候交换信息?
RIP协议的特点是:
(1) 仅和相邻路由器交换信息 。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定,不相邻的路由器不交换信息。
(2) 路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。 也就是说,交换的信息是:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。
(3) 按因定的时间间隔交换路由信息 ,例如,母隔30秒。然后路由器根据收到的路由信息更新路由表。当网路拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
路由器在刚刚开始工作时,它的路由表是空的,然后路由器就得出到直接相连的几个网络的距离(这些距离定义为1)。接着,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。但经过若干次的更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
看起来RIP协议有些奇怪,因为“我的路由表中的信息要依赖于你的,而你的信息又依赖于我的。”然而事实证明,通过这样的方式一“我告诉别人一些信息,而别人又告诉我一些信息。我再把我知道的更新后的信息告诉别人,别人也这样把更新后的信息再告诉我”,最后在自治系统中所有的结点都得到了正确的路由选择信息。在一般情况下,RIP协议可以收敛,并且过程也较快。 “收敛”就是在自治系统中所有的结点都得到正确的路由选信的过程。
路由表中最主要的信息就是: 到某个网铬的距离(即最短距离),以及应经过的下一跳地址 。路由表更新的原则是找出到每个目的网络的最短距离。这种 更新算法又称为距离向量算法 。
对每一个相邻路由器发送过来的RIP报文,进行以下步骤:
现在较新的RIP版本是1998年1I月公布的RIP2RFC2453](已成为互联网标准),新版本协议本身并无多大变化,但性能上有些改进。RIP2可以支持变长子网掩码和无分类域间路由选择CIDR。此外,RIP2还提供简单的鉴别过程支特多播。图4-32是RP2的报文格式,它和RIP1的首部相同,但后面的路由部分不一样。
RIP报文由首部和路由部分组成。
RIP的首部占4个字节,其中的命令字段指出报文的意义。例如,1 表示请求路由信息,2表示对请求路由信息的响应或未被请求而发出的路由更新报文,首部后而的“必为0”是为了4字节字的对齐。
RIP2报文中的路由部分由若干个路由信息组成,每个路由信息需要用20个字节。 地址族标识符(又称为地址类别)字段用来标志所使用的地址协议。 如采用IP地址就令这个字段的值为2(原来考虑RIP也可用于其他非TCPP协议的情况), 路由标记填入自治系统号ASN (Autonomous System Number))( 自治系统号ASN原来规定为一个16位的号码(最大的号码是655),由1ANA分配.现在已经把ASN扩展到32位),这是考虑使RIP有可能收到本自治系统以外的路由选择信息。再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离,一个RIP报文最多可包括25个路由,因而RIP报文的最大长度是4+20×25=504字节。如超过,必须再用一个RIP报文来传送。
RIP2还具有简单的鉴别功能。若使用鉴别功能,则将原来写入第一个路由信息(20字节)的位置用作鉴别。这时应将地址族标识符置为全1(即0 xFFFF),而路由标记写入鉴别类型,剩下的16字节为鉴别数据。在鉴别数据之后才写入路由信息,但这时最多只能再放入24个路由信息。
优点: RIP协议最大的优点就是实现简单,开销较小;如果发现更短的路由,这种更新信息传播的很快。
缺点: 限制了网络的规模,它能使用的最大距离为15(16表示不可达);路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加; 当出现网络故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
设三个网络通过两个路由器互连起来,并且都已建立了各自的路由表。图中路由器交换的信息只给出了我们感兴趣的一行内容。路由器R1中的“ 1,1,直接 ”表示“到网1的距离是1,直接交付”。路由器R2中的“ 1,2,R1 ”表示“到网1的距离是2,下一跳经过R1”。
现在假定路由器R1到网1的链路出了故障,R1无法到达网1。于是路由器R1把到网1的距离改为16(表示到网1不可达),因而在R1的路由表中的相应项目变为“ 1,16,直接 ”。但是,很可能要经过30秒钟后R1才把更新信息发送给R2。然而R2可能已经先把自己的路由表发送给了R1,其中有“1,2,R1”这一项。
㈨ 距离向量算法的路由信息更新方法是
以路由器自身为根节点计算出到达各个节点的路径成本、当路由器动态地发现了一个新邻居时,也获得了来自这个新邻居所通告的路由信息,路由器将获得的路由更新信息首先与拓扑表中所记录的信息进行比较,符合可行条件的路由被放入拓扑表,再将拓扑表中通过后继路由器的路由加入路由表,通过可行后继路由器的路由如果在所配置的非等成本路由负载均衡的范围内,则也加入路由表,否则,保存在拓扑表中作为备择路由。如果路由器通过不同的路由协议学到了到同一目的地的多条路由,则比较路由的管理距离,管理距离最小的路由为最优路由。当路由信息没有变化时,EIGRP邻居间只是通过发送HELLO包,来维持邻居关系,以减少对网络带宽的占用。在发现一个邻居丢失、一条链路不可用时,EIGRP立即会从拓扑表中寻找可行后继路由器,启用备择路由。如果拓扑表中没有后继路由器,由于EIGRP 依靠它的邻居来提供路由信息,在将该路由置为活跃状态后,向所有邻居发送查询数据包。如果某个邻居有一条到达目的地的路由,那么它将对这个查询进行答复,并且不再扩散这个查询,否则,它将进一步地向它自己的每个邻居查询,只有所有查询都得到答复后,EIGRP 才重新计算路由,选择新的后继路由器。距离矢量路由协议有EIGRP、RIP。RIP是只以距离为度量值;EIGRP以距离、带宽、延时为度量值。
㈩ 距离矢量路由算法为什么会出现计数到无穷
所谓距离矢量即是将一条路由信息考虑成一个由目标和距离(用 Metric 来度量)组称的矢量,每一台路由器从其邻居处获得路由信息,并在每一条路由信息上叠加从自己到这个邻居的距离矢量,从而形成自己的路由信息。 在一个链路状态路由选择中,一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上所有的其他的结点,而不仅仅是发给那些直接相连的结点。每个节点都用这种方式,所有其他的结点从网上接收包含直接链路状态的路由信息。 每当链路状态报报文到达时,路由结点便使用这些状态信息去更新自己的网路拓扑和状态“视野图”,一旦链路状态发生改变,结点对跟新的网络图利用Dijkstra最短路径算法重新计算路由,从单一的报源发出计算到达所有的结点的最短路径。 看明白了么?最简单理解。。距离矢量算法是静态的。。。链路状态路由算法是动态的,,随时改变的。。 距离矢量算法,一旦相邻节点发生故障,传输就出终止;链路状态路由算法,一旦相邻的一个节点发生故障,会自动转移数据包到另外的节点进行传输过程。