前期知识
动态路由协议:在路由器间启动一种协议,之后路由器间进行数据沟通,相互学习计算来获取之前未知的目标网段的路径;
RIP OSPF EIGRP BGP ISIS
分类:
基于AS进行分类
AS-自治系统 标准16位二进制 0-65535 其中 1-64511公有 64512-65535 私有
扩展32位二进制
AS之内运行—IGP协议 –内部网关路由协议 -- RIP/OSPF/ISIS/EIGRP
AS之间运行—EGP协议 -外部网关路由协议 -- EGP/BGP
IGP协议的分类:
【1】基于更新时是否携带子网掩码 --- 有类别(不带) 无类别 (携带)
【2】基于工作特点进行分类
1、距离矢量-DV RIP/EIGRP 直接共享路由表 – 直接学习路由条目 更新量小
2、链路状态-LS OSPF/ISIS 共享拓扑信息 -- 本地计算路由条目 更新量大
OSPF:开放式最短路径优先协议 (无类别链路状态型路由协议)
公有协议;跨层封装到IP报头,协议号89; 组播更新:224.0.0.5 224.0.0.6
触发更新、周期更新(30min);
需要结构化的部署:区域划分 地址规划
一、OSPF协议的数据包:
Hello:用于邻居、邻接 发现、建立、保活 hello time 默认10s或30s
DBD:数据库描述包
LSR:链路状态请求
LSU:链路状态更新
LSack:链路状态确认
二、状态机
Down:一旦本地发出hello包进入下一个状态
Init:初始化 收到的hello包若存在本地的RID进入下一个状态
2way:双向通讯 邻居关系建立的标志
条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;
Exstart:预启动 使用类似hello的DBD进行主从关系的选举,RID大为主优选进入下一状态
Exchange:准交换 使用真正的DBD进行数据库目录的共享,需要使用ACK确认
Loading:加载 使用LSR/LSU/LSAck来获取未知的LSA信息;
Full:转发 邻接关系建立的标志
LSA:链路状态通告,在不同的网络条件下将产生不同类别的LSA信息来代表拓扑或者路由条目;
LSDB:链路状态数据库 装载和存储所有各种类别的LSA;
三、OSPF的工作过程
OSPF协议启动后,A向本地所有启动了OSPF协议的直连接口组播224.00.5发送hello包;本地hello包中携带本地的全网唯一的router-id;
之后对端B运行OSPF协议的设备将回复hello包,该hello包中若携带了A的routerid,那么A/B建立为邻居关系;生成邻居表;
邻居关系建立后,邻居间进行条件匹配,匹配失败就停留于邻居关系,仅hello包周期保活;
条件匹配成功可以开始建立邻接关系:
邻接间共享DBD包,将本地和邻接的D