【Coursera】Technology :Fifth Week(2)

The Ethernet Story

Bob Metcalfe
Bob 参与了 Xerox 研究项目,着手解决建造一个处处连接个人计算机的架构。当时,他们刚刚完成了 Internet 的开端 -具有 packet switching 机制的 ARPANET。
与此同时,他们开发了第一台激光打印机(有争议),Ears。速度是一秒一页,500个小点一英寸。从数学的角度来看,一秒是200兆。
当时的互联方法存在着许多的问题。其中的一个问题是,他们全部都像全垒打一样(they were all home run),所有的线路都聚集到这个架构中的一个基地(rat's nest)。
第二个问题是,他们一般只跑300位每秒,如果提高速率,会达到 144k 位每秒。然而,这还不足以接近200兆每秒。但是他们想让激光打印机保持在PC主机间传递文件的工作。

研究团队中的 Charles Simony 开发了 Signet ,Bob 接手了他的工作,Simony 从事另外方面的工作。事实上在那之后 Simony 开发了一种名为 Bravo 的文本编辑器,最后 Bravo 演变成了现在的 Microsoft Office。这位 Charles Simony 后来经过专业的培训,上了太空(666) 两次。关于Charles Simony
SignNet 代表了 Simony 非常值得称赞的计算机网络思想,其中的不少模块逐渐转变成 LAN 的一部分。顺便一提,LAN 这个术语直到1990年才发明了出来,所以SignNet 可以被称作是 那个时代不应该具有的产物(anachronism)。说明了 Simony 的远见和强大的学术能力。

SignNet 中有很多模块转变为 LAN 的部分。这中间有一个研究的过程:如何在发送 packet 的时候管理 LAN。在 Hawaii 大学研究出了a packet radio network :Aloha Net。它的魅力在于它解决了分配的问题 :在Hawaii大学 如何共享同一个 radio channel ?如果只是简单的在不同的小岛上分散终端计算机,他们没有办法很轻松的互相交流来取得协调。

randomizing transmission 在共享线路上 随机化的转递

它们是如何在 share radio channel 上取得协调的呢?Hawaii 大学的 Norm Abramson 设计了这一种非常简单的 随机化的 转发程序,人们能够在那上面进行输入的操作,他们输入的东西,叫做“card image”。
输入card image 之后,点击 send,然后你的终端会把它发送至主机上,接着等待一段时间直到在离开的channel上收到感谢的信息。
如果有收到,是非常棒的,但是如果没有收到,这可能意味着有两台终端同时决定发送card image。所以,当许多终端参与进来的时候,信息传递过程中的碰撞发生之后,他们将会在不同的时间段进行重新发送。在某一时刻发生的信息碰撞在未来不会发生 :两个终端决定在不同的时间段重新发送。

Bob 开始着手解决 “线路基地” 的问题,并且只希望只有一条被共享的线路(无论有多么特殊)。他想找到能够被分配的解决方法 来解决 如何 share 这条电缆。而 Aloha Net 使用了 无序的(randomized) 重新发送的机制(retransmissions)。

这是两个不同的故事:hardware story 和 software story。hardware story 可能并不是那么有趣,但是它仍然是存在的。

Manchester Encode 和 Ethernet

注意点:

  • Manchester Encode
  • carrier sense (in Ethernet)

Bob 做的第一件事情,是买了一千米的电缆。呃,这一轴 同轴电缆 大概有 这么宽(用手比划),两端是突出的。他拿到了一台脉冲发电机,并把它连接到了其中的一端,同时另一端与一台示波器连接。他开始发送方波,观察另一端的示波器的波形,然而显示的并不是方波,是一种上升下降均较为缓慢的曲线。但如果安装一个 digital gate,就能够发现方波,所以他有了一点信心:在不久之后,许多连接到这个网络的 不同的站,能够发送他们的方波,同时,其它的站能够接收它们。

hardware 的问题并不是那么的困难,它是很直接了当的(straightforward)。而这个 方波 被称作 “Manchester”。

所以 Bob 他们所做的东西是 做了一些 (bit),然后向这个电缆发送一个 bit,之后把它译成电码。这种译码方式也很简单,叫做 “Manchester coding”。意思就是说,对于每一个bit,它的前一半是 the complement of the bit (bit 的补足),第二半 是 bit。所以 在每一个 bit cell 的中间 都进行了一次非常简单的转换调节的方法。
在你往电缆的一端发送 一个packet 的时候,你能在另外的一端发现它们的标记,然后根据标记组合成一个packet。

原文:So as you're sending the packet the cables wiggling and you can recover the  signal at the other end then. Clock those bits into a shift register,  and then click the sh, clock the shift register into the memory, and then  collect a packet that way. 

除了做一些简单的焊接,需要注意的还有接口端的阻抗,它可能会造成不必要的影响。
Manchester coding 的优点在于 当你传送一个 packet 的时候,它会不断的进行转换。所以只需要认真听一小会,你就可以知道 packet 是否通过了线缆。

Bob 从 Aloha Net 项目获得了技术灵感。

关于 Ethernet 和 Aloha Net 的区别有很多,第一点 是 carrier sense (载波 意识)
在 Aloha Net,你无法获知 在你发送信息的同时,是否有其他人也在发送信息。但是在 Ethernet ,这是可以的。这里 Ethernet 的优点在于,当你发送信息的时候,你知道也有人在发送,你可能会因为 避免破坏别人发送的 packet 而放弃发送信息。如果你继续发送,对于带宽的记录很可能就会丢失。

另外一方面是这样的,“ Manchester code meant that the cable was on half the time and of half the time. ” 一个 open collector driver 会把线缆的电压拉升至 <5V。
举个例子,对于每一个 bit cell 来说,发送时必须观察有没有其他的人正在发送信号,如果有,那么就会造成信息拥塞(collision)。

Manchester encode 中有 On/Off (根据大意,应该是按键),所以Manchester encode 类似是一种 调整的方案(modulation scheme)。
这个方案 类似是 计算机科学家们与 radio people 合作 想出来的,计算机科学家们顺便从 radio people 那里获取了许多的资源。这个实验浪费了许多的带宽和缆线。

所以,他们认为 carrier sense 包含 探测(detection)。这个解决方案 应该是 携带两个 8bit IP地址(目的地 发送端)的packet 转递方法。
在个人电脑的底板上,安装有线路的 app,并且被分配了 0 到 255 的硬件地址。
Ethernet 的 packet 携带有两个IP地址,而 Aloha Net 的 packet 只有一个 IP地址,因为它是单向的
在数据报的最后,添加了CRC检验和,以便于检验是否出现差错。

Bob 做了一些刀工,把铜线上的绝缘材料去除。但是并不是那么擅长做这玩意,与他同屋的有一个学生,因为他曾经做过电视线路的安装,所以非常擅长做这方面的工作。这名学生协助了Bob,他就是David Boggs。
David 更偏向于硬件,而 Bob 更偏向于软件。二者的结合促成了 Ethernet 的诞生。

Bob Metcalfe 和 David Boggs 在PARC研究中心发明了以太网(Ethernet)。

之后的故事

关于 rat's nest:他们在中间设置了一条线路,在你想要把一台PC 连接到线路上的时候,只要增加一个tap(分接头)即可。
与此同时,Bob他们并不希望当增加一个分接头的时候,削减了整个网络。所以 Bob 在 cable TV factory 发现了 gerald tap,解决了整个问题。

It was basically a, a vampire tap. You'd, you'd drill a little hole in the  outer, casing of the coax, and then you would screw in this tap that would  puncture the insulation and go right to the copper and tap in.  

Aloha Net 当时的速率是以 kilobits per second 计算的。而 Ethernet 是从 2.94 megabit (百万位/兆位)。在1973年,它的速率是 T1 的两倍。所以 Xerox 开发的 Ethernet,是当时全球速度最快的局域网。
随后与DEC 和 Intel 联合定义了通信协议的标准。标准以太网(10Mbit/s)。

2016/7/30

posted @ 2016-07-29 14:50  Wasdns  阅读(194)  评论(0编辑  收藏  举报