计算机网络协议系列 - 网络层路由协议篇:静态路由与动态路由

- 1 min

计算机网络协议系列(十三)

IP地址与路由控制

简单来说,互联网就是通过路由器连接的网络组合而成,为了让数据包正确到达目标主机,路由器必须在途中进行正确的转发。这种向正确的方向转发数据所进行的处理就叫做路由控制或者简称路由。

路由器根据路由控制表(可以简称为路由表)转发数据包,它根据所收到的数据包中目标主机的 IP 地址与路由控制表的对比得出下一个应该接收的路由器,因此,这个过程中路由控制表的记录必须准确无误。

那么,这个路由控制表是如何生成的呢?主要分两种方式:静态路由和动态路由。

静态路由与动态路由

静态路由是指事先设置好路由器和主机并将路由信息固定的一种方法。而动态路由是指让路由协议在运行过程中自动设置路由控制信息的一种方法。

静态路由需要手工完成,每增加一个新的网络,就要将这个新加的网络信息设置到所有路由器上,给管理者带来很大的负担,一旦某个路由器出现故障,无法自动绕过故障节点,需要管理员手工设置才能恢复。

显然,在配置复杂网络的时候,静态路由给网络管理者带来了巨大的运维负担,所以我们更多使用的是动态路由。

使用动态路由的话,管理员必须设置好路由协议,如果有新的网络追加到现有网络,只需在新增加网络的路由器上进行动态路由的配置即可。

对于路由器较多的复杂网络,采用动态路由显然是一个更合适的方法。况且网络一旦出现故障,只要有一个可绕的其它路径,数据包就会自动选择这个路径,路由器的设置也会被自动重置。

当然,要实现这种机制,网络中的路由器之间需要与相邻的路由器之间互发消息,以便定期相互交换必要的路由控制信息,这种消息的互换会给网络带来一定的负荷,但是相较于静态路由需要人工设置路由来说,利远大于弊。

img

动态路由会给相邻路由器发送自己已知的网络连接信息,而这些信息又像接力一样,依次传递给其他路由器,直至整个网络都了解时,路由控制表就制作完成了。此时就可以正确转发 IP 数据包了。

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora