14-路由,路由基础

0
 
1.常用名词
 
术语
备注
路由 routing
 从源地址到目的地址不同网络间的转发过程
路由表 routing table
 路由信息的集合路由的依据
路由器 router
具有路由功能的设备
默认网关default  gateway
通常是路由设备的接口IP地址
类比:
想从广州到武汉    ->访问不同的网段时
去火车站买票    ->需要找网关
售票员查列车时刻表    ->查路由表
有票就坐火车去    ->路由表中有记录,通过路由出口转发
无票就想其他办法    ->路由器将数据包丢弃
有票的情况下可能有多辆车次,选最合适的车次    ->按规则匹配最优路由
 
2.路由过程
设备需要访问其它网段的地址时,先找到网关;
路由器、交换机等都可以作为网关;
然后,路由器会查询路由表,有路由就转发,没路由就丢弃数据包;
 
例如:
    10.3.1.0的设备给10.4.1.0的设备发送了一个数据包;
    首先数据包发给路由器RA;
    RA收到数据包后,查自己的路由表,发现路由表里有去往10.4.1.0的路由;
    路由表里一般记的是网络地址,一个子网将开始的地址作为网络地址,结尾作为广播地址,中间的才是可用的主机地址;
    根据路由表信息,数据包将从路由器RA的E0口出去,到往10.1.2.2也就是路由器RB的地址;
    RB收到数据包后,和RA一样,查路由表,数据包从RB的E1口发出,到往10.2.1.2即路由器RC的地址;
    RC收到数据包后,查路由表,将数据包交给目标设备;
0
0
路由器收到数据包检测路由表中是否存在能够去往目的IP地址
转发过程中是逐跳转发“并不会引导其他路由器转发”
数据通信是”双向性“,也就是要有去有回才行;
 
 
0
路由表只是转发的依据,真正转发的是根据接口 “知道从哪里发送”
下一跳是路由器需要将该数据包交给谁来转发
总之最重要的是下一条和出接口;
 
3.路由选路
例如:从武汉到广州,可以有多个车次可选,在买票时,会根据耗时、价格、舒适度等各种因素来选择车票;
对路由器来说,在路由表中一个目标地址有多个下一跳;
 
0
 
 
 4.路由表
1)路由器的工作内容
    收到数据包查看目标ip地址;
    在路由表中选择最佳路径;
    维护路由表;
 
2)查看路由表
命令:
display ip routing-table
IP路由表:存放最优的路由信息/条目
0
路由表字段
备注
Destination目标地址
用来标识存在的能够去往的目的地址或目的网络
Mask掩码
用来选择最佳路由的重要依据(最长匹配原则)
NextHop下一跳
指明该数据包所经过的下一个路由器的接口地址
Interface出接口
指明该数据包将从哪个接口转发
Protocol 协议
路由的来源(学习方式)
Preference优先级
用来比较不同协议学习去往相同地址不同路径的优先程度(越小越优先)
cost开销
用来比较相同协议学习去往相同地址不同路径的的代价(越小越优先)
路由表包含了可以去往的目的网络 ;
路由器收到目的网络不存在的数据包时会直接丢弃;
 
5.路由优先级
路由表中有个字段pre表示优先级;
pre越小表示优先级越高;
pre是用来比较不同路由协议的优先级,比较相同协议的优先级的是cost;
 
例如:
    从路由器RA到RB有两种方式,第一种方式通过OSPF协议,第二种用RIP协议;
    不同协议的优先级不同,如下表所示:OSPF的优先级时10、RIP的优先级时100;
    因为OSPF的优先级较高(越小越优先),所以RIP的路由不会存放在路由表里面,路由表只存放最优路由;    
            
0
 
不同协议的优先级:
路由协议/类型
Direct
OSPF
ISIS
Static
RIP
OSPF ASE
BGP
管理距离/优先级
 0
 10
15
60
100
150
255
路由协议分为三类:
    直连:direct
    静态路由:static
    动态路由:各种动态路由协议,ospf、rip等等
 
 6.路由度量
