本课程设计基于Java与Android平台,旨在实现IEEE 802.3标准下的以太网帧封装技术。学生将深入学习并实践网络数据包处理和移动应用开发。
编写一个程序来实现IEEE 802.3以太网帧的封装。
设计要求如下:
1)基本要求:
- 程序界面需要显示输入框用于用户输入数据部分、源MAC地址及目的MAC地址;
- 输出计算后的校验和字段以及完整的封装结果到界面上展示;
- 采用生成多项式G(X)= X^8 + X^2 + X + 1进行CRC校验。
操作系统、编程语言与编译环境不限,但需要在报告中明确说明。
2)扩展要求:
- 实现并可视化显示整个CRC计算过程;
- 提供界面控件让用户能够控制程序的运行流程。
3)相关理论知识
根据802.3标准,以太网帧由7部分组成:前导码、帧起始定界符(SFD)、目的地址、源地址、长度字段、数据字段和校验字段。具体如下:
- 前导码: 7字节;
- SFD: 1字节;
- 目的MAC地址: 最多6字节;
- 源MAC地址:最多6字节;
- 长度字段:2个字节,指示数据部分长度(不包括前导码、SFD和校验字段)。
- 数据字段:最小46字节。如果LLC层的数据不足,则需填充至最少46B;
- 校验字段:4字节,用于存储CRC值。
在计算帧的校验时,范围涵盖目的地址、源地址以及数据部分(不包括长度字段)。