LACP抓包分析结果

LACP抓包分析结果

今天利用wireshark来抓LACP包,分析的结果如下:

1、实验环境

两台交换机:分别是IP-COM/G3224TH3C/S5024E

MACIP-COM的是00B0-4C00-079EH3C的是000F-E2B9-B221

汇聚组选择:IP-COM是选择123作为汇聚组,华三的是101214作为汇聚组。

2、实验介绍:

2.1、实验一

2.1.1、实验步骤

(一) 、先将连接到PC机的网线连接到IP-COM的交换机,在PC上登陆界面,然后配置LACP

(二) 、然后打开WireShark,在过滤器中输入slow关键词。

(三) 、此时将1-10端口相连,再将连接PC机的网线连接到华三交换机。进入界面配置LACP。(将1-10端口相连是想看到当华三的配置完后,IP-COM开始和华三的相应端口进行交互)

(四) 、再将2-12端口相连。(这个顺序不是固定的,随你改变)

注:这边还可以做个实验看看如果配置玩IP-COMLACP后从汇聚组的端口中是否会发送报文?经过实验证明不接网线的话汇聚口不会输出任何信息!??

2.1.2实验结果:

抓到的包如下:

LACP抓包分析结果_第1张图片

1、正常情况下抓包结果

先提两点重要的东西:【1】、当这样连接线路时:连接PC的网线连接着华三的交换机6口,取两根网线分别连接到华三与IP-COM12端口,然后LACP没有打开,这样在PC上输入IP-COMIP地址192.168.0.1,是进不去页面的。为什么呢?因为在IP-COM里面这种连线是形成一个环路,信息从1端口进去就直接从2端口出来了,根本不进入交换芯片以及CPU。但是如果打开汇聚组,情况就不同了,因为这时12端口是作为同一个端口的这样就不会形成环路了。【2】、博通芯片有一个特点就是当你使用出入镜像时你抓包是抓不到华三这边发出的LACP数据包的,具体原因是因为芯片的特点,这点有待阅读博通的芯片资料来解答。

抓包结果分析:从上图中需要注意的几个字段:TimeSourceDestinationInfo。首先是Time参数,可以从中看出:刚开始处于协商的时候,从109-110-111-111这段时间都是处于协商过程,很短的时间。协商成功后就是双方都确认信息后就每隔30秒的时间来发报文,这些待会有更清楚的说明中可以看出来。然后是Source参数,这时交换机的MAC,因为我们知道IP-COMMAC00B0-4C00-079E,交换机规定了每隔端口的MAC是在原MAC基础上加上1,所以有Port100B0-4C00-079F,同理Port200B0-4C00-07A0。然后是Destination,就是目的地,LACP规定了就是Slow Protocols。另外的Info则是说明本端与对端信息还有端口号。(数据包从谁发出就是本端,另外一个接收的就是对端)

看完它们的信息后我们在看看LACP包的内容,这时第一个LACP包的内容:

LACP抓包分析结果_第2张图片

这是第二个LACP包的内容:

LACP抓包分析结果_第3张图片

这是第三个LACP包的内容:

LACP抓包分析结果_第4张图片

这是第四个LACP包的内容:

LACP抓包分析结果_第5张图片

现在我们来分析这些包是什么的关系?122端口的也一样,以后我们不会这么完整的拿出整个截图,第一次就给了个全图!

结合我的《802.1axLACP学习笔记》这篇文章,我们先就第一个图来说,其他很类似。

首先再Ethernet II中有三个重要的字段:

Destination: Slow-Protocols (01:80:c2:00:00:02);

Source: 00:b0:4c:00:07:9f (00:b0:4c:00:07:9f);

Type: Slow Protocols (0x8809);

其次是Slow Protocols subtypeLACP0x01

该字段是唯一的。

LACP version Number0x01

Actors Information0x01

Information length0x14

Actor System Priority32768

Actor System00B04C00079E

Actor Key25

Actor Port Priority32768

Actor Port1

Actor State0x4501000101);------ActivityAggressionDefaulted

