核心算法分析:
1. 解析帧结构模块
本模块实现了将封装好的MAC帧各字段解析为可阅读的文本的功能。
其中,任意位置的读入失败都抛出文件已到达末尾异常,结束解析。
2. 封装数据帧模块
本模块实现了将用户输入的文本封装为MAC帧的功能。
3. 模拟发送帧模块
本模块实现了简单的CSMA/CD协议,能够模拟单机发送一个MAC帧的过程。
步骤一:载波侦听过程(CSMA)
以太网中每个结点利用总线发送数据,总线是每个结点共享的公共传输介质。所以结点在发送一个帧前,必须侦听总线是否空闲。由于以太网的数据采用曼彻斯特编码方式,所以可以通过判断总线电平是否跳变来确定总线是否空闲。若总线空闲,就可以启动发送,否则继续监听。
步骤二:冲突检测(CD)