《计算机网络基础》第3次作业
一、作业内容与目的
作业内容:发送幻数据包,唤醒其他计算机,思考MAC帧的传递和寻址,思考接收方和发送方如何处理MAC帧传输出错的情况。
作业目的:理解PDU的构成和封装发送,思考局域网和互联网的关系、互联网资源的可信度或准确性。
二、实验设备及实验环境
实验设备:笔记本2台(至少有一台具有唤醒网络的功能作为接收端)、路由器1个、网线。
实验环境:作为接收方的笔记本使用Windows10操作系统,并且安装捕包软件Wireshark,并通过网线连接到路由器LAN口;作为发送方的笔记本使用Windows10操作系统,并且安装软件Magic Packet来发送幻数据包,并通过无线接到路由器。
三、实验过程操作
1. 对作为接受方的计算机进行配置。在设备管理器中对网络适配器的属性进行更改,开启魔术封包和样式对比。
图1设备管理器配置
在开机页面中不断按F2(Samsung)打开Bios设置页面,打开(enable)PXE OPROM,将电脑设置为可以网络唤醒的模式并开机。
图2、3在电脑Bios界面进行配置
2. 使用Magic Packet发送幻数据包并在另一台电脑上用Wireshark抓包。接收端计算机的物理地址为:98-83-89-39-B1-1B,在Wires hark中,选择以太网为捕获接口,添加过滤条件ip.dst == 255.255.255.255。
图4Magic Packet发包
图5Wireshark捕获页面
3.关闭接收方计算机尝试使用幻数据包进行唤醒。
四、实验结果分析
抓到的数据包应该是UDP封装的。百度可知,Magic Packet的内容格式为:全部108字节,前5字节FF填充,接下来的96字节填充被唤醒的网卡MAC地址(即6字节MAC地址重复六次),最后6字节填写密码,无密码用00补位。以太网封装有3个部分:6字节目的MAC,6字节源MAC,2字节上层协议类型。其中目的MAC只能用广播帧FF:FF:FF:FF:FF:FF。
图6 UDP协议头数据
图7 数据包帧片段
图8 IP协议头数据
图9 以太网头数据
五、思考
1. PDU(协议数据单元)的构成和封装发送:
每一层使用自己层的协议和别的系统的对应层互相通信,协议层的协议在对等层之间交换的信息即协议数据单元。数据要通过网络进行传输,从高层向下传递或从一个主机传送到另一个主机,需要先把数据装到一个特殊协议报头中,这个过程即封装。未封装的数据(帧封装)无法被识别。若自己构建数据包进行唤醒,则必须封装添加UDP协议,否则唤醒失败。
图10 未封装的数据包(图片来源网络)
图11 添加了UDP的数据包(图片来源网络)
2. 局域网与互联网的关系:
本质区别是互联网只有一个,是全球性的;局域网可以有无数个,覆盖的范围较小,一个个局域网组成互联网。
3. 互联网资源的可信度和准确性:
本实验使用的传输层协议UDP是一种不可靠无连接的传输协议,发送方无法确定数据包是否正确发送到了接收方,其可靠性与准确性大大下降。若采用面向连接的TCP其准确性则会提高。
4. MAC帧传递和寻址:
MAC是802.3/Ethernet链路层的寻址机制,MAC寻址即首先通过广播帧获取足够的MAC地址表,然后维护这个MAC地址表(反映各端口与MAC地址之间的关系,便于后面的数据转发)。数据包内容在上一部分有说明。本实验中,MAC帧传递路径为:发送方->路由器->接收方。
5. 接收方和发送方如何处理MAC帧传输出错的情况:
若接收方收到不匹配自己MAC地址的数据包时会直接丢弃,不会提交到操作系统进行下一步操作。而发送方会根据选定的传输协议进行处理,本实验采用的UDP,发送方无能为力。
(注:由于路由器和可使用的计算机有限,本次实验我与马皓钰、敬可亿使用同一台电脑进行抓包与唤醒,而发包的计算机不同。)