以太网的发展历史、演化过程以及工作基理
以前花了大篇幅介绍以太网(十几篇文章左右),今天再来简单介绍一下,因为每个人的理解不同,不同的文章的角度不同让你理解的东西也不同。
以太网简介
以太网是一种局域网,用于进行计算机互联。它已是一种成熟的技术,最初是施乐(Xerox)公司的Robert Metcalfe于1973年发明的。Robert Metcalfe发明的第一个以太网以2.94Mbps速度运行,而第一个广泛采用的以太网技术以10Mbps速度运行。自此之后至今,以太网的速度翻了上千倍甚至更多。以太网已经成为国际电气电子工程师学会(IEEE)标准,并冠以IEEE的名义发布。下表列出了各代以太网技术。
这里有一个小典故,IEEE从1980年2月开始着手以太网标准制定,因此其标准被冠以802。
OSI和以太网协议层次
对应0SI七层协议模型,最下面两层,即数据链路层和物理层,就是以太网层,如图所示。
以太网帧格式
以太网帧格式如图所示。
前导码
前导码由一串交替出现的0和1构成,每一个以太网帧都以前导码打头。交替岀现的0和1供时钟数据恢复(CDR)电路恢复时钟和进行位同步。前导码仅用于10Mbps模式,对更高速度的以太网(如100Mbps和1Gbps)是不必要的。
帧起始符(SFD)
帧起始符(Start Frame Delimiter,SFD)是一个固定的二进制编码串“10101011”,用于指出以太网帧的起始位置。
目的地址(DA)
每个以太网接口卡(简称网卡)都有一个48比特的唯一地址。该地址有两个主要字段,22比特位的专有标识号(unique ID)由IEEE提供,低24比特地址子字段由供货商提供。网卡在生产时,该地址作为永久、独有的MAC地址被配置在网卡中。目的地址(DestinationAddress,DA)是目标网卡的MAC地址。以太网中的数据接收方只接收目的MAC地址与自己MAC地址相一致的数据帧。
源地址(SA)
源地址(Source Address,SA)是发送方以太网设备的48比特MAC地址。
长度
用于指明报文的字节长度。
净荷数据
对于每个以太网报文,其净荷数据长度介于46字节至1500字节之间。
帧校验序列
帧校验序列(Frame Check Sequence,FCS)是一个32比特字段,存放包括目的地址和源地址在内)整个帧的循环冗余校验(CRC)结果,它是以太网报文的最后一部分。帧校验序列字段用于检验所接收到的报文在传输过程中是否产生了差错。
10Mbps以太网
10Mbps以太网采用CSMA/CD(带有冲突检测的载波侦听多路访问)技术。多个设备直接连接到同一个总线上,没有使用中央仲裁器。设备将报文发送到总线上,并聆听该总线。
由于没有仲裁器,因而有可能会出现多个设备同时发送数据帧造成冲突的情况。在聆听总线时,每个设备都将检查是否产生了冲突。
检测到冲突时,设备停止数据帧的发送并根据以太网内部的后退算法自行计算得到一个后退时间。在退避时间期满时,将再次尝试重新发送数据。此时有可能会再次发生冲突,如果发生了冲突,设备会在一个更大的时间范围内随机选择一个后退时间。由于各个设备的后退时间都是按照后退算法随机独立选取的,后退次数越多则再次冲突的概率越小。设备按照这种方式不断尝试,直至帧发送成功。这种网络接入方式并不一定非常高效,但其简单而有效,并且很容易在现有网络上增加新的设备。当网路负载很高时(很多设备在同一时刻尝试发送报文时),可能会出现大量的冲突。如图所示为10Mbps介质无关接口(MII)。
快速以太网 ( 100 Mbps )
快速以太网 ( 100 Mbps ) 如图所示。
快速以太网将速度提升到了100Mbps,如上图所示。在快速以太网中添加了一个新的子层--协调子层( Reconciliation Sublayer,RS):
MII数据通路(TXD和RXD)改为4比特位宽,有別于10Mbps中1比特位宽;
增添了自动协商功能,通过自动协商,发送设备可以知道对端设备是10Mbps设备还是100Mbps设备;
增添了全双工操作。10Mbps时仅仅是半双工。
如图所示为100Mbps(快速以太网)介质无关接口(MII)。
TX_CLK
工作在100Mbps时,接口时钟为25MHz;工作在10Mbps时,工作时钟为2.5MHz。由PCS子层向MAC层提供时钟信号。
TXD[3:0]
将数据从MAC层发送至PCS子层,同步于TX_CLK时钟信号。
TX_EN
用于指出在TXD引脚上何时有合法数据发送。
RX_CLK
工作在100Mbps时,时钟频率为25MHz;工作在10Mbps时,时钟频率为2.5MHz。由PCS子层向MAC层提供时钟信号。
RXD[3:0]
将数据从PCS子层发送至MAC层,同步于RX_CLK时钟信号。
RX_DV
用于指明在RXD引脚上何时有合法接收数据。
千兆位以太网(1Gbps)
千兆位以太网将速度提升至1000Mbps(即1Gbps),如图所示。
以下是千兆位以太网的部分不同之处和新增的功能特性:
MAC层和PCS子层的接口称为千兆介质无关接口(Gigabit Media Independent Interface,GMII)而不再是介质无关接口(MII),如图所示;
GMII数据通路(TXD和RXD)均为8比特位宽,有別于100Mbps时的4比特位宽;
GTX_CLK以125MHz速度运行,有别于100Mbps以太网中的25MHz
引入了8b/10b编码/解码码技术;
以全双工模式工作,能够在半双工模式下使用CSMA/CD协议;
支持简单网络管理协议(Simple Network Management Protocol,SNMP);
帧长为64字节至9215字节,支持大于1500字节的巨帧。
GTX_CLK
时钟频率为125MHz(仅在1Gbps模式下采用)。
TX_CLK
以太网工作在100Mbps时,时钟频率为25MHz;工作在10Mbps时,时钟频率为2.5MHz。
TXD[7:0]
将数据从MAC层发送至PCS子层时,在1000Mbps模式下,其同步于GTX_CLK时钟信号,在100Mbps和10Mbps模式下,其同步于TX_CLK时钟信号。
TX_EN
用于指出在TXD引脚上何时出现有效的发送数据。
RX_CLK
以太网速度与该时钟的频率关系如下:
1000Mbps时,其为125MHz;
100Mbps时,其为25MHz;
10Mbps时,其为2.5MHz。
RXD[7:0]
用于将数据从PCS子层发送至MAC层,同步于RX_CLK时钟信号。
RX_DV
用于指明在RXD引脚上何时岀现有效的接收数据。
万兆位以太网(10Gbps)
万兆位以太网将速度提升至10Gbps,如图所示。
以下是部分不同之处和新增的功能特性:
MAC层至PCS子层的接口被称为万兆介质无关接口(l0 Gigabit Media Independent Interface,XGMII)而不再是GMII。
万兆位以太网标准定义了两个物理层收发器(PHY)。
「局域网物理层收发器(LAN PHY),两个版本:」
10GBASE-R串行收发器 采用64b/66b编解码技术;
10GBASE-X4通道粗波分复用(Coarse Wave Division Multiplexing,CWDM)收发器 采用8b/10b编码/解码技术。
「广域网物理层收发器(WAN PHY):」
10GBASE-W串行收发器 采用64b/66b编解码技术;
发送与接收数据通路都有4路信道,每路位宽8比特。其工作时钟为156MHz采用双倍数据速率(Double Data Rate,DDR)方式工作。每个方向(发送和接收)上的总带宽达到156x2(DDR)x32比特位≈10G比特/秒。
XGMII是一种高速并行接口,信号传输长度很短,只有几英寸。
后来在XGMII接口和PCS之间引入了另一个层次,称为万兆位以太网扩展子层(10G Ethernet Extender Sublayer,XGXS),以串行方式 ( 采用更少的引脚数和更高的时钟速率)工作。
XGXS能够支持更长的传输距离(几个英尺)。
需要两片XGXS内核或芯片。一片将XGMII信号转换为XAUI接口信号,另一片将XAUI信号转换为XGMII信号,请参考下图。
40G和100G以太网
40G和100G是目前正在使用的最新的以太网标准,厂商们正在推出采用这些标准的产品。它们将通过多路10G和25G信道来实现40Gbps和100Gbps的以太网传输。
以太网桥接器、交换机与路由器
桥接器/交换机
桥接器和交换机采用同样的报文转发原理—-都维护一张包括以太网MAC地址及其对应端口号的转发表。当报文抵达入端口时,硬件逻辑电路将根据以太网报文中的目的地址(DA)字段找到出端口号。
路由器
路由器根据IP地址而不是以太网地址转发报文。它工作在OSI模型的第三层,有别于交换机工作在OSI模型的第二层。路由器也维护一张表,表中有IP地址和岀口端口号。不过,需要路由器维护的IP地址的数量远大于交换机中通常所维护的以太网MAC地址数。由于这种路由表规模受限,故而采用老化算法持续地清理掉旧的IP地址,以便为新IP地址腾出空间。
看完本文有收获?请转发分享给更多人
NOW现在行动!
点个在看 你最 好看
领取专属 10元无门槛券
私享最新 技术干货