前言
上次有写过一篇文章,里面有提到了路由协议类型。
先温习下路由协议类型
协议类型:指该路由条目是通过什么路由协议学些过来的。例如是直连的,或是静态的,或者是通过OSPF、IS-IS、EIGRP、BGP等动态路由学习到的。
那么要搞清楚为什么要有动态路由协议,就需要知道这些路由协议类型有什么区别?下面我们就分别看下吧!
直连路由
直连路由是怎么生成的?
1、对于路由器等三层网络设备,我们在其接口配置了IP地址的话,并且接口的物理、协议的状态都为UP,则路由器等网络设备能够自动地学习到达该接口所在网络的直连路由,并将这条直连路由在路由表中生成。
2、说简单点,因为这是我“家门口”的网络嘛,无需人为干预,自动学习。
举个例子:
1、如下图:路由器R1的G0/0/0和G0/0/1物理和协议都up;
2、查找路由表可以看到接口生成的直连路由。
直连路由的优先级
直连路由的优先级为0,优先级值越小,代表的协议优先级越高,也就是说直连路由会优先加入到路由表中。
静态路由
静态路由是怎么生成的?
之前写过一篇文章《》,静态路由说白了就是需要我们在网络设备上手动配置的路由条目,你要告诉路由器去往某个地址该怎么走。
路由器对于到达直连网络的路由(直连路由)能够自动学习,可是对于到达非直连网络的路由可就无法自动学习了,一种最简单的方式就是通过手工配置的方式为路由器创建静态的路由表项,这叫静态路由。
静态路由的优先级
直连路由的优先级为60,优先级值越小,代表的协议优先级越高,因此相比直连路由静态路由的优先级低。
静态路由的优缺点
如果说在任何情况下,静态路由能够解决所有的路由通信,那么是不是就意味着不需要动态路由了,显然静态路由是无法达到的。
下面我们来看两个例子。
案例一:
PC1的IP地址是192.168.1.254/24,网关是192.168.1.1/24;PC2的IP地址是192.168.2.254/24,网关是192.168.2.1/24;
假设路由器R1和R2上面没有配置路由协议,此时PC1和PC2是无法通信的。
因为PC1去往PC2时,R1收到目的IP是PC2的报文,查找路由表没有去往PC2的路由条目,那么此时数据包就会被丢弃。
那么如果想要让PC1和PC2能够通信,最简单的办法是什么呢?静态路由,没错,就是在R1上面加一条去往PC2的静态路由,下一跳指向R2就好了;
同理,R2上也需要加一条去往PC1的静态路由;
那么此时PC1和PC2就可以通信了。
案例二:
随着路由器数量的增多,或者说随着需要互相通信的网段增加,那么需要我们手动配置的静态路由数量会曾几何倍的增加。
如下图,我们如果需要3台PC能够互相通信,那么就需要在每台设备上配置2条静态路由。
那么静态路由的缺点也是显而易见的。下面我们总结下
静态路由的优点:
静态路由是网络管理员手工配置的,因此可管理性非常高;
静态路由的缺点:
1、你要到一个目的地,就必须做一条静态路由的配置,那么如果网络特别庞大、设备数量特别多呢?工作量就相当大了,这是低效且不切实的;
2、静态路由无法根据网络拓扑的变更做出动态响应,因此当网络发生变化时,管理员可能不得不重新配置或调整静态路由。
因此,我们迫切需要一种动态的机制,来帮助路由器更加灵活地维护路由信息。
这时候你应该知道为什么要有动态路由协议了吧。
动态路由
什么是动态路由?
动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。
动态路由分类
根据作用的范围,动态路由协议可分为:
1) 内部网关协议(Interior Gateway Protocol,简称IGP):在一个自治系统内部运行。
2)外部网关协议(Exterior Gateway Protocol,简称EGP):运行于不同自治系统之间。BGP路由协议几乎是目前业界唯一在使用的EGP。
2) 链路状态协议(Link-State):典型的有OSPF和IS-IS。