IP 路由技术全面解析
1. 路由决策基础示例
为了更好地解释路由决策,我们先来看两个简单的例子。
第一个例子,主机 192.168.1.2 要向主机 192.168.1.3 发送数据包。此时,会查询 192.168.1.2 的路由表,首先查找是否有目标主机 192.168.1.3 的匹配项。由于没有这样的条目,接着会检查是否有匹配的网络 ID。发现网络 192.168.1.0/24 与目标 192.168.1.3 的网络 ID 匹配,于是选择这条路由,数据包通过接口 eth0 发送出去。
第二个例子,主机 192.168.1.2 要向 192.168.2.3 发送数据包。同样先在路由表中查找目标 IP 192.168.2.3 的匹配项,未找到后检查目标网络 ID 的匹配项。路由表中只有网络 192.168.1.0/24 的条目,与目标网络不匹配,最终选择默认路由,数据包通过接口 eth0 发送到默认网关 192.168.1.1,再由默认网关将数据包路由到最终目的地。此时,以太网帧中的目标链路层地址是默认网关(192.168.1.1)的地址,而非目标 IP(192.168.2.3)的地址。
在实际网络中,路由表可能非常复杂,包含数千个条目,并且可能由路由守护进程动态更新。但无论如何,路由决策都基于上述简单的三条规则。同时,为了提升性能和满足按需服务,路由子系统还添加了许多功能。
2. 基于策略的路由
传统的数据包在互联网中根据每个路由器的路由信息(下一跳)到达目的地,这是数据包在互联网中传输的基本方式。然而,随着互联网服务的发展和按需使用的增加,仅仅将数据包正确路由到最终目的地已经不够。例如,在按需互联网服务中,有些