前言 本次分享主要介绍路由器的特点以及IP包转发过程,还有路由表的三个转发原则 一、 路由器的特点及IP包转发过程 路由器是工作在三层的网络设备,主要的作用为连接具有不同介质的链路、连接网络或子网,隔离广播、对数据报文进行寻址和转发以及交换和维护路由信息。 路由器的特点 --主要工作在OSI模型的物理层、数据链路层和网络层 --根据网络层信息进行路由转发 --提供丰富的接口类型 --支持丰富的链路层协议 --支持多种路由协议 IP网络的结构 --IP网络由多个网段构成,每个网段对应一个链路 --路由器负责将网段连接起来,适配链路层协议,在网络之间转发数据包,如下,IP网络的结构,不通的网段由路由器隔开 IP包转发 主机单播IP包发送,如下图示例 若目的地址所处网络号与本机所处网络号相同,则目的处于直连网段 路由器单播IP包转发,如下图示例 若目的地址所处网络号与本机任一接口的网络号相同,则目的处于相应接口直连网段 路由器通过查找路由信息判断下一跳路由器地址 主机接收IP包,如下图示例 如果IP包的目的地址符合下列情况之一,则主机接收此包 目的IP地址等于自己的IP地址 目的IP地址是一个广播地址 目的IP地址是一个组播地址,而本机的某个服务属于此组播组 否则主机的网络层丢弃此IP包 二、 IP路由基本原理 1、什么是路由 路由是指导IP报文发送的路径信息,如下图 假如PCA发送一个目的地址为N的数据包,首先会到达路由器RTA,路由器RTA根据本身设备的路由表信息,目的地址为N,下一跳RTB,转发给下一跳RTB,同样,RTB会根据自己的路由信息判断目的地址为N,下一跳RTC,从而转发给RTC,依次类推,数据正常到达网络N,找到目的地址。 2、路由表的构成 第一点说到的每个路由器会根据设备的路由信息查找到下一跳,这些信息就是存放在路由表中的,每个三层设备都会有一张路由表,路由表是路由器转发报文的判断依据。如下图是一个路由表的构成 目的地址:顾名思义就是IP包到达的目的地啦 下一跳接口:数据到达目的地址的下一跳地址,决定数据下一跳从哪台路由器转发出去 出接口:数据从本设备转发出去的接口 度量值:数据到达目的开销,影响cost值的有跳数、带宽等,后面会介绍 3、路由器的单跳操作 第一点讲到的,PCA发送一个数据包到达网络N的时候,需要经过中间的每台路由器进行转呀,也就是路由的是单跳进行操作的。参考如下 当一个IP报文入站到达路由器的时候,路由器首先会查找路由表,查看是否有匹配的路由,如果没有,则直接丢弃;如果有匹配的路由再找下一跳地址(用来判断接下来这个数据包如何转发)如果下一跳不在直连链路上,则以下一跳作为目的地址重新查找路由表,如果在直连链路上,直接送往下一跳设备封装转发出去。这是一台路由器的转发数据包的过程,依次类推,当数据包到达下一台路由器的时候,重复此操作。 4、路由表查找规则 当IP包到达路由器的时候,会查找路由表,接下来看下路由表的查找规则, 第一个原则:掩码最长原则如下图 假设PC发一个目的地址到40.0.0.2的单播包,首先此IP包会到达第一台路由器,假设为RTA,RTA会查询路由表,发现目的地址为40.0.0.0的有两条,此时看两条路由条目的掩码长度,匹配掩码长的路由条目,因为掩码越长、范围越小、匹配越精确(掩码参考第一周分享),所以匹配40.0.0.0/24的这条,下一跳是20.0.0.2,出接口E0/2,所以此数据包会从RTA的E0/2出去转发给RTB的20.0.0.2这个接口地址。RTB再查找路由表,将此数据包转发给40.0.0.2.这就是掩码最长原则。 第二个原则:迭代查询,如下图 PC发往一个目的地址去往50.0.0.2的数据包,首先到达第一台路由器,这个叫RTA,到达RTA之后,目的地址找到50.0.0.0/24这条路由,下一跳40.0.0.2,发现不在直连链路上,则以下一跳地址做为目的地址重新查找,此时目的地址是40.0.0.2,重复第一个原则。从ETH2出去,下一跳交给RTB的20.0.0.2,RTB查找路由表转发数据。这叫做迭代查询。 第三个原则:默认查询,见下图 假设PC发送一个去往30.0.0.2段的数据包,RTA查找路由表,但是目的地址并没有30.0.0.0段的,如果有0.0.0.0的,则匹配0.0.0.0的,因为0.0.0.0为任意地址,没有明细路由的时候匹配默认的路由转发。这个通常用在某公司的AF的配置中,写一条0.0.0.0/0的路由让内网能够找到去往外网的路由 5、路由的来源 上面讲到的路由器是根据路由表来转发IP包的,那么这些路由表里面的路由是如何来的呢,路由表的来源主要分为三类 ①直连路由(下周分享) --开销小,配置简单,无需人工维护。只能发现本接口所属网段的路由。 ②手工配置的静态路由(下周分享) --无开销,配置简单,需人工维护,适合简单拓扑结构的网络。 ③路由协议发现的路由(下周分享) --开销大,配置复杂,无需人工维护,适合复杂拓扑结构的网络。 |