前言
路由技术是 Internet 得以持续运转的关键所在.
路由是及其有趣而复杂的课题, 永远的话题.
企业网络的拓扑结构一般会比较复杂, 不同的部门, 或者总部和分支可能处在不同的网络中, 此时就需要使用路由器来连接不同的网络, 实现网路之前的数据转发.
关键术语
路由(Routing): 从源头到目标的路径, 不同网络间的转发过程, 类比火车
路由表(Routing Table): 路由信息的集合, 路由的依据, 类比时刻表
路由器(Router): 既有路由功能的设备, 类比火车站
默认网关(Default Gateway): 通常是路由设备的接口 IP 地址, 类比火车站的地址
什么是路由?
路由就是从 A 网络去往 B 网络的路径;
比如, 南宁到上海(不同的网络)→ 去火车站买票(找网关)→ 询问售票员是否有票(路由表)→ 有票, 出站(数据包转发)/ 无票, 丢弃(数据包丢弃)
路由过程图解
目标网络: 目标网络的网络地址
下一跳: 下一个路由器的接口地址
出接口: 所在设备的接口
10.3.1.0 网络需要访问 10.4.1.0 目标网络, 期间需要经过三台路由器, 数据包到达 RA 路由器时, 首先会查看路由表有没有去目标网络的路由条目, 如图所示 RA 有去 10.4.1.0 网络的路由表, 那么会把数据包转发给 10.1.2.2 也就是 RB 路由器 E0 接口所在 IP 地址, 从 RA 路由器的 E0 口转发, 以此类推;
路由是双向的, 有去有回才是通! 有去的数据包也必须有回的数据包!
路由转发过程
当路由器 (或者其他三层设备) 收到一个 IP 数据包时, 会查看数据包的 IP 头部中的目的 IP 地址, 并在路由表中进行查找, 在匹配到最优的路由后, 将数据包扔给该路由所指的出接口或下一跳.
如果把路由器看作成一台电脑, 那么下一跳就是网关, 很多时候在写路由表的出错就是没有意识到下一跳地址的概念;
路由选路
去往一个网络的路由表不可能只有一条, 很有可能有多条, 那么此时就面临选路的问题; 就好比去往深圳的方式有很多, 坐高铁, 飞机, 到广州再转动车等等.
路由器的工作内容
收到数据包后查看目标 IP 地址
在路由表中选择最佳路径
维护路由表
路由表解析
display ip routing-table: 查看路由表
路由表字段
Destination: 目标, 用来标识 IP 包的目标地址或目标网络
Mask: 掩码, 选择最佳路由的重要判断依据(最长匹配原则)
Nexthop: 下一跳, 指明 IP 包所经过的下一个路由器的接口地址
Interface: 出接口, 指明 IP 包将从该路由器的哪个接口转发出去
Protocol: 协议, 路由的来源, 学习的方式, Static,Direct,RIP,OSPF,BGP
Preference: 优先级, 比较比较不同路由来源到达相同目标网络的优先级, 越低越优先
Cose: 度量值, 比较相同路由来源到达相同目标网络不同路径的优先级, 越低越优先
路由优先级
RTA 到达 RTB 有两种方式到达, 一种是 OSPF, 另一种是 RIP, 那么到底如何选择呢?
这个时候就比较路由优先级(Preference), 越低越优先, OSPF 的的优先级是 10, 而 RIP 的优先级是 100, 好, 选择 OSPF 来作为最优路径, 而 RIP 作为备份路由.
比如去公司, 有三种方式, 公交车 30, 打车 10, 自行车 50, 不考虑其他情况下, 优先选择打车来作为去公司的最佳出行方式.
路由度量值(开销)
下图和路由优先级的区别在于整个环境都是 OSPF, 也就是两个路由条目的优先级都是一致的. 当优先级一致那么就会比较度量值(Cost), 越低越优先, 所以选择 Cost=2 的路由;
比如回家, 只有一种方式: 做公交有很多条线路, 这些线路的公交都能到达家里, 此时该选择哪辆? 哪辆公交车到达时间最快, 路程最短这是优先考虑的;
等价路由(ECMP)
对于同一个路由来源, 当到达同一个目标网络有几条相同度量值的路由时, 这些路由都会被加入到路由表中, 数据包会在这几个链路上进行负载分担.
负载分担: 根据源地址或者目标地址通过算法来分担, 算法机制都不一样, 决定负载分担的方式也不一样, 有可能基于 SIP 和 DIP 来实现负载分担, 发的走一条, 收的走另一条. 或者一半数据包有一条, 另一半数据包走另一条;
路由基础
来源: http://www.bubuko.com/infodetail-3357447.html