有线网络的话题(以太网往事)
撰写于:2014年3月31日
作者:silex Wi-Fi专家
延续上次的有线网络的话题,这次就说说大家都知道的以太网。
以太网的诞生
现在说到有线网络,指的是以太网家族,以太网有着悠久的历史。以太网最初是20世纪70年代由施乐公司的帕洛阿尔托研究所(PARC)为下一代计算机样机“ALTO”开发的。“以太网”这一名称也是该公司的注册商标,严格来说,除施乐标准以外的以太网设备虽然符合“IEEE 802.3标准”,但都不能称为“以太网”。
ALTO是具有“网络(以太网)”、“窗口系统(GUI)”、“鼠标”三种神器的划时代的计算机。史蒂夫·乔布斯参观了该计算机后构思了Macintosh,这一点广为人知。但是由于ALTO过于划时代,施乐公司的管理人员只把它理解为“在研究所消磨时间”、“昂贵的玩具”。ALTO可能性几乎不能为该公司的事业发挥作用。
不管怎样,最初的以太网(Ethernet 1.0)是直径12mm的同轴电缆(根据使用黄色覆盖材料的惯例通称为“黄色电缆”),最长500m,通信速度10Mbps。作为20世纪70年代具有划时代意义的高速长距离网络技术。但是,又粗又硬的同轴电缆的转接并不容易,而且为了将电缆与计算机连接,必须在电缆覆盖层上钻孔,然后将金属针扭入其中(称为“攻丝”),经过模拟电路的前端,用15pin的多芯电缆(对讲机电缆,之后的IEEE802.3规格中为AUI电缆※注)连接到计算机侧的15pin接口上。(※注)以太网规格的对讲机电缆和IEEE802.3规格的AUI电缆的一部分规格不同,最不同的是AUI规格追加了在每个分组结束时强制发送碰撞检测信号的被称为SQE(Signal Quality Error test)的信号。由于失误把SQL开关打开并连接到中继器会导致网络瘫痪,这是当时SE体验到的“常见失败”之一。
10BASE-2和以太网的普及
为了消除这种不便,20世纪80年代开发的被称为“瘦以太网(Thin Ethernet)(※注)”,使用直径5mm的RG-58A/U同轴电缆,通过使用半旋转停止的BNC型连接器,也不需要抽头和AUI电缆。电缆最大长度从500米缩短到185米,但是低价格化和便利性的提高受到了欢迎,成为了之前在研究所和大学使用的以太网在民间企业普及的契机。本公司开始开发网络相关产品也正好在这个时候。与此同时,以太网被标准化为IEEE802.3标准,黄色电缆以太网也被称为“10BASE-5”,瘦以太网也被称为“10BASE-2”。
(※注)虽然也有被称为“ThinNet”和“CheaperNet”,但并不常用。
以太网的技术特点在于“CSMA/CD(Carrier Sense Multiple Access/Collision Detection)”。Multiple Access是“在一条电缆上连接多个节点”的总线式架构,Carrier Sense是“发送前确认电缆使用状况”的分布式控制,Collision Detection表示“在发送过程中进行冲突检测(多个节点是否同时发送),如果有检测到冲突后,则迅速中断发送”。其中,冲突检测是以太网的特征,当时的网络架构中树型和令牌型较多,即使是总线型也一般不进行冲突检测。冲突检测虽然能够提高网络效率的同时,但由模拟部件构成的冲突检测电路在降低价格、小型化方面存在困难,也被认为“不适合家庭用或小规模办公室用”。虽然提出了几个廉价的网络体系结构,这些结构被称为“面向家庭”,但随着后续10BASE-T的成功,这些架构也几乎消失了。
从10BASE-T到100BASE-T
10BASE-T在1980年代后半期,作为使用双绞线(Twisted Pair)的规格登场,取代了之前的同轴电缆。之前是“一根电缆挂着多个节点”的结构,而10BASE-T则是多个节点用一根电缆连接到集线装置“集线器”的“星型”结构。连接器也从金属BNC变成了塑料RJ-45,进一步降低了价格。现在说到以太网,RJ-45双绞线是理所当然的,只有40岁以上的人才会知道黄色电缆、RG-58A/U同轴电缆等等吧。随着价格低廉、使用方便的10BASE-T的登场,以太网不仅在企业中普及,也渗透到家庭中。
在20世纪90年代有了新的发展,不过有点混乱。为了将速度从10Mbps提高到100Mbps,提出了100BASE-VG AnyLAN和100BASE-T这两个不兼容规格,另外100BASE-T中电缆规格包括有微妙差异的100BASE-TX、100BASE-T2、 100BASE-T4这3种规格(注)。此外,IBM 100Mbps版Token Ring和OSI构想的155Mbps的Desktop ATM都宣称“自己是下一代有线网络标准”或“100Mbps的下一代网络标准”,此时技术发展陷入了一时的混乱。但是在1年左右的时间里,100BASE-TX占有了明确的优势,(幸运的是)混乱在较短的时间内结束了。100BASE-T也被称为“第一以太网”。
(※注) 100BASE-T中提出了多个电缆规格,曾考虑过直接使用10BASE-T的3类电缆,这样布线更便利。但最终,传输性能更出色的5类线成为了100BASE-TX的主流线缆。
从90年代中期开始,“交换机”取代了之前的集线器。集线器和交换机的外观和使用方法是一样的,但集线器只是模拟的集线装置,连接到集线器的所有电缆在电气上都是一根电缆。但是在交换机中,所有的电缆都是模拟断开的,将接收到的数据解码并重新中继发送出去。这是什么意思呢?在使用集线器场景中,如果有人在网络上的某个地方发送数据,数据就会被传送到所有的节点,而在使用交换机的场景中,数据只会被选择性地传送到指定的节点,这样可减少冲突并提高线路的使用效率。另外,集线器为了将传递延迟控制在一定范围内,有“集线器的级联只能到3级(= 4台集线器)”的限制,不过,交换机为了从模拟的制约中解放出来,因此可以无限制的进行级联,这也增加了使用的便利性。
交换机除了作为集线器的替代品的简单交换机之外,还有一种被称为“智能交换机”的高功能交换机。后者具有网络上的循环检测(生成树检测)、特定地址的排除(过滤)、连接节点的认证(IEEE802.1X EAP)、流量的优先级排序(IEEE802.1p QoS)、虚拟网络(IEEE802.1q VLAN)等高级功能,在企业网络中是必不可少的。
千兆以太网
100Mbps网络之后是1Gbps网络,通常称为“千兆以太网”。虽然1999年IEEE 802.3ab制定了1000BASE-T,但这次没有像10BASE→100BASE那样出现混乱,并且产品化的速度也比较慢。100BASE-TX规格制定后不到10年,10BASE only的产品几乎绝迹,与此相对,1000BASE规格制定15年后的2014年,100BASE only的产品也依然存在(虽然越来越少了)。如果是数据中心这样的业务系统就另当别论了,但在家庭和小规模办公室场景中,100Mbps对于日常用途来说“基本足够”。另外,在网络的使用方法上,与本地节点之间的通信相比,互联网连接的比重更高,在家庭和小型办公室,上行链路线路超过100Mbps的情况并不多,即使将本地连接速度提高到1Gbps,上网速度没有明显提高,因此也没有明显的改善。
千兆以太网还采用了“巨型帧”的规格。以太网是最初的Ethernet 1.0以来数据包头14字节+数据长度1500字节的规格,不过,巨型帧为了高速化扩大(※注)了数据长度上限。但是IEEE802.3标准中没有包含具体要求,规格细节根据制造商的不同而不同。
(※注)多为8000 ~ 9000字节,最大也有16KBytes的产品。
千兆以太网之后制定了10G以太网(10GBASE)标准和100G以太网(100GBASE)标准,而且1000G以太网的标准也在讨论中。数据中心和存储网络(SAN)期待这些新标准的出现,不过,在1G以太网的普及也停滞不前的现状下,对一般的消费者而言也很难普及(说不定未来永远不会有)。
以太网与IEEE 802.2
施乐公司的以太网用IEEE标准化的标准是“IEEE802.3”,大家可能听说过“IEEE802.2”这个词。IEEE802.2被称为LLC(Link Layer Control),包含20世纪80年代共同存在的多个不同网络标准(Ethernet,TokenRing,FDDI,ARCNet,OmmniNet,etc…)。
如上所述,以太网具有14字节的报头(6字节的目标地址、6字节的源地址、2字节的包类型)和1500字节的数据,而IEEE802.2通过删除数据的一部分来嵌入LLC报头。LLC报头可以是SSAP、DSAP、CTRL的最小3字节(但CTRL可以是可变长度的4字节),之后还可以添加3字节的OUI ID、2字节的包类型,也称为SNAP(Sub Network Access Protocol)报头。
在使用IEEE 802.2 LLC的情况下,以太网报头部分的分组类型字段的意思发生了变化,这里规定要加入分组长度。幸运的是,最常被使用的IP类的类型值超过标准以太网的最大数据长度1500的数字(IPv4:0x800=2048, ARP:0x806=2054,IPv6:0x86dd=34525),所以只要不使用巨型帧,802.3帧和802.2帧不会混淆。
LLC可以在不同架构的网络之间保持兼容性,甚至可以共享诸如信任级别和服务类型等的附加信息…虽然是这样的构想,但说白了就是“谁都不需要的发明”。因为IEEE 802.3系统(及其无线版的IEEE802.11)已取得压倒性胜利,因此作为LLC的前提的“多个不同的网络架构”的状况是不存在的。同时,可变长度的位字段的最小长度是奇数3字节,会导致报头的长度是奇数,从内存的字节对准的网络实现技术的趋势来看,奇数字节头也不够好,是上一个时代的产物。现在802.2应完成的任务是802.1系的扩展标准和传输层的TCP/IP协议来实现。
可能最广泛且使用时间最长的IEEE802.2协议是微软的“Windows文件共享”使用的NetBEUI。NetBEUI特意采用802.2帧是因为Windows文件共享的祖先是IBM的LAN Manager,作为IBM的宿命,需要支持本公司网络标准的令牌环和作为数据标准的以太网,但是NetBEUI在令牌环被使用了很长时间(直到Windows9x系的PC退役为止)。
总结
在本文中,我把关于以太网的想法一一罗列出来。说起20世纪80年代,电脑硬盘还没有普及,是一张1.2MByte的5英寸2HD软盘。据说以太网是10Mbps?!一个高清软盘不是一秒钟就能传输的吗!虽然这么想,但是真正使用以太网是很久以后的事了。虽然当时本公司也有工作站HP9000/300,但是因为没有连接的对象,所以网络几乎没有被活用。
混乱的时代早就过去了,现在以太网,特别是100BASE-T已经成为了“理所当然”的技术。作为从事以太网相关产品开发的工程师,多少应该感到自豪吧。只是这几年笔记本电脑的超薄化,再加上智能手机平板电脑的普及,不一定采用有线网络,取而代之的是WiFi的应用越来越广泛。以太网作为WiFi的主干网络的地位暂时不会动摇,但以太网或许正在成为普通消费者很少能直接接触到的幕后技术。