以太网进化历程半景-从10Mbps到1Tbps

本文详细介绍了以太网从最初的10Mbps发展到1Tbps的历程,重点讨论了共享总线以太网、交换式以太网和双绞线的应用。文章探讨了以太网的成功因素,包括其简单、便宜和不断进化的特性,以及在传输速度、编码空间和双绞线布局方面的优化。以太网不仅在局域网中占主导地位,还逐渐渗透到数据中心和城域网,展现了强大的生命力。
摘要由CSDN通过智能技术生成
                继Netfilter conntrack,Linux Bridge之后又是一个半景,依然如故,我不会在文中罗列技术规范和细节,仅仅是希望本文可以帮助人们理解以太网到底是什么,为什么如此成功。

0.动机,愿景以及声明

前端时间帮朋友解决一个编码问题,碰到了全双工这个概念,正好写了一个程序,实现了类似CDMA那种沃尔什编码,即从一个混合信号中分离中自己要的那部分,然而代码是好写的,往线缆上一放就全乱了,这是电学原理决定的。就这么说吧,请看下图:




请问P点的电压是多少?很简单的一个问题,是不是?是的。
       好吧,由此我想到了以太网1000BASE-T的全双工原理问题,觉得挺有意思,一发不可收拾,就想写一篇文章来科普一下以太网的发展历史,这期间也感谢华为著名主音吉它手的帮助。
       以上就是我写本文的动机。
       那么写点感言吧。我记得刚刚进入郑州大学读大专后,有一次我老婆特意跑到学校去看我,跟我一起去上课,该节课的内容是制作网线,分为交叉,直连线,其实无非就是1/3和2/6线序对调一下,还要背下来那一堆线对的颜色序,我本来是可以在这里显摆一下的,但涉嫌卖弄就算了,其实直到现在,我还是能把线序颜色背下来的,我做线做的是手艺,而不是科技,不光如此,我说我可以最大化水晶头附近的抗干扰性能(毕竟那一段是撸直了的),你信么?反正我老婆当时觉得可高大上了...我们大专跟普本科班不一样,我们一开始就是实践,不会讲什么原理,也不会讲什么编程。我们第一节网络课大致说了下TCP/IP的概念,第二节课就教做网线了,我的那些理论以及编程知识都是后面补的,主要是利用周末,晚上的时间自学或者请教别人。
       但是时隔十多年了,我依然会记得大专时的那两年,并且我不会忘掉那两年所学的那些简单且实用的东西。我敢肯定,科班的人80%以上做了程序员以后根本就没有做过网线,不知道网线钳,测线仪怎么用,而我最近一次做网线是半年前。当然,这种活儿体现不出什么技术含量,比较低级,也不值得炫耀。
       问题的另一端,80%的程序员知道以太网的发展史吗?如果知道的话,对你将非常重要。如果你知道100Mbps以太网是如何进化到1000Mbps以太网的,那么即便你不看10Gbps的规范,你也基本能把它猜的八九不离十,如果你恰好又有足够的资源,那么可能第一块100Gbps卡就出自你手,借古知今,让你知道进化道路上多种可能性,这是无比重要的!
       所以我有必要把以太网的历史描述一番,谨以为抛砖引玉,希望能对自己和希望了解这方面的人有所帮助。这是我写本文的愿景。
       有了动机和愿景,我还要有一段声明,本文中几乎不会有技术规范名称和术语,比如IEEE802.3ab/ae,568A/568B等,之所以这样,我想的是要用最简单的通用语言来讲述一个故事,而不是描述一个技术规范。在涉及到4B/5B,64B/66B编码的时候,我也不会给出编码细节,只是给出一种思路,我知道,这种细节都是可以查得到的,我希望的效果是举一反三,得其意而忘其形,仅此而已。

1.关于分组交换

什么是分组交换?分组交换的核心在于两点:
理论上:统计复用
操作上:存储转发

其中统计复用是非常复杂的,它有别于固定的时分复用,时分复用的核心是 时隙划分,载波,以及信号调制,然而统计复用的核心则是 多服务台排队理论,这是数学范畴里一个非常复杂的理论。
       对于传统的时分复用载波网络,要想发送一帧数据,必须等待分配给自己的时隙到来才可发送,并且发送的长度固定,如果所有的帧不足以填充所有的时隙,那么在这些空闲的时隙里,发送的就是空载波。对于统计复用网络,想发一个数据帧,随时都可以发,但是该帧如何通过信道,则需要仲裁,这种仲裁是符合排队理论里的原则的,如果没有要发送的帧,则链路便处于空闲状态。
       那么以太网是什么?
       以太网当然是一种分组交换的网络,在统计复用的层面上,各个站点表现为随时可以发送帧,在存储转发的层面上,体现了一种仲裁方式,最初,各个站点一起参与仲裁,后来出现了集中式的仲裁设备,即以太网交换机。这种仲裁方式的不同显然是以太网所经历的两个世代的核心特征。让我们继续下去。

2.第一代共享总线以太网

以太网刚刚诞生的时候,速率为10Mbps,其首要的目标其实并不是实现什么 “存储转发”以证明自己是一个分组交换网络,而是 “如何随时把帧直接发出去”。至于出现了以太网交换机实现了直观的分组交换动作,那是后来的事了,出现交换机其实是为了解决一个仲裁问题。仲裁什么呢?很简单,只要是共享资源型结构,都需要仲裁谁可以占用资源。
       第一代以太网为了直接发送帧,所有的站点都连接在一条共享的总线上,是为 总线型以太网。这个时候没有什么单独的仲裁设备,所有的站点都参与仲裁过程,机制是由一种叫做CSMA/CD的协议完成的,它的感官视图如下:




以下我们看一下该协议在时间序列上如何运作,先看一下有冲突的情形:




再看下如果没有冲突,即成功发送帧的情形:




值得注意的是。CSMA/CD可能采用了一个不太恰当的名字,以至于人们总是将“冲突”视作一件不好的事情。事实上, 捕获到冲突仅仅表明总线型以太网的仲裁机制正在正常发挥作用,而不是发生了什么坏事!所以,如果有人问“能否避免冲突或者减少冲突”之类的问题,你除了反讽一句之后完全可以拒绝回答这类问题。造成这种误解的原因完全是因为冲突一词自带了贬义,仅此而已。
       共享式以太网通过CSMA/CD仲裁机制直接发送数据帧,不带存储转发机制,我们接下来可以看到,随着以太网规模的发展壮大,亟需一种更加高效的资源仲裁机制的出现,那么以太网交换机千呼万唤始出来。

剧透:CSMA/CD与双线全双工

后面我们会面临一个问题,1000Mbps以太网的1000BASE-T标准是如何让信号在一对双绞线上双向全双工传输的呢?这理解起来可能有点困难,假设共地的情形,这意味在一个线缆两端同时输入电流脉冲,然后两边分别要能收到对端的输入脉冲信号:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值