概叙
在交换网络中,若要实现不同网段之间的通信,需要依靠三层设备(路由器、三层交换机等),而路由器只知道其直连网段的路由条目,对于非直连的网段,在默认情况下,路由器是不可达的,只有给路由器配置去往非直连网段的路由(包含静态路由、动态路由),才可以实现不同网段之间的通信。
下面,我们先通过一张图来解释路由表中各个条目的含义:
图片来源:路由和路由表_连接同一个路由器的服务器要填在路由表上吗-CSDN博客
这是一张在路由器中查看路由表的图片,图片中包含了多个字段,各个字段的含义如下:
- Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0
- Proto:该路由的协议类型,也即路由器是通过什么协议获知该路由的
- Pre:表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
- Cost:路由开销,当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
- Flags:路由标记。
- NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
- Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
其中,proto(协议)字段为本文章的重点,在路由表中,有三种获取路由的方式,即直连路由(Direct)、静态路由(Static)、动态路由(ospf、rip等)。
直连路由
直连路由是指与路由器接口直接连接的网段。
- 直连路由指向本地直连网络的路由,由设备自动生成。
- 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。
- 使用直连路由在进行路由转发时,报文的目的IP和路由器接口IP在同一个网段之中。
- 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为up。
直连路由与静态路由和动态路由的区别是:
直连路由不需要管理员干预,只要接口状态正常,路由器就会在路由表中添加直连路由。
如下图:
可以看到,路由器AR2与10.0.12.0/30以及10.0.23.0/30网段直连,可以通过查看路由器AR2的路由表,验证直连路由:
静态路由
静态路由是非直连路由的一种,需要由管理员手动分配,即为路由器配置一条指向目的网络的路由条目。
优点:
- 配置灵活,管理员手动分配,可以有效节省链路开销。
- 适用于拓扑结构简单的小型网络。
缺点:
- 当拓扑发生变化时,静态路由不会自动适应拓扑变化,需要管理员去每台路由器上手动修改路由配置。
- 静态路由只适合小型网络,对于大型网络,一般配置动态路由。
动态路由
动态路由也是非直连路由的一种,通常只需要宣告各个路由器的直连网段,就能使路由器自动学习去往目标网络的最佳路径,并且还能根据拓扑的变化调整路由条目。动态路由协议有很多,常见的有ospf(开放式最短路径优先)、rip(路由信息协议)、Is-Is(中间系统到中间系统)、bgp(边界网关协议)等。
优点:
- 动态路由能够适应大型网络,能够随网络拓扑的变化而变化。
- 配置完成后,能够自动学习路由,不需要管理员过多干预,能够减轻管理员工作。
- 在复杂网络下,配置量相对于静态路由较小。
缺点:
- 由于动态路由的原理是路由器根据算法计算出去往目的网络的最佳路径,因此会占用路由器的部分资源。
- 可控性没有静态路由好。
- 适用于大型网络,在小型网络中,配置相比于静态路由较多。