IP搜索路由的几个步骤:
- 搜索匹配的主机地址
- 搜索匹配的网络地址
- 搜索默认表项
IP层进行的选路实际上是一种选路机制,搜索路由表并决定向哪个网络接口发送分组。
对于一个给定的路由器,可以打印出5种不同的标志:
-
U(该路由是可以使用的)
-
G(该路由是到一个网关,如果没有设置该标志,说明目的地是直接相连的)
这个标志区分了直接路由和间接路由。直接路由是不设置标志G的。区别是:在发往直接路由的分组中不仅有目的端的IP地址,还有目的端的链路层地址。在发往间接路由的分组中有目的端的IP地址,链路层地址却是对应网关的链路层地址。 -
H(该路由是到一个主机,并且目的地是一个完整的主机地址。如果没有设置改标志,说明此路由是到一个网络,而目的地址是一个网络地址)
当为某个目的IP地址搜索路由表时,主机地址项必须和目的地址完全匹配,而网络地址项只需要匹配目的地址的网络号和子网号就行了。 -
D(该路由是由重定向报文创建的)
-
M(该路由已经被重定向报文修改)
主机路由表的复杂性取决于主机所在网络的拓扑结构
-
主机没有和任何网络相连,只能与自己通信,路由表只包含环回接口。
-
主机连在一个局域网上,只能访问局域网上的主机。路由表包含两项:环回接口,局域网。
-
主机能通过单个路由器访问其他网络,增加一个默认表项指向该路由器。
-
新增其他的特定主机和网络路由。
没有到达目的地的路由
如果路由表中没有默认项,且没有找到匹配项。那么如果数据报是由本地主机产生的,那么就给产生数据报的应用数据返回一个差错。如果是被转发的数据报(此刻主机充当路由器角色),那就给原始发送端发送一份ICMP主机不可达差错报文。
ICMP重定向差错
当路由器接受到一个应该发向另一个路由器的IP数据报时,就会先把IP数据报发给正确的路由器,并向发送端发送一份ICMP重定向报文,告诉发送端以后把IP数据报发给正确的路由器。
重定向让只有很少选路信息的主机能逐渐地建立起更完善的路由表。
ICMP重定向报文的格式:
1.57.16.png
ICMP路由器发现报文
初始化路由器除了可以在配置文件中指定静态路由,还可以利用ICMP路由器通知和请求报文。
主机在引导后要广播或多播传送路由请求报文。一台或更多的路由器进行相应。而且,路由器也要随机地(减小在子网上与其他路由器发生冲突的概率)广播或多播它们的路由器通告报文,允许正在监听的主机更新自己的路由表。
路由器发现报文一般由用户进程(守护进程)来处理。
格式:
2.11.25.png 2.11.35.png
并不是所有系统都支持这两种ICMP报文。
网友评论