"以太网"并不是一个特定的网络类型,而是一种技术标准,涵盖了数据链路层和物理层的多方面内容。例如,它规定了网络拓扑结构、访问控制方法和传输速率等。以太网要求使用双绞线作为传输介质,传输速率包括10m、100m和1000m等。以太网是目前应用最为广泛的局域网技术,与之并列的还有令牌环网和无线lan等。
以太网帧格式源地址和目的地址指的是网卡的硬件地址(也称为MAC地址),长度为48位,是在网卡出厂时固定的。帧协议类型字段有三种值,分别对应IP、ARP和RARP。帧的末尾是CRC校验码。
MAC地址MAC地址是一个唯一的硬件地址,用于标识网络设备的物理地址,换句话说,它用于识别数据链路层中相连的节点。长度为48位,即6个字节。通常以16进制数字和冒号的形式表示(例如:08:00:27:03:fb:19),在网卡出厂时就确定了,不能修改。MAC地址通常是唯一的(虚拟机中的MAC地址不是真实的MAC地址,可能会冲突;也有一些网卡支持用户配置MAC地址)。
IP地址和MAC地址IP地址描述的是整个路径的起点和终点,而MAC地址描述的是路径上每个区间的起点和终点。
MTU在讨论IP协议的文章中,我们提到过,数据链路层每次发送的数据大小是有限制的,通常为1500字节。这个最大值1500被称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU。
MTU对IP协议的影响由于数据链路层的MTU限制,对于较大的IP数据包需要进行分包处理。
MTU对UDP协议的影响一旦UDP携带的数据超过1472字节(1500 - 20(IP首部) - 8(UDP首部)),就会在网络层被分成多个IP数据报。如果这些IP数据报中的任意一个丢失,都会导致接收端网络层的重组失败,UDP也不会进行重传。这意味着,如果UDP数据报在网络层被分片,整个数据丢失的概率会大大增加。
MTU对TCP协议的影响TCP的数据报也不能无限大,同样受限于MTU。TCP的单个数据报的最大消息长度称为MSS(最大段大小)。在TCP建立连接的过程中,通信双方会进行MSS协商。在理想情况下,MSS的值刚好是IP不会被分片处理的最大长度(这个长度仍然受制于数据链路层的MTU)。双方在发送SYN时会在TCP头部写入自己能支持的MSS值,然后选择较小的作为最终的MSS。MSS的值是在TCP首部的40字节变长选项中(kind=2)。
使用ifconfig命令,可以查看IP地址、MAC地址和MTU:
ARP协议ARP不仅仅是数据链路层的协议,而是一个介于数据链路层和网络层之间的协议。
ARP数据报的格式
ARP协议建立了主机IP地址和MAC地址的映射关系。
在网络通信时,源主机的应用程序知道目的主机的IP地址和端口号,但不知道目的主机的硬件地址。数据包首先被网卡接收,然后处理上层协议。如果接收到的数据包的硬件地址与本机不匹配,则直接丢弃。因此,在通信前必须获取目的主机的硬件地址。
ARP协议的工作流程首先,主机A想要与主机B通信,需要获取对方的MAC地址。因此,主机A会向对方发送ARP请求。在ARP请求的格式中,由于不知道对方的MAC地址,因此会填入FFFF.FF。将op字段填入1,表示请求。当这个ARP请求在网络中发送时,会被网络中的所有主机接收到。所有主机都会对比其中的目的IP地址,看看是否与自己的一样,如果不是,则直接丢弃。主机B一看,哦,是我的。
于是,主机B就会返回一个ARP应答,在ARP应答中,op字段填入2,表示应答。此时,这个ARP应答就会被主机A接收。
在此过程中,由于每一台主机都可能不止与一台主机进行通信,因此,收到ARP时,首先查看的是OP字段,看看是1还是2。
以上就是数据链路层:以太网/ARP协议的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号