以太网最初设计是为更便宜地搭建网络,它采用的是CSMA/CD的媒体接入方法,这个CSMA/CD的学名叫带冲突检测的载波侦听多路接入。那这又是个什么东西呢?
上图是早期常见的一种以太网链接方式,学名总线型拓扑,即所有主机都连接到图片中间那条横着的电缆线上,该电缆线即为总线。主机的线要接入总线,接点处是通过一种名为集线器的装置连接起来的。
集线器的作用,是单纯地将它收到的信号传到与它相连的每条线上。就是说,如上图,最左边的这个Workstation主机发条消息给最右边的Server,当信号到达集线器的时候,集线器不会去判断你的信号要往哪边传,它把信号传给每个与它相连的线上,也就是说:最左边的这个Workstation主机发条消息给最右边的Server,不但Server能收到这条信息,在这个以太网上的另外两个Workstation主机也能收到这条信息!
好了,现在可以来解释下这个CSMA/CD,带冲突检测的载波侦听多路接入了。
中间的那条总线被多个主机接入,这多个主机共用了这条总线,这叫多路接入。既然多个主机共用主线,便可能同时向总线发送消息,但总线说:“不好意思,这我做不到,我一条电线没办法既向东传送你的电信号,又向西传送他的电信号。”怎么办,载波侦听、冲突检测。
载波侦听:所有的主机在发送信号之前,要先对线路进行侦听,当发现线路上没有信号时,才能发送自己的信号。
冲突检测:要能检测到冲突,并且当检测到发生冲突的时候,要采取适当的措施进行补救。
Q:为什么以太网要这样给每个线路上的主机都发信息呢?
A:因为集线器不能分辨方向,它只会向它的所有线路转发它接收到的信息。它相当于一个信号放大器,一个接口收到信号就给其余接口转发这个信号。
Q:为什么连接处不用能分辨方向的设备?
A:因为集线器便宜。
回到小标题开头了,以太网是为了更便宜地搭建网络而设计的。