1、静态路由算法:
由网络管理人员手工配置;
2、动态路由算法:
主要包括距离-向量路由算法和链路状态路由算法;
2.1 距离向量路由算法:
每个路由器会定期的向相邻路由器发送自己的路由表,路由器收到路由表后,做如下操作:
①如果该是一条新的路由,那么直接添加进去;
②如果发送来的路由信息中有一条到达某个目的地的路由,这个路由比当前使用的 路由有较短的距离(这里的距离是一个抽象概念),那么这种情况下,就进行替换 当前路由信息;
最常见的距离向量算法是RIP算法,采用跳数作为距离的度量。
2.2 链路状态路由算法:
首先每个路由器会主动测试所有邻接结点的状态,然后将这些状态信息发送给所有其他结点,其他结点收到后进行更新自己的网络图,然后利用Dijsktra算法计算各个最短路径路由。
注意只有当链路状态发送变化的时候,才会想所有路由器发送消息。
常见的链路状态路由算法是OSPF。
2.3 层次路由:
最后为了防止网络规模扩大时,路由器的路由表增大到很大,从而消耗路由器的缓冲区以及用更多CPU时间来扫描路由表,用更多的带宽来交换路由状态信息,所以出现按层次的方式进行路由。
所谓层次路由是指,把互联网划分为多个较小的自治系统,每个自治系统内使用内部网关协议(IGP),主要有RIP和OSPF;自治系统之间使用外部网关协议(EGP),主要包括BGP;然后在自治系统内部,OSPF又将一个自治系统划分为多个区域,每个路由器只知道该区域内如何把分组路由到目的地,但不用知道其他区域内部结构。
参考:考研计算机网络2015年王道版