19世纪的科学家为了解释电磁学中的一些现象,将以太这个概念引入到了电磁理论当中,随着时代的发展,人们发现以太这个概念是不必要的,进而就抛弃了这个理论。今天要说的这个经典以太网,也有着类似的经历,人们创建并发展了经典以太网,随着时代的发展,经典以太网慢慢的跟不上时代的脚步,进而被人们抛弃到了历史的尘埃中。
冲突检测CSMA/CD
CSMA指的是一个站占要发送数据时,它需要先侦听信道,确定此时是否可以发送数据。如果信道空闲,它就发送数据。如果其它站点正在发送数据,它就等待直到信道空闲,然后发送一帧数据。如果发送数据过程中发生冲突,它会随机等待一段时间,再从头开始上面的过程。这个协议又被称做坚持CSMA。
相对应的还有一个非坚持CSMA,它和坚持CSMA协议一样,发送数据前要侦听信道,但不像坚持CSMA协议那样贪婪,当信道当前正在被使用时,它不会持续的对信道进行监听,而是随机一段时间后,再重新侦听信道是否可用。
CD指的是冲突检测,站点的物理层硬件在传输数据的同时要侦听信道,如果读到的信号不同于它发送到信道上的信号,就认为数据在传输过程中发生了冲突。如果检测到冲突,当前发送站会立即中止数据传输,等待一段随机时间后,再重新尝试传输。
帧结构
因历史原因导致经典以太网的帧结构有两种形式:DIX与IEEE 802.3,当然以太网的MAC子层同时支持这两种帧结构。两种格式大体上是相同的,只有个别字段表达的意义不一致。
前8个字节被叫做前导码,每个字节的比特都为10101010除了最后一个字节的最后两位是11,802.3中前导码的最后一个字节又被叫做SOF(帧的起始定界符)。
接下来的两个长度为6字节的分别表示目标地址与源地址。目标地址第一位为0表示普通地址,为1表示组地址,该目标地址下的所有站点都要接收此帧。目标地址所有位都为1,该帧为广播,网络中的所有站点都要接收此帧。
接着是Type/Length段,Type告诉接收方帧内包含了什么,Length表示数据段的长度。如果此段值小于或等于0x600(1536)就解释为Length,大于则解释为Type字段。
然后是Data字段,最长为1500字节,该长度是由历史原因导致。最小为46字节长度,如果实际传输的数据小于46字节,则需要在后面的填充段中补齐。究其原因是CSMA/CD机制中冲突检测机制。
最后为校验合,实际使用的是CRC校验码,只提供检错功能。
出局
经典以太网最终被交换式以太网所取代,虽然都叫以太网,但二者有着很大的不同,最大的不同是交换式以太网解决了经典以太网中多终端同时发送数据导致的冲突现象,进而大大提交了数据传输的效率。