这里对照帧的定义可以看出:

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 0... = Synchronization: No

...0 .... = Collecting: No

..0. .... = Distributing: No

.1.. .... = Defaulted: Yes

0... .... = Expired: No

Reserved0

Partner Information0x02

Information length0x14

Partner System Priority0

Partner System000000000000

Partner Key0

Partner Port Priority0

Partner Port0

Partner State0

Reserved0

Collector Information0x03

Collector Information length0x10

Collector Max Delay0

Reserved0

Terminator Information0x00

Terminator length0x00

Reserved0

这里提一下帧的特点:

• 目的MAC0180C2000002

• 不能带tag

• 类型/长度域为0x8809

• 子类型域值为1

• 帧长固定为128字节,保留字节全部填0

但是在第二张图中帧有变化,主要变化是在本端与对端的状态信息上:

Actor State0xc511000101);------ActivityAggressionDefaultedExpired

Partner State0x0200000010);-------Timeout

到三个报文时两者已经建立连接,这时对端的信息都已经获得了,所以:

Actor State0x0d00001101);------ActivityAggressionSynchronization

Partner Information0x02

Information length0x14

Partner System Priority32768

Partner SystemHangzhou_b9b221 (00:0f:e2:b9:b2:21);

Partner Key1

Partner Port Priority32768

Partner Port10

Partner State0x0d00001101);------ActivityAggressionSynchronization! 

Reserved0

等到第四张图就是两者可以互通信息了,所以二者的状态变了:

Actor State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing);

Partner State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing);

所以可以看出整个过程了!。。。。。。。。。。。。。。。(需要补充)

22、实验二

2.2.1、实验步骤:

1)、将两个交换机正确连接好;

2)、然后将其中一根网线断掉,等待两分钟,再将该网线接上。

2.2.2、实验结果以及分析:

其实这个实验做都不用做就可以知道结果。当断开该网线时必定该端口的LACP包没有了,再接上时就会重复刚才实验一出现的通信顺序来发LACP包。所以这个实验只是验证自己的想法而已!

2.3、实验三

2.3.1、实验步骤

1)、正确配置好两个交换机后开始抓包;

2)、将华三的LACP关掉,就时删除其中的汇聚组;

3)、再查看抓到的包出现什么信息!

2.3.2、实验结果以及分析:

抓到的包如图:

LACP抓包分析结果_第6张图片

我是在2164个包发出去之前关掉华三的LACP功能的。所以当时在30秒之内时还是会再发出一个包,所以21642177的包时完整状态的包。之后的2204开始的包就是下面的状态:、

LACP抓包分析结果_第7张图片

这种包连续发了三个。之后就变成这种的了:

LACP抓包分析结果_第8张图片

然后是12端口接收的包,和10端口的一模一样!

分析上面的包可以看出刚开始本端会发出一个完整的状态包,但是发现对端不响应了,于是连续发出三个超时包,还是没响应,最后只能配置成默认包了。12端口收到的包与此一样!等两个端口再也没有反应后只能全都发成默认包了!

至此最后的总结有待进一步改进!

3、实验最后总结:

通过三个实验再结合之前学习的LACP,我们可以得出以下结论:

1、 接收状态机会根据对端发送过来的帧来判断对端端口是否可用了,而且从实验三我们可以知道若是与对端未协商好,则本端会继续发送,然后超时,之后就是执行默认状态操作。

2、 LACP协议的整个流程是:本端发送一个默认状态的帧给对端----本端发送一个expired帧(对端状态是Timeout-----本端再发送一个同步帧(此时对端也正在同步即协商)-----协商成功本端发送一个能够分发与收集帧(对端的状态也是这样)-----之后本端每隔30秒发送一个帧给对端,确认端口的状态没有变化。

3、 在LACP协议里面,和6个状态机相紧密结合的是对本端的状态信息这一字节。从里面分析出某位的状态才能决定是否置NTTSelected的状态,才能决定以后的帧的发送以及帧的内容。

属于原创,谢绝盗版!转载请注明出处!

小兀

2012.08.18

你可能感兴趣的:(c,h3c)