一种以太网MAC帧检测与显示方法转让专利

申请号 : CN200810129947.7

文献号 : CN101325521B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 佟为明赵志衡赵晶高蕾李辰林景波

申请人 : 哈尔滨工业大学

摘要 :

一种以太网MAC帧检测与显示系统,包括发送节点与接收节点,二者通过以太网通信,发送节点包括微处理器、通信单元、以太网接口单元、键盘和液晶显示单元,用于完成以太网MAC帧的构造和发送;接收节点包括微处理器、以太网接口单元、检测单元和液晶显示单元,用于检测并显示MAC帧。一种以太网MAC帧的检测和显示方法,包括:启动检测系统;初始化发送节点和接收节点,并配置其通信参数;发送节点构造MAC帧;发送节点启动发送;接收节点检测并显示接收到的MAC帧;结束。通过本发明的检测和显示系统及方法,可以对实际传输的MAC帧结构各个组成部分进行直接观察,使用户对以太网的传输机制和数据格式有更直观、深入的了解。

权利要求 :

1.一种以太网MAC帧的检测和显示方法,其用于上述以太网MAC帧检测与显示系统,所述方法包括如下步骤:S01,启动检测系统;

S02,初始化发送节点,并配置其通信参数;

S03,初始化接收节点,并配置其通信参数;

S04,发送节点构造MAC帧;

S05,发送节点启动发送;

S06,接收节点检测并显示接收到的MAC帧;

S07,结束;

其中,步骤S06接收节点检测并显示接收到的MAC帧包括:

S601,开始捕捉MAC帧;当检测到总线电平出现第一个下降沿时,微处理器产生一个中断信号进入中断子程序开始检测总线电平;

S602,对MAC帧的电平信号进行采样;采样MAC帧的电平信号包括:每采样一位总线电平计数器加1,并将计数器的值与一设定值进行比较,如果计数器的值未达到所述设定值则继续进行检测;如果达到则跳出中断子程序并开中断以清除定时器累积误差;然后继续对定时器设定一定时时间Ts,并判断在定时器溢出前是否有下降沿产生;若有则读取该电平信号并保存到微处理器内部的临时存储区一,然后等待直至定时器溢出时产生一个中断信号再次进入中断子程序;如果在Ts时间内没有下降沿产生则在定时器溢出时产生一个中断信号再次进入中断子程序;其中,执行上述操作的同时对临时存储区一的数据进行判断,若存在设定的帧结束标记时停止采样MAC帧电平信号;

S603,对接收采样到的电平信号进行解码恢复MAC帧数据;

S604,对MAC帧进行显示。

2、根据权利要求1所述的以太网MAC帧的检测和显示方法,其特征在于,所述步骤S02中,发送节点的通信参数配置包括对发送节点的以太网物理地址和IP地址进行配置。

3.根据权利要求1所述的以太网MAC帧的检测和显示方法,其特征在于,所述步骤S03中,接收节点的通信参数配置包括对接收节点的以太网物理地址和IP地址进行配置。

4.根据权利要求1所述的以太网MAC帧的检测和显示方法,其特征在于,所述发送节点构造MAC帧的步骤S04包括,用户通过键盘设置MAC帧的目的地址字段、源地址字段、类型字段和数据字段。

5.根据权利要求1所述的以太网MAC帧的检测和显示方法,其特征在于,所述步骤S603,对采样到的电平信号进行解码恢复MAC帧数据包括:系统在微处理器的扩展存储部分中分配临时存储区二,从临时存储区一的第一个信号开始每8位为一组将信号取出并判断所述8位数据中是否包含帧结束标记,如果包含则微处理器停止对采样数据的处理;不包括则将所述8位数据中第i位信号与第i+1位信号进行比较,其中,i=1,3,5,7;如果比较结果为相等,压入堆栈一个1;反之则压入堆栈一个

0;每8位信号比较完毕,就将堆栈中的4个信号按顺序取出并存储至临时存储区二;如果系统最后取出的数据不够8位,则直接将这几个数据丢弃,并结束对采样数据的处理。

