IP路由
数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。
路由是数据通信网络中最基本的要素,路由信息是指导报文转发的路劲信息,路由过程就是报文转发的过程。
路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器必须有关于目标网段的路由,否则就会造成丢包。
路由器设备一定是先查表后转发
display ip routing-table 查看IP路由表 display ip interface brief 查看设备接口类型
路由信息
1.目的网络号/掩码
2.下一跳地址
3.本地出接口
基本路由思想
1.每台路由器独立决策报文的转发,不是所有路由器都有去往目的地址的路由
2.沿途设备必须有去往目的网络的路由,并且一定有去往源网络的路由信息
路由信息获取方式
1.直连路由:由设备自动生成指向本地直连网络,当接口出现故障以及人为关闭时,直连路由会自动消失
2.静态路由:由网络管理员手工配置的路由条目
3.动态路由:路由器运行动态路由协议(OSPF)学习到的路由信息
路由器需要获取非直连网段信息的话,就必须通过路由协议来解决,比如静态路由和动态路由
路由优先级
取值范围0-255,取值越小,优先级越高,当去往同一个网段存在不同协议的路由的时候,选择路由优先级高的作为最优路由放到路由表中
默认路由优先级
直连路由:0
静态路由:60
RIP:100
OSPF:10 OSPF ASE:150
ISIS:15
BGP:255
路由表
Destination/Mask | Proto(Protocol) | Pre(Preference) | Cost | NextHop | Interface |
---|---|---|---|---|---|
目的网络地址与网络掩码 | 路由协议类型,即通过什么协议获得该路由 | 路由协议优先级 | 开销,到达同一目的的多条路由具有相同路由优先级时,路由开销最小的将成为当前最优路由 | 到达该路由指向的目的网络的下一跳地址,该字段指明了主句转发的下一个设备 | 路由主接口,数据将从本路由器的那个接口转发出去 |
数据跨链路转发
转发时,二层数据帧需要重写(源目MAC改变,源目IP不变)
主机判断机制:
1.源地址和目的地址在同一个网段,则直接通过ARP缓存表找到目的MAC地址进行封装
2.源地址和目的地址不在同一个网段,则查ARP缓存表中网关的MAC地址进行封装,并将数据发送给网关
静态路由
由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络,缺点是不能自动适应网络拓扑的变化,需要人工干预
默认路由---明细路由:默认路由只能单方向配置,要么默认路由去明细路由回,要么明细路由去默认路由回
配置静态路由:如果配置错误则不会出现在路由表中,且要undo删除
ip route static 目标网段 目标网段掩码 下一跳IP地址(必须是三层设备)
ip route-static 目标网段 目标网段掩码 出接口(如果出接口是以太网接口,则西部要写下一跳地址,不能使用出接口方式)
如果出口是PPP、HDLC链路时,可以写下一跳地址也可以写出接口
默认路由---明细路由
ip route-static 0.0.0.0 0 10.0.0.2
静态路由特点:
1.完全按照管理员意志进行转发
2.不消耗设备资源,配置简单
3.规模较小,业务稳定
缺点:
1.不适用大型网络
2.没有维护路径的能力
缺省路由是在路由表中没有匹配到目标路由时的默认路由,也被称为默认路由。可通过以下命令配置:
ip route-static 0.0.0.0 0.0.0.0 下一跳IP地址
缺省路由
缺省路由之一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才能使用的路由,如果报文的目的地址不嫩育路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发,缺省路由也叫默认路由
缺省路由特点:
1.可以指定一台设备作为所有未知目的地的下一跳
2.不需要为每个目的地配置路由
3.可以处理跨网络的数据包
缺点:
1.如果默认路由指向的下一跳设备挂了,那么所有流量都将被丢弃
2.不适用于大型网络
动态路由
自动发现和生成路由,并且在拓扑变化时及时更新路由(能感知到路由变化),可以有效减少管理人员工作量,更适合大规模网
动态路由分类 | ||
---|---|---|
按工作区域分 | IGP(内部网关协议:RIP,OSPF,ISIS) | EGP(外部网关协议),BGP用于连接IGP |
按工作协议分 | DVRP(距离矢量路由协议:RIP) | LRP(链路状态路由协议:OSPF,ISIS) |
AS 自治系统:运行相同的IGP协议的一组设备所组成的网络
BGP实现AS之间互联互通
路由递归/迭代
路由必须有直连的下一跳才能指导转发,如果路由的下一跳不是直连的,则需要迭代查询出该路由直连的下一跳和对应的出接口,这个过程就叫路由递归也称路由迭代。
迭代路由:根据非直连的下一跳地址,查路由表是否存在去往非直连的下一跳的路由,如果有则完成迭代查询,没有则该路由无法出现在路由表中,缺省路由不参与迭代
等价路由(负载分担)
基于流的负载分担,路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口,下一跳转发,这种转发行为被称为负载分担
对于TCP,UDP报文,五元组相同则认为是同一个流,如果五元组有一个不同,则认为不是同一个流
对于非TCP,UDP报文,只要是SIP+DIP相同则认为是同一个数据流
匹配同一个路由的不同的数据流在多条等价的链路上进行转发
浮动路由
浮动路由和等价路由前提都是去往同一个目的网段拥有两个或多个不同的下一跳
静态路由无法配置OCST,只能通过优先级的调整来首先主备备份
动态路由通过cost值来实现主备备份,通过设置开销值,开销小的优先,开销大的作为备份,相同则是负载分担
去往同一个目的网段也可以使用不同的路由协议去实现浮动路由
优选优先级高的路径,优先级高的失效才会选择优先级低的,浮动路由,同一时间只有一个会出现在路由表中
案例
CIDR(无类别域键间路由)
采用IP地址加掩码长度来标识网络和子网,CIDR允许任意长度的掩码长度,将IP地址看出连续的地址空间,可以使用任意长度的前缀,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量