- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子信息与通信学院
实 验 指 导 书
实验名称
路由算法之OSPF协议分析
课程名称
计算机网络
实验目的
1.掌握观察和配置主机、路由器
2.观察路由器的OSPF协议的现象
3.掌握OSPF的工作原理及过程
4.掌握OSPF的报文格式
实验原理
OSPF报文格式
OSPF报文是由多重封装构成的,封装在IP头部内的是5种OSPF报文类型中的一种, 每一种报文类型都是由一个OSPF报文头部开始,这个OSPF报文头部对于所有的报文类型都是相同的。
OSPF所有报文类型都共享一个相似的报文结构,从一个通用的24字节首部开始,这种通用的首部使某些标准信息能够按照一致的方式进行传递,它还使收到OSPF报文的设备能够快速确定自己收到的是哪种类型的报文,以便了解是否还需要检查报文的剩余部分。如下图所示。
图 2-1 OSPF报文由一系列封装组成
OSPF有5种分组类型,这5种分组类型直接封装到IP分组的有效负载中,如图,OSFP分组不使用传输控制协议(TCP)和用户数据报协议(UDP)。OSPF要求使用可靠的分组传输机制,但由于没有使用TCP,OSPF将使用确认分组来实现自己的确认机制。下表描述了5种OSPF 分组类型。
表 2-1 OSPF分组
类
型
名称
描述
1
Hello
发现邻居并在它们之间建立邻接关系
2
数据库描述(DBD)
检查路由器的数据库之间是否同步
3
链路状态请求(LSR)
向另一台路由器请求特定的链路状态记录
4
LSU
发送请求的链路状态记录
5
LSAck
对其他类型的分组进行确认
在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段。在IP报头中,协议标识符89表示OSPF分组,所有OSPF分组开头的报文格式都相同,该报头中包含如下图所示字段:
图 2-2 OSPF分组报头的格式
? Version number:版本号,定义所采用的OSPF路由协议的版本,用于OSPF第2版。OSPF版本3适用于IPv6。
? Type:定义OSPF数据包类型。OSPF数据包共有五种。
1.Hello;
2.Database Description;
3.LinkState Request;
4.LinkState Update;
5.LinkState Acknowledgment。
? Packet length:定义整个数据包的长度,单位为字节。
? Router ID:用于描述数据包的源地址,以IP地址来表示路由器ID,OSPF路由器具有唯一的标识符,称为路由器ID。路由器的32位长的一个唯一标识符,选举规则是,如果 loopback 接口不存在的话,就选物理接口中IP地址等级最高的那个; 否则就选取loopback接口。这个路由器标识对于建立邻居关系和协调LSU交换非常重要。在选举DR/BDR的过程中,如果OSPF 优先级相同,则RID将用于决定谁赢得选举。如果该接口故障,则路由器就不可达。为了避免发生这种情况,最好定义一个回环接口作为强制的OSPF路由器ID。
? Area ID:用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。
? Checksum:校验位,用于标记数据包在传递时有无误码。
? Authentication type:指正在使用的认证模式,0为没有认证、1为简单口令认证、2为加密检验和(MD5)。
? Authentication :是指报文认证的必要信息,认证可以是autype字段中指定的任何一种认证模式,如是autype=0,将不检查这个认证字段,因此可以包含任何内容;如果autype=1,这个字段包含一个最长为64位的口令;如果autype=2,这个字段将包含一个key ID、认证数据长度和一个不减小的加密序列号。
? Data:包含的信息随OSPF分组类型而异:
对于Hello分组,包含一个由已知邻居组成的列表。
对于DBD分组,包含LSDB摘要,其中包括所有已知路由器的ID、最后使用用序列号和一些其他字段。
对于LSR分组,包含需要的LSU类型和能够提供所需LSU的路由器ID。
对于LSU分组,包含完整的LSA条目,一个OSPF更新分组中可以包含多个LSA条目。
对于LSAck分组,该字段为空。
Hello报文
Hello协议用来建立和保持OSPF邻居关系,采用多播地址224.0.0.5。网络中的OSPF路由器必须彼此获知对方后才能共享信息,因为OSPF根据路由器之间的链路的状态来进行路由选择,这一过程是使用Hello协议来完成,Hello协议通过确保邻居之间的双向通信来建立和维护邻接关系。路由器在从邻居那里收到的Hello分组中看到自己后,便进入了双向通信状态。
如下图所示,Hello报文格式
文档评论(0)