首页 理论教育ARCnet数据链路层实现节点间数据帧的发送与接收

ARCnet数据链路层实现节点间数据帧的发送与接收

【摘要】:ARCnet位于OSI模型的物理层和数据链路层,ARCnet实现两个网络节点之间数据帧的发送和接收。不能发送ISU数为253、254或255的帧。基本帧用于节点间的控制信息和数据交互;突发性重构请求帧用于网络重构。

ARCnet位于OSI模型的物理层和数据链路层,ARCnet实现两个网络节点之间数据帧的发送和接收。每一个ARCnet网络节点都包括一个ARCnet控制器芯片和一个连接网络的电缆收发器。每个节点都被指定了一个MAC地址,而且是惟一的。

ARCnet是典型的令牌总线技术,采用令牌作为介质访问仲裁的主要手段。为保证ARCnet数据链层的可靠工作,尽管集线器构建的星形物理拓扑,网络中的各节点也一样都能监听网络上的所有信息流。通常ARCnet网络的数据传输速率是2.5Mbit/s,多数定时信息的设置都以该速率值为基础。

1.数据帧的基本编码

基本编码是构成ARCnet网络的信息帧和突发性重构请求帧的基本单元。这些基本编码有:

<SD>起始定界码

111111(6位)

所有ARCnet数据帧都以6位逻辑1作为一个新帧的开始。

<RSU>重构码

111111110(9位)

<ISU>信息码

110dd1d3d4d5d6d7(11位)

信息码由两部分组成:3位前导码110和8位数据信息。ISU信息码中数据信息的定义和取值:

<SOH>帧起始码,0×01,用作标识一个帧。

<ENQ>PBE请求码,0×85,用来表示一个PBE请求(请求知悉目标节点是否有足够的缓存接收新的一个数据帧)。

<ACK>确认码,0×86,表示确认回答。

<NAK>否认码,0×15,表示否认回答。

<EOT>发送结束码,0×04,表示将令牌传递个ARCnet网络逻辑拓扑中的下一个节点。

<NID>下游节点标识码,0×01到0×FF。表示逻辑环下游节点。NID是当前持有令牌节点的逻辑下游节点的MAC地址。

<SID>源节点标识码,0×01到0×FF。表示帧的源节点MAC地址。

<DID>目的节点标识码,0×01到0×FF。表示帧的目的节点MAC地址。

<CP>数据长度标识码,表示帧的长度,即字节数。对短帧(0~252B)而言,CP只占用一个ISU(信息码);对长帧(256~507B),CP则需要两个ISU。

<SC>系统码,0×01到0×FF。用来表示上层协议。通常SC仅需一个ISU,但有些SC占用两个ISU。

<DADA>数据域,用来存放用户数据。短帧模式允许有0~252个ISU;长帧模式允许有256~507个ISU。不能发送ISU数为253、254或255的帧。对这三种长度的例外帧,发送时必须先用0填充为长帧,再作为长帧发送。

<FCS>帧校验序列,0×0000到0×FFFF,表示帧末尾的16位CRC,占2个ISU。

2.帧格式

帧有上述基本编码组成。ARCnet有两种帧格式:基本帧、突发性重构请求帧。基本帧用于节点间的控制信息和数据交互;突发性重构请求帧用于网络重构。

(1)基本帧

ARCnet数据链路层协议只支持5类基本帧:

1)ITT:令牌传递帧

<SD><EOT><NID><NID>

2)FBE:FBE请求帧

<SD><ENQ><DID><DID>

3)ACK:确认帧

<SD><ACK>

4)NAK:否认帧

<SD><NAK>

5)PAC:数据帧

<SD><SOH><SID><DID><DID><CP><SC><……DATA>

<FCS>

对于这5类帧,传递令牌时,逻辑邻居节点地址(NID)要发送两次。确认帧或否认帧是目的节点发回的,所以就不包括源节点地址。FCE请求帧只是用来查询目的节点是否有足够的缓存空间来接收下一个帧,该类帧只能来自于源节点,因此也没有必要指定SID了。5类帧中惟一需要指定源节点地址(SID)的只有数据帧。

(2)突发性重构帧

突发性重构帧是一种只用于进行网络重构的特殊帧。该类型帧是节点向网络发送一个足够长时间(765个RSU)的拥塞信号,干扰网络上所有的通信活动,确保网络所有节点都知道网络重构即将开始。

3.系统码

每个ARCnet数据帧中,紧跟在数据长度标识码(CP)后面的SC(系统码)是用来标识上层协议的。ARCnet支持在一个物理网络中同时使用多种协议(每个协议都有自己的帧格式)。SC是ARCnet数据帧必不可少的一个域。

系统码0×80保留用于网络诊断。任何节点在任何时候都可以发送系统码为0×80的数据帧。节点会自动放弃所收到的一切系统码为0×80的数据帧。