为什么以太网的网线长度不能超过100米

为什么网线布线长度不能超过100米呢?随手百度了下,原本的预期是一堆看不懂的涉及物理的通信原理计算。实际百度结果说是因为CSMA/CD带来的争用期问题,参考如下:

《局域网与互联网原理及应用》

3.3.1 协议参数

时隙(time slot)是一个应用程序得知消息的正确传输所需的时间。这段时间的最小长 度等于线路上消息传播的最大时长的两倍。这就证实了我们之前所见的布线约束。

​ 考虑两个最远的站并且加上在信号传送一个来回时所能引入的所有延迟。计算的结果 显示最大传播时长为 44.99 μs。对于一个经典的以太网而言,其标准给出的值要稍微高一 些。时隙的时长等于发射 512 个位的时长——以 10 Mb/s 的话是 51.2 μs。

​ 帧的发射时长总是大于或等于时隙。对于一个 10 Mb/s 的网络而言,51.2 μs 与 64 字节 帧的发射时长相关。如果分组很小,那么会引入一些填充(padding)位以便达到这一尺寸。 这一最小时长的引入,是为了让所有的站在传输之后处于相同的状态。

​ 图 3.7 展示了发射时长比传播延迟小的协议。站 S1 发送消息 M1,而站 S7 同时发送消 息 M2。由于发射时长比传播时长小,这些站在发射期间没有时间来发现冲突。它们将传 送一个正确的传送给上一层。我们也可看到:

  • 站 S2 已经正确接收帧 M1,但没有正确接收帧 M2;

  • 站 S6 已经正确接收帧 M2,但没有正确接收帧 M1;

  • 站 S3、S4 和 S5 没有正确接收到任何帧。

图 3.7 发射时长比时隙短

​ 最大帧尺寸为 1518 字节(1500 数据字节,14 个头字节和 4 字节 CRC),以避免一个站独 占信道。这一尺寸的固定值是任意设定的,不过更大的尺寸将增加冲突风险,如图 3.6 所示。

​ 当一个站侦测到冲突时,它不会立即中断传输。而是发送干扰(jamming)数据来让其他站侦测到冲突。干扰数据的大小是 32 位。冲突帧的发射可持续不到一个时隙的时间。 如果不遵守布线规则,冲突会在 51.2 μs 之后被侦测到。在网络中,这种不正确的行为称为迟冲突(late collision)

遂接着百度什么是CSMA/CD,但奇怪的是,好多地方说现代以太网都是全双工模式基本用不到CSMA/CD了。

Computer Networking A Top-Down Approach SEVENTH EDITION

6.4.2 Ethernet

Let’s conclude our discussion of Ethernet technology by posing a question that may have begun troubling you. In the days of bus topologies and hub-based star topologies, Ethernet was clearly a broadcast link (as defined in Section 6.3) in which frame collisions occurred when nodes transmitted at the same time. To deal with these collisions, the Ethernet standard included the CSMA/CD protocol, which is particularly effective for a wired broadcast LAN spanning a small geographical region. But if the prevalent use of Ethernet today is a switch-based star topology, using store-and-forward packet switching, is there really a need anymore for an Ethernet MAC protocol? As we’ll see shortly, a switch coordinates its transmissions and never forwards more than one frame onto the same interface at any time. Furthermore, modern switches are full-duplex, so that a switch and a node can each send frames to each other at the same time without interference. In other words, in a switch-based Ethernet LAN there are no collisions and, therefore, there is no need for a MAC protocol!

关于这个话题,知乎上有一个回答比较有参考价值,由于不允许自由转载就不贴内容了。

全双工的以太网还有必要使用CSMA/CD协议吗? - Wi-Fi研习者的回答 - 知乎 https://www.zhihu.com/question/480967242/answer/2071451945

其实和自顶向下提到的一致。两个原因:

  • As we’ll see shortly, a switch coordinates its transmissions and never forwards more than one frame onto the same interface at any time
  • Furthermore, modern switches are full-duplex

既然现代的以太网用不到CSMA/CD,那还有这个长度限制吗?老传统,先问是不是再问为什么。

是不是

对于不同的传输速率与传输介质,IEEE 802.3 都作了相应规定。在传输介质是双绞线时大部分情况下100米这个说法是正确的,并且这里的100米指的是一个网段的长度,网段的定义可以参考 Wikipedia: Network segment

这里摘几个例子:

  • 100BASE-T4

    IEEE Std 802.3-2018, IEEE Standard for Ethernet

    23. Physical Coding Sublayer (PCS), Physical Medium Attachment (PMA) sublayer and baseband medium, type 100BASE-T4 23.1.2 Objectives

    The following are the objectives of 100BASE-T4:

    1. To support the CSMA/CD MAC in the half duplex mode of operation.
    2. To support the 100BASE-T MII, Repeater, and optional Auto-Negotiation.
    3. To provide 100 Mb/s data rate at the MII.
    4. To provide for operating over twisted pairs of Category 3, 4, or 5 cable, installed as horizontal runs in accordance with ISO/IEC 11801: 1995, as specified in 23.6, at distances up to 100 m (328 ft).
    5. To allow for a nominal network extent of 200 m, including:
      1) Unshielded twisted-pair links of 100 m.
      2) Two-repeater networks of approximately a 200 m span.
    6. To provide a communication channel with a mean ternary symbol error ratio, at the PMA service interface, of less than one part in \(10^8\).
  • 1000BASE0T

    IEEE Std 802.3-2018, IEEE Standard for Ethernet

    40. Physical Coding Sublayer (PCS), Physical Medium Attachment (PMA) sublayer and baseband medium, type 1000BASE-T 40.1.1 Objectives

    The following are the objectives of 1000BASE-T:

    1. Support the CSMA/CD MAC
    2. Comply with the specifications for the GMII (Clause 35)
    3. Support the 1000 Mb/s repeater (Clause 41)
    4. Provide line transmission that supports full and half duplex operation
    5. Meet or exceed FCC Class A/CISPR or better operation
    6. Support operation over 100 meters of copper balanced cabling as defined in 40.7
    7. Bit Error Ratio of less than or equal to 10-10
    8. Support Auto-Negotiation (Clause 28)

