OSPF网关协议和外部网关协议
按自治系统分为
ICP:内部网关路由协议,运行在AS内部的路由器协议,主要解决AS内部的选择问题,发现,计算路由。
主要:RIP1/RIP2、ISIS、EIGRP(思科私有协议)
EGP:外部网关路由协议,运行在AS之间的路由协议,他解决AS之间选路问题。
通常:BGP
按协议类型分类
距离矢量路由协议:RIP1/2、BGP(路径矢量协议)、EIGRP(高级距离矢量协议)
路由器对全网拓补部完全了解。是”传说的路由器“A发路由信息给B,B加上自己的度量值又发给c路由表的条目是听来的
链路状态路由协议:OSPF、ISIS
路由器对全网拓补完全了解。是”传信的路由“,A将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一信封里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一推信,这一推信就是LSDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选择出最佳路径,放入路由表中。
OSPF的工作过程
邻居列表
链路状态数据库
路由表
建立邻接关系---(学习链路状态消息)---链路状态数据库---(Dijikstra算法)---最短路径树---路由表
OSPF区域
为了合适大型的网络,OSPF在AS内划分多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息
Router ID
OSPF区域内唯一标识路由器的IP地址
Router ID选取规则
选取路由器lookback上数值最高的IP地址
如果没有look接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Router ID
DR和BDR的选举方法
自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,侧需要比较Router ID
如果路由器的优先级被设置为0,它将不参与DR和BDR的选举
OSPF数据包
承载在IP数据包内,使用协议号89
OSPF的包类型
OSPF的包类型 | 描述 |
Hello包 | 用于发现和维持邻居,选举DR和BDR |
数据库描述包(DBD) | 用于向邻居发送摘要信息以同步链路状态数据库 |
链路状态请求包(LSR) | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
链路状态确认包(LSAck) | 确认已经收到DBD/LSU,每个LSA需要被分别确认 |
OSPF网络七层状态
Down状态 | 初始状态 |
Inif状态 | 收到第一个hello 第一个hello只有对方的routeid没有自己的 |
2-way状态 | 双向建立会话,由于对方回复的hello包包含自己和对方的routeid,就完成DR和BDR的选择 |
Exstart状态 | DR和BDR选举完成后就进入到ExStart状态 |
Exchange状态 | 双向通向DBD报交换摘要信息 |
Loading状态 | 加载详细信息,请求--回复--确认的过程 |
Full状态 | 双向链路状态一致,建立完全邻居关系 |
OSPF将网络划分为四种类型
点到点网络(Point-to-Point)
-----自动发现邻居,不需要DR/DBR,组播224.0.0.5
广播多路访问网络(Broadcast MulitAccess, BMA)
-----自动发现邻居,选DR/BDR,组播224.0.0.5、224.0.0.6
非广播多路访问网络(None Broadcast MultiAccess,NBMA)
-----手工指定邻居,选举DR/BDR、单播
点到多点网络(Point-to-MultiPoint)
-----自动发现邻居,不需要DR/BDR、组播224.0.0.5
从以下几方面考虑OSPF的使用
网络规模
网络拓扑
其他特殊要求
OSPF特点
可适应大规模网络
路由变化收敛速度快
无路由环
支持变长子网掩码VLSM
支持区域划分
支持以组播地址发送协议