140 likes | 249 Views
二 . 自治系统中的路由选择 2. OSPF 概述. OSPF 的特性. 公开发布各种规范 包含路由服务类型 提供负载均衡功能 支持各种认证机制 支持三种路由. 一个分布式数据库 一个扩散过程 一个相邻性定义 外部路由的特殊记录. 允许一个网点上的网络和路由器被划分成若干个区域 允许路由器之间交换从其他网点得到的路由信息. 二 . 自治系统中的路由选择 2. OSPF 概述. OSPF 区域的划分 “分层路由” 区域就是一个独立的网络. 链路状态数据库的大小 路由计算的时间 扩散的报文数量. 网络规模扩大.
E N D
二.自治系统中的路由选择2. OSPF概述 • OSPF的特性 • 公开发布各种规范 • 包含路由服务类型 • 提供负载均衡功能 • 支持各种认证机制 • 支持三种路由 一个分布式数据库 一个扩散过程 一个相邻性定义 外部路由的特殊记录 • 允许一个网点上的网络和路由器被划分成若干个区域 • 允许路由器之间交换从其他网点得到的路由信息
二.自治系统中的路由选择2. OSPF概述 • OSPF区域的划分 • “分层路由” • 区域就是一个独立的网络 链路状态数据库的大小 路由计算的时间 扩散的报文数量 网络规模扩大 将网络分割成由一个“主干”连接的一组相互独立的部分——“区域”。 • 每个区域包含一个IP子网 • 各区域只能通过主干实现连接 • 数据库只包含本区域内的链路状态 • 扩散协议在区域边界处终止 • 路由器只计算本区域内的路由
OSPF的路由 区域内 区域间 AS之间 OSPF的路由器 区域内部路由器 区域边界路由器 主干路由器 AS边界路由器 二.自治系统中的路由选择2. OSPF概述 最简单的。 • 从源端到主干 • 从主干到目的区域 • 从目的区域到目的端 • 在每个区域内至少有一个区域边界路由器将本区域连向主干区域。 • 每个区域边界路由器维护若干个链路状态数据库。
链路状态数据库 节点 边 • 路由器 • 网络 • 连接路由器的点-点链路 • 路由器与网络直接连接 二.自治系统中的路由选择2. OSPF概述 每个路由器维护一个反映所在区域拓扑的数据库。拓扑用一个有向图表示。 每个路由器维护的数据库对应于有向图,它是通过收集来自互联网中其他路由器的链路状态报文而形成的。 见图 7-22(p211) 在有向图的基础上,路由器采用Dijkstra算法计算到所有目的网络的最少成本路径。
路由的计算 计算“省缺TOS(TOS 0)”的路由 如果路由器有TOS路由能力则还为每个TOS计算路由 OSPF编码 RFC-1349中的TOS数值 0000 正常服务 0001 最小开销 0010 最大可靠性 0100 最大吞吐量 1000 最小延迟 0 2 4 8 16 二.自治系统中的路由选择2. OSPF概述 构造链路状态数据库的目的:计算网络路由 从不同的链路状态记录中概括出一个代表网络的图;然后计算从本地OSPF路由器到每个目的站点的下一跳。
公共报头 Version Type Message length Source router IP address Area ID Checksum Authentication type Authentication (octets 0~3) Authentication (octets 4~7) 1 HELLO(用于测试可达性) 2 数据库的描述(拓扑) 3 链路状态请求 4 链路状态更新 5 链路状态确认 Type 二.自治系统中的路由选择3. OSPF涉及的协议 HELLO 交换 扩散 OSFP路由器通过OSPF协议进行通信
Hello协议 使用Hello协议的目的 OSPF周期性地向每个链路发送HELLO报文,估计及测试邻站的可达性。 二.自治系统中的路由选择3. OSPF涉及的协议 • 检测链路是否可用 • 在广播/非广播网络上选举指派路由器及其备份 报文包括: • 指定路由器(没有为0) • 备份指定路由器(没有为0) • 邻接路由器列表 • HELLO间隔 • 死亡间隔 给出发送HELLO报文的周期 邻接路由器超过该值则认为它已失效
OSPF Header with type = 1 Network mask Hello inter option Gway prio Dead timer Designated router Backup designated router Neighbor1 IP address Neighbor2 IP address Neighborn IP address E:表明路由器具有接受和发送外部路由能力 T:表明路由器具有TOS路由能力 Option 二.自治系统中的路由选择3. OSPF涉及的协议
二.自治系统中的路由选择3. OSPF涉及的协议 • 交换协议 • 初始同步过程 • 维护数据库的同步过程 一旦两个路由器在点-点链路上建立了双向连接,它们就必须使它们的数据库“同步”。 “交换”协议 “扩散”协议 • 在交换过程中,一个路由器作为主方(master),另一个作为从方(slave)。 • 从方收到来自主方的数据库描述报文后要用响应报文进行确认。 • 确认分组含有相同的序列号,并带有从方路由器上的数据库里记录的描述信息。
OSPF Header with type = 2 0 I S M Database sequence number Link type Link ID Advertising router Link sequence number Link checksum Link age 二.自治系统中的路由选择3. OSPF涉及的协议 • OSPF数据库描述报文 描述了网络拓扑结构中的一条链路 • 如果在超时内没有收到从方的确认则主方重发 • 如果从方收到了相同的分组则重发确认
OSPF Header with type = 3 Link type Link ID Advertising router 二.自治系统中的路由选择3. OSPF涉及的协议 • OSPF的链路状态请求报文 请求邻站提供更新的信息。 请求一条链路的信息 • 收到该请求的路由器将使用扩散过程来发送一组链路状态更新报文 • 每当收到链路状态更新报文便将相应链路从请求列表中删除
OSPF Header with type = 4 Number of link status advertisements Link status advertisement1 Link status advertisementn 二.自治系统中的路由选择3. OSPF涉及的协议 • 扩散协议 • OSPF链路状态更新报文 当一条链路发生状态变化时,与之对应的路由器将发布新版本的链路状态通告。 • 如果链路通告是新版本则将它发送到所有其他接口上 • 向传送这更新报文的路由器发回一个确认报文
OSPF Header with type = 5 Link status advertisement1 head Link status advertisementn head 显式确认 隐式确认 二.自治系统中的路由选择3. OSPF涉及的协议 • OSPF链路状态确认报文 • 将多个通告确认放在一个确认分组中传输 • 确认的二种方式 适当延迟每个通告确认的发送 当指派路由器收到一个更新报文后会将该报文重传给网络上所有的路由器
利用扩散,每个路由器可以告诉它所在区域的其他路由利用扩散,每个路由器可以告诉它所在区域的其他路由 器它的邻居和开销。这个信息使每个路由器都能建立一 个它所在区域的有向图,并计算出最短路径,主干区域 也一样。 主干路由器还从区域边界路由器处获取信息,计算从每 个主干到每个区域的最佳路径,这一消息再传回区域边 界路由器,由该路由器在它的区域中将消息广播。通过 这个消息,一个要发送区域间分组的路由器可以从主干 上选一个最佳出口路由器