OSPF报文及格式(2)

ospf报文有5种:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文;

OSPF虽然工作在IP层,却被设计成了可靠的协议,协议内部包含确认机制;

OSPF报文不需要确认报文有Hello和LSAck报文,DD、LSR、LSU都是可靠传输的(重传时间5s);

OSPF报文是封装在IP报文内协议号89,使用相同的ospf报头格式,可以采用单播或组播的形式发送。

1、ospf报头格式


(1)version

版本字段,1个字节,指定所采用的ospf协议版本号,ospfv2的值为2,ospfv3的值为3;

(2)Packet Type

报文类型字段,1个字节,取值为1-5的整数,分别对应hello报文、dd报文、lsr报文、lsu报文和lsack报文;

(3)Packet Length

报文长度地址,2个字节,包括ospf报头部分和报文内容部分的字节长度;

(4)Router ID

路由器ID字段,4个字节,指定发送报文的路由器ID;

(5)Area ID

区域ID字段,4个字节,指定发送报文的路由器接口的ospf区域号;

(6)Checksum

校验和字段,2个字节,包括ospf报头部分和报文内容部分,但不包括Authentication验证字段的校验和;

(7)AuType

验证类型字段,2个字节,指定ospf报文交互时采用的验证类型;

0为不验证,1为简单验证,2为md5验证;

(8)Authentication

验证字段,8个字节,验证类型为不验证时,此字段为空;验证类型为简单验证时,此字段为验证密码;验证类型为md5验证时,此字段为md5摘要消息;

2、OSPF Hello报文及格式


ospf协议使用hello报文建立和维护邻居、邻接关系;

在p2p和广播类型网络中,hello报文以hello interval为周期(缺省10s),以组播方式向224.0.0.5组播组发送一次;

如果在设定的DeadInterval时间(至少是helloInterval的4倍)内没有收到对方发送的hello报文,则认为对方路由器无效;

在p2mp和NBMA类型网络中,hello报文以PollInterval为周期(缺省为60s),以单播方式向状态为down的邻居发送一次;


(1)Network Mask                 只在MA网络(广播、NBMA)有效

子网掩码字段,4字节,发送hello报文的接口ip地址所对应的子网掩码;

(2)HelloInterval

HelloInterval字段,2字节,指定发送hello报文的时间间隔,广播、p2p缺省10s,NBMA、p2mp缺省30s;

(3)Options        区域类型(E、N都没有置位就是Stub、Totally Stub)

可选项字段,1字节,置1表示具有相应特性,置0表示不具备相应特性;

E:允许泛洪5类AS External LSA;        普通区域

N:允许泛洪7类NSSA LSA;                    NSSA、Totally NSSA

MC:允许转发IP组播报文;

DC:允许处理按需链路;

(4)Rtr Pri

路由器优先级字段,1字节,指定本路由器的DR优先级值,缺省为1;

如果设为0,表示本路由器不参与DR/BDR选举;

(5)RouterDeadInterval

DeadInterval字段,4字节,缺省hello时间的4倍;

当收到此hello报文的路由器在此时间内没有收到本路由器再次发来的hello报文,则认为本路由器已失效;

(6)Designated Router

DR字段,4字节,指定DR的接口IP地址;

(7)Backup Designated Router

BDR字段,4字节,指定BDR的接口IP地址;

(8)Neighbor

邻居字段,4字节,指定邻居路由器的路由器ID;

3、OSPF的DD报文及格式


DD报文用来描述本地路由器的LSDB;

两个ospf路由器初始化连接时要交换First DD、DD报文进行数据库同步;

由于数据库的内容可能相当长,需要多个DD报文的交互来完成双方LSDB的同步,所以有三个专门用于标识DD报文序列的比特位,I、M和M/S。


(1)Interface MTU

接口MTU字段,2字节,指出发出DD报文的接口在不分段的情况下,可以发出的最大IP报文长度;

(2)Options    区域类型(E、N都没有置位就是Stub、Totally Stub)

可选项字段,1字节,置1表示具有相应特性,置0表示不具备相应特性;

