分类: LINUX
2009-06-21 16:07:34
1.CSMA/CD总线的实现模型
IEEE802.3是一个使用CSMA/CD媒体访问控制方法的局域网标准。 CSMA/CD总线的实现模型如图4.10所示,它对应于OSI/RM的最低两层。从逻辑上可以将其划分为两大部分:一部分由LLC子层和MAC子层组
成,实现岱I很M的数据链路层功能,另一部分实现物理层功能。
把依赖于媒体的特性从物理层中分离出来的目的,是要使得LLC子层和MAC子层能适用于各类不同的媒体。
物理层内定义了两个兼容接口:依赖于媒体的媒体相关接口MDI和访问单元接口AUIoMDI是一个同轴电缆接口,所有站点都必须遵循IEEE802.3定义的物理媒体信号的技术规范,与这个物理媒体接口完全兼容。由于大多站点都设在离电缆连接处有一段距离的地方,在与电缆靠近的MAC中只有少量电路,而大部分硬件和全部的软件都在站点中,AUI的存在为MAC和站点的配合使用带来了极大的灵活性。
MAC子层和LLC子层之间的接口提供每个操作的状态信息,以供高一层差错恢复规程所用。MAC子层和物理层之间的接口,提供包括成帧、载波监听、启动传输和解决争用、在两层间传送串行比特流的设施及用于定时等待等功能。
2.EEE802.3MAC帧格式
MAC帧是在MAC子层实体间交换的协议数据单元,IEEE802.3MAC帧的格式如图4.11所示
IEEE802.3MAC帧中包括前导码P、帧起始定界符SFD、目的地址DA、源地址SA、表示数据字段字节数长度的字段LEN、要发送的数据字段、填 充字段PAD和帧校验序列配S等8个字段。这8个字段中除了数据字段和填充字段外,其余的长度都是固定的。前导码字段P占7个字节,每个字节的比特模式为 "10101010",用于实现收发双方的时钟同步。帧起始定界符字段SFD占1个字节,其比特模式为"10101011",它紧跟在前导码后,用于指示 一帧的开始。前导码的作用是使接收端能根据"1"、"0"交变的比特模式迅速实现比特同步,当检测到连续两位"1"(即读到帧起始定界符字段SFD最未两 位)时,便将后续的信息递交给MAC子层。
地址字段包括目的地址字段DA和源地址字段SA。目的地址字段占2个或6个字节,用于标识接收站点的地址,它可以是单个的地址,也可以是组地址或广播地址。DA字段最高位为"0"表示单个地址,该地址仅指定网络上 某个特定站点;DA字段最高位为"1"、其余位不为全"1"表示组地址,该地址指定网络上给定的多个站点;DA字段为全"1",则表示广播地址,该地址指 定网络上所有的站点。源地址字段也占2个或6个字节,但其长度必须与目的地址字段的长度相同,它用于标识发送站点的地址。在6字节地址字段中,可以利用其 48位中的次高位来区分是局部地址还是全局地址。局部地址是由网络管理员分配,且只在本网中有效的地址;全局地址则是由IEEE统一分配的,采用全局地址 的网卡出厂时被赋予惟一的IEEE地址,使用这种网卡的站点也就具有了全球独一无二的物理地址。
长度字段LEN占两个字节,其值表示数据字段的字节数长度。数据字段的内容即为,LLC子层递交的LLC帧序列,其长度为0~1500个字节。
为使CSMA/CD协议正常操作,需要维持一个最短帧长度,必要时可在数据字段之后、帧校验序列FCS之前以字节为单位添加填充字符。这是因为正在发送时 产生冲突而中断的帧都是很短的帧,为了能方便地区分出这些元效帧,IEEE802.3规定了合法的MAC帧的最短帧长。对于1OMbps的基带 CSMA/CD网,MAC帧的总长度为64~1518字节。由于除了数据字段和填充字段外,其余字段的总长度为18个字节,所以当数据字段长度为0时,填 充字段必须有46个字节。
帧校验序列FCS字段是32位(即4个字节)的循环冗余码(CRC),其校验范围不包括前导码字段P及帧起始定界符字段SFD。
3.EEE802.3MAC子层的功能
IEEE802.3标准提供了MAC子层的功能说明,内容主要有数据封装和媒体访问管理两个方面。数据封装(发送和接收数据封装)包括成帧(帧定界和帧同步)、编址(源地址及目的地址的处理)和错检测(物理媒体传输差错的检测)等;媒体访问管理包括媒体分配和竞争处理。MAC功能模块如图4.12所示。
当LLC子层请求发送一数据帧时,MAC子层的发送数据封装部分便按MAC子层的数据帧格式组帧。首先将一个前导码P和一个帧起始定界符SFD附加到帧的 开头部分,填上目的地址和源地址,计算出LLC数据帧的字节数,填人数据长度计数字段LEN。必要时还要将填充字符PAD附加到LLC数据帧后,以确保传
送帧的长度满足最短帧长的要求。最后求出CRC校验码附加到帧校验序列FCS中。完成数据封装后的MAC帧,便可递交MAC子层的发送媒体访问管理部分以
供发送。
借助于监视物理层收发信号(PLS)部分提供的载波监昕信号,发送媒体访问管理设法避免发送信号与媒体上其它信息发生冲突。
在媒体空闲时,经短暂的帧间延迟(提供给媒体恢复时间)之后,就启动帧发送。然后,MAC子层将串行位流送给PLS接口以供发送。PLS完成产生媒体上电 信号的任务,同时监视媒体和产生冲突检测信号。在没有争用的情况下,即可完成发送。发送完成后,MAC子层通过LLC与MAC间的接口通知LLC子层,等 待下一个发送请求。假如产生冲突,PLS接通冲突检测信号,接着发送媒体访问管理开始处理冲突。首先,它发送一串称为阻塞(Jam)码的位序列来强制冲 突,由此保证有足够的冲突持续时间,以使其它与冲突有关的发送站点都得到通知。在阻塞信号结束时,发送媒体访问管理就暂停发送,等待一个随机选择的时间间 隔后再进行重发尝试。发送媒体访问管理用二进制指数退避算法调整媒体负载。最后,或者重发成功,或者在媒体故障、过载的情况下,放弃重发尝试。
接收媒体访问管理部分的功能是,首先由PLS检测到达帧,使接收时钟与前导码同步,并接通载波监昕信号。接收媒体访问管理部件要检测到达的帧是否错误,帧长是否超过最大长度,是否为8位的整倍数。还要过滤因冲突产生的碎片信号(即小于最短长度的帧)。
接收数据解封部分的功能,用于检验帧的目的地址字段,以确定本站点是否应该接收该帧。如地址符合,将其送到LLC子层,并进行差错检验。