• 冒险村物语
  • 英雄无敌3塔防
  • 驾考家园手游

IP选路实例解析

2015-06-17

IP选路实例解析
 
1.IP搜索路由表的步骤
1) 搜索匹配的主机地址;
2) 搜索匹配的网络地址;
3) 搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为0)。
       匹配主机地址步骤始终发生在匹配网络地址步骤之前。
2.Unix下的路由表
 
 
       对于一个给定的路由器,可以打印出五种不同的标志(flag):
U 该路由可以使用。
G 该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的。
H 该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。如果没有设置该
标志,说明该路由是到一个网络,而目的地址是一个网络地址:一个网络号,或者网
络号与子网号的组合。
D 该路由是由重定向报文创建的。
M 该路由已被重定向报文修改。
 
       标志G是非常重要的,因为由它区分了间接路由和直接路由(对于直接路由来说是不设置标志G的)。其区别在于,发往直接路由的分组中不但具有指明目的端的I P地址,还具有其链路层地址。当分组被发往一个间接路由时, I P地址指明的是最终的目的地,但是链路层地址指明的是网关(即下一站路由器)。在这个路由表例子中,有一个间接路由(设置了标志G),因此采用这一项路由的分组其I P地址是最终的目的地(1 4 0 . 2 5 2 . 1 3 . 6 5),但是其链路层地址必须对应于路由器1 4 0 . 2 5 2 . 1 3 . 3 5。
 
       这里举两个例子:
1、主机b s d i有一个I P数据报要发送给主机s u n。双方都在同一个以太网上。数据报的传输过程如图3 - 3所示。数据报被送到以太网驱动程序,然后作为一个以太网数据帧被送到s u n主机上。I P数据报中的目的地址是s u n的I P地址( 1 4 0 . 2 5 2 . 1 3 . 3 3),而在链路层首部中的目的地址是48 bit的s u n主机的以太网接口地址。
 
 
1、  主机b s d i有一份I P数据报要传到f t p . u u . n e t主机上,它的I P地址是1 9 2 . 4 8 . 9 6 . 9。经过的前三个路由器如图3 - 4所示。首先,主机b s d i搜索路由表,但是没有找到与主机地址或网络地址相匹配的表目,因此只能用默认的表目,把数据报传给下一站路由器,即主机s u n。当数据报从b s d i被传到s u n主机上以后,目的I P地址是最终的信宿机地址(1 9 2 . 4 8 . 9 6 . 9),但是链路层地址却是s u n主机的以太网接口地址。注意!!!这里不是链路层地址,因为还要继续进行转发。这里也可以得出一个结论链路层首部封装的未必都是物理地址。
 
 
       理解G和H标志之间的区别是很重要的。G标志区分了直接路由和间接路由,如上所述。但是H标志表明,目的地址( n e t s t a t命令输出第一行)是一个完整的主机地址。没有设置H标志说明目的地址是一个网络地址(主机号部分为0)。当为某个目的I P地址搜索路由表时,主机地址项必须与目的地址完全匹配,而网络地址项只需要匹配目的地址的网络号和子网号就可以了。另外,大多数版本的n e t s t a t命令首先打印出所有的主机路由表项,然后才是网络路由表项。
 
3.无法到达目的地(ICMP主机与网络不可达差错)
       如果路由表中没有默认项,而又没有找到匹配项,这时会发生什么情况呢?结果取决于该I P数据报是由主机产生的还是被转发的(例如,我们就充当一个路由器)。如果数据报是由本地主机产生的,那么就给发送该数据报的应用程序返回一个差错,或者是“主机不可达差错”或者是“网络不可达差错”。如果是被转发的数据报,那么就给原始发送端发送一份I C M P主机不可达的差错报文。
 
4.ICMP重定向差错
       当I P数据报应该被发送到另一个路由器时,收到数据报的路由器就要发送I C M P重定向差错报文给I P数据报的发送端。
1) 我们假定主机发送一份I P数据报给R 1。这种选路决策经常发生,因为R 1是该主机的默认路由。
2) R1收到数据报并且检查它的路由表,发现R 2是发送该数据报的下一站。当它把数据报
发送给R 2时,R 1检测到它正在发送的接口与数据报到达接口是相同的(即主机和两个路由器所在的L A N)。这样就给路由器发送重定向报文给原始发送端提供了线索。
3) R1 发送一份I C M P重定向报文给主机,告诉它以后把数据报发送给R 2而不是R 1。
 
 
        ICMP重定向报文的格式如图9-4所示。
 
 
        有四种不同类型的重定向报文,有不同的代码值,如图9-5所示。
 
 
I C M P重定向报文的接收者必须查看三个I P地址:
( 1 )导致重定向的I P地址(即I C M P重定向报文的数据位于I P数据报的首部);
( 2 )发送重定向报文的路由器的I P地址(包含重定向信息的I P数据报中的源地址;
( 3 )应该采用的路由器I P地址(在I C M P报文中的4 ~ 7字节)。
 
5.ICMP路由发现报文
       一种初始化路由表的方法是在配置文件中指定静态路由。这种方法经常用来设置默认路由。另一种新的方法是利用I C M P路由器通告和请求报文。
       一般认为,主机在引导以后要广播或多播传送一份路由器请求报文。一台或更多台路由
器响应一份路由器通告报文。另外,路由器定期地广播或多播传送它们的路由器通告报文,允许每个正在监听的主机相应地更新它们的路由表。
 
 
       路由器在一份报文中可以通告多个地址。地址数指的是报文中所含的地址数。地址项大小指的是每个路由器地址32 bit字的数目,始终为2。生存期指的是通告地址有效的时间(秒数)。接下来是一对或多对I P地址和优先级。I P地址必须是发送路由器的某个地址。优先级是一个有符号的32 bit整数,指出该I P地址作为默认路由器地址的优先等级,这是与子网上的其他路由器相比较而言的。值越大说明优先级越高。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)

人气推荐

知识阅读

精彩推荐

  • 游戏
  • 软件
查看更多>>