Ethernet帧的解析、封装和模拟发送说明文档 姓名:*** 学号:********** 一、 背景知识 TCP/IP 支持多种不同的链路层协议,这取决于网络所使用的硬件,如Ethernet,令牌环网,FDDI(Fiber Distributed Data Interface,光纤分布式数据接口)等。基于不同的硬件的网络使用不同形式的帧结构,Ethernet 是当今应用最广泛的局域网技术。 Ethernet V2.0 的帧结构: 前导码 帧前定界符 目的地址 DA 源地址 SA 类型字段 数据字段 帧校验字段 7B 1B 6B 6B 2B 46~1500B 4B 1. 前导码和帧前定界符。 字段前导码由 56 位(7B)的 101010...1010比特序列组成,帧前定界符由一个 8 位的字节组成,其比特序列为 10101011。 如果将前导码与帧前定界符一起看,那么在 62 位 101010...1010 比特序列之后出现 11。在这个 11 之后便是 Ethernet 帧的目的地址字段。从 Ethernet 物理层角 度看,接收电路从开始接收比特到进入稳定状态,需要一定的时间。设计前 62 位 1 和 0 的交替比特序列的目的是保证接收电路在帧的目的地址到来之前到达正常状 态。接收端在收到最后两位 11 时,标志在他之后应该是帧的目的地址。前导码与帧前定界符主要起到接收同步的作用,这 8 个字节接收后不需要保留,也不计入帧 头长度。 2. 目的地址和源地址。 目的地址与源地址分别表示帧的接收节点与发送节点的硬件地址。硬件地址一般称作MAC 地址,物理地址或Ethernet 地址。地址长度为 6B(即48 位)。为了方便起见 ,通 常使用十 六 进制 数字书 写 。 Ethernet 帧的目的地址可 分为 3 种: 单 播 地址(unicast address):目的地址的第 一位为 0 表示单 播 地址。目的地址是单 播 地址,则 表示该帧只 被 与目的地址相 同的节点所接收 多播地址(multicast address):目的地址第一位为1 表示多播地址。目的地址是多播地址,则表示该帧被一组节点所接收。 广播地址(broadcast address):目的地址全为1 表示广播地址。目的地址是广播地址,则表示该帧被所有所有节点接收。 3. 类型字段 类型字段表示的是网络层使用的协议类型。常见的协议类型:0800 表示网络层使用IP 协议,0806 表示网络层使用ARP 协议,8137 表示网络层使用Novell IPX 协议,809b 表示网络层使用Apple Talk 协议。 4. 数据字段 IEEE 802.3 协议规定数据的长度在46~1500B 之...