FC通信网络流量控制机制分析与仿真 |
2012-07-18 10:21 作者:邓发俊 李大鹏 李 来源:硅谷网 HV: 编辑: 【搜索试试】
|
|
硅谷网7月18日消息 (原文载于《硅谷》杂志)在通信网络中,为了保证接收方缓冲区不会溢出,采用流量控制技术来匹配发送方发送速率和接收方接收速率。本文分析和比较了FC通信网络中的端到端和缓冲到缓冲两种流量控制机制,并对缓冲到缓冲流量控制机制进行了仿真,为缓冲到缓冲流量控制机制在航空电子系统的应用提供一定参考。
信用是指接收端口分配给发送端口的缓冲区的数量。在FC通信网络中,采用基于信用的流量控制机制。FC通信网络流量控制是FC-2层的控制过程,用来协调N端口之间、N端口与交换网、以及交换网内部端口之间的帧流量,防止接收方缓冲区溢出。在流量控制中使用的信用有两种:端到端信用(EE_Credit)和缓冲到信用(BB_Credit)。两种信用机制相对应有两种信用计数方法:端到端信用计数(EE_Credit_CNT)和缓冲到缓冲信用计数(BB_Credit_CNT)。序列发起方通过递增或递减两种方式来管理信用计数,以此获取序列接收方的缓冲区的状态。
FC通信网络流量控制通过端到端信用、端到端信用计数、ACK_1、缓冲到缓冲信用、缓冲到缓冲信用计数、R_RDY及其它帧一起进行管理。FC通信网络的流量控制物理模型如图1所示:
图1流量控制物理模型
物理模型由以下物理元件组成:
a.具有接收缓冲区的N端口;
b.具有接收缓冲区的F端口。
每个N端口具有1类和6类缓冲区以及无连接服务缓冲区,每个F端口具有无连接服务缓冲区。端到端流量控制和缓冲到缓冲流量控制对于缓冲区使用如表1所示:
表1缓冲区共享
共享缓冲区 端到端流量控制 缓冲到缓冲流量控制
1类和6类缓冲区 1类和6类帧 /
无连接服务缓冲区 2类帧 具有SOFc1的1类和6类帧,2类帧,3类帧
1端到端流量控制分析
端到端流量控制是FC-2层用来调节N端口之间帧流量的控制过程。进行1类,2类和6类服务的N端口之间使用端到端流量控制。
1.1端到端流量控制管理规则
端到端流量控制管理规则如表2所示:
表2端到端流量控制管理规则
行为 端到端信用计数(EE_Credit_CNT)
N端口发送一个1,2,6类数据帧 加1
N端口发送一个链路信用恢复(LCR) 置0
N端口接收到F_BSY(DF),F_RJT,P_BSY或P_RJT 减1
N端口接收到F_BSY(LC) 保持不变
N端口接收到ACK_1(Historybit=1) 减1
N端口接收到ACK_1(Historybit=0) 减去一个SEQ_CNT小于等于当前SEQ_CNT的帧的数目之和
N端口接收到ACK_0 保持不变
N端口接收到数据帧 保持不变
N端口接收到LCR 序列接收方复位缓冲区
N端口发送3类数据帧 保持不变
N端口发送P_BSY或P_RJT 保持不变
N端口发送ACK 保持不变
1.2端到端流量控制模型
端到端流量控制模型如图2所示:
图2端到端流量控制模型
注:+1/-1指的是对EE_Credit_CNT的操作。
流量控制模型包含来自序列发起方的数据帧的流量控制参数,控制变量以及资源和来自序列接收方响应的ACK_1或BSY/RJT。
1) 序列接收方提供1类,2类或6类服务的接收缓冲区数量。
2) 序列发起方分别获得分配的1类,2类或6类服务的接收缓冲区,即1类,2类或6类服务端到端信用(EE_Credit)。
3) 序列发起方管理端到端流量通过管理1类,2类或6类服务的端到端信用计数(EE_Credit_CNT)。
1.3端到端信用(EE_Credit)管理
对于采用隐式注册的FC设备,EE_Credit是由系统预先设置的。对于采用显式注册的FC设备,EE_Credit管理涉及N端口与其所要通信的另一个N端口建立和修改EE_Credit。序列发起方从它注册的N端口获得EE_Credit。由序列接收方分配的EE_Credit称为EE_Credit_CNT的上限。N端口一旦离开AC状态,注册或重注册,EE_Credit_CNT设置成0。EE_Credit_CNT按照端到端流量控制管理规则来决定是递增、递减或保持不变。为了防止接收方缓冲区溢出,EE_Credit_CNT不能超过EE_Credit值。序列发起方会在与序列接收方有关的所有活跃序列中分配与序列接收方有关的总EE_Credit。只要不超过序列接收方分配的总EE_Credit,序列发起方可以修改与每个活跃序列有关的EE_Credit。在使用终止序列协议异常终止序列的情况下,序列发起方接收到对终止序列帧的LS_ACC响应时,收回分配的EE_Credit。
2缓冲到缓冲流控
缓冲到缓冲流量控制是FC-2层用来协调帧流的控制过程。缓冲到缓冲的流量控制以双向的方式发生在以下两个实体之间:
a.序列发起方和本地F端口之间;
b.远端F端口和序列接收方N端口之间;
c.交换网中的E端口之间;
d.在点对点拓扑结构中,序列发起方N端口和序列发起方N端口之间。
2.1缓冲到缓冲流量控制管理规则
缓冲到缓冲流量控制管理规则如表3所示:
表3缓冲到缓冲流量控制管理规则
行为 缓冲到缓冲信用计数(BB_Credit_CNT)
FC端口发送任何2类,3类或具有SOFc1的1类或6类帧(包括F_BSY(DF),F_BSY(LC),F_RJT,P_BSY,P_RJT或LCR) 加1
FC端口接收到R_RDY 减1
FC端口接收到任何2类,3类或具有SOFc1的1类或6类帧(包括F_BSY(DF),F_BSY(LC),F_RJT,P_BSY,P_RJT或LCR) 保持不变
FC端口发送R_RDY 保持不变
注:FC端口不包括E端口和和B端口
2.2缓冲到缓冲流量控制模型
缓冲到缓冲流量控制模型如图3所示:
图3缓冲到缓冲流量控制模型
注:+1/-1指的是对BB_Credit_CNT的操作
该模型包括具有SOFc1的1类/6类,2类和3类数据帧的流量控制变量,作为响应的R_RDY,以及无连接服务的资源。每个FC端口为无连接服务提供接收缓冲区。每个N端口从它所连接的F端口或在点到点拓扑结构中的N端口获得分配的接收缓冲区,即BB_Credit。每个F端口从它所连接的N端口获得分配的接收缓冲区,作为无连接服务总的BB_Credit。
2.3缓冲到缓冲信用(BB_Credit)管理
对于采用隐式注册的FC设备,BB_Cedit是由系统预先设置的。对于采用显式注册的FC设备,FC端口通过FLOGIN来获取BB_Credit。在FLOGIN中通过交换通信服务参数来获得这个值。发送FC端口使用BB_Credit作为BB_Credit_CNT的上限来管理BB_Credit_CNT。
3两种流量控制机制的区别
两种流量控制机制的区别如下:
a.端到端流量控制使用EE_Credit和EE_Credit_CNT来进行流量控制,而缓冲到缓冲流量控制使用BB_Credit和BB_Credit_CNT来进行流量控制;
b.端到端流量控制机制适用于1类,2类和6类服务,而缓冲到缓冲流量控制适用于具有SOFc1的1类和6类,2类和3类服务;
c.端到端流量控制机制是只能在N端口之间使用,而缓冲到缓冲流量控制机制在多种端口类型之间都可以使用;
d.端到端流量控制机制使用ACK帧作为响应,而缓冲到缓冲流量控制机制使用R_RDY原语作为响应。
4缓冲到缓冲流量控制仿真
当前支持3类服务的设备在航电系统市场中占据主导地位,因此以3类服务为例,通过逻辑仿真对缓冲到缓冲流量控制机制进行更深入的理解。仿真工作基于VHDL语言实现,采用递增方式来管理信用计数。发送端和接收端的流量控制仿真波形分别如图4和图5所示。
发送端仿真波形如图4所示:
图4发送端仿真波形
接收端仿真波形如图5:
图5接收端仿真波形
通过仿真波形可以看出,BB_Credit_CNT值的变化符合缓冲到缓冲流量控制机制要求,满足实际航电系统应用需要。
5结束语
本文介绍了FC通信网络中端到端流量控制和缓冲区到缓冲区流量控制两种流量控制机制,给出了两种流量控制机制适用的服务类型以及它们的区别,并对缓冲到缓冲流量控制机制进行了仿真,为以后设计和实现这两种流量控制机制奠定了基础。
|
|
|
|
【对“FC通信网络流量控制机制分析与仿真”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|