1.选路原理
在IP搜索路由表分为几个步骤
1.搜索匹配的主机地址
2.搜索匹配的网络地址
3.搜索默认表项.
IP层进行选路实际是一种选路机制,搜索路由表并决定向哪个网络接口发送分组,区别选路策略,IP层选路把路由放进哪个路由规则,而路由守护程序则选择选路策略
2.路由表
当执行netstat命令时,会列出路由表 -n用于打印IP地址,在路由表中的Flag标识会有5种标示表明路由状态
- U 标示路由可以使用
- G 标示该路由是一个网关,如果没有标志,表明目的地直接连接
- H 标示路由是一个主机,目的地是一个完整的地址,如果没有标记,表明是一个网络,目的地是一个网络地址,一个网络号或者与子网号结合
- D 标示该路由由重定向报文创建
- M 标示报文被修改
标记G区分了间接路由和直接路由,区别在于发往直接路由的分组不但具有目的地端的IP地址,也具有链路层地址.当分组发往一个间接路由时,IP地址指明最终目的,但链路层指明的是网关
Refent 指的是正在使用路由的活动进程个数,面向连接的协议链接时要固定路由,当主机与slip之间建立Telnet连接时可以看到参数值为1.
use 显示的是通过路由发送的分组数,如果是路由的唯一用户,那么ping程序发送5个分组时,值为5,最后一列(Interface)为本地接口名字
环回接口为lo0,没有设置G标志,指路由不是一个网关,
默认路由指的是都一个或多个默认路由,UG表明是一个网关
主机路由表的复杂性取决于主机所在网络的拓扑结构
1.最简单的情况为主机没有任何网络相连,只能本省通信,只包含环回接口
2.主机连接局域网,包含环回接口和局域网
3. 初始化路由表
每当初始化一个接口时,就为接口自动创建一个直接路由,在对于点对点链路和环回链路,路由到达主机,对于广播接口,路由到达网络
到达不直接相连的主机或者网络路由必须以某种方式添加到路由表,可以通过运行下列两个命令来添加路由表选项
route add default sun 1 route add slip bsdi 1
第三个参数标示目的端,第三个标示网关,最后一个标示路由的度量,route在度量大于0会为路由设置G标志,否则为0时不设置,
4没有到达目的地的路由
在没有默认项也没找到匹配项时,路由的选择取决于该IP数据报由主机产生的还是被转发,如果数据报是由本地主机产生,那么发送该数据报的应用程序返回一个差错,或者主机不可达差错.如果是被转发的数据报,那么向主机端发送一份ICMP不可达差错报文
5.ICMP主机
当路由器收到一份IP数据报但不能转发时,就会发送一份ICMp差错报,
6.ICMP重定向差错
当IP数据报应该发送另一个路由器时,收到数据报的路由器会发送ICMP重定向差错报文交给IP数据报的发送端,只有当主机可以选择路由器发送分组的情况下,才能看到ICMP重定向报文.
1.假定主机发送IP数据报给R!,发现R2是发送该数据的下一站,当数据报发送给R2时,R1检测到他发送的接口与数据报到达接口相同.这样路由器发送重定向报文原始发送端提供线索
2.R1发送报文给主机,告诉数据报发送R2而不是R1
重定向一般让具有很少选路信息的主机建立合适的路由表,主机启动时可以只有一个默认表项,一旦发生错误,默认路由器进行重定向,并允许主机对路由表做出改动,ICMP重定向允许主机在选路时不具有智能特性,而把特性放在路由器端中,在ICMP重定向报文中,具有以下格式
ICMP重定向报文的接收者必须查看3个IP地址
1.导致重定向的IP地址
2.发送重定向报文的路由器的IP地址
3.应该采用的路由器IP地址
在代码描述中包含以下参数
1.0:网络重定向
2.1:主机重定向
3.2:服务类型和网络重定向
4 3:服务类型和主机重定向
在ICMP重定向报文中包含许多规则,报文只能由路由器生成,不能由主机生成,报文为主机使用。
7.ICMP路由器发现报文
路由器在一份报文中可以通告多个地址,地址数指的是报文包含的地址数,地址大小指的是每个路由器32bit数目,始终为2,生存期指的是通告地址有效的时间(s)
在路由器启动时,定义在所有广播或多播传送接口上发送报文,形式为随机发送,以减少与子网上其他路由器发送冲突的概率,每次通告间隔450s或者600s,一份一份通告报文的默认周期为30min
使用生命周期域的另一个时机是当路由器的某个接口被关闭时,路由可以在该接口发送最后一个通告报文,并把生命周期设为0
在主机操作引导一般发送3份路由的请求报文,每3秒发送一次,一旦接收到一个有效的报文,就停止发送.