• 2



    http://xuanbo.blog.51cto.com/499334/200615


    Database Description报文结构
    如下图所示:
    clip_image002
    报文字段的含义:
    ? Options——该24比特字段出现在Hello包、DBD和某些LSA中,OSPF路由器使用该字段实现某些与其他路由器通信的能力(详见RFC2740)。
    ? Interface MTU——接口MTU值。
    ? I-bit——当设置为1,这个包是该数据库描述数据包序列的第一个。
    ? M-bit——当设置为1,则表明后续会有更多的数据库描述数据包。
    ? MS-bit——主/从位。当设置为1,则表明该路由器是主路由器。否则,路由器是从路由器。
    ? DD sequence number——来标识一组DBD包。当第一个发送DBD包(也就是说该DBD包中的I位被置为1,我们可以认为往往第一个DBD包一定是由Master发的)时,该DD sequence number字段开始被使用,在往后的DBD包中的DD sequence number都会递增1。
    如下图所示:
    clip_image004
    Options 字段结构,
    如下图所示
    clip_image006
    ? DC比特——当始发路由器具有支持按需电路上的0sPF的能力时,该位将被设置。
    ? R 比特——用来标识设备是否是具备转发能力的路由器。如果R 比特置0,宣告该节点的路由信息将不会参加路由计算,如果当前设备是一个不想转发非本地地址的报文,可以将R 比特置0。
    ? N位——只用在HeIlo数据包中。一台路由器设置N葫←l表明它支持NssA外部LsA。如果设置N=o,那么路由器将不接受和发送NssA外部LsA。邻居路由器如果错误配置了N位,将不会形成邻接关系,这个限制可以确保一个区域内的所有路由器都同样地具有支持NssA的能力。如果N=1时,E必须设置为0。
    ? MC位——当始发路由器具有转发IP组播数据包的能力时,该位将被设置。这一位使用在MOsPF协议当中。
    ? E位——当始发路由器具有接受As外部LsA的能力时,该位将被设置。在所有的As外部LSA和所有始发于骨干区域以及非末梢区域的LsA中,该位将设置为1。而在所有始发于末梢区域的LsA当中,该位设置为0。另外,可以在Hello数据包中使用该位来表明一个接口具有接收和发送类型5的LsA的能力。E讪t配置错误的邻居路由器将不能形成邻接关系,这个限制可以确保—个区域的所有路由器都同样地具有支持末梢区域的能力。
    ? V 比特——如果V 比特置0,该路由器或链路也不会参加路由计算。
    Link State Request报文结构
    如下图所示:
    clip_image008
    LSR中使用以下信息来唯一地标识要请求的LSA:
    ? 链路状态(LS)类型号。
    ? LS标识。
    ? 通告路由器。
    如下图所示:
    clip_image010
    Link State Update报文结构
    如下图所示:
    clip_image012
    链路状态更新(LSU)报文用于把LSA发送给它的邻居,这些更新报文是用于对LSA请求的应答。一个LSU中可以包括多个LSA条目。
    如下图所示:
    clip_image014
    clip_image016
    Link State Acknowledgment报文结构
    如下图所示:
    clip_image018
    LSAck报文唯一地标识其要应答的LSA报文。标识以包含在LSA头中的信息为基础,包括LS顺序号和通告路由器。LSA与应答报文之间无需1对1的对应关系。多个LSA可以用一个报文来应答。
    如下图所示:
    clip_image020
    LSA头报文结构
    如下图所示:
    clip_image022
    所有的LSA使用一个通用的头格式。这个头20字节长并附加于标准的24字节OSPF头后面。LSA头惟一地标识了每种LSA。所以,它包括关于LSA类型、链路-状态ID及通告路由器ID的信息。
    下面是LSA头域,其具体字段含义:
    ? LS age——LSA头中的前两个字节包含LSA的年龄(age)。这个年龄是自从LSA产生时已消逝的秒数。
    ? LS type——指出9种LSA类型中的一种。每种LSA类型的格式是不同的。
    ? Link State ID——链路状态ID域4字节长用于指明LSA描述的特定网络环境区域。实际上,这个域的内容直接依赖于LS类型。比如,在路由器LSA中,链路状态ID包含产生了这个报文的OSPF路由器ID。
    ? Advertising Router——通告路由器。该字段填入生成该LSA的路由器的Router ID。
    ? LS sequence number——表示该LSA的序列号,OSPF路由器在刷新LSA时会递增每个LSA报文的序列号。接收路由器可以根据序列号来判断该实力是否是最新的LSA实例。
    ? LS Checksum——校验和用于检查LSA在传输到目的地的过程中是否受到破坏。校验和采用简单的数学算法。它的输出结果依赖于其输入,并且有高度的一致性。给定相同的输入,校验和算法总是给出相同的输出。LS校验和域使用部分LSA报文内容(包括头,不包括LS年龄和校验和域)来生成校验和值。源节点运行Fletcher算法并把结果存于LS校验和域中。目的节点执行相同的算法并把结果与存储在校验和域中的结果比较,如果两个值不相同,就可以认为报文在传输过程中被破坏。
    ? Length——LS长度域用于通知接收方LSA的长度(以字节为单位)。
    LS type字段结构如下图所示:
    clip_image024
    ? U 位:描述了路由器收到一个类型未知的LSA 时如何处理,取值为0 表示把类型未知LSA 当成具有链路本地范围的LSA 一样处理,取值为1 表示按照S2/S1 位标识的泛洪范围来处理。
    ? S2/S1 位:共同标识LSA 的泛洪范围,取值00 表示LSA 只在产生该LSA 的本地链路上泛洪;取值01 表示LSA 的泛洪范围为产生该LSA 的路由器所在区域;取值10 表示LSA 将在整个自治系统内进行泛洪;取值11 保留。
    ? LSA Function Code:LSA 类型编码,描述LSA 的类型,类型编码取值与LSA 类型的对应关系如下表所示。
    常用的有9种LSA的类型,具体见下表。
    LS Type
    Description
    1
    0x2001
    Router-LSA
    2
    0x2002
    Network-LSA
    3
    0x2003
    Inter-Area-Prefix-LSA
    4
    0x2004
    Inter-Area-Router-LSA
    5
    0x4005
    AS-External-LSA
    6
    0x2006
    Group-membership-LSA
    7
    0x2007
    Type-7-LSA
    8
    0x0008
    Link-LSA
    9
    0x2009
    Intra-Area-Prefix-LSA
     

  • 相关阅读:
    关于Oracle数据库字符集
    NK3C:关于svg文件使用
    NK3C:异常处理(前端)
    关于返回值问题
    NK3C开发要点
    velocity模板使用建议
    样本随机抽样、局号抽样逻辑
    样本回收逻辑
    NKUI框架使用
    解决chrome,下载在文件夹中显示,调用错误的关联程序
  • 原文地址:https://www.cnblogs.com/ztguang/p/12644785.html
Copyright © 2020-2023  润新知