说明书 :

一种以太网MAC帧检测与显示方法

技术领域

[0001] 本发明涉及以太网通信,更确切地说,涉及一种以太网MAC帧检测与显示方法。

背景技术

[0002] 以太网(Ethernet)以其高度灵活、相对简单、易于实现的特点,成为当今最重要的一种局域网建网技术,目前全球90%以上的企事业用户都采用以太网接入。最初的以太网是使用带碰撞检测的载波侦听多路访问(CSMA/CD)技术的总线型网络,根据IEEE802.3标准,以太网的MAC层主要执行两项任务:(1)、数据成帧和解帧,包括寻址和错误检测;(2)、媒体访问管理,包括媒体分配(避免碰撞)和竞争裁决(碰撞处理)。但随着以太网应用的发展,半双工的CSMA/CD方式已不能满足当前的千兆乃至万兆以太网高速通信的需求。并且,随着带宽的提高,目前,以太网已经逐步突破局域网的限制,而趋向发展到基于LAN交换机或中继器的广域以太网。
[0003] 但是,无论何种应用,其基本数据传输都是基于MAC帧。以太网MAC(媒体访问控制)帧是以太网在MAC层的基本传输单位,是以太网技术的核心体现,因此有必要对以太网的MAC帧有清晰准确的认识,对于相关专业的学生或从业人员学习和了解以太网技术来说更是如此。但是,实际组网运行中,以太网MAC帧的封装由以太网控制器自动完成,对用户完全透明,这就使其工作过程不可见。因此,需要通过实验的手段对以太网MAC帧进行检测和显示,关于此项技术,目前现有技术中尚无文献介绍也并未见产品面世。

发明内容

[0004] 因此,本发明的目的即是为了解决目前没有检验MAC帧的以太网教学实验系统、不便于对以太网机理、实质深入学习的问题,提供一种以太网MAC帧检测与显示方法,以对以太网通信过程中的MAC帧的实际内容进行显示,使可以对以太网通信有更直观和确切的了解。
[0005] 为此,本发明提供了一种以太网MAC帧检测与显示系统,包括发送节点与接收节点,所述发送节点和接收节点之间通过以太网通信,其中,所述发送节点包括:微处理器、通信单元、以太网接口单元、键盘和液晶显示单元,其用于完成以太网MAC帧的构造和发送;所述接收节点包括:微处理器、以太网接口单元、检测单元和液晶显示单元,其用于检测并显示MAC帧。
[0006] 本发明还提供了一种以太网MAC帧的检测和显示方法,其用于上述以太网MAC帧检测与显示系统,所述方法包括如下步骤:
[0007] S01,启动检测系统;
[0008] S02,初始化发送节点,并配置其通信参数;
[0009] S03,初始化接收节点,并配置其通信参数;
[0010] S04,发送节点构造MAC帧;
[0011] S05,发送节点启动发送;
[0012] S06,接收节点检测并显示接收到的MAC帧;
[0013] S07,结束。
[0014] 其中,步骤S06接收节点检测并显示接收到的MAC帧包括:
[0015] S601,开始捕捉MAC帧;当检测到总线电平出现第一个下降沿时,微处理器产生一个中断信号进入中断子程序开始检测总线电平;
[0016] S602,对MAC帧的电平信号进行采样;采样MAC帧的电平信号包括:每采样一位总线电平计数器加1,并将计数器的值与一设定值进行比较,如果计数器的值未达到所述设定值则继续进行检测;如果达到则跳出中断子程序并开中断以清除定时器累积误差;然后继续对定时器设定一定时时间Ts,并判断在定时器溢出前是否有下降沿产生;若有则读取该电平信号并保存到微处理器内部的临时存储区一,然后等待直至定时器溢出时产生一个中断信号再次进入中断子程序;如果在Ts时间内没有下降沿产生则在定时器溢出时产生一个中断信号再次进入中断子程序;其中,执行上述操作的同时对临时存储区一的数据进行判断,若存在设定的帧结束标记时停止采样MAC帧电平信号;
[0017] S603,对接收采样到的电平信号进行解码恢复MAC帧数据;
[0018] S604,对MAC帧进行显示。
[0019] 使用本发明的以太网MAC帧检测与显示方法,其有益效果在于,通过本发明的检测和显示方法,可以对实际传输的MAC帧结构各个组成部分进行直接观察,使用户,尤其是学生可以对以太网的传输机制和数据格式有更直观、深入的了解。