E:允许泛洪5类AS External LSA;        普通区域

N:允许处理7类NSSA LSA;                    NSSA、Totally NSSA

MC:允许转发IP组播报文;

DC:允许处理按需电路;

(3)I、M、M/S

I比特:指定在连续发送多个DD报文,如果是第一个DD报文置1,其他的均置0;

M比特:指定在连续发送多个DD报文,如果是最后一个DD报文则置0,否则置1;

M/S比特:设置交互DD报文双方的主从关系,Master置1,Slave置0;

(4)DD Sequence Number

DD序列号字段,4字节,指定所发送的DD报文序列号;

DD交换过程按询问/应答方式进行,在DD报文交换中,一台Master角色,另一台Slave角色,Master路由器向Slave路由器发送DD报文并规定起始序列号,没发送一个DD报文,序列号加1,Slave路由器则使用Master路由器的序列号进行确定应答;

(5)LSA Header

LSA头部字段,4字节,指定DD报文中包括的LSA头部;

4、OSPF    LSR报文及格式


LSR报文用于向相邻路由器请求所需的LSA;

LSR报文的内容部分是LSA头部的摘要信息(LSA头部的部分信息);

当两台路由器互相交换完DD报文后,知道对端路由器有哪些LSA是本LSDB没有的,则需要发送一个LSR报文,向对方请求所需的LSA;

(1)LS Type

LSA类型字段,4字节,1/2/3/4/5/7类LSA;

(2)Link State ID

LS标识字段,4字节,LSA类型不同所描述的信息不同:

1类        描述源路由器的路由器ID

2类        描述DR接口地址

3类        描述目的网络地址

4类        描述ASBR的路由器ID

5类        描述目的网络地址

7类        描述目的网络地址

(3)Advertising Router

通告路由器字段,4字节,源路由器ID;

5、   OSPF    LSU报文及格式


LSU报文是LSR请求报文的应答报文;

LSU报文内容部分是一共发送的LSA数量和每条LSA的完整内容;

(1)Number of LSA

LSA数量字段,4字节,指定共发送的LSA数量;

(2)LSAs

LSA字段,4字节,是一条条具体的LSA完整信息;

6、OSPF    LSAck报文及格式


LSAck报文是路由器在收到对端发来的LSU报文后发出的确认报文;

LSAck报文的内容部分是需要确认的LSA头部;

一份LSAck可以对多份LSU中的LSA做确认;

7、LSA头部格式


DD报文包含LSA头部信息,LSR报文只包含LSA摘要信息,LSU报文包含LSA完整信息,LSAck报文包含LSA头部信息;

LSA中的LS Type、Link State ID和Advertising Router可以唯一标识一条LSA。

LSA中的LS序列号、LS checksum和LS age可以判断LSA的新旧。

(1)LS age

LSA老化时间字段,2字节,LSA存在的时间,达到1800s周期性泛洪,达到Max age 3600s老化掉。

(2)Options

可选项字段,置1表示具有相应特性,置0表示不具有相应特性;

E:允许泛洪5类AS External LSA;

N:允许处理7类NSSA LSA;

MC:允许转发IP组播报文;

DC:允许处理按需链路;

(3)LS type

LSA类型字段,1字节,1/2/3/4/5/7类LSA;

(4)Link State ID

链路状态ID字段,4字节,不同类型LSA的该字段内容不同;

1类LSA        源路由器ID

2类LSA        DR接口地址

3类LSA        目的网段地址

4类LSA        ASBR的路由器ID

5类LSA        目的网段地址

7类LSA        目的网段地址

(5)Advertising Router

通告路由器字段,4字节,通告该LSA的路由器ID;

(6)LS sequence number

LSA序列号字段,4字节,LSA序列号值越大,LSA越新,初始序列号从0x80000001到最大值0x7FFFFFFF;

(7)LS checksum

LSA校验和字段,2字节,对除LS age字段外的LSA报头全部信息做校验;

(8)length

长度字段,2字节,LSA的总长度,包括LSA头部,以字节为单位;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357