路由控制
为了能让数据包正确到达目标主机,路由器必须在途中进行正确的转发。这种向“正确的方向”转发数据所进行的处理就叫做路由控制或路由。而路由器正是依据路由控制表来进行转发的,一旦路由控制表出现了错误,就可能出现数据包发送失败的可能。
- 静态路由:通常手工完成,手动添加,每新增一个都需要管理者添加一个,很麻烦。
- 动态路由:使用路由协议来生成路由控制表。方便,新增一个只需要加一个动态路由的设置即可。
一般都采用动静结合的方式来生成路由控制表。
下面着重介绍一下动态路由:动态路由会给相邻路由器发送自己已知的网络连接信息,而这些信息又像接力一样依次传递给其他路由器,直至整个网络都了解时,路由控制表也就制作完成了,但这个举动会增加一定量的网络开销。
路由协议
大致分为两类:外部网关协议的EGP和内部网关协议的IGP,正如名字所示,一个管理的是外部,一个管理的是内部,专业点说就是:根据EGP在区域网络之间进行路由选择,根据IGP在区域网络内部进行主机识别。EGP和IGP相辅相成,缺一不可。
一般的,IGP中还可以使用RIP(路由信息协议),RIP2,OSPF(开放式最短路径优先)等,EGP则使用BGP(边际网关协议)。
路由算法
下面介绍两种路由控制的算法:
-
距离向量算法
根据距离(也就是代价,在这里指经过路由器的个数)和方向确定目标网络或目标主机位置的一种算法来生成路由控制表。优点就是处理比较简单,缺点就是由于每个路由器的信息都不一致,无法确定路由器上的信息是否正确。 -
链路状态算法
链路状态算法是路由器在了解网络整体连接状态的基础上生成路由控制表的一种算法,该方法需要所有的路由器都保持同样的信息。由于信息都一致,意味着网路拓扑一毛一样,这样可以在复杂的网络环境中保持正确的路由信息,进行稳定的路由选择。但是缺点就是获取路由信息表是个非常复杂的工作,尤其当网络结构庞大而复杂时,消息的处理和管理需要消耗大量的内存和CPU。
下面介绍一下几种常见的路由协议(关键词):
- RIP:距离向量型,30秒发送一次路由控制信息,无限计数,水平分割,毒性逆转,触发更新,子网掩码的表示。
- OSPF:链路状态型,5种类型包,HELLO协议,区域分层管理。
- BGP:路径向量型(类似于距离向量,只不顾涵盖了AS号),AS号,用于区域网络的路由。
- MPLS:比较特殊,使用的是非路由技术,而是标记交换技术,就是在每个IP包里塞一个标记,随后只转发到有该标记的路由器上,实现MPLS的路由器叫做标记交换路由器(LSR),与外部网络连接的叫标记边缘路由器(LER),负责添加和去除标记。它属于单方向的通路,如果需要双向则再加个LSR,添加标记的方法主要是LSR向邻接的LSR分配MPLS标记或者由路由协议载着标记进行交互,目标地址和数据包都要通过由标记决定的同一个路径,也叫标记交换路径。优点嘛就是速度快,毕竟都是固定长度,计算好了的,处理简单。第二个优点就是利用标记生成虚拟的路径并实现通信,VPN就是基于这个功能实现,还有通信质量控制以及带宽保证。