为什么

为什么可以用一句话概括,这是标准制定者兼顾传输效率与工程考量作出的限定。厂商依据标准制造设备,施工者依据标准布线,设备才能以理想情况运作起来。

简单来说,对于不共享传输介质采用交换机构成星形拓扑的现代以太网,主要考量因素为:

  1. 物理限制:码间串扰、信号衰减
  2. 工程考量:向后兼容、布线施工

对于传统以太网,因为采用了CSMA/CD机制,则多了一个因素就是帧时隙(Inter Frame Slot,IFS)。详细的内容这里摘一篇文章供参考(非权威):

知乎专栏 数通网络实践

02数据在网络中的传输 - hai niu的文章 - 知乎 https://zhuanlan.zhihu.com/p/101336720

9.2 帧间隙与帧时隙

计算机设备在发送数据帧时并不是连续的,即每发送完一个帧需要等待一个时间才可以发送下一个帧,其目的是为了让接收者能够处理得过来而不至于拥塞。这个等待的时间间隔我们把它叫做帧间隔帧间隙(Inter Frame Gap,IFG),它表示一个站点连续发送数据时,帧与帧之间的空闲时间或间隔时长,但是其量纲却不是时间(time),而是比特(bit)。一般情况下,以太网缺省帧间隔是96Bits,它指的是96位的数据通过线路的时间。此数值在华为等厂家的交换机上可以修改,但是建议保持默认。设置帧间隔有两个目的:1)防止接收端处理不过来而丢失数据;2)防止冲突。

帧时隙(Inter Frame Slot,IFS)也叫帧时槽,用来表示每一个数据帧占用的最小时间长度。以太网的帧时隙是512 Bits,它是由46 Bytes的最小帧数据长度 + 18 Bytes的帧头信息计算得来。在10/100Mbps链路上,如果512位Bits时间仍然没有收到,则认为线路是空闲的,而小于512 Bits的帧则认为是残帧。

一个完整的以太网数据帧是672 Bites,即在有效数据帧的基础上再加上64 Bits的前导符和帧起始定界符 + 96 Bits的帧间隙共160 Bits。如果是计算接口的实际数据流量,前导和帧间隙等的开销也要计算在内,在计算交换机的转发性能时要注意不要漏算了。

定义帧时隙是为了共享通信线路从而提高其利用率,此机制是通过CSMA/CD(Carrier Sense Multiple Access/Collision Detection,带冲突检测的载波侦听多路访问)实现。在10Mbps以太网中,512Bits数据传输的时间是51.2us,5-4-3原则最大传输距离是2500m,而根据电磁波的传输角度来看,512Bits在10Mbps以太网最大可传输2800m。在100Mbps以太网中,512Bits的数据传输完需要5.12us,电磁波在这个时间可传输约200m。

在802.11无线网络中,因为隐蔽站问题(Hidden Station Problem)和暴露站问题(Exposed Station Problem),无法做到有效的冲突检测,取而代之采用的是CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance,带冲突避免的载波侦听多路访问)。CSMA/CA实际上是一种半双工的通信方式,这让无线网络的通信效率大大降低。

9.3 影响以太网传输距离的因素

第一影响以太网传输距离的因素是基于帧间隔和帧时隙基础上的CSMA/CD,其实就是一种介质访问控制。当然通信也离不开物理定律限制的,比如10Gbps以上的以太网都是全双工链路上,全双工链路虽然没有冲突检测,但即使是使用较高等级的线缆,通信距离也会受到限制,如40GBase-T(802.3bq-2016)使用Cat-8等级双绞线,最远通信距离也只有33m。

这时限制通信距离的主要因素是超高频信号的远距离传输和检测,有一个专门的词汇描述这个问题:码间串扰(ISI, InterSymbol Interference)。在信道带宽不变的情况下想提升信息吞吐量只能增加信号频率,而频率的增加意味着单位时间内脉冲数量的增加,如果脉冲时域不变,数量的增加就会导致相邻脉冲的之间相互干扰,信号受干扰后就影响检出,而缩短脉冲时域,会因为信号出现的时间太短而检出困难。距离越长表现得越明显。

另外,最远通信距离的定义还考虑了现实因素,早期的以太网也有比较远的通信距离(如10Base5,1Base5,10Base2等),但是为了满足大多数应用场景的通信距离需求,同时又要兼顾线路的使用效率,最后才普遍采用了100m的最远通信距离,可以认为是工程技术艺术化处理的结果吧!

在一些通讯距离较远,而又无法添加中继设备的场景中,我们还需要用到另外一个技术,叫长距离以太网(Long Reach Ethernet,LRE),它除了将物理信号增强和提高信号检测的能力外,最重要的一点就是修改了帧间隙。因为帧间隙的修改,LRE设备都需要成对使用,否则时隙不一致就会导致冲突的产生。

归根到底你会发现,其实最根本的影响因素原来是人们的需要。只有能满足需求的技术才是有用的技术,只有有用的技术才有价值,只有能够不停满足需要的技术才能生生不息。由此可见以太网及IEEE、IETF等的强大之处。