IP选路
选路是IP最重要的功能之一
路由守护程序(daemon),通常这是一个用户进程
在Unix系统中,大多数普通的守护程序都是路由程序和网关程序
路由表经常被IP访问,但是它被路由守护程序更新的频度却低的多
在接收到ICMP重定向报文时,路由表也要被更新
在本章中,我们还将用netstat命令来显示路由表
netstat -r
route print 查路由表
选路的原理
我们列出了IP搜索路由表的几个步骤
1)搜索匹配的主机地址
2)搜索匹配的网络地址
3)搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为0)
(cisco的路由策略) 1明细策略路由 2明细路由 3默认策略路由 4默认路由
IP执行选路机制,而路由守护程序则一般提供选路策略
简单路由表
U该路由可以使用
G该路由是到一个网关(路由器)。如果没有设置该标志,说明目的地是直接相连的
H该路由是到一个主机,也就是说,目的地址是一个完整的主机地址。如果没有设置该标志,说明该路由是到一个网络,而目的地址是一个网络地址:一个网络号,或者网络号与子网号的组合
D该路由是由重定向报文创建的
M该路由已被重定向报文修改
初始化路由表
每当初始化一个接口时(通常是用ifconfig命令设置接口地址),就为接口自动创建一个直连路由。对于点对点链路链路和环回接口来说,路由是到达主机(例如,设置H标志).对于广播接口来说,如以太网,路由是到达网络。
到达主机或网络的路由如果不是直接相连的,那么就必须加入路由表
route add default sun 1
route add slip bsdi 1
route add 1.1.1.0 mask 255.255.255.0 1.1.1.1
第3个参数(defaul和slip)代表目的端,第4个参数代表网关(路由器),最后一个参数代表路由的度量。route命令在度量值大于0时要为该路由设置G标志,否则,当耗费值为0时就不设置G标志
没有到达目的的路由
主机不可达差错 或者 网络不可达差错
被转发的数据报---ICMP主机不可达
转发或不转发
一般都假定不转发IP数据报,除非对它们进行特殊配置而作为路由器使用
最大
理论上65535字节,实际上可能应用层api接口限制,TCP/IP内核限制
源站抑制
UDP没意义
会让源站抑制更加严重
浪费带宽
TCP
接受源站抑制差错报文,并将放慢在该连接上的数据传输速度