**"以太网"不是一种具体的网络,而是一种技术标准。**它既包含了数据链路层的内容,也包含了一些物理层的内容。它不但规定了网络拓扑结构、访问控制方式、传输速率等问题;而且规定了以太网中的网线必须使用双绞线,其传输速率有 10M、100M、1000M...... 以太网是当前应用最广泛的局域网技术,和以太网并列的还有令牌环网、无线 LAN ......
1.2 以太网的帧格式
报头各部分的功能:
• **源地址和目的地址:**指网卡的硬件地址(mac 地址)
• **类型:**该字段有三种值,分别对应 IP、ARP、RARP
• **CRC:**校验码 关于mac地址
mac 地址用来识别数据链路层中相连的节点,它的长度为 48 位( 6 个字节),一般用 16 进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)。它在网卡出厂时就确定了,不能修改。
mac 地址通常是唯一的(虚拟机中的 mac 地址不是真实的 mac 地址,可能会冲突;也有些网卡支持用户配置 mac 地址)。
2. MTU
2.1 认识MTU
MTU 相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层产生的限制。 以太网帧中的数据长度规定最小 46 字节,最大 1500 字节,若 ARP 数据包的长度不够 46 字节就要在后面补填充位。**最大值 1500 称为以太网的最大传输单元(MTU),**不同的网络类型有不同的MTU。如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的 MTU 则需要对数据包进行分片。
我们可以通过ifconfig 命令查看 ip 地址、mac 地址和 MTU。
2.2 MTU对IP协议的影响
由于数据链路层 MTU 的限制,这使得对于较大的 IP 数据包要进行分包。
2.3 MTU对UDP协议的影响
一旦 UDP 携带的数据超过 1472(1500 - 20(IP 首部) - 8(UDP 首部)) 那么就会在网络层分成多个 IP 数据报。这多个 IP 数据报有任意一个丢失,都会引起接收端网络层重组失败。那么这就意味着:如果 UDP 数据报在网络层被分片,整个数据被丢失的概率就大大增加了。
主机会通过广播发送 ARP 请求,这个包中包含了想要知道的 MAC 地址的主机 IP 地址。目的MAC地址为全F(FF:FF:FF:FF:FF:FF)。局域网内的所有主机都会收到这个ARP请求,网卡识别目的MAC地址为全F,广播数据,需要向上交付,再根据帧类型识别是ARP请求/响应。所以向上交付给ARP协议。**ARP协议 先看op字段,如果为ARP请求,再看目的IP地址,除目的主机外,其他主机发现不是给自己的,就在ARP层丢弃报文。**如果 ARP 请求包中的目标 IP 地址与自己的 IP 地址一致,那么这个设备就将自己的 MAC 地址塞入 ARP 响应包返回给主机。