以太网与 IEEE 802.3
以太网是 3.5.2 那套 CSMA/CD 的实际宿主,也是整个第 3 章命题最密的一节:MAC 地址多长、帧格式的每一个字段、46 字节从哪来、为什么不需要结束定界符、高速以太网还用不用 CSMA/CD——每一条都单独考过。
这些内容看起来零散,其实都从两个设计决定里长出来:以太网选择了”尽最大努力交付”,以及它最初是一条共享的半双工总线。
机制
以太网与 802.3 是什么关系
以太网规约的第一个版本 DIX V1 由 DEC、Intel 和 Xerox 联合提出,之后修改为第二版 DIX Ethernet V2,这是世界上第一个局域网产品的规约。IEEE 802.3 工作组在此基础上制定了第一个 IEEE 的以太网标准 802.3。严格说,以太网指符合 DIX Ethernet V2 标准的局域网,但两者差别很小,通常把 802.3 局域网直接称为以太网。
两项简化措施:以太网为什么不可靠
以太网为简化通信采取了两项措施(2012 年考过”以太网 MAC 协议提供的服务类型”)。第一,采用无连接的工作方式,既不对发送的数据帧编号,也不要求接收方发回确认,即尽最大努力交付,提供的是不可靠服务,差错的纠正由高层完成。第二,发送的数据都使用曼彻斯特编码,每个码元中间出现一次电压转换,接收方利用这个转换就能方便地提取位同步信号。
第一项决定了以太网的服务性质:收到有错的帧只是丢弃,不重传、不通知——重传是 TCP 的事,见 第 5 章。王道 3.6.6 第 12 题的解析也是这个意思:网卡收到帧后发现目的 MAC 地址不是自己,直接丢弃,不需要向网络层报告错误。
传输介质与网卡
以太网常用的传输介质有四种:粗缆、细缆、双绞线和光纤。
| 标准 | 介质 | 编码 | 拓扑 | 最大段长 | 最多节点 |
|---|---|---|---|---|---|
| 10BASE5 | 同轴电缆(粗缆) | 曼彻斯特 | 总线形 | 500m | 100 |
| 10BASE2 | 同轴电缆(细缆) | 曼彻斯特 | 总线形 | 185m | 30 |
| 10BASE-T | 非屏蔽双绞线 | 曼彻斯特 | 星形 | 100m | 2 |
| 10BASE-F | 光纤对(850nm) | 曼彻斯特 | 点对点 | 2000m | 2 |
名字的读法是固定的:10 指速率 10Mb/s,BASE 指基带以太网,其后的 5 或 2 指单段最大距离不超过 500m 或 185m,T 指双绞线,F 指光纤。
计算机通过主板上的一块网络适配器(Adapter,也称网络接口卡 NIC)连接局域网。适配器上装有处理器和存储器。它与局域网之间用电缆或双绞线以串行方式通信,与计算机之间则通过 I/O 总线以并行方式通信,所以它的一项重要功能是串并转换。除此之外,它还负责与介质的物理连接和电信号匹配、帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存。适配器收到正确的帧时,用中断通知计算机,并把数据交给协议栈中的网络层;计算机要发送 IP 数据报时,协议栈把数据报交给适配器,由它组帧后发到局域网。适配器的功能横跨物理层和数据链路层(王道 3.6.6 第 6 题)。
MAC 地址
IEEE 802 标准为局域网规定了一种 48 位的全球地址,固化在适配器的 ROM 中,称为物理地址或 MAC 地址。MAC 地址长 6 字节(2013 年考过),一般写成用连字符或冒号分隔的 12 个十六进制数,如 02-60-8c-e4-b1-21;高 24 位为厂商代码,低 24 位为厂商自行分配的适配器序列号。
MAC 地址属于适配器,而不属于计算机。一台计算机只要不更换适配器,不管地理位置如何变化,MAC 地址都不会变;反过来,路由器同时连接两个网络,就需要两个适配器和两个 MAC 地址——MAC 地址标识的其实是”路由器的某个接口”。
适配器每收到一个 MAC 帧,先用硬件检查帧的目的地址,只收下三种”发往本站的帧”:单播帧(目的地址与本站 MAC 地址相同)、广播帧(全 1 地址)、多播帧(发送给本局域网上一部分站点),其余一律丢弃。
MAC 帧格式
以太网 MAC 帧有 DIX Ethernet V2 和 IEEE 802.3 两种格式,最常用的是 V2:
| 字段 | 长度 | 说明 |
|---|---|---|
| 前导码 | 8B | 7B 前同步码(1010…10)+ 1B 帧开始定界符(10101011);物理层插入,不计入帧长 |
| 目的地址 | 6B | 帧在局域网上的目的适配器的 MAC 地址 |
| 源地址 | 6B | 帧的源适配器的 MAC 地址 |
| 类型 | 2B | 数据字段应交给哪个上层协议处理,如网络层的 IP |
| 数据 | 46~1500B | 承载上层 PDU,如 IP 数据报 |
| FCS | 4B | 32 位 CRC,检验目的地址到数据字段,不检验前导码 |
首部 14 字节、尾部 4 字节,合计 18 字节(首部和尾部长度 2010、2011 年考过;目的地址与源地址的含义 2018 年考过)。帧格式上的每一个数字都有来由:
数据字段下限 46 字节从 CSMA/CD 来。 CSMA/CD 要求帧长至少 64 字节,否则一个短帧发完了冲突信号还没传回来,发送方检测不到冲突。扣掉首部和尾部 18 字节,数据字段至少
数据字段上限 1500 字节就是以太网的最大传输单元(MTU)。 IP 数据报超过 1500 字节就必须分片,而分片是网络层的事,见 4.2.1 IPv4 分组与分片。
以太网帧不需要帧结束定界符。 以太网传送帧时各帧之间必须有一定的间隙,接收方只要找到帧开始定界符,其后连续到达的比特流就都属于同一个帧。实际上这里用了违规编码法的思想:曼彻斯特编码每个码元中间都有一次电压跳变,发送方发完一帧后,网络接口上的电压不再变化,接收方由此找到帧的结束位置,往前数 4 字节就是 FCS,从而确定数据字段在哪里结束。
802.3 帧与 V2 帧只差一个字段:802.3 用”长度”替代了 V2 帧中的”类型”,指出数据字段的长度。两种机制在实践中可以并存,办法是看这个字段的数值——802.3 数据字段最大为 1500 字节,所以长度值不超过 1500,于是 1501~65535 的值可用于类型标识。
高速以太网
速率达到或超过 100Mb/s 的以太网称为高速以太网:
| 100BASE-T | 吉比特以太网 | 10 吉比特以太网 | |
|---|---|---|---|
| 速率 | 100Mb/s | 1Gb/s | 10Gb/s |
| 介质 | 双绞线 | 双绞线或光纤 | 双绞线或光纤 |
| 通信方式 | 半双工和全双工 | 半双工和全双工 | 只有全双工 |
| CSMA/CD | 仅半双工时使用 | 仅半双工时使用 | 不使用 |
100BASE-T(快速以太网)是在双绞线上传送 100Mb/s 基带信号的星形拓扑以太网,2019 年考过它使用的传输介质。它仍使用 CSMA/CD 协议,但可以工作在全双工方式下而无冲突发生,因此全双工时不使用 CSMA/CD。帧格式仍是 802.3 规定的格式,保持最短帧长不变,但把一个网段的最大长度减小到 100m;帧间最小间隔从 9.6μs 改为 0.96μs。
吉比特以太网(千兆以太网)允许在 1Gb/s 下以全双工和半双工两种方式工作,使用 802.3 规定的帧格式,用双绞线或光纤作为传输介质;半双工方式下使用 CSMA/CD,全双工方式下不使用;与 10BASE-T 和 100BASE-T 向后兼容。
10 吉比特以太网的帧格式与 10Mb/s、100Mb/s、1Gb/s 以太网完全相同,还保留了 802.3 规定的最小帧长和最大帧长,以便升级和向后兼容。它只工作在全双工方式,不存在争用问题,当然也不使用 CSMA/CD。
三者遵循同一条规律:提速改变的是速率和距离,帧格式不变;是否运行 CSMA/CD 只取决于是否半双工,与速率无关。
计算模板:以太网帧要不要填充、要不要分片
设交给 MAC 子层的 IP 数据报总长为
| 以太网的处理 | 帧长(不含前导码) | |
|---|---|---|
| 数据字段后填充 | 64B | |
| 直接封装 | ||
| 以太网不处理,由 IP 在网络层分片 | 每片各自封装 |
插入 VLAN 标签的 802.1Q 帧首部多 4 字节,数据下限变为 42 字节、最大帧长变为 1522 字节,见 3.6.4。
例:一个不携带数据的 TCP 确认报文段,IP 数据报总长
边界
以太网在交换方式上属于分组交换。 这是站在 1.1.4 交换方式的角度看的:以太网以帧为单位存储、转发,帧的数据部分有 1500 字节的上限。
错题复盘:以太网在交换方式上属于分组交换
王道 3.6.5 第 5 题:就交换技术而言,以太网采用的是(A. 分组交换技术 B. 电路交换技术 C. 报文交换技术 D. 混合交换技术)。答案 A。
源端用户的较长报文需要分为若干数据块,这些数据块在各层还要加上相应的控制信息,在网络层叫分组,在数据链路层就是以太网的帧。帧的数据部分有固定的最大长度,这正是分组交换区别于报文交换的特征。
“最大段长”是无中继时一段介质的长度,不是整个网络的跨度。同轴电缆有粗缆 500m 和细缆 185m 两种,题目问”不能超过”时取上限。
错题复盘:802.3 同轴电缆无中继最大长度取粗缆的 500m
王道 3.6.5 第 14 题:IEEE 802.3 规定,若采用同轴电缆作为传输介质,在无中继的情况下,介质的最大长度不能超过(A. 500m B. 200m C. 100m D. 50m)。答案 A。
10BASE5 粗缆每段最长 500m,10BASE2 细缆每段最长 185m,两者都是同轴电缆,“不能超过”问的是上限。B 的 200m 来自把 10BASE2 的”2”直读成 200m,而这个”2”只是 185m 的近似。
光纤以太网和交换式以太网都不跑 CSMA/CD。 CSMA/CD 只在共享信道 + 半双工时才有意义。集线器连接的以太网一定工作在半双工;交换机连接的以太网半双工、全双工都可以;而一根光纤线内部至少有两条光纤,收发各用一条,天然全双工。
错题复盘:光纤以太网是全双工的,不使用 CSMA/CD
王道 3.6.5 第 9 题:关于用光纤连接的以太网和用双绞线连接的以太网,错误的是(A. 用集线器连接的双绞线以太网一定工作在半双工状态 B. 用交换机连接的双绞线以太网可以工作在全双工状态 C. 光纤以太网主要用于支持点对点通信,目的是扩大以太网的覆盖范围 D. 光纤以太网也可以选用 CSMA/CD 协议)。答案 D。
光纤主要用来扩大以太网的覆盖范围,用于中继设备之间的点对点传输,通常不直接连接终端,所以 C 正确。一根光纤线内部至少包含两条光纤,实现全双工通信,没有冲突可检测,因此光纤以太网不采用 CSMA/CD。
判据只有一条:有没有共享的半双工信道。有,才可能用 CSMA/CD;没有,就一定不用。
曼彻斯特编码只属于 10Mb/s 以太网。 表中四种 10Mb/s 标准都用曼彻斯特编码;高速以太网改用其他编码方式(教材未展开),所以”吉比特以太网采用曼彻斯特编码”是错的。
错题复盘:吉比特以太网既用光纤也用双绞线,也不用曼彻斯特编码
王道 3.6.5 第 18 题:关于吉比特以太网,错误的是(A. 支持流量控制机制 B. 采用曼彻斯特编码,利用光纤进行数据传输 C. 数据的传输时间主要受线路传输延迟的制约 D. 同时支持全双工模式和半双工模式)。答案 B。
王道的解析抓的是介质:吉比特以太网的物理层有 IEEE 802.3z 和 802.3ab 两个标准,前者用光纤通道,后者用 4 对 5 类 UTP,并非只用光纤。另外,曼彻斯特编码只出现在 10Mb/s 那张表里。B 同时错了两处。
以太网的 64 字节最短帧与 PPP 的 0 字节下限是一组对照。 PPP 用于点对点链路,不存在冲突,也就没有最短帧长的限制,信息段为 0~1500 字节,见 3.7.2。
口径差异:今天的以太网与教材模型
教材口径:以共享信道、半双工、CSMA/CD 为基本模型;高速以太网”半双工时仍使用 CSMA/CD”。
工程口径:今天的以太网几乎全是交换机逐端口直连、全双工,CSMA/CD 实际上不再运行。用 Wireshark 抓以太网帧时通常看不到前导码和 FCS,它们由网卡硬件处理后丢弃。类型字段的常见值是
0x0800(IPv4)、0x0806(ARP)、0x86DD(IPv6)。考试一律按教材口径作答。
对照速查
| 数字 | 含义 |
|---|---|
| 6B(48 位) | MAC 地址长度;高 24 位厂商代码、低 24 位序列号 |
| 8B | 前导码 = 7B 前同步码 + 1B 帧开始定界符,不计入帧长 |
| 18B | 首部 14B + 尾部 4B |
| 64B | 最短帧长(来自 CSMA/CD) |
| 46B | 最短数据字段 |
| 1500B | 最长数据字段 = 以太网 MTU |
| 1518B | 最长帧长 |
| 500 / 185 / 100 / 2000m | 10BASE5 / 10BASE2 / 10BASE-T / 10BASE-F 最大段长 |
| 说法 | 对错 |
|---|---|
| 以太网 MAC 协议提供无连接、不可靠的服务 | ✅(2012) |
| 以太网帧需要帧结束定界符 | ❌ |
| FCS 的检验范围包括前导码 | ❌ |
| 100BASE-T 在全双工方式下使用 CSMA/CD | ❌ |
| 10 吉比特以太网支持半双工 | ❌ |
| 高速以太网改变了 MAC 帧格式 | ❌ |
| 路由器连接两个网络只需一个 MAC 地址 | ❌(两个适配器、两个 MAC 地址) |
考点
- 以太网两项简化:无连接、不可靠(2012);曼彻斯特编码
- MAC 地址 6 字节(2013);路由器每个接口一个 MAC 地址
- 帧格式:目的 6 + 源 6 + 类型 2 + 数据 46~1500 + FCS 4(2010、2011、2018)
- 46 = 64 − 18,不足 46 字节要填充(2012);超过 1500 字节由 IP 分片
- 不需要帧结束定界符(帧间隙 + 违规编码思想)
- 高速以太网:帧格式不变;仅半双工时用 CSMA/CD;10G 只有全双工;100BASE-T 用双绞线(2019)
链接
- 🏠 返回总览:计算机网络第 3 章:数据链路层总览
- ⬅️ 上一节:3.6.1 局域网的基本概念和体系结构
- ➡️ 下一节:3.6.3 IEEE 802.11 无线局域网
- 🔗 3.5.2 CSMA/CD(64 字节最短帧的来源)
- 📖 名词库:第 3 章名词库