路由器原理
路由器工作在OSI的网络层,其主要目的是根据路由表将数据表所含的目的地址转发到一个目的地址,–递归查找,最长匹配。路由器 从物理层的端口接收到一个报文,传至数据链路层然后去除封装,然后将报文的协议域传至网络层,看是否时发送到本机的,若是,去掉网络层封装传至上层,根据目的地址查找路由,将报文传至相应端口的数据链路层封装后发送报文,若是找不到路由直接丢弃
交换机原理
交换机是一种工作在数据链路层对流量进行转发的网络设备。主要应用于延长传输距离,解决冲突域,实现单播功能。
当流量进入交换机后,根据数据帧中的源MAC,建立该地址与交换端口的映射,并写入MAC地址表中。
再查看数据帧中的目的MAC,根据MAC地址表中的信息进行转发;如果MAC地址表中没有相关信息,则进行洪泛处理(目的MAC为全F);若划分VLAN,则向对应的VLAN进行洪泛。若收到的为广播帧或者组播帧,则直接进行洪泛
交换机属于二层设备,基于MAC进行转发
动态路由协议分类
- 工作范围分类
IGP:
RIP OSPF ISIS EIGRP(cisco私有)
EGP:
BGP - 算法分类
距离矢量型:RIP EIGRP BGP
链路状态型:OSPF ISIS
混合型:EIGRP BGP
静态路由
手工配置的固定路由
特点:
- 允许对路由行为的的精确控制
- 减少了网络的更新量
- 单向
- 配置简单
- 永久存在
- 不可通告
RIP
距离矢量型协议,使用于IGP范围,基于UDP端口的520工作,周期更新(30s)和触发更新,使用组播更新且更新地址为224.0.0.9,收敛慢,容易产生环路,占用网络带宽大,最大跳数是15跳,16跳不可达,CSICO管理距离为120,华为中RIP管理距离为100。
周期更新的原因:
- 没有确认机制
- 没有保活机制
防环机制:
- 水平分割
- 毒性逆转水平分割
- 最大跳数限制,16跳不可达
- -抑制计时器 (思科)
RIP定时器:
更新定时器(30s):当此定时器超时时,立即发送更新报文
老化定时器(失效)(180s):在老化时间内没有收到邻居发来的路由更新报文,则认为此路由不可达
垃圾收集定时器(120s):在这个时间内不可达路由没有收到来自此路由的更新报文,则此路由将被从路由表中彻底删除;
华为只有三个计时器,cisco存在抑制定时器
抑制定时器:当RIP设备收到对端的路由更新,其cost为16,对应路由进入抑制 状态,并启动抑制定时器;为了防止路由震荡,在抑制定时器超时之前,即使再收到对端路 由cost小于16的更新报文,也不接收;当抑制定时器超时后,就重新允许接收对端发送的 路由更新报文;
RIPV1和RIPV2的区别
- V1属于有类路由协议,路由更新是不携带子网掩码。采用接口掩码为默认掩码。因此RIPv1不支持不连续子网
- v2属于无类别路由协议,路由更新时携带子网掩码,支持不连续的子网掩码
- 路由通告的方式:RIPv1广播更新(255.255.255.255)、RIPv2组播更新(224.0.0.9)
- RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证。
- RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定。
OSPF
链路状态型协议,基于IP封装协议号89,触发更新+30min的周期更新,更新方式为组播更新:224.0.0.5、224.0.0.6(DR、BDR专用地址),收敛速度快,选路佳;消耗路由器的资源大,LAS更新量大,实现复杂需要的结构化部署—区域划分、地址规划
数据包
跨层封装到3层报头中,协议号为89;
- hello:周期发送,邻居的发现、建立、保活(周期) hello time 10s 或30s dead time 为hello time 的4倍,该包有 router ID,保持时间 40s,router 优先级,邻居信息,area ID,DR、BDR、password,stub area 标记;
- DBD:数据库描述 – 本地的LSDB(链路状态数据库)的目录,该包是对LSA的摘要,是用来进行比较的
- LSR:链路状态请求—对本地未知的lsa信息进行请求,即收到的LSDB目录不一样
- LSU:链路状态更新—传递具体的LSA信息,同步信息使两个交换的目录相同,少的向多的要
- LSack:链路状态确认
建邻的条件
1.router-id 不能⼀致
2.area-id 相同
3.hello、dead 时间⼀致
4.认证类型、认证数据相同
5.特殊区域标识⼀致(特殊区域标识分为 E 、N 、P)(E:是否⽀持外部路由 N:NSSA 位是 否⽀持 7 类 LSA P:是否⽀持 7转 5特性,该属性不在邻居关系建⽴条件中,与 7类 LSA 引⼊位 置有关系)
6.双⽅⽹络掩码必须⼀致(在⾮ MA ⽹络可以不⼀致)因为在 MA ⽹络中会产⽣ 2 类 LSA, 其中包含⽹络掩码;
邻居状态机制
OSPF共有8中状态机制,分别为:Down、Attempt、Init、2-way、Exstart、 Exchange、Loading、Full;
(1)Down 邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的 Hello数据包;
(2)Attempt 该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔超时后仍然没有回 复Hello报文,此时路由器仍然发送Hello报文,以轮询时间间隔向对端发送;
(3)Init 初始化状态,收到Hello报文后状态转变;
(4)2-way 收到的Hello报文中包含有自己的Router-id,则状态为2-way;如果不形成邻接关 系,则邻居状态机制就停留在此状态,否则进入Exstart状态;
(5)Exstart 如果形成邻接关系,则从Init转为Exstart状态,开始协商主从关系,并确定DBD的 序列号;
(6)Exchange 主从关系协商完毕后开始交互DBD报文,此时状态为Exchange;
(7)Loading DBD报文交换完成;状态为Loading;
(8)Full LSR重传列表清空,状态为Full;
工作过程
启动ospf协议配置完成后,本地将向所有开启协议的接口组播224.0.0.5发送hello包;
若收到的hello包中存在本地的route-id,证明邻居已经认识本端;故建立邻居关系,生成邻居表;
条件匹配,匹配失败的邻居间,将周期仅hello包保活即可,没有其他信息产生;
条件匹配成功的邻居间将建立邻接关系;首先使用类似hello的DBD进行主从关系选举,主优先发送真实的DBD来传递本端数据库目录,其意义在于避免两端同时收发,对带宽、设备硬件等的资源占用;
收到了对端的数据库目录后,将使用LSR/LSU/LSack来获取本端未知的LSA信息;将其加载于本地的数据库表中;当数据库表与所有邻接同步完成后,本地启用SFP选路规则,计算到达所有未知网段的最短路径,然后将其加载于本地的路由表中;收敛完成!
收敛完成后,邻居和邻接间均使用hello包周期保活;邻接每30min周期比对一次DBD;
结构突变:
1、新增网段 直连新增网段的设备,使用DBD来告知本端所有的邻接,之后邻接间使用LSR/LSU/LSack获取即可;
2、断开网段 断开直连网段的设备,将发送LSU,其老化时间为3600s,标志着该条目的断开;其他邻接使用ack确认后删除该条目;
3、无法沟通 hello包无法接收,dead time到时时断开邻居关系记录,删除该从该邻接接收到的所有信息;
网络类型
POINT_TO_POINT:特点:无DR和BDR,HELLO时间间隔为10S;
BROADCAST:特点:多路访问型网络,需要选取DR和BDR,HELLO时间为10s
NON_BROADCAST(NBMA):特点:多路访问型网络,需要选取DR和BDR,HELLO时间为30S,由于底层不支持广播能力,因此需要通过neigbor命令手动指定邻居,采用单播建立邻居;
POINT_TO_MULTIPOINT:特点:需手动更改网络类型,无DR和BDR的选举;HELLO时间间隔为30S
OSPF LSA类型,特点
(1)Router-LSA 一类LSA,每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传 播;
(2)Network-LSA 二类LSA,由DR产生,描述本网段的链路状态,在所属的区域内传播;
(3)Network-summary-LSA 三类LSA,由ABR产生,描述区域内某个网段的路由,并通告给发布或接收此LSA 的非Totally Stub或NSSA区域;
(4)ASBR-summary-LSA 四类LSA,由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关 区域;
(5)AS-external-LSA 五类LSA,由ASBR产生,描述到AS外部的路由,通告到所有的区域,除Stub区域 和NSSA区域;
(6)NSSA LSA 七类LSA,由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播;
区域类型
(1)普通区域
默认情况下,OSPF区域被定义为普通区域,普通区域包括标准区域和骨干区域 标准区域是最普通的区域,它传输区域内路由,区域间路由和外部路由; 骨干区域是连接所有其他OSPF区域的中央区域,骨干区域通常用Area 0表 示;
(2)Stub区域
不允许发布自治系统外部路由,只允许发布区域内路由和区域间路由; 在Stub区域中,路由器的路由表现规模和路由信息传递的数量都会大大减少; 为了保证到自治系统外的路由可达,由该区域的ABR发布Type 3默认路由传播到 区域内,所有到自治系统外部的路由都必须通过ABR才能发布;
(3)Totally Stub区域
不允许发布自治系统外部路由和区域间路由,只允许发布区域内路由; 在Totally Stub区域中,路由器的路由表现规模和路由信息传递的数量都会大大减 少; 为了保证到自治系统外的路由可达,由该区域的ABR发布Type 3默认路由传播到 区域内,所有到自治系统外部的路由都必须通过ABR才能发布;
(4)NSSA区域
NSSA区域允许引入自治系统外部路由,由ASBR发布Type 7 LSA通告给本区域, 这些Type 7 LSA在ABR上转换为Type 5 LSA,并且洪泛到整个OSPF区域内; NSSA区域同时保留自治系统内的Stub区域的特征; 该区域的ABR发布Type 3默认路由传播到区域内,所有域间路由都必须通过ABR 才能发布;
(5)Totally NSSA区域
NSSA区域允许引入自治系统外部路由,由ASBR发布Type 7 LSA通告给本区域, 这些Type 7 LSA在ABR上转换为Type 5 LSA,并且洪泛到整个OSPF区域内; Totally NSSA区域同时保留自治系统内的Totally Stub Area区域的特征;该区域 的ABR发布Type 3默认路由传播到区域内,所有域间路由都必须通过ABR才能发布;
路由器类型
(1)区域内路由器
(2)区域边界路由器-ABR
ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可 以是逻辑上的连接;
(3)骨干路由器 该类设备至少有一个接口属于骨干区域; (4)自治系统边界路由器-ASBR
与其他AS交换路由信息的设备成为ASBR; ASBR并不一定位于AS的边界,它可能是区域内设备,也可能是ABR,只要一台 OSPF设备引入了外部路由的信息,它就成为ASBR;