附图说明

[0020] 图1是本发明以太网MAC帧检测与显示系统的结构示意图;
[0021] 图2是本发明以太网MAC帧检测与显示方法的流程示意图;
[0022] 图3是本发明以太网MAC帧检测与显示方法中发送节点的结构示意图;
[0023] 图4是本发明以太网MAC帧检测与显示方法中接收节点的结构示意图;
[0024] 图5是以太网MAC帧的一实施例的帧格式示意图。

具体实施方式

[0025] 根据本发明的一种以太网MAC帧的检测和显示实验系统如图1所示,该系统由发送节点1、接收节点2构成,发送节点1和接收节点2之间通过以太网通信,例如,为便于实验系统组网和演示,在本实施例中,发送节点1和接收节点2直接通过线缆连接,线缆可使用双绞线,其它种类的线缆只要能满足相应数据传输要求亦可选用,例如同轴电缆、光纤等,但并不局限于上述种类。图3是本发明以太网MAC帧检测与显示方法中发送节点1的结构示意图。从图中可见,发送节点1由微处理器102(例如,可用三星公司的嵌入式微处理器S3C44B0X实现)、通信单元104、以太网接口单元101、键盘105和液晶显示单元103组成,其用于完成以太网MAC帧的构造和发送。其中,所述键盘105、液晶显示单元103和通信单元104分别连接到微处理器102,键盘105用于进行数据和命令输入,液晶显示单元103则根据节点1的工作过程显示相应信息,微处理器102通过通信单元104和与通信单元104相连接的以太网接口单元101将欲发送的数据封装成帧并发送到以太网。其具体过程将在后文结合图2详述。
[0026] 图4是本发明以太网MAC帧检测与显示方法中接收节点的结构示意图。从图中可见,接收节点2包括:微处理器202(例如,可用三星公司的嵌入式微处理器S3C44B0X实现)、以太网接口单元201、检测单元204和液晶显示单元203组成,其负责检测并显示MAC帧。其中,液晶显示单元203和检测单元204分别连接到微处理器202,检测单元204通过以太网接口单元201获取来自以太网的MAC帧,并将其内容送至微处理器202,通过液晶显示单元203进行显示。其具体过程将在后文结合图2详述。
[0027] 其中,典型的以太网MAC帧结构如图5所示,每一MAC帧包括8字节的前导码,6字节的目的地址,6字节的源地址,2字节的“类型”用于表示MAC帧的数据字段的协议类型,以及可变长度的数据部分,最后是4字节的FCS(Frame Check Sequence,帧差错检验序列)。
[0028] 图2是本发明以太网MAC帧检测与显示方法的流程示意图。如图2所示,本发明实验系统的以太网MAC帧的检测和显示方法包括如下步骤:
[0029] S01,启动检测系统;
[0030] S02,初始化发送节点1,并配置其通信参数;
[0031] S03,初始化接收节点2,并配置其通信参数;
[0032] S04,发送节点1构造MAC帧;
[0033] S05,发送节点1启动发送;
[0034] S06,接收节点2检测并显示接收到的MAC帧;
[0035] S07,结束。
[0036] 下面结合具体实施方式对本发明的以太网MAC帧检测与显示方法进行详细说明。其中,步骤S02初始化发送节点1并配置其通信参数的过程如下:首先,检测系统执行其内置的程序,自动完成发送节点1的微处理器102、通信单元104、键盘105和液晶显示单元
103的初始化。其中,发送节点1通信单元104包括一以太网控制器,在本实施例中,用以太网控制器RTL8019AS实现,其晶振设为2MHz。而发送节点1微处理器102用三星的S3C44B0X实现,其工作频率设置为20MHz。
[0037] 初始化完成后,发送节点1的通信参数配置包括:对发送节点1的以太网物理地址、IP地址进行配置,这一步由系统自动完成。其中,发送节点1的物理地址为通信单元104中以太网控制器RTL8019AS的物理地址,而IP地址根据所在局域网的IP地址进行配置,例如:192.168.1.10。之后,发送节点1的液晶显示单元103显示相应的提示信息,例如显示:节点1初始化完毕;节点1的物理地址是XX.XX.XX.XX.XX.XX;IP地址是XX.XX.XX.XX;准备构造MAC帧;其中,“XX……XX”表示实际的通信参数中的地址。
[0038] 步骤S03初始化接收节点2并配置其通信参数的过程与步骤S02类似,其过程为:首先,系统自动完成接收节点2的微处理器202、检测单元204和液晶显示单元203的初始化,以保证接收节点2能够正确的接收发送节点1发送的MAC帧。在本实施例中,而接收节点2的微处理器202亦用三星的S3C44B0X实现,并将其工作频率设置为64MHz。
[0039] 初始化完成后,接收节点2的通信参数配置包括:对接收节点2的以太网物理地址、IP地址进行配置,这一步同样由系统自动完成。其中,由于接收节点2的硬件组成中不包括以太网控制器,所以接收节点2物理地址的配置并不具实际意义,但为了发送节点1能够正确的构造以接收节点2为目的节点的MAC帧,仍然需要对接收节点2的物理地址进行配置,此时进行物理地址配置时只需满足物理地址的规范即可。接收节点2的IP地址亦根据所在局域网的IP地址进行配置,显然接收节点2与发送节点1应在同一局域网内,且需满足一定条件。例如,显然,接收节点2的以太网物理地址和IP地址不能和发送节点1重复。并且,在本实施例中,接收节点2和发送节点1之间直接通过线缆连接,接收节点2的IP地址应和发送节点1在同一网段,例如接收节点2的IP地址可设为192.168.1.20。之后,接收节点2的液晶显示单元203显示相应的提示信息,例如显示:接收节点2初始化完毕;接收节点2的物理地址是XX.XX.XX.XX.XX.XX;IP地址是XX.XX.XX.XX;准备接收MAC帧;其中,“XX……XX”表示接收节点2实际的通信参数中的地址。
[0040] 步骤S04,发送节点1构造MAC帧,为了演示需要,此步骤可在用户参与下进行,以使用户在MAC帧的构造中有更多的主动性,例如,用户参与的构造过程可在发送节点1的液晶显示单元103提示下按如下过程进行:首先,发送节点1的液晶显示单元103提示“准备构造以太网MAC帧”,并给出一选择菜单,该菜单包括一“确认”按钮,当用户点击“确定”后,MAC帧构造开始。在液晶显示单元103提示下,用户通过键盘设置MAC帧的目的地址字段、源地址字段、类型字段和数据字段。其中,为保证正确发送,目的地址应为接收节点2的以太网物理地址;源地址应为发送节点1的以太网物理地址;类型字段表示数据字段中协议报文的类型,例如可选择为0x0800、0x0806或0x8035,分别表示数据字段中承载的为IP协议报文、ARP协议报文或RARP协议报文;由于本系统只是为了演示MAC帧的结构,为简单起见,用户对数据字段进行填充时只输入一个字节的有效数据;前导码和FCS(Frame Check Sequence,帧差错检验序列)字段用户无法干预,由通信单元中的以太网控制器RTL8019AS自动添加。
[0041] 步骤S05发送节点1启动发送,首先是液晶显示单元103显示提示信息,例如“MAC帧构造完毕”,并给出一选择菜单,该菜单包括一“确认”按钮,点击“确定”后,启动发送节点1通信单元中的“启动发送”按钮,通信单元的以太网控制器RTL8019AS自动检测步骤S04中用户构造的MAC帧,检测包括首先自动检测所构造MAC帧的目的地址字段、源地址字段和类型字段是否满足规范,如果不满足则提示用户“MAC帧构造错误,请重新构造”,如果满足则继续检测数据字段的长度是否满足规定的最小字节数,即46字节,如不满足则在有效数据之后填充0使数据字段长度达到46字节,如果大于规定的最大字节数,即1500字节则对其进行分片传输。然后以太网控制器RTL8019AS自动对该帧添加前导码字段和FCS字段,从而构造成完整的MAC帧通过以太网接口单元发送至以太网上,并通过液晶显示单元103显示发送成功。其中,所述规定的最小、最大字节数为根据IEEE802.3标准,由现有技术的一般规则确定,在此不加赘述。
[0042] 步骤S06接收节点2接收并显示MAC帧,在微处理器202的控制下进行。例如,根据本实施例的接收和显示过程如下:S601,开始捕捉MAC帧;在检测单元204检测到总线电平出现第一个下降沿时,微处理器202产生一个中断信号进入中断子程序开始检测总线电平,开始捕捉MAC帧。S602,对MAC帧的电平信号进行采样,为保证接收节点2能够对总线电平进行正确采样,每采样一位总线电平计数器加1,并将计数器的值与一设定值C进行比较,例如该设定值C可取160或其它8的倍数。如果计数器的值未达所述设定值到则继续进行检测;如果相同则跳出中断子程序并开中断以清除定时器累积误差,然后继续对定时器设定定时时间Ts,例如Ts=500ns,并判断在定时器溢出前是否有下降沿产生;若有则读取该电平信号并保存到临时存储区一,然后等待直至定时器溢出时产生一个中断信号再次进入中断子程序;如果在这Ts=500ns时间内没有下降沿产生则在定时器溢出时产生一个中断信号再次进入中断子程序。为保证在未知发送节点发送的数据字节数的情况下能够完整的检测到总线上传输的MAC帧,本发明定义了一帧结束标记,当检测到设定的帧结束标记--例如,连续3个“0”或“1”时停止检测,即停止MAC帧接收的步骤。其中,所述设定值C考虑因素为定时器零点漂移的特性,如果长时间不清除累计误差,将会引起零点漂移从而无法正确计时,而定时时间Ts是出于以太网控制器工作频率和微处理器工作频率以及网络带宽等传输因素综合考虑,为了进行避免碰撞和冲突裁决而选取的,本领域的技术人员根据上述参数当可自行根据网络状况和以太网控制器类型等计算和选取设定值C和定时时间Ts的可行解,这些变换将不会超出本发明的保护范围。
[0043] 其中,接收节点2的微处理器202检测到总线电平的下降沿后,在微处理器202的内部存储部分为用户分配临时存储区一,将检测到的总线电平暂时保存在临时存储区一中。由于以太网采用曼彻斯特编码和大端格式的网络字节序列进行信号传输,因此在电平采样完毕并在显示单元将检测到的MAC帧进行显示之前,需进行步骤S603,对接收到的电平信号进行解码恢复MAC帧数据:首先,系统再次在微处理器202的扩展存储部分为用户分配临时存储区二,之后系统从临时存储区一中采样到的第一个信号开始每8位为一组将信号取出。然后判断这8位数据中是否包含帧结束标记,即连续的3个0/1,如果包含则微处理器202停止对采样数据的处理;不包括则将这8位中第i位信号与第i+1位信号进行比较(其中,i=1,3,5,7)。如果比较结果为相等,则按满堆栈递增的存储方式压入堆栈一个1;反之则压入堆栈一个0。每8位信号比较完毕,就将堆栈中的4个信号按顺序取出并存储至临时存储区二。如果系统最后取出的数据不够8位,则直接将这几个数据丢弃,并结束对采样数据的处理。
[0044] 之后,进行步骤S604,将临时存储区二中的解码后的信号以附图5所示的MAC帧的格式通过液晶显示单元203用图形化方法进行显示。
[0045] 以上具体实施方式仅为本发明的较佳实施例,其对本发明而言是说明性的,而非限制性的。本领域的技术人员在不超出本发明精神和范围的情况下,对之进行变换、修改甚至等效,这些变动均会落入本发明的权利要求保护范围。