有关ospf抓包

1、相关的路由器为这样子的; 路由器都运行了ospf;

有关ospf抓包-LMLPHP

抓包的链路为GE0/0/2 ,

2、抓包图:

有关ospf抓包-LMLPHP

有关ospf抓包-LMLPHP

从图上我们可以看到,protocol info 这一栏里面出现了:

hello packet;

DB Description;

LS Update;

LS ack;

(为什么没有出现LSR报文呢?)

查看抓包图:

首先我们查看的是hello packet:

有关ospf抓包-LMLPHP

这个hello报文已经被完全详细的解析出来,虽然有些看不懂,不过也是全部百度了、

然后我们再将黑手伸向DB Description 报文:

有关ospf抓包-LMLPHP

注意上面的序号为11;(dd报文)

有关ospf抓包-LMLPHP

这个是五个ospf的dd报文,共有五次,效果等同于三次握手的效果;

Dd三次报文的不同之处:

1、有关ospf抓包-LMLPHP11.14.16

有关ospf抓包-LMLPHP13.15

源ospf是不相同的;因为发送方的路由器是不同的;还有就是校验码肯定是不相同的

2、

有关ospf抓包-LMLPHP11. 13

有关ospf抓包-LMLPHP14.16

有关ospf抓包-LMLPHP15

这个应该只是将详细内容中置为1的内容展现出来了而已;

3、

有关ospf抓包-LMLPHP序号为:11

有关ospf抓包-LMLPHP序号为:13

有关ospf抓包-LMLPHP序号为:14

有关ospf抓包-LMLPHP序号为:15

有关ospf抓包-LMLPHP序号为16

 

这个地方很有意思的:这五个dd报文的R,I,M,MS 的变化能体现dd报文的作用:

序号为11的报文截图:得出的信息:我是第一个报文,我后面还有报文,我是主路由器

                     我的序号是x;

序号为13的报文截图:得出的信息:我是第一个报文,我后面还有报文,我是主路由器

                     我的序号是y;

***********因为在没有进行dd交换;他们都会认为自己是主路由器;***********

序号为14的报文截图:得出的信息:我不是第一个,我后面没有报文,我是从路由器

                     我的序号是y(隐式响应)

序号为15的报文截图:得出的信息;我不是第一个,我后面没有报文,我是主路由器

                     我的序号是y+1

***********因为经过第一轮的dd报文的交换,他们确定了主从关系;***********

序号为16的报文截图:得出的信息:我不是第一个,我后面没有报文,我是从路由器

                     我的序号是y+1(隐式响应)

然后我们再次去研究分析:update的报文:

有关ospf抓包-LMLPHP

先来看一下,一共就更新了三个update报文 ~ 序号为  17   18  1 9

有关ospf抓包-LMLPHP

我们发现 ospf header 基本格式是一样的;只是由于:每个报文的类型不同,导致有时候的头文件的格式有所不同:不过都是对该报文进行描述;

当报文为同一种类(在这里为update 报文):不同的地方主要是在

Ls update packet上;

 有关ospf抓包-LMLPHP************这个是序号为17

有关ospf抓包-LMLPHP************这个是序号为18

有关ospf抓包-LMLPHP************这个是序号为19 

Update报文主要是:将对面发来的request报文中的所需要的内容,然后从自己发送给对面;

从上面的图看到更新的LS种类有:router-lsa; network-LSA,(讲真的:个人感觉这个是包含了请求报文还有更新报文)

现在将对现在已经出现的两个种类的报文进行分析:

router-LSa

有关ospf抓包-LMLPHP

Network-lsa

有关ospf抓包-LMLPHP

有关ospf抓包-LMLPHP

以上是对LSA-HEADER中的network-LSA与router-LSA进行描述;

在这里有一个很有意思的事儿

我看了下update的报文:发现;

第一个报文:在第一个update报文中,我们可以看到:LS type 只有router-lsa一种:

有关ospf抓包-LMLPHP

展开之后:

有关ospf抓包-LMLPHP

它的序列号为这个;(我们假设这个为请求)

第二个报文:在第二个update报文中:我们可以看到出现了三个LS type;

其中有两个router-lsa和一个network

有关ospf抓包-LMLPHP

我们分别展开三个ls type 的详细信息。去查看他们的序列号:

有关ospf抓包-LMLPHP(第一个router-lsa)

有关ospf抓包-LMLPHP(第一个network报文)

有关ospf抓包-LMLPHP(第二个router-isa)

我们可以看到:1、第二个update报文中的第二个router-isa的序列号和第一个update报文中的第一个router-isa的序列号是相同的:我们是否可以理解为他们是隐性应答;

2、第二个update报文中的第一个router-isa的序列号刚好是第二个update报文中的第一个router-isa的序列号的+1:;我们是否可以理解为第一个是第二个后面一个;

第三个报文;在第三个update报文中;我们可以看到出现了两个ls type;其中有一个router-isa和一个network-isa

有关ospf抓包-LMLPHP

我们分别展开两个ls type 的详细信息。去查看他们的序列号:

有关ospf抓包-LMLPHP(第一个router-isa)

有关ospf抓包-LMLPHP(第一个network-isa)

我们可以看到: 第二个的update报文中的第一个network的序列号和第三个update报文中的第一个network报文的序列号是相同的:这可以理解为第三个报文是隐形应答第二个报文

第二个的ipdate报文中的第二个router-isa的序列号和第三个update的报文中的第一个router-lsa的序列号是相同的;这可以理解为第三个报文是隐形应答第二个报文

差不多该说说ls ack 报文了:

Lsack报文是同来对接收的lsu报文进行确认;我一直觉得lsack报文和ls update报文很像啊;

有关ospf抓包-LMLPHP

有关ospf抓包-LMLPHP

上面是应答报文,下面是跟新报文;

仔细看就会发现:到flag之前的格式都是一模一样的;然后我也不知道怎么去描述了。

就这样吧。

2016/11      my-tea

05-08 08:35