注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

浩瀚星云

上善若水 厚德载物<学习版>

 
 
 

日志

 
 

DQDB  

2008-12-28 21:31:33|  分类: 计算机网络 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

DQDB:分布式队列双总线 (DQDB:Distributed Queue Dual Bus Defined in IEEE 802.6)

[编辑本段]

编辑本段]

2. DQDB工作原理过程

  DQDB层的排队仲裁提供了对双总线的访问控制。这些访问控制为一系列汇合(Convergence)功能所用,创立如本文右上方图所示的DQDB层服务。

   2.1 向LLC提供MAC服务

   提供MAC服务给LLC的过程是:在源端把MAC服务数据单元MSDU进行分段,形成固定长度的单元,并把这些固定长度的单元传送到目的地,在那里把它们装配成MSDU。

  分段操作进程是按照初始MAC协议数据单元IMPDU的形式,在MSDU上附加一个IMPDU头部,一个可选的头部扩展,一个可选的32位CRC校验,一个公共PDU尾部,以及一个可变长的PAD域。PAD域保证所有附加到MSDU上的域是与32位对准的。IMPDU分割成固定长度的分段单元,放在QA的有效载荷中传送。IMPDU可能有取值为0的八位位组跟在尾部作为填充,以保证最后一个分割单元被完全填满。

  所有支持MAC服务的分段的有效载荷叫做派生MAC协议数据单元DMPDU(Derived MAC Protocol Data Unit),是由一个头部域,一个尾部域以及分割单元一起组成。DMPDU的头部域由三个子域组成,第一个是分段类型子域,第二个是顺序号子域,第三个子域是报文标识MID。DMPDU尾部域由两个子域组成,第一个是有效载荷长度子域,第二个子域是有效载荷CRC。

  MID用来提供从同一个IMPDU中派生出来的分割单元之间的逻辑连接,该IMPDU被传送时,它在子网上的MID是唯一的。MID的编号是由MID页分配机制来分配的,这是一种在整个子网上要求和保持MID的值的唯一的分布方法。MID识别所有从单个IMPDU派生的DMPDU,在目的地重新装配分割单元组成IMPDU。

  下面来说明IMPDU。如何在源址分割,然后在目的地如何重装。

  2.1.1源址的分割

  

  源址把一系列的DMPDU作为QA有效载荷,第一个分割单元是报文开始(BOM)DMPDU,是由分段类型子域中的BOM编码来识别,并表示一个新的IMPDU传送的开始。MID子域是源址得到的DIM值,顺序号子域带的与相继的DMPDU的联系的编号顺序相关联的初始值。BOMDMPDU还将包括IMPDU的头部和头部扩展信息,再加上MSDU的前面一些八位位组,足以填满一个分割单元。

  后续的是一系列COM(Continuation of Message)DMPDU,也是由分段类型子域中的COM码来识别。IMPDU的最后一个分割单元是EOM(End OfMessage)DMPDU。在分段类型子域中包含EOM码。COM和EOM的顺序号值是从BOM DMPDU开始依次加1。所有从一个IMPDU派生出的COM DM-PDU和EOM DMPDU都与BOM DMPDU具有相同的MID值。如IMPDU只要求以单个分割单元发送,则在DMPDU的分段类型子域中采用SSM(Single Segment Unit Message)码标识,在此时不用MID,即MID值为0。

  DMPDU尾部的有效载荷长度子域填写八位位组的数目。对于提给LLC的无连接MAC服务,BOM和COM DMPDU有效载荷长度总是44。写在EOM D-MPDU的长度值是指出生在IMPDU中最后剩下多少八位位组要传送,这一长度值可以是4到44之间4的整数倍。写入SSM DMPDU的长度值是指出整个IM-PDU的长度,它可以是28到44之间4的整数倍。尾部的有效载荷CRC子域是依据分段有交效载荷的八位位组计算出的CRC码。

  2.1.2在目的地的重新装配

   为了接收如上所述的分割的IMPDU,每个AU将监控总线上所有通过的分段。所有的DMPDU在分段头部含有一个特定的VCI值的集合。如果VCI的值是A-U准备接收的,AU将借助有效载荷CRC子域来验证此DMPDU。如果CRC验证失败,则此DMPDU被丢弃。

  对于每个在分段类型子域中有BOM码的有效DMPDU,AU将检查在BOM分割单元中的MCP头部。如果MCP头部指示此IMPDU是给此AU的,那么它将拷贝这个BOM分割单元并继续以下所述的操作。如果此IMPDU不是给这个AU的,则不拷贝这分割单元。

  为了接收到此BOM分割单元有关的剩余的IMPDU,AU还将从BOM D-MPDU中记录顺序号与MID值。从同一个IMPDU派生的后续DMPDU,在分段头部具有同样的VCI值,对于每一个后续的DMPDU有一个递增的顺序号,并且在DMPDU头部有同样的VCI值,这时都应接收下来。AU用有效载荷CRC子域来验证所有在同样的VCI上接收的DMPDU。然后把MID值与原先记录的那个相比,一旦匹配,只要顺序号是所期望的值,AU就拷贝此DMPDU的已验证过的分割单元。当收到一个验证过DMPDU,MID值是匹配的,其顺序号也是所期望的,在分段类型子域中是EOM码,并且其分割单元被拷贝下来以后,那么整的IMPDU就接收好了。分段在DBDQ子网保证按序递交,AU能够重新装配成IMPDU。链接起来减去公共PDU头部和尾部的长度,从公共PDU尾部中接收到的长度值,就与I-MPDU所接收到的八位位组的总数相比较,如果不相同,则接收方丢弃此IMP-DU。这个校验用来保证已经接收的正确个数DMPDU,从而防止丢失或误插入的C-OM DMPDU。

  另一个验证信息是开始结束标签BEtag。BEtag值在给定IMPDU的公共P-DU头部和公共PDU尾部两处都发送。接收方收到后比较两个BEtag的值,如果不匹配就丢弃此IMPDU。BEtag用来保证重装的IMPDU的BOM DMPDU和EOM DMPDU都是从同一个源IMPDU派生的,以及收到的DMPDU数目正好是COM DMPDU的那一类丢失的。因为此一类丢失从接收到的DMPDU重新装配好的IMPDU仍然具有公共PDU尾部所指定的长度,但不是同一个IMPDU的开始结束标签。

  如果节点支持用32位CRC来检验IMPDU并且在接收到的IMPDU的M-CP头部有一位指出具有CRC32域,那么AU将用CRC32域来验证此IMP-DU。如果CRC验证失败则丢弃此IMPDU;如果CRC验证通过。此IMPDU就被有效地接受。

  所有这些比较和验证都通过,这一IMPDU才认为是有效的。

  在接收完一个IMPDU的所有DMPDU之后,记录的MID值必须清除,因为源址有可能在不同的IMPDU中重新使用同样的MID值。

  为了保证能正常终止一个IMPDU的传送,必须设置一个时钟来确定在AU中M-ID值可以维持多长时间有效,如果EOM DMPDU丢失,在时钟周期内未收到具有相匹配的MID值的EOM DMPDU,所记录的MID值被清除,并且将已收到与此MID值相等的分割单元均被丢弃。

  有了以上所述机制,AU能够并发地接收和重装多个IMPDU,这是通过VCI和MID值和匹配来实现的。

  单个分割单元的IMPDU以类似于BOM DMPDU的方式来接收。AU用有效载荷CRC子域来验证,检查MCP头部域是否此AU接收,如果有效载荷CRC通过且IMPDU所列地址是此AU,则拷贝分割单元。不过,既对于SSM来说没有后续DMPDU,所以不需记录MID值。接收后,用公共PDU尾部的长度和在公共P-DU头部与公共PDU尾部的BEtag值加以证实即可。

   2.2 提供等时服务

  在IEEE802.6标准中的等时服务只提供访问媒体以读写等时服务八位位组所要求的DQDB层功能,这包括每个单元中的预先仲裁访问控制功能和总线头上周期性地产生PA时隙的功能。

  2.3 提供面向连接的数据服务

   在IEEE802.6的目前版本标准中说明了支持到LLC的无连接MAC数据服务,给出关于提供等时服务的指南,面向连接数据服务仍在研究之中。

  评论这张
 
阅读(170)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017