欢迎来到天天文库
浏览记录
ID:8972208
大小:296.59 KB
页数:23页
时间:2018-04-13
《linuxc网卡抓包程序的实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、目录一、课程设计目的...................................2二、开发环境、运行方式..............................51、开发环境..............................................52、运行方式..............................................53、测试结果截图..........................................6三、流程的说明.............................................8
2、四、帧封装的过程.............................................101、填充帧头部字段........................................102、填充数据字段..........................................103、CRC校验..............................................104、主程序设计............................................12五、帧封装方法的相关扩展....................
3、.................211、比特型算法............................................222、字节型算法............................................22六、课程设计心得与体会.......................................23七、参考文献.................................................2323一、课程设计目的帧是网络通信的基本传输单元,熟悉帧结构对于理解网络协议的概念、协议执行过程以及网络层次结构具有重要的意义。本
4、次作业的目的是应用数据链路层与介质访问控制子层的知识,根据数据链路层的基本原理,通过封装和解析Ethernet帧,了解Ethernet帧结构中各个字段的含义,从而深入理解Internet协议族中的最底层协议——数据链路层协议。网络节点间发送数据都要将它放在帧的有效部分,分为一个或多个帧进行传送。节点之间可靠的帧传输不仅是通信的保障,而且还可以实现网络控制等各种功能。1980年,Xerox、DEC与Intel等三家公司合作,第一次公布了Ethernet的物理层、数据链路层规范;1981年EthernetV2.0规范公布;IEEE802.3标准是在EthernetV2.0规范的基础上制定的,I
5、EEE802.3针对整个CSMA/CD网络,它的制定推动了Ethernet技术的发展和广泛应用。EthernetV2.0规范和IEEE802.3标准中的Ethernet帧结构有一些差别,这里我们按EthernetV2.0的帧结构进行讨论。前导码帧前定界符目的地址源地址长度字段LLC数据帧校验字段FCS(7B)(1B)(2/6B)(2/6B)(2B)(46~1500B)(4B)图1.1IEEE802.3标准Ethernet帧结构802.3标准中Ethernet帧结构由以下几个部分组成:(1)前导码和帧前定界符前导码由56位(7Byte)的10101010…231010比特序列组成,帧前定界符
6、由一个8位的字节组成,其比特序列位10101011。前导码用于使接收端同步,不计入帧头长度。帧前定界符也不计入帧头长度。(1)目的地址和源地址目的地址与源地址均分别表示帧的接收结点与发送结点的硬件地址。硬件地址一般称作MAC地址或物理地址。在Ethernet帧中,目的地址和源地址字段长度可以是2B或6B。早期的Ethernet曾经使用过2B长度的地址,但是目前所有的Ethernet都使用6B(即48位)长度的地址。为了方便起见,通常使用16进制数书写(例如,00-13-d3-a2-42-a8)。为了保证MAC地址的唯一性,世界上由一个专门的组织负责为网卡的生产厂家分配MAC地址。Ether
7、net帧的目的地址可以分为以下3种。l单播地址(unicastaddress):目的地址的第一位为0表示单播地址。目的地址是单播地址,则表示该帧只被与目的地址相同的结点所接收。l多播地址(multicastaddress):目的地址的第一位为1表示多播地址。目的地址是多播地址,则表示该帧被一组结点所接接收。l广播地址(broadcastaddress):目的地址为全1则表示广播地址。目的地址是广播地址,则表示该帧被所有结
此文档下载收益归作者所有