以太网系统由3个基本单元组成:物理介质,用于传输计算机之间的以太网信号;媒体访问控制规则,嵌入在每个以太网接口处,从而使得计算机可以公平地使用共享以太网信道;以太帧,由一组标准比特位构成,用于传输数据。
1.IEEE 802.3协议结构
在所有IEEE 802协议中,OSI数据链路层被划分为两个IEEE 802子层,即:媒体访问控制(MAC)子层和MAC客户端子层。IEEE 802.3物理层对应于OSI参考模型的物理层。
MAC子层有以下几个基本职能。
(1)数据封装
发送和接收数据封装。包括成帧(帧定界和帧同步)、编址(源地址及目的地址的处理)和差错检测等。当LLC子层请求发送一帧时,MAC子层的发送数据封装部分用LLC子层所提供的数据结构组帧,它将一个前导码P和一个帧起始定界符SFD附加到帧的开头部分,还将PAD附加到结尾部分,以确保传送帧的长度满足最小帧长的要求,它还要附加目的地址和源地址,长度计数字段和帧校验序列,然后把组成的帧交给MAC子层的发送媒体访问管理部分以供发送。
(2)发送媒体访问管理
借助于监视物理层收发信号(PLS)部分提供的载波监听信号,发送媒体访问管理设法避免发送信号与媒体上其他信息发生冲突。在媒体空闲时,经短暂的帧间延迟(提供给媒体恢复时间)之后,就启动帧发送,然后,MAC子层将串行位流送给PLS接口以供发送,PLS完成产生媒体上电信号的任务。同时,监视媒体和产生冲突检测信号。在没有争用的情况下,即完成发送。完成发送后,MAC子层通过LLC与MAC间的接口通知LLC子层,等待下一个发送请求。假如产生冲突,PLS接通冲突检测信号,接着发送媒体访问管理开始处理冲突。首先,它发送一个称为阻塞(Jam)的位序列来强制冲突,这就保证了有足够的冲突持续时间,以使其他与冲突有关的发送站都得到通知,在阻塞信号结束时,发送媒体访问管理就停止发送。
发送媒体访问管理在随机选择的时间间隔后再进行重发尝试,在重复的冲突面前反复进行重发尝试,发送媒体访问管理用二进制位数指数退避算法调整媒体负载。然后,或者重发成功,或者媒体故障或过载的情况下,放弃重发尝试。
(3)接收媒体访问管理
首先由PLS检测到达帧,使接收与前导码同步,并接通载波监听信号。接收媒体访问管理部件要检测到达的帧是否错误,帧长是否超过最大长度,是否为8位的整倍数,还要过滤冲突的信号,即把小于最小长度的帧过滤掉。
(4)接收数据解封
这一部分检验帧的目的地址字段,决定本站是否应该接收该帧,如地址符合,将送到LLC子层,并进行差错检验。
媒体访问控制(MAC)客户端子层可能是以下一种。
逻辑链路控制(LLC):提供终端协议栈的以太网MAC和上层之间的接口,其中LLC由IEEE 802.2标准定义。
网桥实体:提供局域网之间的LAN -to- LAN接口,可以使用同种协议(如以太网到以太网)和不同的协议(如以太网到令牌环)之间。网桥实体由IEEE 802.1标准定义。
2.MAC帧格式
MAC帧是在MAC子层实体间交换的协议数据单元,10/100Mbps以太网中IEEE 802.3 MAC帧的格式如图6-22所示。IEEE 802.3 MAC帧中包括前导码P、帧起始定界符SFD、目的地址DA、源地址SA、表示数据字段字节数长度的字段LEN、要发送的数据字段、填充字段PAD和帧校验序列FCS等8个字段。这8个字段中除了数据字段和填充字段外,其余的长度都是固定的。
7 |
1 |
6 |
6 |
2 |
46-1500 bytes |
4 bytes |
Pre |
SFD |
DA |
SA |
Length Type |
Data unit + pad |
FCS |
图6-22 10/100Mbps以太网中的基本IEEE 802.3 MAC数据格式
Preamble(Pre):前导码字段,7字节。Pre字段中1和0交互使用,接收站通过该字段知道导入帧,并且该字段提供了同步化接收物理层帧接收部分和导入比特流的方法。Pre字段的每个字节的比特模式为“10101010”,用于实现收发双方的时钟同步。
Start-of-Frame Delimiter(SFD):帧起始定界符字段,1字节。字段中1和0交互使用,结尾是两个连续的1,表示下一位是利用目的地址的重复使用字节的重复使用位。SFD占1个字节,其比特模式为“10101011”,它紧跟在前导码后,用于指示一帧的开始。前导码的作用是使接收端能根据“1”、“0”交变的比特模式迅速实现比特同步,当检测到连续两位“1”(即读到帧起始定界符字段SFD最末两位)时,便将后续的信息递交给MAC子层。
Destination Address(DA)/Source Addresses(SA):目的地址/源地址字段,6字节。地址字段包括目的地址字段DA和源地址字段SA。目的地址字段占2个或6个字节,用于标识接收站点的地址,它可以是单个的地址,也可以是组地址或广播地址。DA字段最高位为“0”表示单个的地址,该地址仅指定网络上某个特定站点;DA字段最高位为“1”、其余位不为全“1”表示组地址,该地址指定网络上给定的多个站点;DA字段为全“1”,则表示广播地址,该地址指定网络上所有的站点。源地址字段也占2个或6个字节,但其长度必须与目的地址字段的长度相同,应用于标识发送站点的址。在6字节地址字段中,可以利用其48位中的次高位来区分是局部地址还是全局地址。局部地址是由网络管理员分配,且只在本网中有效的地址;全局地址则是由IEEE统一分配的,采用全局地址的网卡出厂时被赋予唯一的IEEE地址,使用这种网卡的站点也就具有了全球独一无二的物理地址。
Length/Type:长度/类型字段,2字节,其值表示数据字段的内容,即为LLC子层递交的LLC帧序列。如果是采用可选格式组成帧结构时,该字段既表示包含在帧数据字段中的MAC客户机数据大小,也表示帧类型 ID。
Data:数据字段,是一组n(46≤n≤1500)字节的任意值序列。帧总值最小为64字节。为使CSMA/CD协议正常操作,需要维持一个最短帧长度,必要时可在数据字段之后、帧校验序列FCS之前以字节为单位添加填充字符。这是因为正在发送时产生冲突而中断的帧都是很短的帧,为了能方便地区分出这些无效帧,IEEE 802.3规定了合法的MAC帧的最短帧长。对于10Mbps的基带CSMA/CD网,MAC帧的总长度为64~1518字节。由于除了数据字段和填充字段外,其余字段的总长度为18个字节,所以当数据字段长度为0时,填充字段必须有46个字节。
Frame Check Sequence(FCS):帧校验序列字段,4字节。该序列包括32位的循环冗余校验(CRC)值,由发送MAC方生成,通过接收MAC方进行计算得出以校验被破坏的帧。其校验范围不包括前导字段P及帧起始定界符字段SFD。
包含千兆位载波扩展的MAC帧格式如图6-23所示,最后一个“Ext”字段为扩展字段,其他各字段参见上述说明。1000Base-X最小帧大小为416字节;1000Base-T最小帧大小为520字节。通过扩展字段可以满足长度小于最小值的帧需求。
7 |
1 |
6 |
6 |
2 |
46=< n =<1500 |
4 bytes |
Variable |
Pre |
SFD |
DA |
SA |
Length Type |
Data unit + pad |
FCS |
Ext |
3.以太网基本工作原理
以太网上的每台计算机都能独立运行,不存在中心控制器。连接到以太网的所有工作站都接入共享信令系统,又称为介质。要发送数据时,工作站首先监听信道,如果信道空闲,即可以以太帧或数据包格式传输数据。每帧传输完毕之后,各工作站必须公平争取下一帧的传输机会。对于共享信道的访问取决于嵌入到每个工作站的以太网接口的媒体访问控制机制。该机制建立在载波监听多路访问/冲突检测(CSMA/CD)基础上。
当以太帧发送到共享信道后,所有以太网接口查看它的目标地址。如果帧目标地址与接口地址相匹配,那么该帧就能被全部读取并且被发送到那台计算机的网络软件上。如果发现帧目标地址与它们本身的地址不匹配时,则停止帧读取操作。
以太网的信号拓朴是一种逻辑拓朴,用来区别介质电缆的实际物理布局。以太网的逻辑拓朴结构提供了一条单一信道(或总线)用于传送以太网信号到所有工作站。多个以太网段可以链接在一起构成一个较大的以太网,这通过一种能够放大信号和重新计时的叫做中继器的设备实现。通过中继器,多段以太网系统可以像“无根分支树”(non-rooted branching tree)一样扩展。“无根”意味着系统在任意方向上都可以生成链接段,且没有特定的根段。最重要的是,各段的连接不能形成环路。系统的每个段必须具有两个终端,这是由于以太网系统在环路路径上不能正确运行。即使介质段以星型模式物理连接,且许多段都接在中继器上,但是它的逻辑拓朴结构仍就是通过以太网单信道传送信号至所有工作站。