路由表中有一个字段cost,表示路由度量;
cost用来比较相同路由协议的优先级;
cost越小优先级越高;
当同一目标地址有多条使用相同协议的路由时,就需要比较cost来决定优先级;
 
例如:
    RA到RB有两条路由,都是使用OSPF协议;
    这时要比较cost来决定走哪个下一跳;
    有两条路径:
        上面:cost = 10 + 10 =20
        下面:cost = 1 + 1 = 2
    2 < 20;因此选下面那条路由;
    也就是说,路由表中只会写下面那条路由;
0
 
7.等价路由
为了满足实际需求,可以通过调整pre和cost来达到控制路由表;
也就是说,通过人为控制pre和cost来决定路由器到底走那条路;
如果两条路由的pre和cost相同时,这两条路由就是等价路由;
 
等价路由(ECMP,Equal cost multi-Path):
对于一个路由来源,当到同一个目标网络存在多条相同度量值的路由时,路由器会将这些路由条目都加入路由表,数据包会在这几个链路(路径)进行负载分担。
例如:
    下图中:A-B-C-D和A-C-D这两条路径的cost都是18,成为等价路由;
0
    导致的结果是,路由表中对同一个目标地址有多个下一跳和出接口;
0
等价路由可以实现负载均衡,也就是从从A到D的数据包可以走上面那条路,也可能走下面那条路;
但并不一定是两条路平分的,例如从A发10个数据包到D,不一定是两条路各走5个包;
(负载均衡的选择:逐包,逐流  可以根据目标IP或源IP,目标MAC或源MAC选择。最终会经过“哈希”计算实现)
 
8.掩码和最长匹配原则
最长掩码匹配原则:最终数据包实现最佳路由的算法
0
 
 
路由器的转发原则如下:
    将所有的路由条目进行与计算,得出最长的相同掩码来转发
0
如上图所示:
    要去9.1.2.1,需要知道到底选那一条路由;
    目标地址9.1.2.1,路由器转发过程:
    9.1.2.1的二进制表示:0000 1001.0000 0001.0000 0010.0000 0001
    路由表中的每一条路由和9.1.2.1匹配,掩码为位数和目标地址一致的才能使用;
    例如:
        8.0.0.0/8 掩码为8,前8位为8不等于9因此不能用;
        0.0.0.0/0,掩码为0,表示前0位和目标地址相同即可,也就是所有位不同都行,可以用,和9.1.2.1匹配4位0000;
    然后从可用地址中找到匹配位数最多的那一条路由;
 
1】0.0.0.0/0  掩码为0,表示任意目标地址都行
 0000 0000.0000 0000.0000 0000.0000 0000
 0000 1001.0000 0001.0000 0010.0000 0001
匹配出4位相同 ✔
 
2】8.0.0.0/8 掩码为8,表示只有目的地址前8位一致才行
 0000 1000.0000 0000.0000 0000.0000 0000
 0000 1001.0000 0001.0000 0010.0000 0001 ❌
 
3】9.0.0.0/8  掩码为8,表示只有目的地址前8位一致才行
 0000 1001.0000 0000.0000 0000.0000 0000
 0000 1001.0000 0001.0000 0010.0000 0001
匹配出8位相同 ✔
 
4】9.1.0.0/16 掩码为16,表示只有目的地址前16位一致才行
 0000 1001.0000 0000.0000 0000.0000 0000
 0000 1001.0000 0001.0000 0010.0000 0001
匹配出15位相同 ✔
 
拿出 0.0.0.0/0  ❌
9.0.0.0/8  ❌
9.1.0.0/16 ✔
 
9.路由表的形成 
路由表的形成,路由的来源:
路由来源
备注
直连路由
路由器接口上的网络 (路由器的接口配置IP地址并且UP出现)
静态路由
管理员手动添加的网络
动态路由
路由器之间运行某些协议学习到的网络
例如:
    路由器A的到网段10.1.1.0就是直连的;
0
 
 
 
 
 
 
 
posted @ 2020-12-21 11:24  L丶银甲闪闪  阅读(459)  评论(0编辑  收藏  举报