最细最全面的IP路由知识汇总【建议收藏分享】
前言,聊一聊典型网络中IP的价值
在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。路由是数据通信网络中最基本的要素。路由信息是指导报文转发的路径信息,路由过程就是报文转发的过程。
网段间通信
如下图所示,N的网络怎么去往M网络呢?
通过IP地址能够寻找到一个唯一的网络节点,每个IP都有自己所属的网段,这些网络可能分布在世界各地,共同组成了全球的网络。为了实现不同网段之间的相互通信,网络设备需要能够转发来自不同网段的IP报文,将其送达不同的IP网段。
什么是路由?
路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。路由设备维护着一张路由表,保存着路由信息。
网关以及中间节点(路由器)根据收到的IP报文其目的地址选择一条合适的路径,并将报文转发到下一个路由器。在路径中的最后一跳路由器二层寻址将报文转发给目的主机。这个过程被称为路由转发。中间节点选择路径所依赖的表项为称为路由表。路由条目包含明确的出接口以及下一跳,这两项信息指导IP报文转发到相应的下一跳设备上。
那么路由里面有哪些信息?
路由中包含以下信息:
目的网络:标识目的网段
掩码:与目的地址共同标识一个网段
出接口:数据包被路由后离开本路由器的接口
下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址
以上这些信息标识了目的网段、明确了转发IP报文的路径;而通过路由中包含的信息,路由设备可以转发IP报文到相应的路径。目的地址、掩码用于识别IP报文目的地址,路由设备将IP报文匹配到相应的路由之后,根据路由的出接口、下一跳确认转发的路径。只有出接口并不能够确认转发IP报文的下一跳设备,还需要明确的下一跳设备地址。
每台三层设备都会有路由表存在,路由表是什么?
路由器依据路由表转发报文。路由表由一条条详细的路由条目组成。路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的”路由。对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。
路由信息获取方式
路由器依据路由表进行路由转发,为实现路由转发,路由器需要发现路由,以下为常见的路由获取方式。
直连路由:直连接口所在网段的路由,由设备自动生成。
静态路由:由网络管理员手工配置的路由条目。
动态路由:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由
查看路由表的命令
display ip routing-table
路由表中各个内容都是什么意思?
Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
Pre(Preference)路由优先级的基本概念
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。拥有最高优先级的路由将被添加进路由表。
Pre(Preference)路由优先级是如何比较的?
RTA通过动态路由协议OSPF和手动配置的方式都发现了到达10.0.0.0/30的路由,此时会比较这两条路由的优先级,优选优先级值最小的路由。每一种路由协议都有相应的优先级。RTA通过静态、动态路由协议学习到相同的路由条目,比较路由协议优先级,OSPF优先。OSPF的路由条目被加入到路由表。
Pre(Preference)路由优先级常见的默认值
在华为中,常见的路由默认值如下图:
Cost:开销值也叫度量值
当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。路由度量值表示到达这条路由所指目的地址的代价。一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。度量值数值越小越优先,度量值最小路由将会被添加到路由表中。
Cost:度量值的比较过程
RTA通过动态路由协议OSPF学习到了两条目的地为10.0.0.0/30的路由,学习自同一路由协议、优先级相同,因此需要继续比较度量值。两条路由拥有不同的度量值,下一跳为30.1.1.2的OSPF的路由条目拥有更小的度量值,因此被加入到路由表中。