A. 计算机网络-网络层-内部网关协议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”这一项。
B. linux为了确定网络层经过的路由器数目应用什么命令
Tracert为路由跟踪程序,用于确定本地主机到目标主机经过哪些路由结点。在Linux操作系统中,对应的命令为Traceroute,tracert为windows系统下的命令。Tracert是利用ICMP和TTL进行工作的。首先tracert会发出TTL值为1的ICMP数据报(包含40个字节,包括源地址、目标地址和发出的时间标签,一般会连续发3个包)。当到达路径上的第一个路由器时,路由器会将TTL值减1,此时TTL值变成0,该路由器会将此数据报丢弃,并返回一个超时回应数据报(包括数据报的源地址、内容和路由器的IP地址)。当
tracert收到该数据报时,它便获得了这个路径上的第一个路由器的地址。接着,tracert再发送另一个TTL为2的数据报,第一个路由器会将此数据报转发给第二个路由器,而第二个路由器收到数据报时,TTL为0。第二个路由器便会返回一个超时回应数据报,从而tracert便获得了第二个路由器的地址。Tracert每次发出数据报时便会将TTL加1(一般每次都是发3个数据报),来发现下一个路由器。这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止。当数据报到达目的地后,目标主机并不返回超时回应数据报。Tracert在发送数据报时,会选择一个一般应用程序不会使用的号码(30000以上)来作为接收端口号,所以当到达目的地后,目标主机会返回一个ICMP port unreachable(端口不可达)的消息。当tracert收到这个消息后,就知道目的地已经到达了。
Tracert会提取ICMP的超时回应数据报中的IP地址并作主机名解析(用-d参数表示不解析主机名,解析主机名会耽误一些时间),然后将所经过的路由器的主机名及IP地址、数据报每次往返花费的时间显示出来。Tracert有一个固定的等待响应时间,如果这个时间过了,tracert就会输出“*”来表示某个设备没有在规定的时间内作出响应,然后tracert会将TTL值加1,继续进行检测。
通过tracert命令,我们便知道源地址到目的地址所经过的路径。虽然数据报传输时,经过的路径并不是每次都一样,但是大部分时间是一样的。在目标主机响应时,tracert会显示完整的经过的理由以及到每个路由所花费的时间。如果目标主机没有响应,tracert仍会尝试寻找所经过的路径。
B.Tracert结果的实际意义
网络不稳定时,可以看出具体哪些结点不稳定,以及不稳定的结点的上一个结点和下一个结点分别是在什么位置,由此即可大致判断出不稳定的网络结点在什么位
置。我们可以通过查询IP地址的网站如http://www.iplocation.net/(查国外IP比较准)或者ip138.com(查国内IP比
较准)查询下相应结点的位置。
tracert命令参数说明
重点掌握-d参数即可,它表示不解析IP对应的主机名。
-d 指定不将IP解析到主机名,运行更快
-h maximum_hop 指定最大跃点数
C. linux为了确定网络层经过的路由器数目应用什么命令
tracert
tracert是路由跟踪实用程序,用于确定
IP
数据报访问目标所采取的路径。tracert
命令用
IP
生存时间
(TTL)
字段和
ICMP
错误消息来确定从一个主机到网络上其他主机的路由。
D. 怎样查看本机到一个网站经过多少路由节点
打开运行窗口,进行查看。
1、按win键加R键,然后打开运行窗口,输入CMD,然后点击确定按钮。
E. 想发现到达目标网络需要经过那些路由器,应该使用的命令为
如果你在电脑上可以进命令行输入 tracert 目标网络IP就可以看见经过了多少跳(即是经过了多少个路由器)