路由基础
背景:网段间通信
- IP地址唯一标识了网络中的一个节点,每个IP地址都拥有自己的网段,各个网段可能分布在网络的不同区域。
- 为实现IP寻址,分布在不同区域的网段之间要能够相互通信。
什么是路由?
在数据通信网络中,通常存在着多个不同IP网段,想要使这些网段进行通信,就需要通过三层路由设备实现跨网段转发功能。路由指导着报文转发的路径信息,通过路由可以确定转发IP报文的路径。
如上图所示,由N网对M网的通信过程
- 路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径
- 路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器。
- 路由设备维护着一张路由表,保存着路由信息
路由器工作原理
根据路由表存储的目标IP地址转发
路由信息介绍
-
路由中包含以下信息:
- 目的网络:标识目的网段
- 掩码:与目的地址共同标识一个网段
- 出接口:数据包被路由后离开本路由器的接口
- 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址
-
这些信息标识了目的网段、明确了转发 lP 报文的路径。
路由表
在路由设备上存在着多条路由条目,这些条目里包含明确的出接口以及下一跳,这两项信息指导IP报文转发到相应的下一跳设备,而这些路由条目在设备上构成路由表。
路由表是路由器进行数据转发的依据,它保存各种传输路径数据.
- 路由表通过各种方式发现路由
- 路由器选择最优的路由条目放入路由表中
- 路由表知道设备对IP报文的转发
- 路由器通过对路由表的管理实现对路径信息的管理
Windows下cmdroute print
查看路由表
Linux下route -n
路由信息获取方式
路由器一句路由表进行路由转发,尉氏县路由转发,路由器需要发现路由,以下为常见的路由获取方式。
直连:设备自动生成,接口有什么IP就生成什么
- 直连路由指向本地直连网络的路由,有设备自动生成。
- 当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。
- 使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段中。
- 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N3kLWOo1-1643017352155)(https://gitee.com/aspirin_s/note-picture/raw/master/img/WEB渗透/1000%20(1)].png)
静态:管理员手动配置
Windows下route
回车查看帮助(以管理员打开cmd)
route add 目标网段 mask 子网掩码 出接口
例route add 10.1.1.0 mask 255.255.255.0 192.168.1.1
再次查看路由,route print
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9DM799Fa-1643017352157)(https://gitee.com/aspirin_s/note-picture/raw/master/img/WEB渗透/1000%20(2)].png)
动态:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由。
最长匹配原则
当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。
蓝色匹配找最长
路由迭代
数据转发流程
PC1发送数据包到PC2的流程如下:
- PC1将报文发往网关设备R1。
- R1查找路由表项,确定转发的下一跳、出接口,之后将报文转发给R2。
- R2通过查找路由表项转发给R3。
- R3收到后查找路由表项,发现IP报文的目的IP地址属于本地接口所在网段,则直接本地转发,最终该报文被发往目的主机PC2。
静态路由应用场景
- 静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。
- 缺点是不能自动适应网络拓扑的变化,需要人工干预。
- RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。
特殊
等价路由
路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发行为被称为负载分担
浮动路由
缺省路由
- 缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。
- 缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。
目的地址和掩码都为全0的特殊路由
如果报文的目的地址无法匹配路由表中的任何一项,路由器将选择依照缺省路由来转发报文。
默认路由一般配置在去往外网的网段上
当路由表中没有与报文的目的地址匹配的表项时,设备可以选择缺省路由,作为报文的转发路径目标网段位 0.0.0.0 掩码:0.0.0.0
明细路由(没有经过汇总的路由)优先级>汇总路由>默认路由/缺省路由
RTA前往非本地直连网段,将报文转发给10.0.0.2.