Ethernet帧结构解析..

Ethernet帧结构解析..

ID:39454247

大小:381.52 KB

页数:11页

时间:2019-07-03

Ethernet帧结构解析.._第1页
Ethernet帧结构解析.._第2页
Ethernet帧结构解析.._第3页
Ethernet帧结构解析.._第4页
Ethernet帧结构解析.._第5页
资源描述:

《Ethernet帧结构解析..》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一Ethernet帧结构解析一.需求分析实验目的:(1)掌握Ethernet帧各个字段的含义与帧接收过程;(2)掌握Ethernet帧解析软件设计与编程方法;(3)掌握Ethernet帧CRC校验算法原理与软件实现方法。实验任务:(1)捕捉任何主机发出的Ethernet802.3格式的帧和DIXEthernetV2(即EthernetII)格式的帧并进行分析。(2)捕捉并分析局域网上的所有ethernetbroadcast帧进行分析。(3)捕捉局域网上的所有ethernetmulticast帧进行分析。实验环境:安装好Win

2、dows2000Server操作系统+Ethereal的计算机实验时间;2节课二.概要设计1.原理概述:以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802.2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。以

3、太网帧是OSI参考模型数据链路层的封装,网络层的数据包被加上帧头和帧尾,构成可由数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定不变的,但根据被封装数据包大小的不同,以太网帧的长度也随之变化,变化的范围是64-1518字节(不包括8字节的前导字)。帧格式EthernetII和IEEE802.3的帧格式分别如下。EthernetrII帧格式:--------------------------------------------------------------------------------------------

4、--

5、前序

6、目的地址

7、源地址

8、类型

9、数据

10、FCS

11、----------------------------------------------------------------------------------------------

12、8byte

13、6byte

14、6byte

15、2byte

16、46~1500byte

17、4byte

18、IEEE802.3一般帧格式-------------------------------------------------------------------------------------------

19、----------------

20、前序

21、帧起始定界符

22、目的地址

23、源地址

24、长度

25、数据

26、FCS

27、-----------------------------------------------------------------------------------------------------------

28、7byte

29、1byte

30、2/6byte

31、2/6byte

32、2byte

33、46~1500byte

34、4byte

35、EthernetII和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长

36、度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式2程序流程图:三.详细设计:1.CRC校验部分设计:为了对以太网帧的对错进行检验,需要设计CRC校验部分。采用以为相与的方式对帧的首部相继作8位CRC校验输入参数:chCurrByte低8位数据有效,记录了上一次CRC校验的余数chNextByte低8位数据有效,记录了本次要继续校验的一个字节传出参数:chCurrByte低8位数据有效,记录了本次CRC校验的余数voidcheckCRC(int&chCurrByte,intchNextBy

37、te){//CRC循环:每次调用进行8次循环,处理一个字节的数据。for(intnMask=0x80;nMask>0;nMask>>=1){if((chCurrByte&0x80)!=0)//首位为1:移位,并进行异或运算{chCurrByte<<=1;//移一位if((chNextByte&nMask)!=0)//补一位{chCurrByte

38、=1;}chCurrByte^=7;//首位已经移出,仅对低8位进行异或运算,7的二进制为0000,0111}else//首位为0,只移位,不进行异或运算{chCurrByte<<=1;

39、//移一位if((chNextByte&nMask)!=0)//补一位{chCurrByte

40、=1;}}}}2.部分变量的声明:intnSN=1;//帧序号intnCheck=0;//校验码intnCurrDataOffset=22;//帧头偏移量intnCur

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。