光纤网络交换机的制作方法

文档序号:17158503发布日期:2019-03-20 00:19阅读:183来源:国知局
光纤网络交换机的制作方法

本发明涉及光纤网络技术领域,具体涉及一种基于光纤网络交换机的虚拟缓存策略。



背景技术:

在光纤网络交换机的交换系统中,可能出现在同一时刻,两个或者两个以上端口的信元需要传输到相同的输出端口,而输出端口在一个时刻只能接收一个信元,导致有一个或者多个信元无法同时传输,产生通道阻塞和信元丢失。



技术实现要素:

为了解决上述问题,本发明提供了一种新型的光纤网络交换机,在交换系统中添加了缓存结构,将在同一时间无法传输的信元存储在缓存结构中,并按一定的规则逐一输出,避免信元丢失。

本发明的发明目的通过以下技术方案实现:

一种光纤网络交换机,包含x个端口,其特征在于还包含x个虚拟输入缓存队列模块和一个仲裁器,一个端口配置一个虚拟输入缓存队列模块,每个虚拟输入缓存队列模块包含控制器、m个缓存空间、读指针和写指针,当端口有数据帧进入时,控制器将数据帧写入写针指所指向的缓存空间,每写入一个字节,写指针的地址值加1,在数据帧写完后控制器进行crc校验,若数据帧通过crc校验,则将写指针移至该虚拟缓存队列中下一帧缓存空间的开头;若数据帧未通过crc校验,则将写指针移至当前缓存空间的开头。

所述仲裁器以时间片为单位进行数据传输,以端口号作为端口的调度顺序,在时间片执行完成之后,提取下一个端口的虚拟缓存队列模块中读指针指向的缓存空间中的数据帧,根据数据帧的目的端口号进行数据传输,并将读指针移动至下一个缓存空间;如果读指针指向的缓存空间为空,则跳过该端口,读取下一个端口的虚拟缓存队列模块中读指针指向的缓存空间中的数据帧,如此循环调度每个端口,直到所有端口的虚拟缓存队列模块中的缓存空间都为空。

附图说明

图1为实施例所示的光纤网络交换机的一个端口的虚拟输入缓存策略结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。

如图1所示,本实施例所示光纤网络交换机包含x个端口、x个虚拟输入缓存队列模块和一个仲裁器,一个端口配置一个虚拟输入缓存队列模块,不分配输出缓存队列,每个虚拟输入缓存队列模块包含控制器、m个缓存空间、读指针和写指针。

m个缓存空间由随机存取存储器(ram)实现。虚拟输入缓存队列模块的缓存空间的数量可以设置,以便最大程度利用资源。缓存空间的数量取决于随机存取存储器中用于缓存空间的空间大小、端口数和最大数据帧长。假设随机存取存储器中用于缓存空间的空间大小为k字节,端口数为n个,最大数据帧长为l字节,每个虚拟输入缓存队列模块的缓存空间的数量为m,则:

m=[k/(n·l)](其中[]表示取整)

对于所有从某一端口输入的数据帧,都按照“先入先出”的原则,存放于各自的虚拟输入缓存队列模块中。“先入先出”原则通过为每个虚拟缓存队列模块设置一个读指针和一个写指针实现。如果指针指向其缓存空间的最后一个,则立即跳至缓存空间的头一个。通过这种方式,将缓存空间首尾相连,形成一个环装队列,最大程度利用缓存空间。

当端口有数据帧进入时,控制器将数据帧写入写针指所指向的缓存空间,每写入一个字节,写指针的地址值加1,在数据帧写完后控制器进行crc校验,若数据帧通过crc校验,则表示该数据帧为有效数据帧,将写指针移至该虚拟缓存队列中下一帧缓存空间的开头;若数据帧未通过crc校验,则表示该数据帧为无效帧,将写指针移至当前缓存空间的开头。

对于每一帧数据,其帧头中包含目的端口的信息,以一个字表示,被称为d_id。根据路由表,可以从d_id中解算出目的端口。如果该帧为单播帧,则目的端口为一个,如果该帧为多播帧,则目的端口为至少两个。路由查找功能由内容可寻址存储器(contentaddressablememory,cam)实现。

仲裁器采用时间片轮转调度算法(roundrobin调度算法)。该时间片轮转调度算法以时间片为单位进行数据传输,以端口号作为端口的调度顺序,在时间片执行完成之后,提取下一个端口的虚拟缓存队列模块中读指针指向的缓存空间中的数据帧,根据数据帧的目的端口号进行数据传输,当移动到数据帧末尾后,读指针跳至该虚拟缓存队列中下一帧缓存空间的开头。如果读指针指向的缓存空间为空,则跳过该端口,读取下一个端口的虚拟缓存队列模块中读指针指向的缓存空间中的数据帧,如此循环调度每个端口,直到所有端口的虚拟缓存队列模块中的缓存空间都为空。从而实现了合理调度。

在执行读操作和写操作前,由于读指针和写指针始终指向缓存空间的开头,因此能保证每次的读写操作都是从帧开头开始的。当前缓存队列所缓存的帧数,由读指针和写指针的地址指示。如果一个缓存队列有m缓存空间,每个缓存空间大小为l字节,则当读指针地址b小于写指针地址a时,存储的帧数为:

(a-b)/l

当读指针地址b大于写指针地址a时,存储的帧数为:

(a+m·l-b)/l

特别的,如果读指针和写指针的值相同,则此时虚拟缓存队列为满或者空。满则不再进行写操作,空则不再进行读操作。

综上,所述一种基于光纤网络交换机的虚拟缓存策略,能够在满足所述光纤网络交换机需求的前提下,避免通道阻塞现象,实现数据交换功能,且资源利用率高。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。



技术特征:

技术总结
本发明公开了一种光纤网络交换机,包含X个端口、X个虚拟输入缓存队列和一个仲裁器,一个端口配置一个虚拟输入缓存队列模块,虚拟输入缓存队列模块包含控制器、M个缓存空间、读指针和写指针,当端口有数据帧进入时,控制器将数据帧写入写针指所指向的缓存空间;仲裁器以时间片为单位进行数据传输,以端口号作为端口的调度顺序,在时间片执行完成之后,提取下一个端口的虚拟缓存队列模块中读指针指向的缓存空间中的数据帧,根据数据帧的目的端口号进行数据传输。本发明能够在满足所述光纤网络交换机需求的前提下,避免通道阻塞现象,实现数据交换功能,且资源利用率高。

技术研发人员:李家越;顾剑鸣
受保护的技术使用者:中国航空无线电电子研究所
技术研发日:2018.10.18
技术公布日:2019.03.19
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1