路由技术:
二层(数据链路层)——交换机:mac地址、mac地址表(转发数据的依据)。
三层(网络层)——路由器:IP地址、路由表(数据转发表)。
一、路由表的主要作用:
决定设备的三层数据包的转发关系。目标网络能匹配路由表,从相应接口转发;若不能匹配路由表,则drop(丢弃)掉该数据包,不会像交换机那样泛洪(广播)。
二、路由协议的分类
路由协议:静态路由——管理员手工配置路由
动态路由——路由器间自动学习路由
1.局域网内——IGP(内部网关路由协议)
距离矢量路由协议——RIPV1、RIPV2、EIGRP(思科)
链路状态路由协议——OSPF、ISIS(LS)
2.互联网 ——EGP(外部网关路由协议)——BGPV4(版本4)
路由传递依据路由表
静态路由的优点:运行稳定,节省设备链路开销
缺点:对大型网络来说,工作量较大,拓扑一旦发生了改变,维护量变大。
建议:小型网络使用静态路由(总共配置少于十条路由),中大型网络使用动态路由。
路由:从源主机到目标主机的转发过程
路由器的作用:
1、能够将数据包转发到正确的目的地
2、转发过程中选择最佳路径的设备
选取最优路由时的标准:
1、子网掩码长度最长的最优先匹配
2、选取路由协议中优先级最小的最优先匹配
DIRECT |
0 |
OSPF |
10 |
IS-IS |
15 |
STATIC |
60 |
RTP |
100 |
OSPF ASE |
150(OSPF和RIP重分发路由时,由RIP学习进OSPF路由协议的路由) |
OSPF NSSA |
150 |
IBGP |
256 |
EBGP |
256 |
3、相同路由协议的情况下,选取metric值最小的最优先匹配。
每种协议metric值定义的不相同,静态路由和路由优先级有关,这个是人为指定的,RIP协议和跳数有关,跳数越小越优;OSPF协议和带宽有关,带宽最大最优先;metric时用来判定链路质量优劣的
4、如果以上都没有路由可以匹配得上,就匹配默认路由
路由表的定义:路由器中维护的路由条目的集合
路由表的形成:
1、直连网段:配置IP地址、端口UP状态、形成直连路由
2、非直连网段:对于非直连的网段,需要静态路由或动态路由,将网段添加到路由表中
默认路由-匹配的是所有网段:
1、当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口
2、默认路由时静态路由的一种特殊方式,它属于静态路由的一种,使用它是有条件的,只能在末梢网络中使用
浮动路由:
指的是配置两条静态路由,默认选取链路质量优(带宽大的)作为主路经,当主路经出现故障时,由带宽较小的备份路由顶替,保持网络的不中断
路由器转发数据包的封装过程:源目IP保持不变,源目MAC随着传输设备不同而不同
交换机与路由器对比 |
|
交换机工作在数据链路层 |
路由器工作在网络层 |
①根据“MAC地址表”转发数据 |
①根据“路由表”转发数据 |
②硬件转发 |
②路由选择 |
|
③路由转发 |
三、动态路由
动态路由:不需要手工写路由,路由器之间能够自己互相学习(基于某种路由协议实现)
特点:
①减少了管理任务
②占用了网络带宽
动态路由协议的概述:邻居路由器之间路由协议应保持一致
度量值:跳数、带宽、负载、时延、可靠性、成本
收敛:所有运行同一种路由协议的路由器使所有路由表都达到一致状态的过程
按照路由执行的算法分类
1、距离矢量路由协议
依据从源网络到目标网络所经过的路由器的个数选择路由
RIP、IGRP
2、链路状态路由协议
综合考虑从源网络到目标网络的各条路径的情况选择路由
OSPF、IS-IS
四、RIP路由协议工作原理
1、RIP 是距离矢量路由协议
2、RIP的概述
①定期更新(30s)
②邻居
③广播更新、组播更新
④全路由表更新
RIP的度量值与更新时间
1、RIP度量值为跳数:最大跳数为15跳,16跳为不可达
2、RIP更新时间:每隔30s发送路由更新消息,UDP520端口
3、RIP路由更新消息:发送整个路由表消息
路由环路的原因:定期更新,更新周期长
执行水平分割可以阻止路由环路的发生
1、从一个接口学习到的路由消息,不再从这个接口发送出去
2、同时也能减少路由更新消息占用的链路带宽资源
五、OSPF协议
OSPF是链路状态路由协议(链路状态表)
相比较RIP,OSPF拥有触发性更新、周期性更新快等优点
在自治系统(AS)内:内部网关协议(IGP)
在自治系统(AS)间:外部网关协议(BGP)
OSPF工作过程
三张表:邻居列表
链路状态数据库
路由表
过程:建立邻接关系----链路状态数据库----最短路径树----路由表
OSPF区域:分为骨干区域(Area 0)、分骨干区域(Area 1/2/3...)
为了适应大型的网络,OSPF在AS内划分多个区域,每个OSPF路由器只维护所在区域的完整链路状态信息(LSA)。
所有非骨干区域必须与骨干区域直接相连,骨干区域Area 0 负责区域间路由信息传播。
Router ID : OSPF区域内唯一标识路由器的IP地址
Route ID选取规则:
使用route-id 命令指定Router ID
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
DR和BDR
DR:指定路由器 BDR:备份,监测DR,随时顶替
其他路由器(DRothers)只和DR、BDR形成邻接关系
DR和BDR的选举方法:
自动选举DR和BDR
网段上Router ID 最大的路由器将被选举为DR,第二大的将被选举为BDR。
手工选择DR和BDR
优先级范围是0-255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router ID
如果路由器的优先级被设置为0,它将不会参与DR和BDR的选举
选举过程:(BDR通过发送HELLO包来监测) 2s/次
路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器。
OSPF的组播地址:
224.0.0.5 ----DRother
224.0.0.6 ----DR/BDR
OSPF的度量值是Cost值
Cost值=108 /BW(带宽) 带宽越大,cost值越小,OSPF越优先
最短路径是基于接口指定的代价(cost)计算的。
OSPF数据包----IP-89
承载在IP数据包内,使用协议号89
OSPF数据包类型
类型 |
描述 |
HELLO包 |
用于发现和维持邻居关系,选举DR和BDR |
数据库描述包(DBD) |
用于向邻居发送摘要信息,以同步链路状态数据库 |
链路状态请求包(LSR) |
在路由器收到包含新信息的DBD后发送,用于请求更详细信息 |
链路状态更新包(LSU) |
收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) |
确认已经收到LSU,每个LSA需要被分别确认 |
OSPF邻接关系的建立(七个状态机)
OSPF启动的第一个阶段是使用HELLO报文建立双向通信的过程
OSPF启动的第二个阶段是建立完全邻接关系
邻居状态:
、DOWN:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有测到对方的HELLO报文。
(1-2) Attempt:只适用于NBMA类型的接口,处于本机状态时,定期向那些手工配置的邻居发送HELLO报文
、Init :本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的Router ID(对方没有收到我发的HELLO报文)。
、2-Way:本状态表示双方互相收到了对端发送的HELLO报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DRother 的路由器之间将停留在此状态。
其他情况状态机将继续转入高级状态
、ExStart :在此状态下,路由器和他的邻居之间通过互相交换DBD报文(该报文不包含实际的内容,只包含了一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DBD报文交换中能够有序的发送。
、Exchange :路由器将本地的LSDB用DBD报文来描述,并发给邻居。
、Loading :路由器发送LSR报文向邻居请求对方的DBD报文。
、Full :在此状态下,邻居路由器的LSDB中的所有LSA本路由器全都有了。即,本路由器和邻居建立了邻接状态(adjacency)。
OSPF将网络划分为四种类型
点到点网络 (Point-to-Point)
广播多路访问网络 (Broadcast MultiAccess BMA)
非广播多路访问网络 (None Broadcast MultiAccess NBMA)
点到多点网络 (Point-to-Multipoint)
OSPF的特点:
可适应大规模网络,路由变化收敛速度快,无路由环,支持变长子网掩码VLSM,支持区域划分,支持以组播地址发送协议报文。