CN102377631A - 一种基于流量控制的数据传输方法及通信系统 - Google Patents
一种基于流量控制的数据传输方法及通信系统 Download PDFInfo
- Publication number
- CN102377631A CN102377631A CN2010102481915A CN201010248191A CN102377631A CN 102377631 A CN102377631 A CN 102377631A CN 2010102481915 A CN2010102481915 A CN 2010102481915A CN 201010248191 A CN201010248191 A CN 201010248191A CN 102377631 A CN102377631 A CN 102377631A
- Authority
- CN
- China
- Prior art keywords
- address
- packet
- port
- node server
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于流量控制的数据传输方法、一种基于流量控制的交换机、一种节点服务器和一种基于流量控制的通信系统,以解决目前的IP网络无法保证网络传输品质的问题。所述方法包括:针对每个服务申请,交换机获得流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;交换机接收数据包,并放入包缓存队列;交换机轮询包缓存队列,根据流量控制信息从包缓存队列中取包发送。本发明可以实现精确的流量控制,适用于多媒体传输,保证传输品质。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种基于流量控制的数据传输方法、一种基于流量控制的交换机、一种节点服务器和一种基于流量控制的通信系统。
背景技术
通信网络(包括互联网)使得不同的个人和机构之间能够交换信息和其他信息资源。网络通常包括通路、传输、信令以及网络管理等技术。这些技术已广泛地见诸于各类文献。对此作了概括介绍的有:StevenShepherd所著的《Telecommunications Convergence》(McGraw-Hill,2000),Annabel Z.Dodd所著的《The Essential Guide.toTelecommunications》第三版(Prentice Hall PRT,2001),或Ray Horak所著的《Communications Systems and Networks》第二版(M&T Books,2000)。这些技术以往取得的进展已经充分地增进了信息传输的速度和质量,并降低了其费用。
连接终端到一个广域传输网络的通路技术(如终端装置和网络边缘的局域环路)已经从14.4、28.8和56K的调制解调器发展到包括ISDN、T1、线缆调制解调器、DSL、以太网和无线连接在内的技术。
现今用在广域网中的传输技术包括:同步光纤网(SONET)、密集波分复用(DWDM)、帧中继、异步传输模式(ATM)和弹性分组环(RPR)。
在所有不同的信令技术中(如在网络中用来建立、维持和终结通信的协议和方法),互联网协议(IP)的应用最为广泛。事实上,几乎所有的通信和网络专家认为集声音(如电话)、视频和数据网于一体的一个基于IP协议的网络(如互联网)将是不可避免的。就像一位作者所阐述的那样:“有一件事是清楚的,那就是以IP为基础的整合各类网络于一体的列车已经驶离了车站,有些乘客对此次旅行极具热情,而另一些则很不情愿地被拖拽而行,并哭、叫、踢打着列举IP的种种缺陷。但是不管它有着何种缺陷,IP已被采纳为一种行业标准,除了它以外没有任何其他的技术具有如此大的潜力和发展的空间。”(摘自1998年8月10日《Network World》上的“IP Convergence:Building the Future”,作者SusanBreidenbach)。
随着Internet的业务爆炸式增长,其应用范围已扩展到社会的各个领域和各个行业。从电信业来看,传统的电信业务已越来越多地采用IP传输,即所谓的Everything Over IP。现有的电信网的框架将从电路交换及其组网技术,逐步转向以分组交换特别是IP为基础的新框架,电信网承载的业务将从以电话为主,转向以数据业务为主。
TCP/IP网络协议:
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网间网协议)是目前世界上应用最为广泛的协议,它的流行与Internet的迅猛发展密切相关-TCP/IP最初是为互联网的原型ARPANET所设计的,目的是提供一整套方便实用、能应用于多种网络上的协议,事实证明TCP/IP做到了这一点,它使网络互联变得容易起来,并且使越来越多的网络加入其中,成为Internet的事实标准。
*应用层-应用层是所有用户所面向的应用程序的统称。TCP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网(WWW)访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。
*传输层-这一层的的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协议有TCP和UDP。
*网络层-是TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。
*网络接口层-这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
IP是怎样实现网络互连的?各个厂家生产的网络系统和设备,如以太网、分组交换网等,它们相互之间不能互通,不能互通的主要原因是因为它们所传送数据的基本单元(技术上称之为“帧”)的格式不同。IP协议实际上是一套由软件程序组成的协议软件,它把各种不同“帧”统一转换成“IP数据包”格式,这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。
那么,“数据包”是什么?它又有什么特点呢?数据包也是分组交换的一种形式,就是把所传送的数据分段打成“包”,再传送出去。但是,它属于“无连接型”,是把打成的每个“包”(分组)都作为一个“独立的报文”传送出去,所以叫做“数据包”。这样,在开始通信之前就不需要先连接好一条电路,各个数据包不一定都通过同一条路径传输,所以叫做“无连接型”。这一特点非常重要,在文本信息传输的情况下,它大大提高了网络的坚固性和安全性。
每个数据包都有报头和报文这两个部分,报头中有目的地址等必要内容,使每个数据包不经过同样的路径都能准确地到达目的地。在目的地重新组合还原成原来发送的数据。这就要IP具有分组打包和集合组装的功能。
在实际传送过程中,数据包还要能根据所经过网络规定的分组大小来改变数据包的长度,IP数据包的最大长度可达65535个字节。
服务品质保证(QoS)是IP互联网的一个主要问题。尽管长期以来无数个研究报告试图解决这一难题,如果我们将QoS主要里程碑按时间排列,不难看出互联网QoS是不断降低要求,并不断失败的无奈历史。从“Inte Serv”(1990)到“Diff Serv”(1997),再到“Lightload”(2001),各种看似有效的QoS局部改善方案加起来,距离全网范围品质保证的目标还是像水中的月亮。QoS看起来很近,其实遥不可达。
早在IP互联网初期阶段,视讯应用已经成为网络服务的目标,如MBone。由于缺乏有效的品质保证,长期无法开展有商业价值的视频通讯服务,削弱了IP互联网的盈利能力。因此,解决网络传输品质难题,具有很大的商业价值。网络传输品质具体表现为丢包和误码。电脑文件对于传输中的错误不敏感,就算传输过程中大部分数据包都丢掉了,只要有TCP的重发机制,电脑还是会认为网络是可用的。但是,若丢包和误码率高于千分之一,对同步视讯将会造成视音品质下降。经验数据告诉我们,高品质视频通讯甚至要求丢包和误码少于十万分之一。当前网络环境的测试数据显示,绝大部分丢包发生在路由器内部,在光纤传输中产生的误码几乎可以忽略不计。
*为什么“Inte Serv”不成功?
“Inte Serv”建立在独立流资源预留的基础上,采用ResourceReservation SetupProtocol(RSVP)。在一个大规模网络环境中,如果能在两个视讯终端之间预留一部分带宽资源,为该视讯业务专用。听起来很好,但实际上行不通。
首先,这个方案要求全网设备改造,等于重新建网,实际操作几乎不可能。
其次,就算实现了全网改造,比如能够在每一台交换机内,为2Mbps的视讯业务保留2Mbps带宽,能否解决品质保证呢?答案是否定的。
所谓RSVP的2Mbps带宽只能对宏观而言,如果1秒钟的数据集中在前半秒发送,就会造成问题,形成周期性的突发流量。由于,IP互联网的核心理念是尽力而为,在每一个网络节点,交换机总是试图以最快速度转发数据。当一个视讯流通过多级交换机后必然导致流量分布不均匀。多个不均匀的非同步流合在一起,在一段时间内将产生更大的不均匀,也就是说,网络流量一定有周期性的阻塞。随着视讯用户数增加,周期性的阻塞没有上限,当超过交换机内部储存量,直接导致丢包后果。
*为什么“Diff Serv”不成功?
在“Inte Serv”问世7年后,一种新方法“Diff Serv”开始流行。“DiffServ”试图提供一种优于尽力而为的网络服务。这一方法不需要复杂的全网资源预留,实施很简单。只要在每个数据包中打上“优先级”标记,网络交换机首先处理带有“优先级”的视讯数据。其基本原理好比银行为VIP客户发放金卡,能够有效减少高端客户的排队时间。这个方法听起来也很好,但实际上还是行不通。
我们不能忽视一个简单的事实,单一视讯业务流量远远大于传统非视讯业务(百倍以上)。
只要有少量视讯用户,网络上看到的几乎都是视讯数据包。如果大部分数据包都有金卡,也就谈不上VIP了。另外由于IP互联网管理不是强制性的,尽管QoS为用户制定了一套独善其身的道德标准,但要求别人都自觉执行根本不现实。
因此,“Diff Serv”除了在少数企业专网中有用,难以在大规模公网中有效推广。
*为什么“Light load”不成功?
自从IP互联网逐步普及以来,人们不间断地寻找解决网络品质保证的良方。网络技术专家们经过10多年搜肠刮肚,两大QoS方案均不理想。在对于解决QoS失去信心的大环境下,一些不愿留名的人提出了不是办法的办法,即“Light load”。其基本设想是所谓的轻载网络,认为只要给足带宽,光纤入户,就不担心网络拥塞。
轻载网络的设想可行吗?答案还是否定的。
当前的网络技术专家们似乎没有意识到一个基本原理,网络丢包现象的根源是流量不均匀性造成的。从宏观上看,在一个时间段发送略快一点,必然导致另一时间段的拥挤,只要网络流量不均匀,网络可能达到的峰值流量就没有上限,在短时间内可以占满任意大的带宽。
其实,只要有2Mbps带宽就可以传输相当不错的视讯节目,若有8Mbps带宽,就可以传输HDTV品质的视讯内容。然而,如果我们在普通网站上随意点看一段文字或一幅照片,现今的网站服务器多数使用千兆网口,其瞬间流量是HDTV的数十倍。如果有许多个类似网站,刚巧碰撞在一起,在某个短时间产生的突发流量会超过全网用户使用HDTV所需,能够占满任意宽的网络。统计分析显示,这种碰撞是很频繁的。
IP互联网试图采用储存器来吸收瞬间流量,其后果是增加了传输时延。由于储存能力有限,而突发流量没有上限。因此,采用储存方法只能改善本设备丢包的机会,在本节点吸收的突发流量将对下一个节点造成更大的压力。视讯流量源源不断,交换机储存方式加剧了突发流向薄弱节点汇聚,网络丢包不可避免。
当前的网络建设者们,采用轻载加上“Diff Serv”技术,可以应付窄带的VoIP语音业务。这是因为语音在网络总流量中不占主要部分,一旦发生拥挤,牺牲电脑文件,对语音优先。但是,对于高带宽的视频通讯而言,局部扩容只能收到暂时改善的效果。如果其他地方也扩容,网络流量的不均匀性跟着水涨船高,导致原先已扩容部分的效果下降。如果全网都平均扩容的话,传输品质又将恢复到原先没有扩容前的样子。也就是说,整体扩容是无效的。
当前的设备厂商推荐每户数十,乃至上百兆的超宽带接入网,就算每家都有了光纤到户,还是难以向消费者展示品质保证的视频通讯服务。再复杂的QoS手段充其量只能“改善”IP互联网的传输品质,而无法“保证”网络传输品质。
发明内容
本发明所要解决的技术问题是提供一种基于流量控制的数据传输方法、一种基于流量控制的交换机、一种节点服务器和一种基于流量控制的通信系统,以解决目前的IP网络无法保证网络传输品质的问题。
为了解决上述问题,本发明公开了一种基于流量控制的数据传输方法,包括:针对每个服务申请,交换机获得流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;交换机接收数据包,并放入包缓存队列;交换机轮询包缓存队列,根据流量控制信息从包缓存队列中取包发送。
其中,所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
所述方法可以对上行链路和下行链路都进行流量控制,但优选的,只对上行链路即可,因此所述数据包是上行数据包。
所述方法的具体实现如下:
其一,所述接收数据包之后,存入包缓存队列之前,还包括:对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入相应的端口接收缓存;则所述放入包缓存队列为:从端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存队列。其中,可以检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求。
其中,所述,检测要求可以从节点服务器获得,因此所述方法还包括:新型网中具有集中控制功能的节点服务器根据终端发起的服务申请协议包,生成针对该服务的检测要求;节点服务器向上行链路上进行流量控制的交换机发送针对该服务的检测要求。
其二,实时获得流量控制信息之后,还包括:根据流量控制信息产生发送令牌,所述令牌中包含流标识符。则所述根据流量控制信息从包缓存队列中取包发送包括:根据发送令牌中的流标识符,从相应流的包缓存队列中顺序读取数据包,并放入端口发送缓存;从端口发送缓存读取数据包发送。此外,还可以包括:判断是否同时满足以下两个条件:第一,端口发送缓存未满;第二,相应流的包缓存队列中的包计数器大于零;如果同时满足,则根据发送令牌中的流标识符,从相应流的包缓存队列中顺序读取数据包,并放入端口发送缓存。
所述针对每个服务申请,交换机通过以下方式获得流量控制信息:新型网中具有集中控制功能的节点服务器根据终端发起的服务申请协议包,生成流量控制信息;节点服务器向上行链路上进行流量控制的交换机发送针对该服务的流量控制信息。
新型网中的每个交换机都可以进行流量控制,但优选的,所述进行流量控制的交换机为接入终端的第一个交换机。
所述节点服务器具有集中控制功能,通过以下方式生成流量控制信息:
节点服务器中维护着地址信息表,所述地址信息表记录了新型网地址占用信息、设备描述信息和设备资源描述信息,其中设备资源描述信息包括该设备各个网络端口连接的接入网设备的新型网地址和该设备各个网络端口的上下行流量计数;节点服务器根据地址信息表中设备各个网络端口连接的接入网设备的新型网地址,获得对应该服务的上行和下行链路;并根据设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。根据地址信息表,节点服务器检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则生成对应该服务的流量控制信息;如果不满足,则拒绝服务申请。
其中,所述地址信息表的维护包括:
其一,节点服务器上电时,初始化所述地址信息表,所述初始化操作包括:在地址信息表的空白表项中写入节点服务器的新型网地址,并将地址占用信息标记为该地址已用;写入设备描述信息为当前节点服务器;写入设备资源描述信息为当前节点服务器的端口信息。
其二,依据节点服务器在其内部的下行协议包地址表中对各下行协议包所导向的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
其三,依据对端口下行协议包所导向的其他接入设备的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个端口下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
其四,当节点服务器接收到交换机发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述交换机的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前交换机;更新所述设备资源描述信息为当前交换机的端口信息,以及,其端口所连接的接入网设备的新型网地址信息。
其五,当节点服务器接收到终端发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述终端的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前终端;更新所述设备资源描述信息为当前终端的端口信息,以及,其端口所连接的接入网设备的新型网地址。
节点服务器的集中控制功能还体现在:
如果针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源,则节点服务器向上行和下行链路上的所有交换机发送传输路径配置信息,所有交换机根据所述配置信息设置各自的数据包地址表。
特殊的,当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则节点服务器继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则生成对应该服务的流量控制信息,并向该上行和下行链路上的所有交换机发送传输路径配置信息,所有交换机根据所述配置信息设置各自的数据包地址表。相应的,若节点服务器获得多条满足服务的上行或下行链路,则按照预置规则选择其中一条。所述预置规则为节点服务器获取各条链路的流量信息,以及,当次服务的流量信息,确定已用流量最小的通信链路为当次服务的通信链路。或者,所述预置规则为节点服务器获取各条链路的带宽信息,以及,当次服务的带宽信息,确定带宽最大的链路为当次服务的通信链路。
所述数据包地址表的使用如下:所述接收数据包之后,存入包缓存队列之前,还包括:查询数据包地址表,获得数据包的传输导向信息;则所述从包缓存队列中取包发送为:按照数据包的传输导向信息发送。
交换机不仅可以对数据包进行精确的流量控制,还可以对协议包也进行流量控制,具体为:进行流量控制的交换机接收服务申请协议包,对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入相应的端口接收缓存;从所述端口接收缓存读取协议包,并放入相应的包缓存队列;轮询所述包缓存队列,如果端口发送缓存未满,并且所述包缓存队列中的包计数器大于零,则以预定义的时间间隔从包缓存队列中顺序读取协议包,并放入端口发送缓存;从端口发送缓存读取协议包发送。
上述方法中,所述数据包地址表包括单播数据包地址表和组播数据包地址表,分别用于导向单播数据包和组播数据包。
本发明还提供了一种基于流量控制的交换机,包括:
CPU模块,用于针对每个服务申请,获得流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
包缓存器,用于存储数据包;
第一网络接口,用于接收数据包;
第二网络接口,用于发送数据包;
交换引擎,用于将第一网络接口接收的数据包放入包缓存器队列,并轮询包缓存器队列,根据流量控制信息从包缓存器队列中取包并通过第二网络接口发送。
所述交换机可以对上行和下行链路都进行流量控制,但是优选的,对上行进行控制即可。因此,所述数据包是上行数据包,则所述第一网络接口为下行网络接口,所述第二网络接口为上行网络接口。其中,所述第一网络接口和第二网络接口分别包括至少一个端口,每个端口都设有端口接收缓存和端口发送缓存,分别用于存储接收的数据包和待发送的数据包。
为了实现精确的流量控制,所述的交换机还包括:
包检测模块,用于对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入第一网络接口中相应的端口接收缓存;则所述交换引擎从第一网络接口的端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存器队列。其中,所述包检测模块用于检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求。并且,所述包检测模块从新型网中具有集中控制功能的节点服务器获得针对当前服务的检测要求。
所述的交换机还包括:码率控制模块,用于由CPU模块进行配置,根据流量控制信息产生发送令牌,并发送给交换引擎,所述令牌中包含流标识符。所述交换引擎从码率控制模块获得发送令牌,根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存;第二网络接口从端口发送缓存读取数据包发送。此外,所述交换引擎还用于判断是否同时满足以下两个条件:第一,第二网络接口的端口发送缓存未满;第二,相应流的包缓存队列中的包计数器大于零;如果同时满足,则根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存。
优选的,所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
优选的,为了实现精确的流量控制,所述CPU模块从新型网中具有集中控制功能的节点服务器获得针对每个服务的流量控制信息。所述交换机为接入终端的第一个交换机。
相应的,所述CPU模块还用于从节点服务器获得针对每个服务的传输路径配置信息,并根据所述传输路径配置信息设置数据包地址表。所述交换引擎还用于查询数据包地址表,获得数据包的传输导向信息;则所述第二网络接口按照数据包的传输导向信息发送数据包。
此外,所述交换机还可以对协议包进行流量控制,如下:
所述第一网络接口还用于接收服务申请协议包;
所述包检测模块还用于对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入第一网络接口中相应的端口接收缓存;
所述交换引擎还用于从所述第一网络接口的端口接收缓存读取服务申请协议包,并放入相应的包缓存器队列;轮询包缓存器队列,如果第二网络接口的端口发送缓存未满,并且所述包缓存器队列中的包计数器大于零,则以预定义的时间间隔从包缓存器队列中顺序读服务申请取协议包,并放入第二网络接口的端口发送缓存;
第二网络接口还用于从端口发送缓存读取服务申请协议包发送。
本发明中,所述数据包地址表包括单播数据包地址表和组播数据包地址表,分别用于导向单播数据包和组播数据包。
本发明还提供了一种基于流量控制的节点服务器,包括:
流量控制信息生成模块,用于针对每个服务申请,生成流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
流量控制信息发送模块,用于向进行流量控制的交换机发送针对该服务的流量控制信息。
所述节点服务器具有集中控制功能,体现在:
还包括:地址信息表,用于记录新型网地址占用信息、设备描述信息和设备资源描述信息,其中设备资源描述信息包括该设备各个网络端口连接的接入网设备的新型网地址和该设备各个网络端口的上下行流量计数。
还包括:传输路径获取模块,用于根据终端发起的服务申请协议包,查找地址信息表中设备各个网络端口连接的接入网设备的新型网地址,获得对应该服务的上行和下行链路。
还包括:流量计算模块,用于根据地址信息表中设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。
还包括:流量控制模块,用于检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息;如果不满足,则拒绝服务申请。
还包括:路径通知模块,用于当针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源时,向上行和下行链路上的所有交换机发送传输路径配置信息,所述传输路径配置信息用于交换机设置各自的数据包地址表。
还包括:路径配置模块,用于当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则触发流量控制模块继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息,并触发路径通知模块向该上行和下行链路上的所有交换机发送传输路径配置信息。若有多条满足服务的上行或下行链路时,则路径配置模块按照预置规则选择其中一条。其中,所述预置规则为确定已用流量最小的链路为当次服务的通信链路。或者,所述预置规则为确定带宽最大的链路为当次服务的通信链路。
一种优选的的实现方式是:所述流量控制信息发送模块向上行链路上进行流量控制的交换机发送针对该服务的流量控制信息。所述进行流量控制的交换机为接入终端的第一个交换机。所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
针对地址信息表的维护,所述节点服务器还包括:
地址信息表初始化模块,用于当节点服务器上电时,初始化所述地址信息表,所述初始化操作包括:在地址信息表的空白表项中写入节点服务器的新型网地址,并将地址占用信息标记为该地址已用;写入设备描述信息为当前节点服务器;写入设备资源描述信息为当前节点服务器的端口信息。
地址信息表更新模块,用于依据节点服务器在其内部的下行协议包地址表中对各下行协议包所导向的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
所述地址信息表更新模块还用于依据对端口下行协议包所导向的其他接入设备的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个端口下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
所述地址信息表更新模块还用于当收到交换机发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述交换机的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前交换机;更新所述设备资源描述信息为当前交换机的端口信息,以及,其端口所连接的接入网设备的新型网地址信息。
所述地址信息表更新模块还用于当收到终端发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述终端的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前终端;更新所述设备资源描述信息为当前终端的端口信息,以及,其端口所连接的接入网设备的新型网地址。
所述节点服务器的集中控制功能还体现在:
还包括:包检测要求生成模块,用于根据终端发起的服务申请协议包,生成针对该服务的数据包检测要求;其中,数据包检测要求包括数据包的目的地址、源地址、数据包类型和包长度的检测要求。
还包括:包检测要求发送模块,用于向进行流量控制的交换机发送针对该服务的数据包检测要求。其中,所述包检测要求发送模块向上行链路上进行流量控制的交换机发送针对该服务的数据包检测要求。
本发明还提供了一种基于流量控制的通信系统,包括:
节点服务器、进行流量控制的交换机和终端,其中,
节点服务器包括:
流量控制信息生成模块,用于针对每个服务申请,生成流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
流量控制信息发送模块,用于向进行流量控制的交换机发送针对该服务的流量控制信息;
进行流量控制的交换机包括:
CPU模块,用于针对每个服务申请,从节点服务器获得流量控制信息;
包缓存器,用于存储数据包;
第一网络接口,用于接收数据包;
第二网络接口,用于发送数据包;
交换引擎,用于将第一网络接口接收的数据包放入包缓存器队列,并轮询包缓存器队列,根据流量控制信息从包缓存器队列中取包并通过第二网络接口发送;
终端,用于向节点服务器发起服务申请,并传输针对该服务的数据包。
其中,所述数据包是上行数据包,则所述第一网络接口为下行网络接口,所述第二网络接口为上行网络接口。所述第一网络接口和第二网络接口分别包括至少一个端口,每个端口都设有端口接收缓存和端口发送缓存,分别用于存储接收的数据包和待发送的数据包。
为了实现精确的流量控制,所述进行流量控制的交换机还包括:包检测模块,用于对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入第一网络接口中相应的端口接收缓存;则所述交换引擎从第一网络接口的端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存器队列。所述包检测模块检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求。
节点服务器具有集中控制的功能,体现在,所述节点服务器还包括:包检测要求生成模块,用于根据终端发起的服务申请协议包,生成针对该服务的数据包检测要求;包检测要求发送模块,用于向进行流量控制的交换机发送针对该服务的数据包检测要求。其中,所述包检测要求发送模块向上行链路上进行流量控制的交换机发送针对该服务的数据包检测要求。
为了实现精确的流量控制,所述进行流量控制的交换机还包括:码率控制模块,用于由CPU模块进行配置,根据流量控制信息产生发送令牌,并发送给交换引擎,所述令牌中包含流标识符。所述交换引擎从码率控制模块获得发送令牌,根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存;第二网络接口从端口发送缓存读取数据包发送。此外,所述交换引擎还可以用于判断是否同时满足以下两个条件:第一,第二网络接口的端口发送缓存未满;第二,相应流的包缓存队列中的包计数器大于零;如果同时满足,则根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存。
一种优选的实现方式是:所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。所述流量控制信息发送模块向上行链路上进行流量控制的交换机发送针对该服务的流量控制信息。所述进行流量控制的交换机为接入终端的第一个交换机。
所述节点服务器的集中控制功能还体现在:
所述节点服务器设置有地址信息表,用于记录新型网地址占用信息、设备描述信息和设备资源描述信息,其中设备资源描述信息包括该设备各个网络端口连接的接入网设备的新型网地址和该设备各个网络端口的上下行流量计数。
相应的,所述节点服务器还包括以下模块:
传输路径获取模块,用于根据终端发起的服务申请协议包,查找地址信息表中设备各个网络端口连接的接入网设备的新型网地址,获得对应该服务的上行和下行链路。
流量计算模块,用于根据地址信息表中设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。
流量控制模块,用于检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息;如果不满足,则拒绝服务申请。
路径通知模块,用于当针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源时,向上行和下行链路上的所有交换机发送传输路径配置信息。
路径配置模块,用于当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则触发流量控制模块继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息,并触发路径通知模块向该上行和下行链路上的所有交换机发送传输路径配置信息。若有多条满足服务的上行或下行链路时,则路径配置模块按照预置规则选择其中一条。
相应的,所述交换机的CPU模块还用于从节点服务器获得针对每个服务的传输路径配置信息,并根据所述传输路径配置信息设置数据包地址表。所述交换引擎还用于查询数据包地址表,获得数据包的传输导向信息;则所述第二网络接口按照数据包的传输导向信息发送数据包。所述数据包地址表包括单播数据包地址表和组播数据包地址表,分别用于导向单播数据包和组播数据包。
相应的,所述地址信息表的维护如下:
所述节点服务器还包括:地址信息表初始化模块,用于当节点服务器上电时,初始化所述地址信息表,所述初始化操作包括:在地址信息表的空白表项中写入节点服务器的新型网地址,并将地址占用信息标记为该地址已用;写入设备描述信息为当前节点服务器;写入设备资源描述信息为当前节点服务器的端口信息。
地址信息表更新模块,用于依据节点服务器在其内部的下行协议包地址表中对各下行协议包所导向的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
所述地址信息表更新模块还用于依据对端口下行协议包所导向的其他接入设备的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个端口下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
所述地址信息表更新模块还用于当收到交换机发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述交换机的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前交换机;更新所述设备资源描述信息为当前交换机的端口信息,以及,其端口所连接的接入网设备的新型网地址信息。
所述地址信息表更新模块还用于当收到终端发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述终端的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前终端;更新所述设备资源描述信息为当前终端的端口信息,以及,其端口所连接的接入网设备的新型网地址。
所述交换机不仅可以对数据包进行流量控制,还可以对协议包进行控制,实现如下:所述交换机的所述第一网络接口还用于接收服务申请协议包;所述包检测模块还用于对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入第一网络接口中相应的端口接收缓存;所述交换引擎还用于从所述第一网络接口的端口接收缓存读取服务申请协议包,并放入相应的包缓存器队列;轮询包缓存器队列,如果第二网络接口的端口发送缓存未满,并且所述包缓存器队列中的包计数器大于零,则以预定义的时间间隔从包缓存器队列中顺序读服务申请取协议包,并放入第二网络接口的端口发送缓存;第二网络接口还用于从端口发送缓存读取服务申请协议包发送。
与现有技术相比,本发明具有以下优点:
首先,本发明提出了一种基于精确流量控制的新型网络结构,该网络由具有集中控制功能的节点服务器、与节点服务器相连的交换机、与交换机相连的终端构成。这种新型网络结构中,节点服务器可以集中对各级交换机及终端进行控制,针对每次服务分配端口路径以及本次服务的流量带宽,从而可以获知每个交换机的端口流量信息,进而针对本次服务生成流量控制信息,因此交换机可以实时从节点服务器获得流量控制信息,来对端到端的数据传输进行流量控制。并且,接入终端的第一个上行交换机,可以对每次服务精确控制链路流量,从而保证这种链路流量可以线性叠加(端口执行N个服务,则总流量就是这N个服务流量的叠加之和),即节点服务器可以将交换机各个端口的流量进行线性叠加来进行流量统计,因此可以实现流量的精确控制。
其次,本发明提供的基于流量控制的数据传输方法中,所述流量控制信息包括发送时间间隔和可发送字节数的最大值,以及用于调整变长包发送的参数。进行流量控制的交换机根据所述流量控制信息,可以把输入不均匀的数据流以均匀的码率发送出去,实现数据的稳定传输。而且,针对不同数据流(即针对不同业务),还可以有不同的码率控制。并且,本发明对终端的输入没有要求,即不限制终端向交换机的发包速率,也不限制交换机的数据接入数量,这是因为本发明先将接收的数据包存入包缓存器队列,然后再根据流量控制信息从包缓存队列中取包发送,包缓存器的设置实现了对终端的无要求。
再次,本发明在进行流量控制的过程中,首先对接收的数据包进行目的地址、源地址、数据包类型和包长度等内容的检测,以便对不符合传输要求的数据包进行过滤丢弃,从而提高了网络的安全性和完整性。
再次,本发明所述网络中,可以在接入终端的第一个交换机中对上行链路进行流量控制,并且可以对上行的数据包和协议包都进行流量控制。
附图说明
图1是本发明实施例所述一种基于流量控制的数据传输方法流程图;
图2是本发明实施例中新型网的节点服务器内部结构示意图;
图3是本发明实施例中新型网的接入交换机内部结构示意图;
图4是本发明实施例中新型网的数据结构示意图;
图5是本发明实施例所述接入交换机进行流量控制的流程图;
图6是本发明实施例中接入交换机接入新型网的流程示意图;
图7是本发明实施例中终端接入新型网的流程示意图;
图8是本发明实施例所述节点服务器与接入交换机、终端在入网过程中的交互示例连接图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
首先介绍本发明的设计思路:
本发明实现全网品质保证的充分条件有以下几点:
第一,IP互联网核心理论中关于“尽力而为”(Best Efforts)的机制必然导致网络流量不均匀和频繁的丢包。实际上,TCP协议正是利用网络丢包状态来调节发送流量。
第二,IP互联网核心理论中关于“储存转发”(Store&Forward)的机制在吸收本地突发流量的同时,将造成下一个节点网络流量更大的不均匀。
第三,IP互联网核心理论中关于“检错重发”(Error Detection&Retransmission)的机制在同步视频通讯中,将造成不可容忍的延时,因此没有实用价值。
第四,连续性的网络流量不均匀或突发流量必然导致周期性交换机(路由器)丢包。
由此可见,由于电脑文件突发流量本质是离散性,没有后继,上述IP互联网核心理论曾经使互联网高效率传输文件。但是,面对连续性同步流媒体传输中的品质保证,昔日的功臣却成了破坏网络传输品质的元凶。我们已经从前面论述中得出结论,任何资源预留、优先级别和轻载方案都不能从根本上解决同步流媒体的品质保证。
既然前述方法无一可行,那么,解决网络传输品质保证的出路在哪里?
本发明认为,当前各种QoS方法,都建立在一种错误的假设上。根据这种假设,QoS的解决方法是为视讯流量提供优先处理的特权。但事实是,由于不同媒体形式所需的网络流量极度不匀,只要有少数人使用视讯服务,网络上的视讯流量将占据绝对主体。
如果换一角度看,专门为大部分网络流量提供好的品质,等效于专门为少部分非视讯流量提供差的品质。既然,大部分网络流量必须要求品质保证,那么,剩下少数不要求品质保证的业务流量也都给于品质保证何尝不可。假设1000位旅客订飞机票时都要求头等舱,只有少数几位可以接受经济舱,那么,航空公司的自然措施是取消经济舱。因为,为了满足极少数差异化的经济舱,航空公司所花的代价远大于给这些旅客提供免费升舱。实际上,网络传输品质完全不保证,或者完全有保证都很简单,难就难在部分保证和部分不保证,尤其还不知道这“部分”两字的界线划在哪里。因此,只要为全部网络业务都提供品质保证,QoS问题就不存在了。
IP互联网初期好比是乡间小路,在民风淳朴的小镇不需要交通警察。但是到了繁华的大都市,有些热闹路段的红绿灯和交通警察都控制不了混乱局面,出行赴约难以确定时间,就像今天的IP互联网。
本发明好比是高速公路,不需要警察和红绿灯,水泥隔开的车道和立交桥确保汽车在规定的道路行驶。根据加州交通局的经验,避免高速公路堵车的办法是关闭入口匝道。
加州高速公路的设计思路有三个特点:
●在公路入口匝道设置开关,控制宏观车流量。
●保持车速稳定,提高道路通车率。
●采用水泥结构的道路分隔和立交桥,而不是警察和红绿灯来规范车辆行驶。
本发明实施例遵循电话网的原理,采取类似上述高速公路的三项措施:
●每条通路都计算和实测流量,一旦流量接近饱和,采取绕道或拒绝新用户加入。
●严格均流发送,本发明实施例TV能够在90%重载流量下,达到百万分之一的丢包率。
●上行数据匹配和流量控制,从结构上确保用户严格遵守交通规则,因为品质保证措施不可能指望用户自觉执行。
电脑文件与流媒体是两种截然不同的媒体形式,处理方式相互排斥。本发明的网络理论和实践揭示了两项成果:
●本发明实施例百倍于IP互联网的性价比优势
●发展高品质对称电视不干扰现有IP互联网业务的实施方法
尤其在大流量的骨干网络,电脑文件和流媒体通过不同波长合用一根光纤。如果一定要统一到单一网络,如接入网,那么应该是将电脑文件统一到视讯流媒体网络。本发明实施例提供了完整的透明承载IP互联网的解决方案。
将流媒体与文件分开处理只是第一步,如何保证独立的流媒体网络品质?
前面说过,PSTN电话网络采用严格的同步机制,当流量百分之百用满之前,不会出现网络阻塞现象。从理论上讲,多个均匀流合并以后,还是均匀流。实践进一步证明,在均匀流的前提下,网络流量可以接近于极限值,而不发生丢包现象。由于占据未来网络流量中九成以上的视讯媒体流,本身具备均匀流特征。因此,以视讯业务为主要目标的本发明互联网品质保证的途径自然是消除信源流量不均匀,尤其在意从根本上防止重载条件下网络交换机的丢包现象。
本发明实施例是用改良以太网建立面向连接的电路,全网统一采用定长度数据包。只要改变发包时间间隔,就可以得到任意带宽的媒体流。为了保证网络均流特征,本发明互联网要求终端设计必须具备均流能力。但是,在实际网络环境中,显然不可能寄希望于用户自觉遵守均流规定。因此,本发明实施例节点服务器向网络交换机发放通行证,只允许用户数据包在很细的时间精度下均匀通过。对于符合规定要求设计的用户终端,通行证是完全透明的。
在上述前提下,网络实践得出令人满意的结果,本发明的交换机能够在90%带宽利用率的条件下,获得优于百万分之一的重载丢包率。
综上所述,品质保证是下一代网络不可回避的问题,流媒体网络是不同于传统电脑文件的另外一个物种。因此,修改IP互联网去适应视讯业务是没有前途的,创立新的网络是唯一的出路。
下面介绍本发明的实现方法:
在计算机网络系统中,交换机是一种在通信系统中完成信息交换功能的设备。本发明提供了一种基于流量控制的数据传输方法,主要用于交换机进行流量控制。
参照图1,是本发明实施例所述一种基于流量控制的数据传输方法流程图。
步骤101,针对每个服务申请,交换机获得流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
即每当终端发起服务申请时,交换机都会实时获得对应该服务的流量控制信息,并依据流量控制信息对该服务的数据传输进行流量控制。通常,服务不同,相应的流量控制信息也不同,如网络视频和网页浏览两种服务对带宽资源的要求是不同的,因此交换机也会按照不同的发包间隔和发包大小来控制视频数据和网页数据的传输。
其中,针对不同网络结构,交换机获得流量控制信息的方式也不相同,但只要满足交换机能够对每个服务请求都能获得相应的流量控制信息,即可应用本实施例所述方法进行流量控制。
步骤102,交换机接收该服务的数据包;
所述数据包可以是上行链路传输的数据包,也可以是下行链路传输的数据包。
步骤103,对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入相应的端口接收缓存;
如果不符合检测要求,则丢弃。
本步骤是优选处理,可以提高网络传输的安全性和完整性。检测的方式可以是:检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求,通过这种检测,可以将不符合要求的数据包过滤掉。当然,实际应用中也可以根据不同的应用需求来设置检测方式。
此外,服务不同,对应的数据包的目的地址、源地址、数据包类型和包长度也不相同,因此不同服务的检测要求也可能各不相同。
对于检测符合要求的数据包,通过分配流标识符来区分不同服务的数据包,并放入交换机的端口接收缓存。一般交换机会有多个端口,分别连接着不同的网络设备,每个端口都可以与相连的设备接收和发送数据,因此每个端口都设有接收缓存和发送缓存,用于临时存储接收和发送的数据。交换机从哪个端口接收数据包,就放入该端口的接收缓存中。
步骤104,轮询端口接收缓存,从端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存队列;
包缓存是一个更大的缓存空间,可以存放各个端口接收的数据包。包缓存中按照不同服务分为不同的数据包队列。
步骤105,交换机轮询包缓存队列,当同时满足以下发送条件时,从相应流的包缓存队列中顺序读取数据包,并放入端口发送缓存;
条件一,端口发送缓存未满;
条件二,相应流的包缓存队列中的包计数器大于零;
条件三,产生发送令牌;
条件一的目的是:保证从包缓存队列中读取的数据包在端口发送缓存中有空间存放;
条件二的目的是:保证相应流的包缓存队列中有数据包可以发送;
条件三的目的是:产生发送令牌表示可以按照流量控制的发包间隔和发包大小进行发送。
上述条件一和条件二是发送的基本条件,而条件三是关键条件,因为交换机主要是根据条件三来进行流量控制。
所述发送令牌是交换机根据流量控制信息产生,令牌中包含流标识符,用于指示当前可以发送的是哪个服务的数据包。当同时满足以上三个条件时,交换机根据发送令牌中的流标识符,从相应流的包缓存队列中顺序读取数据包放入端口发送缓存。
步骤106,从端口发送缓存读取数据包发送。
下面通过新型网的流量控制来详细说明本发明。
新型网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
一、新型网设备及数据结构
1.1新型网设备分类
1.1.1本实施例的新型网系统中的设备主要可以分为3类:服务器,交换机,终端(包括各种机顶盒,编码板,存储器等)。新型网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.1.2接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒,编码板,存储器等)。其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
各接入网设备的具体硬件结构为:
(1)节点服务器
如图2所示,主要包括网络接口模块、交换引擎模块、CPU模块、磁盘阵列模块;
其中,网络接口模块,CPU模块、磁盘阵列模块进来的数据包均进入交换引擎模块;交换引擎模块对进来的包进行地址查表,从而获得包的导向信息;并根据包的导向信息把该数据包存入对应的包缓存器队列;如果该包缓存器队列接近满,则丢弃;交换引擎轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块主要负责与接入交换机、终端之间的协议处理,对地址表(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块的配置。
(2)接入交换机
接入交换机分为进行流量控制的接入交换机和不进行流量控制的接入交换机,其中不进行流量控制的接入交换机主要包括网络接口模块、交换引擎模块和CPU模块,其模块处理过程可参见上面的节点服务器。
进行流量控制的接入交换机结构如下:
如图3所示,主要包括网络接口模块(下行网络接口模块、上行网络接口模块)、交换引擎模块、CPU模块、包检测模块、码率控制模块、包缓存器;
其中,下行网络接口模块进来的数据包(上行数据)进入包检测模块;包检测模块检测数据包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id),并进入交换引擎模块,否则丢弃;上行网络接口模块进来的数据包(下行数据)进入交换引擎模块;CPU模块进来的数据包进入交换引擎模块;交换引擎模块对进来的包进行地址查表,从而获得包的导向信息;如果进入交换引擎模块的数据包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该数据包存入对应的包缓存器队列;如果该包缓存器队列接近满,则丢弃;如果进入交换引擎模块的数据包不是下行网络接口往上行网络接口去的,则根据包的导向信息把该数据包存入对应的包缓存器队列;如果该包缓存器队列接近满,则丢弃。
交换引擎模块轮询所有包缓存器队列,这里分两种情形;
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块是由CPU模块来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块主要负责与节点服务器之间的协议处理,对地址表的配置,以及,对码率控制模块的配置。
(3)终端
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。
其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
1.2新型网数据包定义
如图4所示,新型网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
1.3新型网实现
为了简化设计,在接入网中的数据包类型总共有4种,分别是:
1)下行协议包(由节点服务器发往接入交换机、终端的协议包);
2)上行协议包(由接入交换机、终端回应给节点服务器的协议包);
3)单播数据包;
4)组播数据包。
此外,在接入网中,针对上述4种数据包类型,节点服务器和节点交换机中还设置了以下4张地址查找表,用于当接收到各种类型的数据包或协议包后,根据相应的地址查找表进行数据包或协议包的传输导向。相应的,地址查找表也分为:
1)协议包地址表:也称为下行协议包的地址表,用于传输导向查询包或服务申请协议包;
2)应答包地址表:也称为上行协议包的地址表,用于传输导向应答包;
3)单播数据包地址表:用于传输导向单播数据包;
4)组播数据包地址表:用于传输导向组播数据包。
例如,接入网的地址总共是16bit,所以总共可以接入的接入交换机、终端数为65536,假设下行协议包的数据报类型为“10000 000”(二进制),也就是0x80(十六进制),上行协议包的数据报类型为“0000 1000”(二进制),也就是0x08(十六进制),单播数据包的数据报类型为“0001 0000”(二进制),也就是0x10(十六进制),组播数据包的数据报类型为“01111000”(二进制),也就是0x78(十六进制),通过合并同类项,可以把8bit长的地址表映射为2bit长的地址表,例如:
“1000 0000”=>“00”,下行协议包的地址表,在本发明实施例中定义为0号表;
“0000 1000”=>“01”,上行协议包的地址表,在本发明实施例中定义为1号表;
“0001 0000”=>“10”,单播数据包的地址表,在本发明实施例中定义为2号表;
“0111 1000”=>”11”,组播数据包的地址表,在本发明实施例中定义为3号表。
结合16bit的接入网地址,在实际中只需4张64K=4x65536,也就是256K的地址表,地址表的输出就表示数据包导向的端口。例如,其中的一种接入交换机BX-008,它具有1个上行的百兆网口,8个下行百兆网口,1个CPU模块接口。如果8个下行百兆网口依次定义为0号端口到7号端口,CPU模块接口定义为8号端口,1个上行的百兆网口定义为9号端口,则总共需要256K x 10bit的地址表,例如地址表的输出为“000000 0001”表示数据包导向的0号端口,“11 0000 0000”表示数据包导向的8号、9号端口,以此类推。
假设9号端口进来一个数据包它的目的地址(DA)是0x8056 0x15000x0000 0x55aa,那么它的数据包类型为0x80,接入网地址为0x55aa,根据查表规则这时查0号表,即地址为“00 0101 0101 1010 1010”,此地址对应的地址表的输出为“01 0000 0000”,表示数据包导向8号端口。
二、接入终端的第一个交换机对上行链路进行流量控制:
参照图5,是本发明实施例所述接入交换机进行流量控制的流程图。
步骤501,下行网络接口接收的数据包进入包检测模块;
步骤502,包检测模块检查数据包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id),并进入相应的端口接收缓存,否则丢弃;
而上行网络接口接收的数据包直接进入相应的端口接收缓存,CPU模块接口接收的数据包也直接进入相应的端口接收缓存。这是因为本实施例是对上行转发进行控制,因此上行网络接口和CPU模块接口接收的数据包都不进行检测。
本实施例中,流标识符(stream-id)可以是8bit,对应256种流。
步骤503,交换引擎对各个端口接收缓存进行轮询,如果有包则对其进行地址表查询,从而获得包的导向信息;
对于数据包,查找数据包地址表,如果是单播数据包,则查找2号表,如果是组播数据包,则查找3号表。
步骤504,如果进入端口接收缓存的数据包是下行网络接口往上行网络接口去的,则交换引擎结合流标识符(stream-id)把该数据包存入对应的包缓存器队列;如果该包缓存器队列接近满,则丢弃;
如果进入端口接收缓存的数据包不是下行网络接口往上行网络接口去的(例如,是上行网络接口往下行网络接口去的,或者是CPU模块接口往下行网络接口去的,等等),则交换引擎根据包的导向信息把该数据包存入对应的包缓存器队列;如果该包缓存器队列接近满,则丢弃;
所述包缓存器中,假设有256个流类型,则可以有256个缓存,分别缓存不同的流对应的数据包。
以上为包的接收部分,下边是包的发送部分:
步骤505,交换引擎轮询所有包缓存器队列,分为两种情形;
第一种,如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:
1)端口发送缓存未满;
2)该队列包计数器大于零;
3)获得码率控制模块产生的令牌;
所谓转发是指由交换引擎从该包缓存器队列顺序读出一个包,并写入上行网络接口的端口发送缓存。
第二种,如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:
1)该端口发送缓存未满;
2)该队列包计数器大于零。
步骤506,检测端口发送缓存,如果有包则发送。
本实施例中,接入交换机是基于存储——转发机制的,所有的端口都有接收缓存和发送缓存,这些缓存都是在交换机芯片内部的,不会太大,每个接送缓存和发送缓存在2kbyte到4kbyte之间,大概可以缓存2到3个最大以太网包(大概1556byte)。但是,仅有这些缓存是远远不够的,因此在交换机芯片外面需要增加包缓存器,一般用SDRAM、SRAM等颗粒包缓存器,比如可以用16Mbyte的SDRAM作为包缓存器,它可以存储10K个最大以太网包(大概1556byte)。所谓的端口发送缓存未满就是指端口发送缓存最少还存一个最大以太网包(大概1556byte),这样保证发送缓存不会溢出。
下面通过一个例子具体说明码率控制模块如何产生令牌。
接入网交换机的码率控制模块为每个流配备了一组计数器,分别定义如下:
bit(68)=op ′0′--->reset,′1′--->normal
bit(67 downto 60)=frame_cnt 0-255
bit(59 downto 50)=frame_4byte -511-511
bit(49 downto 41)=max_frame_4byte 0-511
bit(40 downto 32)=add_4byte 0-511
bit(31 downto 16)=timer_set
bit(15 downto 0)=timer_cnt
bit(68)=op,当op=’0’时表示初始化计数器为零,当op=’1,时表示正常操作;
bit(67 downto 60)=frame_cnt表示包缓存队列中的包计数,这里假设为8bit(0-255);
bit(59 downto 50)=frame_4byte表示可以发送的字节数(注意frame_4byte为4byte的计数器,假设frame_4byte=4,表示可以发送的字节数为16,同时这个计数器可以是负的,这里假设为10bit所以范围是-511-511);
bit(49 downto 41)=max_frame_4byte表示可以发送的字节数的最大值,这里假设为9bit(0-511);
bit(40 downto 32)=add_4byte表示每隔固定时间增加的可以发送的字节数(注意add_4byte为4byte的计数器,假设add_4byte=4,表示增加的可以发送的字节数为16,这里假设为9bit所以范围是0-511);
bit(31 downto 16)=timer_set表示设定的时间间隔,假设系统查询周期为50us,如果timer_set=100,则表示设定的时间间隔为50us x 100=5ms,这里假设为16bit;
bit(15 downto 0)=timer_cnt表示系统查询周期的计数器,假设系统查询周期为50us,则表示每隔50us,timer_cnt加1,这里假设为16bit。
现在假设总共有256个流,则在码率控制模块中会维持256组计数器。码率控制模块对每组计数器处理时间为10个时钟周期,系统时钟为125MHz,也就是时钟周期为8ns。那么处理256组计数器的时间需要256x10x 8ns=20480ns=20.48us,假设系统查询周期为50us,则有非常大的冗余。
为了方便描述,这里假设第50个流的计数器分别设置如下:
timer_set=100,
add_4byte=16,
frame_4byte=-10,
max_frame_4byte=400,
frame_cnt=2。
码率控制模块检查第50个流的计数器,如果timer_cnt=timer_set(100),表示根据设定的时间间隔到了发包的时间,则frame_4byte=frame_4byte+add_4byte,并判断frame_4byte是否大于max_frame_4byte,如果大于则frame_4byte=max_frame_4byte。在上面的例子中,frame_4byte=frame_4byte+add_4byte=-10+16=6,小于max_frame_4byte(400)。
然后,如果frame_4byte大于0,并且frame_cnt大于0,则码率控制模块发送一个令牌给交换引擎(例子中的令牌号为50)。交换引擎根据令牌号从相应的包缓存队列中(例子中为包缓存队列50)取出一个数据包并发送,同时把该数据包的长度返还给码率控制模块。码率控制模块把frame_4byte减去相应的包长度,假设该包长度frame_length=20(4byte的整数倍),则frame_4byte=frame_4byte-frame_length=6-20=-14。
上述计数器op、max_frame_4byte、add_4byte、timer_set即为流量控制信息,都是由CPU模块来配置(通过与节点服务器之间的协议交互获得)。timer_cnt初始化为0,每隔系统查询周期加1;frame_cnt初始化为0,如果该包缓存队列中增加一个数据包,则frame_cnt加1。码率控制模块通过控制max_frame_4byte、add_4byte、timer_set几个参数,可以把输入不均匀的数据流变成均匀的数据流输出。例如,需要输出包长为1024byte、间隔为5ms的数据流,则设置:
max_frame_4byte=256(1024byte),
add_4byte=256(1024byte),
timer_set=100(假设系统查询周期为50us)。
由上可知,服务不同,对应的流也不同,则CPU模块从节点服务器获得的流量控制信息也不同。而且,上述码率控制不仅可以对固定包长的数据包进行控制,还可以对变长包进行控制,所述变长包是指每次输入交换机的数据包长度是变化的。这是因为每次可以发送的数据大小由可发送字节的最大值max_frame_4byte和用于调整变长包发送的参数add_4byte决定。
在新型网中,码率控制模块控制的max_frame_4byte、add_4byte、timer_set几个参数,是由CPU模块配置,而CPU模块又是从节点服务器获得这些流量控制信息。下面介绍一种优选的方法,具体说明码率控制模块如何从节点服务器获得流量控制信息,从而实现精确的流量控制。
所有接入新型网的设备都有唯一的接入网地址(包括终端、接入交换机、存储器,甚至节点服务器本身),节点服务器的CPU模块就维护着这样的地址信息表,对应每个地址的表项由如下构成:
1)地址占用描述符:例如“00”表示此地址未用,“01”表示此地址待用(节点服务器用此地址发出了端口查询包,但未收到入网应答包),“10”表示此地址已用(节点服务器收到入网应答包后设置);
2)设备描述符:例如“000000”表示节点服务器,“000001”表示其中一种接入交换机,“000010”表示其中一种存储器,“000011”表示其中一种终端;
3)设备资源描述信息:例如该设备是接入交换机,则描述信息为它的网络端口连接的设备的接入网地址,它的各个网络端口的上下行流量计数;如果该设备是存储器,则描述信息为它的网络端口连接的设备的接入网地址,它的读写通道的计数以及网络端口的上下行流量计数;等等。所有这些信息都是为了服务流程提供决策依据,而且每次的服务流程中都会修改这些信息。
每当终端发起服务申请时,节点服务器根据服务申请协议包,可以获知本次服务的目的地址(DA)和源地址(SA),然后查找地址信息表,根据每个表项中设备各个网络端口连接的设备新型网地址,可以获得对应本次服务的上行和下行链路;并根据设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。节点服务器检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则生成对应该服务的流量控制信息,并发送给链路上进行流量控制的接入交换机;如果不满足,则拒绝服务申请。
此外,如果针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源,节点服务器还会向上行和下行链路上的所有接入交换机发送传输路径配置信息,所有接入交换机根据所述配置信息设置各自的数据包地址表。
优选的,进行流量控制的交换机可以为接入终端的第一个交换机,这样可以第一时间对终端发出的数据进行流量控制,而后面的接入交换机则可以不再进行上述流量控制,从而节省了数据传输时间。
优选的,当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则节点服务器继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则生成对应该服务的流量控制信息,并向该上行和下行链路上的所有接入交换机发送传输路径配置信息,所有接入交换机根据所述配置信息设置各自的数据包地址表。若节点服务器获得多条满足服务的上行或下行链路,则按照预置规则选择其中一条。所述预置规则为节点服务器获取各条链路的流量信息,以及,当次服务的流量信息,确定已用流量最小的通信链路为当次服务的通信链路。或者,所述预置规则为节点服务器获取各条链路的带宽信息,以及,当次服务的带宽信息,确定带宽最大的链路为当次服务的通信链路。
此外,接入交换机还可以对终端发起的服务申请协议包进行流量控制,具体控制方式如下:
第一网络接口接收服务申请协议包;包检测模块对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入第一网络接口中相应的端口接收缓存;交换引擎从所述第一网络接口的端口接收缓存读取服务申请协议包,并放入相应的包缓存器队列;轮询包缓存器队列,如果第二网络接口的端口发送缓存未满,并且所述包缓存器队列中的包计数器大于零,则以预定义的时间间隔从包缓存器队列中顺序读服务申请取协议包,并放入第二网络接口的端口发送缓存;第二网络接口从端口发送缓存读取服务申请协议包发送。
为了更详细地说明节点服务器中的地址信息表,下面介绍节点服务器与接入交换机(包括进行流量控制的接入交换机)、节点服务器与终端的网管流程和服务流程。
三、接入网设备的网管流程
3.1接入交换机的入网过程
首先每台允许入网的接入交换机都必须在节点服务器里注册,没有注册的接入交换机无法入网。如图6所示,所述接入交换机入网的过程涉及以下步骤:
1、节点服务器向每个端口发送查询包,接入交换机收到查询包后发送应答包,应答包中包含当前接入交换机的注册信息;
2、节点服务器收到接入交换机发出的应答后,就知道哪个端口下接了一台接入交换机,然后在节点服务器内部的注册信息表里找到该接入交换机信息,向该接入交换机发送入网命令(告知接入网地址),该接入交换机收到入网命令后就入网了,同时向节点服务器发送入网命令应答;
3、节点服务器收到接入交换机发出的入网命令应答就知道该接入交换机已经入网了,以后定时向这个端口发送设备状态查询指令,检查这台接入交换机是否正常工作,同时还要向该接入交换机的下行端口发送端口查询包,检查是否有其他接入网设备接在该接入交换机下面。如果当前接入交换机正常工作,收到设备状态查询指令后会发送状态查询应答给节点服务器。当节点服务器一段时间之内没有收到状态查询应答,就认为该接入交换机已经被移出网络,不再发送设备状态查询指令,而继续向本端口发送查询包。
3.2终端的入网过程
首先每台允许入网的终端都必须在节点服务器中注册,没有注册的终端无法入网。如图7所示,所述终端入网的过程涉及以下步骤:
1、节点服务器向每个端口发送查询包,终端收到查询包后发送应答包,该应答包中包含终端的注册信息;
2、节点服务器收到终端发出的应答包后就知道哪个端口下接了哪种终端(机顶盒,编码板还是存储器),然后在节点服务器内部的注册信息表里找到该终端的信息,向该终端发送入网命令(告诉终端的接入网地址),终端收到入网命令后就入网了,同时向节点服务器发送入网命令应答;
3、节点服务器收到终端发出的入网命令应答就知道本终端已经入网了,以后定时向这个端口发送设备状态查询指令,检查终端是否正常工作。如果终端正常工作,收到设备状态查询指令后会发送状态查询应答给节点服务器。当节点服务器一段时间之内没有收到状态查询应答,就认为本终端已经被移出网络,不再发送设备状态查询指令,继续向本端口发送查询包。
3.3节点服务器与接入交换机、终端在入网过程中的交互示例
接入网的地址可以设置为16bit,所有接入网设备都有唯一的接入网地址(包括机顶盒、接入交换机、存储器,甚至节点服务器本身)。为方便管理所有接入网设备的接入网地址,在节点服务器的CPU模块中可以维护一张地址信息表,该表的大小为2的16次方,也即64K,每个表的表项由如下构成:
1)地址占用描述符:“00”表示此地址未用,“01”表示此地址待用(节点服务器用此地址发出了端口下行协议包,但未收到入网上行协议包),“10”表示此地址已用(节点服务器收到入网上行协议包后设置);
2)设备描述符:例如,“000000”表示节点服务器,“000001”表示其中一种接入交换机BX-008,“000010”表示其中一种存储器,“000011”表示其中一种终端;
3)设备资源描述信息:例如,该设备是接入交换机的话,它的网络端口连接的设备的接入网地址,它的各个网络端口的上下行流量计数;如果该设备是存储器的话,它的网络端口连接的设备的接入网地址,它的读写通道的计数以及网络端口的上下行流量计数;等等,所有这些信息是为了服务流程提供决策依据,而且每次的服务流程中都会修改这些信息。
如图8所示,假设一台节点服务器MSS-400,它的0号端口接了一台接入交换机BX-008-0,它的1号端口接了一台接入交换机BX-008-1,BX-008-0的0号端口接了一台机顶盒STB-0,BX_008-1的1号端口接了一台机顶盒STB-1。
1、MSS-400服务器上电后初始化硬件,获得默认城域网地址(假设为0x00 0x0000 0x0000),从硬盘导入配置文件到CPU内存(例如交换机的注册信息、终端的注册信息等等),MSS-400服务器初始化地址信息表,全部清零(表示所有地址未用),MSS-400服务器配置自己的接入网地址为0x0000,也即地址信息表的第0x0000项被配置成如下:
●地址占用描述符:“10”表示此地址已用;
●设备描述符:“000000”表示节点服务器;
●设备资源描述信息:此节点服务器有8个下行百兆网口依次定义为0号端口到7号端口,1个CPU模块接口定义为8号端口,1个磁盘阵列接口定义为9号端口,1个上行千兆光口定义为10号端口,此节点服务器型号为MSS-400,它的网络端口连接的设备的接入网地址未分配,它的各个网络端口的上下行流量计数为0;
地址信息表下一个可用地址为0x0001;
2、MSS-400服务器初始化0、1、2、3号表:
●配置0号表为“000 0000 0000“,即所有下行协议包传送关闭;
●配置1号表为“001 0000 0000”,即所有上行协议包导向CPU;
●配置2号、3号表为“000 0000 0000“,即所有单组播数据包传送关闭;
3、MSS-400服务器知道自己有8个下行端口,下一个可用地址为0x0001,所以它配置8个0号表的表项分别为:
●“00 0000 0000 0000 0001“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0001的查询包导向0号端口;
●“00 0000 0000 0000 0010“=>“000 0000 0010”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0002的查询包导向1号端口;
●“00 0000 0000 0000 0011“=>“000 0000 0100”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0003的查询包导向2号端口;
●“00 0000 0000 0000 0100“=>“000 0000 1000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0004的查询包导向3号端口;
●“00 0000 0000 0000 0101“=>“000 0001 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0005的查询包导向4号端口;
●“00 0000 0000 0000 0110“=>“000 0010 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0006的查询包导向5号端口;
●“00 0000 0000 0000 0111“=>“000 0100 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0007的查询包导向6号端口;
●“00 0000 0000 0000 1000“=>“000 1000 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0008的查询包导向7号端口;
4、MSS-400服务器发目的地址(DA)是0x8000 0x0000 0x00000x0001、0x8000 0x0000 0x0000 0x0002、0x8000 0x0000 0x0000 0x0003、0x8000 0x0000 0x0000 0x0004、0x800 00x0000 0x0000 0x0005、0x80000x0000 0x0000 0x0006、0x800 00x0000 0x0000 0x0007、0x8000 0x00000x0000 0x0008的查询包(SA都为0x0000 0x0000 0x0000 0x0000),根据其0号表的配置,所述查询包会依次导向0到7号端口;此时,地址信息表的第0x0001至0x0008项被配置成:
●地址占用描述符:“01”表示此地址待用;
●设备描述符:不做修改;
●设备资源描述信息:不做修改;
地址信息表的下一个可用地址为0x0009;
5、BX-008-0、BX-008-1交换机上电后初始化硬件,
●配置其0号表”00 xxxx xxxx xxxx xxxx”为“01 0000 0000”,即所有下行协议包包导向CPU;
●配置其1号表”01 xxxx xxxx xxxx xxxx”为“10 0000 0000”,即所有的上行协议包导向上行的百兆网口;
●配置其2号、3号表为“00 0000 0000“,即所有单组播数据包传送关闭;
6、BX-008-0交换机收到查询包后,根据其0号表的配置,该查询包被接收至其CPU模块,由CPU模块解析该查询包并生成应答包(该应答中包含本接入交换机的注册信息)发送给MSS-400服务器,包的DA是0x0800 0x0000 0x0000 0x0000,SA是0x0000 0x0000 0x0000 0x0001;
7、MSS-400服务器收到BX-008-0交换机发出的应答包后,对比应答包的源地址(SA)、及设备类型就知道其0号端口下接了一台接入交换机,然后在节点服务器内部的注册信息表里找到这台接入交换机的信息,向该接入交换机发送入网命令(告知其接入网地址为0x0001);
8、BX-008-0交换机收到入网命令后,知道自己的接入网地址是0x0001就入网了,于是配置其0号表”00 0000 0000 0000 0001”为“010000 0000”,0号表其余表项配置为”00 0000 0000“,即只有本交换机的下行协议包导入CPU,同时向服务器发送入网命令应答;
9、MSS-400服务器收到BX-008-0交换机发出的入网命令应答就知道BX-008-0交换机已经入网了,于是将服务器内部的地址信息表的第0x0001项被配置成:
●地址占用描述符:“10”表示此地址已用;
●设备描述符:“000001”表示其中一种接入交换机BX-008;
●设备资源描述信息:此接入交换机有8个下行百兆网口依次定义为0号端口到7号端口,1个CPU模块接口定义为8号端口,1个上行百兆网口定义为9号端口,此接入交换机型号为BX-008,它的上行网络端口连接的设备的接入网地址是0x0000(即MSS-400),下行网络端口连接的设备的接入网地址未分配,它的各个网络端口的上下行流量计数为0;
以后每秒钟向这个端口发送设备状态查询指令,检查BX-008-0交换机是否正常工作,同时还要向BX-008-0交换机的下行端口发送端口下行协议包,检查是否有其他接入网设备接在本接入交换机下面。在这种情况下,MSS-400服务器会在其0号表中做如下配置:
●“00 0000 0000 0000 1001“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0009的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1010“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000a的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1011“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000b的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1100“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000c的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1101“=>“00 0000 00001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000d的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1110“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000e的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1111“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000f的端口下行协议包导向0号端口;
●“00 0000 0000 0001 0000“=>“000 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0010的端口下行协议包导向0号端口;
MSS-400服务器会通过包括端口分配信息的端口分配包,通知BX-008-0交换机在其0号表中做如下配置:
●“00 0000 0000 0000 1001“=>“00 0000 0001”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0009的端口下行协议包导向0号端口;
●“00 0000 0000 0000 1010“=>“00 0000 0010”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000a的端口下行协议包导向1号端口;
●“00 0000 0000 0000 1011“=>“00 0000 0100”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000b的端口下行协议包导向2号端口;
●“00 0000 0000 0000 1100“=>“00 0000 1000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000c的端口下行协议包导向3号端口;
●“00 0000 0000 0000 1101“=>“00 0001 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000d的端口下行协议包导向4号端口;
●“00 0000 0000 0000 1110“=>“00 0010 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000e的端口下行协议包导向5号端口;
●“00 0000 0000 0000 1111“=>“00 0100 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x000f的端口下行协议包导向6号端口;
●“00 0000 0000 0001 0000“=>“00 1000 0000”,即目的地址(DA)是0x8000 0x0000 0x0000 0x0010的端口下行协议包导向7号端口;
10、MSS-400服务器发目的地址(DA)是0x8000 0x0000 0x00000x0009、0x8000 0x0000 0x0000 0x000a、0x8000 0x0000 0x0000 0x000b、0x8000 0x0000 0x0000 0x000c、0x8000 0x0000 0x0000 0x000d、0x80000x0000 0x0000 0x000e、0x8000 0x0000 0x0000 0x000f、0x8000 0x00000x0000 0x0010的端口下行协议包(SA都为0x0000 0x0000 0x00000x0000),根据MSS-400服务器中0号表的配置,所述端口下行协议包会依次导向MSS-400服务器0号端口,根据BX-008-0交换机中0号表配置,端口下行协议包会依次导向BX-008-0交换机0到7号端口;并且,MSS-400服务器中的地址信息表的第0x0009至0x0010项被配置成:
●地址占用描述符:“01”表示此地址待用;
●设备描述符:不做修改;
●设备资源描述信息:不做修改;
下一个可用地址为0x0011;
11、STB-0从BX-008-0交换机的0号端口收到端口下行协议包(即目的地址是0x8000 0x0000 0x0000 0x0009的端口下行协议包)收到端口下行协议包后发送端口上行协议包(包含本终端的注册信息),包的DA是0x0800 0x0000 0x0000 0x0000,SA是0x0000 0x0000 0x0000 0x0009(交换机的0号端口);
12、MSS-400服务器收到STB-0交换机发出的端口上行协议包后,对比上行协议包的源地址(SA)及设备类型就知道BX-008-0的0号端口下接了一台终端,然后在服务器内部的注册信息表里找到终端信息,向终端发送入网命令(告诉终端的接入网地址为0x0009);
13、STB-0收到入网命令后,知道自己的接入网地址是0x0009就入网了,同时向服务器发送入网命令应答;
14、MSS-400服务器收到STB-0发出的入网命令应答就知道STB-0交换机已经入网了,于是将地址信息表的第0x0009项配置成:
●地址占用描述符:“10”表示此地址已用;
●设备描述符:“000011”表示其中一种终端;
●设备资源描述信息:此终端有视音频编解码引擎,1个百兆网口,此终端型号为STB,它的网络端口连接的设备的接入网地址是0x0001(即BX-008-0),它的网络端口的上下行流量计数为0;
地址信息表的第0x0001项被配置成:
●地址占用描述符:不做修改;
●设备描述符:不做修改;
●设备资源描述信息:此接入交换机有8个下行百兆网口依次定义为0号端口到7号端口,1个CPU模块接口定义为8号端口,1个上行百兆网口定义为9号端口,此接入交换机型号为BX-008,它的上行网络端口连接的设备的接入网地址是0x0000(即MSS-400),下行网络端口0连接的设备的接入网地址是0x0009,其余未分配,它的各个网络端口的上下行流量计数为0;
以后MSS-400服务器每秒钟向这个端口发送设备状态查询指令,检查STB-0是否正常工作,当服务器6秒之内没有收到状态查询应答,就认为STB-0已经被移出网络,不再发送设备状态查询指令,继续向本端口发送查询包。
参照上述第6-14步骤,BX-008-1也会入网,获得其接入网地址为0x0002;STB-1也会入网,获得其接入网地址为0x0012。
3.4入网过程中的数据格式定义:
PDU是用户终端和服务器的信息交互方式,两者使用原始套接字(RawSocket)传递PDU,其数据格式如下:
表1
系统消息(PDU)定义:
端口查询指令,由服务器发出,32W短信令:
表2
端口查询应答指令,32W短信令:
机顶盒收到8A01发给服务器的应答
表3
交换机收到8A01发给服务器的应答
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A02 | 交换机端口查询应答指令 |
1 | 1W | 设备类型 | |
2-4 | 3W | 设备标识(每个交换机都不同) | |
5-8 | 4W | 网络地址(从8A01获取) | |
9 | 1W | 干线额定流量(交换机固有) | |
10 | 1W | 支线额定流量(交换机固有) | |
11-13 | 3W | 版本信息(交换机固有) | |
14-31 | 18W | 0000 | 填充0 |
表4
编码板收到8A01发给服务器的应答
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A06 | 编码板端口查询应答指令 |
1 | 1W | 设备类型(0x5131) | |
2-4 | 3W | 设备标识(每个都不同) | |
5-8 | 4W | 网络地址(从8A01获取) | |
9-31 | 23W | 0000 | 填充 |
表5
设备标识:暂时可以取值0x5131 0201 000X(X=0-f)
入网指令,由服务器发出,32W短信令:
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A11 | 服务器入网指令 |
1 | 1W | 设备类型 | |
2-4 | 3W | 设备标识 | |
5-8 | 4W | 网络地址 | |
9-11 | 3W | 设备号码,用户号码 | |
12 | 1W | 用户分机号码,或TWG专用HOP号 | |
13-31 | 19W | 0000 | 填充 |
表6
入网确认指令,32W短信令:
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A12 | 入网确认指令 |
1 | 1W | 设备类型 | |
2-4 | 3W | 设备标识 | |
5-10 | 6W | 设备型号(辅助信息,ASCII码) | |
11-13 | 3W | 用户号码(从8a11获取) | |
14 | 1W | 用户分机号(从8a11获取) | |
15-18 | 4W | 网络地址(从8a01获取) | |
19-31 | 13W | 0000 | 填充 |
表7
状态查询指令,由服务器发出,32W短信令:
给交换机的状态查询指令
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A21 | 交换机状态查询指令 |
1 | 1W | 设备类型 | |
2-4 | 3W | 设备标识 | |
5-8 | 4W | 网络地址 | |
9 | 1W | 设备号码 | |
10-12 | 3W | 实时时钟(由服务器维护) | |
13-17 | 5W | 填充 | |
18-19 | 2W | IP地址(仅对网关有用) | |
20-22 | 3W | MAC地址(仅对网关有用) | |
23 | 1W | MAC的序号(仅对网关有用) | |
24-31 | 8W | 填充 |
表8
给机顶盒的状态查询指令
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A31 | 机顶盒状态查询指令 |
1-4 | 4W | 网络地址 | |
5-7 | 3W | 实时时钟(由服务器维护) | |
8-10 | 3W | 机顶盒号码 | |
11-31 | 21W | 0000 | 填充 |
表9
状态查询应答指令,32W短信令:
交换机的状态查询应答
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A22 | 交换机状态查询应答指令 |
1 | 1W | 设备类型 | |
2-4 | 3W | 设备标识 | |
5-6 | 2W | 填充 | |
7 | 1W | 设备号码 | |
8 | 1W | 填充 | |
9 | 1W | 交换机工作状态 | |
10 | 1W | 温度 | |
11 | 1W | 干线上行实测流量 | |
12 | 1W | 干线下行实测流量 | |
13-31 | 19W | 填充 |
表10
机顶盒的状态查询应答
表11
编码板的状态查询应答
字段号 | 长度 | 代码 | 说明 |
0 | 1W | 8A26 | 编码板状态查询指令应答 |
1 | 1W | 设备类型 | |
2-4 | 3W | 设备标识 | |
5-7 | 3W | 设备号码 | |
8 | 1W | 填充 | |
9 | 1W | 编码板工作状态 | |
10 | 1W | 编码板温度 | |
11-31 | 21W | 填充 |
表12
四、接入网设备的服务流程
4.1接入网设备执行单播通信服务的通信连接流程示例
同样参照图8,假设一台节点服务器MSS-400(接入网地址为0x0000),它的0号端口接了一台接入交换机BX-008-0(接入网地址为0x0001),它的1号端口接了一台接入交换机BX-008-1(接入网地址为0x0002),BX-008-0的0号端口接了一台机顶盒STB-0(接入网地址为0x0009),BX_008-1的1号端口接了一台机顶盒STB-1(接入网地址为0x0012)。机顶盒STB_0向节点服务器MSS-400发出申请和机顶盒STB_1进行可视通信的单播通信服务,步骤如下:
1、机顶盒STB_0发出服务请求协议包,包的DA(目的地址)为0x0800 0x0000 0x0000 0x0000(即MSS-400的地址)、SA(源地址)为0x0000 0x0000 0x0000 0x0009;在该包中,还可以包括reserved 0x0000(保留字),PDU部分如下表所示:
表13
服务申请所涉及到的节目号码,广播频道号全放在服务参数中,例如:
#define SERVICE_TYPE_GTML_REQUEST 0x8000申请一张菜单
#define SERVICE_TYPE_VOD_REQUEST 0x8001申请点播节目
#define SERVICE_TYPE_CHANGE_MENU 0x8002申请改变背景菜单
#define SERVICE_TYPE_BROADCAST_REQUEST 0x8003申请收看广播
#define SERVICE_TYPE_CHANGE_CHANNEL 0x8004申请频道切换
#define SERVICE_TYPE_TELEPHONE_DIRECT 0x8005申请拨打可视电话
#define SERVICE_TYPE_PERMISSION 0x8006是否允许接入的应答
#define SERVICE_TYPE_RECORD_REQUEST 0x8007申请录制
#define SERVICE_TYPE_END_REQUEST 0x8008申请结束当前服务
#define SERVICE_TYPE_ORG_CAST_REQUEST 0x8009申请发起直播
#define SERVICE_TYPE_DDB_REQUEST 0x800b申请收看延时电视
#define SERVICE_TYPE_SKIP 0x800c收看点播或延时电视的过程中快进快退暂停继续
#define SERVICE_TYPE_RECORD_END 0x800e申请结束录制
#define SERVICE_TYPE_VIEW_Monitor_DIRECT 0x8024申请收看监控
#define SERVICE_TYPE_RCV_CAST_DIRECT 0x8025申请收看直播
#define SERVICE_TYPE_TELEPHONE_REQUEST 0申请拨打可视电话
#define SERVICE_TYPE_RCV_CAST_REQUEST 0xa申请收看直播
#define SERVICE_TYPE_VIEW_Monitor 0xc申请收看监控
在本例中,服务参数为SERVICE_TYPE_TELEPHONE_REQUEST或SERVICE_TYPE_TELEPHONE_DIRECT。
2、根据连接在机顶盒STB_0与节点服务器MSS-400之间的接入交换机BX-008-0中1号表的配置,该服务请求协议包被导向至节点服务器MSS-400,节点服务器MSS-400根据包的内容,判断收到可视通信的申请(服务类型),根据服务号码查CAM表(内容-地址映射表)知道被叫(目标终端)是STB_1,根据其内部的地址信息表,就知道了本次服务涉及的链路拓扑,判断出链路允许,双方可以进行通信。于是分别发送菜单协议包给主叫(STB_0)和被叫(STB_1),并等待被叫应答:
其中,发向STB_0的菜单协议包:DA为0x8000 0x0000 0x00000x0009、SA为0x0000 0x0000 0x0000 0x0000、reserved 0x0000、PDU部分如下表所示:
表14
发向STB_1的菜单协议包:DA为0x8000 0x0000 0x0000 0x0012、SA为0x0000 0x0000 0x0000 0x0000、reserved 0x0000,PDU部分如上表所示。
3、根据节点服务器MSS-400中0号表的配置,以及,接入交换机BX-008-0和BX-008-1中0号表的配置,这2个菜单协议包会分别导向至机顶盒STB_0和STB_1,被叫STB_1发出申请SERVICE_TYPE_PERMISSION接STB_1受通信,并向节点服务器MSS-400发送应答协议包,该包的DA为0x0800 0x0000 0x0000 0x0000、SA 0x0000 0x0000 0x0000 0x0012、reserved 0x0000,服务参数是SERVICE_TYPE_PERMISSION,PDU部分如下表所示:
表15
4、根据接入交换机BX-008-1中1号表的配置,所述应答协议包导向节点服务器MSS-400,节点服务器MSS-400根据包的内容判断收到接受可视通信的申请,根据服务号码查CAM表知道被叫是STB_1,根据其内部的地址信息表,节点服务器MSS-400就知道了本次服务涉及的链路拓扑,判断出链路允许,双方可以进行通信。
在这种情况下,节点服务器MSS-400配置自己的2号表如下:
●“10 0000 0000 0001 0010“=>“000 0000 0010”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0012(即机顶盒BX-008-1)的单播数据包导向1号端口;
●“10 0000 0000 0000 1001“=>“000 0000 0001”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0009(即机顶盒BX-008-0)的单播数据包导向0号端口;
并且,节点服务器MSS-400给上行链路(主叫通路)和下行链路(被叫通路)上的所有接入交换机发送端口配置命令。要求同时开放对方地址的上行和自身地址的下行。
发向接入交换机BX-008-0的两个包:
1)第一个包的DA 0x8000 0x0000 0x0000 0x0001、SA 0x00000x0000 0x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表16
2)第二个包的DA为0x8000 0x0000 0x0000 0x0001、SA为0x00000x0000 0x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表17
发向接入交换机BX-008-1的两个包:
1)第一个包的DA为0x8000 0x0000 0x0000 0x0002、SA为0x00000x0000 0x0000 0x0000、reserved 0x0000,PDU如下表所示:
表18
2)第二个包的DA为0x8000 0x0000 0x0000 0x0002、SA为0x00000x0000 0x0000 0x0000、reserved 0x0000,PDU如下表所示:
表19
发向机顶盒STB-0的包(服务处理命令,本例中为编解码命令):包的DA 0x8000 0x0000 0x0000 0x0009、SA 0x0000 0x0000 0x00000x0000、reserved 0x0000,PDU部分如下表所示:
表20
发向STB-1的包(服务处理命令,本例中为编解码命令):
包的DA为0x8000 0x0000 0x0000 0x0012、SA 0x0000 0x00000x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表21
上述编解码命令的PDU中,字段号13表示编码类型:0=停止编码,0ffff=维持原状,0xfffe将解码的数据返回,不进行本地编码;字段号14表示解码类型:0=停止解码,0ffff=维持原状;字段号15-18表示编码地址(DA或组播地址):0xffff=维持原状;字段号19-22表示解码地址(DA或组播地址):0xffff=维持原状;字段号23表示:HB:编码HDA,LB:解码的HAD;0xffff=维持原状;字段号24表示响铃参数:0=关闭响铃,1=开始响铃,0xffff=维持原状;字段号25表示云台操作参数:0xffff=维持原状;字段号26表示辅助信道操作参数:0xffff=维持原状。
其中,编码类型如下表所示:
代码 | 视频压缩 | 视频制式 | 音频压缩 | 流量等级 |
0x3215 | MPEG4 | PAL | MP3 | 1.7M |
0x3217 | MPEG4 | PAL | MP3 | 3.3M |
0x3218 | MPEG4 | PAL | MP3 | 6.6M |
表22
5、根据节点服务器MSS-400中0号表的配置,以及,接入交换机BX-008-0、BX-008-1中0号表的配置,前面4个发给接入交换机的包会分别导向BX-008-0、BX-008-1。
在这种情况下,接入交换机BX-008-0配置自己的2号表如下:
●“10 0000 0000 0001 0010“=>“10 0000 0000”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0012的单播数据包导向9号端口;
●“10 0000 0000 0000 1001“=>“00 0000 0001”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0009的单播数据包导向0号端口;
接入交换机BX-008-1配置自己的2号表如下:
●“10 0000 0000 0001 0010“=>“00 0000 0010”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0012的单播数据包导向1号端口;
●“10 0000 0000 0000 1001“=>“10 0000 0000”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0009的单播数据包导向9号端口;
根据节点服务器MSS-400中0号表的配置,以及,接入交换机BX-008-0、BX-008-1中0号表的配置,后面2个发向机顶盒的包会分别导向至机顶盒STB-0、STB-1。收到包后,机顶盒STB-0、STB-1就可以根据包的内容开始编解码,并接收、发送单播数据。
上面详细举例说明了节点服务器MSS-400发送协议包完成配表,通知本次服务的通信链路上的各个接入交换机开启相应端口。优选的,在针对本次服务的通信路径设定过程中,节点服务器MSS-400也可以通过发送协议包实现流控信息的传递,即将针对本次服务的流控信息发送给机顶盒STB-0向机顶盒STB-1的上行链路中的第一个接入交换机BX-008-0,由其对本次服务的数据包进行流量控制。
因为节点服务器MSS-400在针对本次服务设定路径时,也同时依据本次服务的类型等属性信息,确定了本次服务的所占流量(即向本次服务分配了多少流量),并在节点服务器MSS-400的地址信息表中的设备资源描述信息中加以记录(即在该端口的流量信息中增加本次服务所占用的流量)。这样在下一个服务请求时,查阅就可以知悉该端口的实际流量。
节点服务器MSS-400向交换机BX-008-0发送流量控制信息,是为了确保节点服务器MSS-400针对本次服务所分配的流量额度能够确保实现,而不是随意增加或者随意减少(包括在带宽统计意义上的变化和带宽在离散时间点的变化)。
由于流控信息可以保证交换机BX-008-0在收到本次服务的数据包时,依据一定的时间间隔对数据包进行发送,并且每次发送的数据大小也有要求。当终端发送的数据包长度较大时,则可以积累两个或者多个时间间隔后再发送,这样,既可以不拆解或分解用户数据包,同时也可以基本保证数据发送的稳定均匀。当然,优选的,本发明在进行服务建立时,就可以通知交换机和终端限定数据包长度,例如,终端发起的数据包长度就符合流控信息的要求,同时交换机还可以对数据包长度不符合的数据包进行丢弃,以进一步保证数据发送的稳定均匀。
总之,通过流控信息可以保证交换机BX-008-0在每个时刻所发送的数据流量是稳定的、均匀的,并且是符合所分配的流量额度的,不会出现随意变化的情况。这样,也就能够保证本发明可以实现从网络中各个服务、各个端口的流量的精确分配和控制。
当然,为了保证流量的精确控制,本发明还可以对服务建立请求的协议包也进行流量控制。具体的,节点服务器MSS-400可以对接入终端的最底层交换机都赋予流量控制信息,即当各个交换机接收到上行协议包时,就按照节点服务器MSS-400在当前交换机上电入网时所通知的流量控制信息进行数据传输即可。这样,本发明可以保证即使同时发起大量的服务请求协议包,也不会影响整个网络的流量分布,即本发明能够对服务请求过程进行流量控制,也可以对已经建立服务链路的数据传输过程进行流量控制。
具体而言,在配置好当次服务的通信链路后,所述机顶盒STB-0、STB-1基于所述通信链路收发单播数据的过程为:
1)机顶盒STB-0向机顶盒STB-1发送单播数据包,该包的DA是0x1000 0x0000 0x0000 0x0012;SA是0x0000 0x0000 0x0000 0x0009;
2)该单播数据包进入接入交换机BX-008-0,接入交换机BX-008-0的交换引擎模块根据组合地址域查2号表,表的地址是“10 0000 0000 00010010”,该表项的输出是“10 0000 0000”(“10 0000 0000 0001 0010“=>“100000 0000”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0012的单播数据包导向9号端口),表示打开上行9号端口,当前单播数据包通过该9号端口进入了节点服务器MSS-400;
3)节点服务器MSS-400收到所述单播数据包后,其交换引擎根据组合地址域查2号表,表的地址是“10 0000 0000 0001 0010”,该表项的输出是“000 0000 0010”(“10 0000 0000 0001 0010“=>“000 0000 0010”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0012的单播数据包导向1号端口),表示打开下行1号端口,当前单播数据包通过该1号端口进入了接入交换机BX-008-1;
4)接入交换机BX-008-1收到所述单播数据包后,其交换引擎模块根据组合地址域查2号表,表的地址是“10 0000 0000 0001 0010”,该表项的输出是“00 0000 0010”(“10 0000 0000 0001 0010“=>“00 0000 0010”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0012的单播数据包导向1号端口),表示打开下行1号端口,当前单播数据包通过该1号端口进入了机顶盒STB-1;
5)机顶盒STB-1向机顶盒STB-0发送单播数据包,该包的DA是0x1000 0x0000 0x0000 0x0009;SA是0x0000 0x0000 0x0000 0x0012;
6)该单播数据包进入接入交换机BX-008-1,接入交换机BX-008-1的交换引擎模块根据组合地址域查2号表,表的地址是“10 0000 0000 00001001”,该表项的输出是“10 0000 0000”(“10 0000 0000 0000 1001“=>“100000 0000”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0009的单播数据包导向9号端口),表示打开上行9号端口,当前单播数据包通过该9号端口进入了节点服务器MSS-400;
7)节点服务器MSS-400收到所述单播数据包后,其交换引擎根据组合地址域查2号表,表的地址是“10 0000 0000 0000 1001”,该表项的输出是“000 0000 0001”(“10 0000 0000 0000 1001“=>“000 0000 0001”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0009的单播数据包导向0号端口),表示打开下行0号端口,当前单播数据包通过该0号端口进入了接入交换机BX-008-0;
8)接入交换机BX-008-0收到所述单播数据包后,其交换引擎模块根据组合地址域查2号表,表的地址是“10 0000 0000 0000 1001”,该表项的输出是“00 0000 0001”(“10 0000 0000 0000 1001“=>“00 0000 0001”,即目的地址(DA)是0x1000 0x0000 0x0000 0x0009的单播数据包导向0号端口),表示打开下行0号端口,当前单播数据包通过该0号端口进入了机顶盒STB-0。
应用上述过程进行单播服务通信的一种简单示例如下:
假设STB-0向MSS-400服务器申请打可视电话给STB-1,在STB-0发向MSS-400的服务申请包中含有所申请服务的类型(本例是可视电话,所以含有对方的号码,例如8888 8888 8888);
MSS-400服务器收到服务申请包后,检查服务类型知道是可视电话,就跳入可视电话服务流程,根据对方的号码(8888 8888 8888),MSS-400服务器通过CAM查找可以得到STB-1的接入网地址(因为在STB-1入网时,MSS-400服务器会更新CAM的内容,把地址为0x0012更新为88888888 8888),根据STB-0、STB-1的接入网地址,查地址信息表可以知道他们的拓扑信息,由0x0009知道STB-0连着BX-008-0的0号端口,而且上下行流量为0,而链路流量为100Mbit/s,BX-008-0的接入网地址是0x0001,查地址信息表知BX-008-0连着MSS-400的0号端口,而且上下行流量为0,而链路流量为100Mbit/s,同理可知STB-1的链路的流量信息,而申请的可视电话的上下行带宽是2Mbit/s,满足要求,再检查其他信息如果满足,服务器将被叫机顶盒和主叫机顶盒之间的所有交换机的针对这2路单播数据的通路打开(包括对BX-008-0的0号端口、BX-008-1的1号端口的地址匹配及精确流量控制),修改查地址信息表的链路的流量信息,服务器发送编解码命令给双方机顶盒。
4.1.2接入网设备执行组播通信服务的通信连接流程示例
同样参照图8,假设一台节点服务器MSS-400(接入网地址为0x0000),它的0号端口接了一台接入交换机BX-008-0(接入网地址为0x0001),它的1号端口接了一台接入交换机BX-008-1(接入网地址为0x0002),BX-008-0的0号端口接了一台机顶盒STB-0(接入网地址为0x0009),STB_0的号码是0x6666 0x6666 0x6666,BX_008-1的1号端口接了一台机顶盒STB-1(接入网地址为0x0012),STB_1的号码是0x8888 0x8888 0x8888。机顶盒STB_0向节点服务器MSS-400申请发起直播,步骤如下:
1、机顶盒STB_0发出发起直播的服务请求协议包,包的DA是0x0800 0x0000 0x0000 0x0000、SA是0x0000 0x0000 0x0000 0x0009、reserved 0x0000(保留字),PDU部分如下表所示:
表23
2、根据连接在机顶盒STB_0与节点服务器MSS-400之间的接入交换机BX-008-0中1号表的配置,该服务请求协议包被导向节点服务器MSS-400,节点服务器MSS-400根据包的内容,判断收到发起直播的申请(服务类型),根据服务号码查CAM表(内容-地址映射表)知道用户(源终端)是STB_0,根据其内部的地址信息表,就知道了本次服务涉及的链路拓扑,判断出链路允许,可以进行发起直播,于是分配组播地址为0x0008。并且,节点服务器给当前通信链路上的所有接入交换机发送端口配置命令,要求同时开放对方地址的上行和自身地址的下行。此时,通过链路拓扑判断,获知当前只需配置接入交换机BX-008-0。
在这种情况下,节点服务器MSS-400向接入交换机BX-008-0发包:
包的DA为0x8000 0x0000 0x0000 0x0001、SA为0x0000 0x00000x0000 0x0000、reserved 0x0000(保留字),PDU部分如下表所示:
表24
节点服务器MSS-400向机顶盒STB-0发包(服务处理命令,本例为编解码命令):
包的DA为0x8000 0x0000 0x0000 0x0009,SA为0x0000 0x00000x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表25
3、根据节点服务器MSS-400中0号表的配置,发向接入交换机BX-008-0的包会导向至BX-008-0。在这种情况下,BX-008-0配置自己的3号表如下:
●“11 0000 0000 0000 1000“=>“00 0000 0001”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向0号端口;
4、根据节点服务器MSS-400中0号表的配置,以及,接入交换机BX-008-0中0号表的配置,发向机顶盒STB-0的包会导向至STB-0。STB-0根据包的内容开始编解码,并开始接收、发送组播数据。
在组播链路路径的建立过程中,也存在前面单播服务中的端口流量控制信息设定、记录、通知的过程,由于实现过程和技术原理基本一致,在此不再赘述。
具体而言,所述机顶盒STB-0基于当前的直播发起通信链路收发组播数据的过程为:
1)机顶盒STB-0发出组播数据包,该包的DA是0x7800 0x00000x0000 0x0008(组播地址);SA是0x0000 0x0000 0x0000 0x0009;
2)所述组播数据包进入接入交换机BX-008-0,接入交换机BX-008-0的交换引擎模块根据组合地址域查3号表,表的地址是“11 0000 0000 00001000”,该表项的输出是“00 0000 0001”(“11 0000 0000 0000 1000“=>“000000 0001”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向0号端口),表示打开下行0号端口,当前组播数据包通过该0号端口进入了机顶盒STB-0。
机顶盒STB_1向节点服务器MSS-400申请收看直播,号码是0x66660x6666 0x6666,步骤如下:
1、机顶盒STB_1发出收看直播的服务请求协议包,包的DA是0x0800 0x0000 0x0000 0x0000、SA是0x0000 0x0000 0x0000 0x0012、reserved 0x0000,PDU部分如下表所示:
表26
2、根据连接在机顶盒STB_1与节点服务器MSS-400之间的接入交换机BX-008-1中1号表的配置,该服务请求协议包被导向节点服务器MSS-400,节点服务器MSS-400根据包的内容,判断收到收看直播的申请,根据服务号码查CAM表知道发起者(源终端)是STB_0,根据其内部的地址信息表,就知道了本次服务涉及的链路拓扑,判断出链路允许,可以进行收看直播,于是分配组播地址(对应分配给源终端的组播地址)是0x0008。并且,节点服务器给当前通信链路上的所有接入交换机发送端口配置命令,要求同时开放对方地址的上行和自身地址的下行。在这种情况下,节点服务器MSS-400配置自己的3号表如下:
●“11 0000 0000 0000 1000“=>“000 0000 0010”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向1号端口;
同时,节点服务器MSS-400向接入交换机BX-008-0发包:
包的DA为0x8000 0x0000 0x0000 0x0001、SA为0x0000 0x00000x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表27
同时,节点服务器MSS-400向接入交换机Bx-008-1发包:
包的DA为0x8000 0x0000 0x0000 0x0002、SA为0x0000 0x00000x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表28
同时,节点服务器MSS-400向机顶盒STB-1发包:
包的DA为0x8000 0x0000 0x0000 0x0012、SA为0x0000 0x00000x0000 0x0000、reserved 0x0000,PDU部分如下表所示:
表29
3、根据节点服务器MSS-400中0号表的配置,发向接入交换机BX-008-0、BX-008-1会分别导向至接入交换机BX-008-0和BX-008-1。
在这种情况下,接入交换机BX-008-0配置自己的3号表如下:
●“11 0000 0000 0000 1000“=>“10 0000 0001”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向0号、9号端口;
接入交换机BX-008-1配置自己的3号表如下:
●“11 0000 0000 0000 1000“=>“00 0000 0010”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向1号端口;
4、根据节点服务器MSS-400中0号表的配置,以及,接入交换机BX-008-1中0号表的配置,发向机顶盒STB-1的包会导向至STB-1。STB-1根据包的内容接收组播数据、解码。
具体而言,所述机顶盒STB-1基于当前的收看直播的通信链路接收组播数据的过程为:
1)机顶盒STB-0发出组播数据包,该包的DA是0x7800 0x00000x0000 0x0008(组播地址);SA是0x0000 0x0000 0x0000 0x0009;
2)所述组播数据包进入接入交换机BX-008-0,接入交换机BX-008-0的交换引擎模块根据组合地址域查3号表,表的地址是“11 0000 0000 00001000”,该表项的输出是“10 0000 0001”(“11 0000 0000 0000 1000“=>“100000 0001”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向0号、9号端口);表示打开下行0号端口和上行9号端口,当前组播数据包通过该0号端口进入了机顶盒STB-0;通过该9号端口进入了节点服务器MSS-400;
3)节点服务器MSS-400收到该组播数据包后,其交换引擎模块根据组合地址域查3号表,表的地址是“11 0000 0000 0000 1000”,该表项的输出是“000 0000 0010”(“11 0000 0000 0000 1000“=>“000 0000 0010”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向1号端口),表示打开下行1号端口,当前组播数据包通过该1号端口进入了接入交换机BX-008-1;
4)接入交换机BX-008-1收到该组播数据包后,其交换引擎模块根据组合地址域查3号表,表的地址是“11 0000 0000 0000 1000”,该表项的输出是“00 0000 0010”(“11 0000 0000 0000 1000“=>“00 0000 0010”,即目的地址(DA)是0x7800 0x0000 0x0000 0x0008的组播数据包导向1号端口),表示打开下行1号端口,当前组播数据包通过该1号端口进入了机顶盒STB-1。
当然,上述的单播服务通信过程和组播服务通信过程仅仅用作示例。在实际中,应用本发明实施例执行任一种单播服务通信或组播服务通信均是可行的。
结合以上内容,下面通过与IP互联网对比,更进一步描述本发明实施例的优点:
1、网络地址结构上根治仿冒;
IP互联网的地址由用户设备告诉网络;本发明的通信网地址由网络告诉用户设备。
为了防范他人入侵,PC和互联网设置了繁琐的口令、密码障碍。就算是实名地址,仍无法避免密码被破译或用户稍不留神而造成的安全信息泄漏。连接到IP互联网上的PC终端,首先必须自报家门,告诉网络自己的IP地址。然而,谁能保证这个IP地址是真是假。这就是IP互联网第一个无法克服的安全漏洞。
本发明的通信网终端的地址是通过网管协议学来的,用户终端只能用这个学来的地址进入本发明的通信网,因此,无需认证确保不会错。详细描述参见网管协议。本发明的通信网创立了有序化结构“带色彩”的地址体系(D/SCAF)。本发明的通信网地址不仅具备唯一性,同时具备可定位和可定性功能,如同个人身份证号码一样,隐含了该用户端口的地理位置、设备性质、服务权限等其他特征。本发明的通信网交换机根据这些特征规定了分组包的行为规则,实现不同性质的数据分流。
2、每次服务发放独立通行证,阻断黑客攻击和病毒扩散的途径;
IP互联网可以自由进出,用户自备防火墙;本发明的通信网每次服务必须申请通行证。
由于通讯协议在用户终端执行,可能被篡改。由于路由信息在网上广播,可能被窃听。网络中的地址欺骗、匿名攻击、邮件炸弹、泪滴、隐蔽监听、端口扫描、内部入侵、涂改信息等形形色色固有的缺陷,为黑客提供了施展空间。垃圾邮件等互联网污染难以防范。
由于IP互联网用户可以设定任意IP地址来冒充别人,可以向网上任何设备发出探针窥探别人的信息,也可以向网络发送任意干扰数据包(泼脏水)。为此,许多聪明人发明了各种防火墙,试图保持独善其身。但是,安装防火墙是自愿的,防火墙的效果是暂时的和相对的,IP互联网本身永远不会干净。这是IP互联网第二项收不了场的安全败笔。
本发明的通信网用户入网后,网络交换机仅允许用户向节点服务器发出有限的服务请求,对其他数据包一律关门。如果节点服务器批准用户申请,即向用户所在的交换机发出网络通行证,用户终端发出的每个数据包若不符合网络交换机端的审核条件一律丢弃,彻底杜绝黑客攻击。每次服务结束后,自动撤销通行证。通行证机制由交换机执行,不在用户可控制的范围内:
审核用户数据包的源地址:防止用户发送任何假冒或匿名数据包(入网后自动设定);
审核目标地址:用户只能发送数据包到服务器指定的对象(服务申请时确定);
审核数据流量:用户发送数据流量必须符合服务器规定(服务申请时确定);
审核版权标识:防止用户转发从网上下载的有版权内容(内容供应商设定);
本发明的通信网不需要防火墙、杀毒、加密、内外网隔离等消极手段,本发明的通信网从结构上彻底阻断了黑客攻击和病毒扩散的途径,是本质上可以高枕无忧的安全网络。
3、网络设备与用户数据完全隔离,切断病毒和木马的生命线;
IP互联网设备可随意拆解用户数据包;本发明的通信网设备与用户数据完全隔离。
冯·诺依曼创造的电脑将程序指令和操作数据放在同一个地方,也就是说一段程序可以修改机器中的其他程序和数据。沿用至今的这一电脑模式,给特洛伊木马,蠕虫,病毒,后门等留下了可乘之机。随着病毒的高速积累,防毒软件和补丁永远慢一拍,处于被动状态。
互联网TCP/IP协议的技术核心是尽力而为、储存转发、检错重发。为了实现互联网的使命,网络服务器和路由器必须具备解析用户数据包的能力,这就为黑客病毒留了活路,网络安全从此成了比谁聪明的角力,永无安宁。这是IP互联网第三项遗传性缺陷。
本发明的通信网上所有的服务器和交换机设备中的CPU都不可能接触到任意一个用户数据包。也就是说,整个本发明的通信网只是为业务提供方和接收方的终端设备之间,建立一条完全隔离和流量行为规范的透明管道。用户终端不管收发什么数据,一概与网络无关。从结构上切断了病毒和木马的生命线。因此,本发明的通信网杜绝网络上的无关人员窃取用户数据的可能,同理,那些想当黑客或制毒的人根本就没有可供攻击的对象。
4、用户之间的自由连接完全隔离,确保有效管理;
IP互联网是自由市场,无中间人;本发明的通信网是百货公司,有中间人。对于网络来说,消费者与内容供应商都属于网络用户范畴,只是大小不同而已。IP互联网是个无管理的自由市场,任意用户之间可以直接通讯(P2P)。也就是说,要不要管理是用户说了算,要不要收费是单方大用户(供应商)说了算,要不要遵守法规也是单方大用户(吸血鬼网站)说了算。运营商至多收个入场费,要想执行法律、道德、安全和商业规矩只能是天方夜谭,现在和将来都不可能。这是IP互联网第四项架构上的残疾。
本发明的通信网创造了服务节点概念,形成有管理的百货公司商业模式。用户之间,或者消费者与供货商之间,绝对不可能有任何自由接触,一切联系都必须取得节点服务器(中间人)的批准。这是实现网络业务有效管理的必要条件。要想成为新型网的用户,必须先与网络运营商谈判自己的角色,从普通消费者、网上商店、学校医院、政府部门、直到电视台,都属于运营商的客户,就好像上述部门都是电话公司的客户一样。尽管看起来每个角色无非都是收发视讯内容,但如何收发必须严格遵守各自商定的行为法则。有了不可逾越的规范,各类用户之间的关系才能在真正意义上分成C2C、B2C、B2B等,或者统称为有管理的用户与用户间通讯(MP2P)。
5、商业规则植入通讯协议,确保盈利模式;
IP互联网奉行先通讯,后管理模式;本发明的通信网奉行先管理,后通讯模式。
网上散布非法媒体内容,只有造成恶劣影响以后,才能在局部范围内查封,而不能防范于未然。法律与道德不能防范有组织有计划的“职业攻击”。而且法律只能对已造成危害的人实施处罚。IP互联网将管理定义成一种额外附加的服务,建立在应用层。因此,管理自然成为一种可有可无的摆设。这是IP互联网第五项难移的本性。
本发明的通信网用户终端只能在节点服务器许可范围内的指定业务中,选择申请其中之一。服务建立过程中的协议信令,由节点服务器执行(不经用户之手)。用户终端只是被动地回答服务器的提问,接受或拒绝服务,不能参与到协议过程中。一旦用户接受服务器提供的服务,只能按照通行证规定的方式发送数据包,任何偏离通行证规定的数据包一律在底层交换机中丢弃。本发明的通信网协议的基本思路是实现以服务内容为核心的商业模式,而不只是完成简单的数据交流。在这一模式下,安全是新型网的固有属性,而不是附加在网络上的额外服务项目。当然,业务权限审核、资源确认和计费手续等,均可轻易包含管理合同之中。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上对本发明所提供的一种基于流量控制的数据传输方法、一种基于流量控制的交换机、一种节点服务器和一种基于流量控制的通信系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (92)
1.一种基于流量控制的数据传输方法,其特征在于,包括:
针对每个服务申请,交换机获得流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
交换机接收数据包,并放入包缓存队列;
交换机轮询包缓存队列,根据流量控制信息从包缓存队列中取包发送。
2.根据权利要求1所述的方法,其特征在于:所述数据包是上行数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述接收数据包之后,存入包缓存队列之前,还包括:
对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入相应的端口接收缓存;
则所述放入包缓存队列为:从端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存队列。
4.根据权利要求3所述的方法,其特征在于,所述检测包括:
检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求。
5.根据权利要求4所述的方法,其特征在于,还包括:
新型网中具有集中控制功能的节点服务器根据终端发起的服务申请协议包,生成针对该服务的检测要求;
节点服务器向上行链路上进行流量控制的交换机发送针对该服务的检测要求。
6.根据权利要求3所述的方法,其特征在于,实时获得流量控制信息之后,还包括:
根据流量控制信息产生发送令牌,所述令牌中包含流标识符。
7.根据权利要求6所述的方法,其特征在于,所述根据流量控制信息从包缓存队列中取包发送包括:
根据发送令牌中的流标识符,从相应流的包缓存队列中顺序读取数据包,并放入端口发送缓存;
从端口发送缓存读取数据包发送。
8.根据权利要求7所述的方法,其特征在于,所述根据发送令牌中的流标识符,从相应流的包缓存队列中顺序读取数据包,并放入端口发送缓存之前,还包括:
判断是否同时满足以下两个条件:
第一,端口发送缓存未满;
第二,相应流的包缓存队列中的包计数器大于零;
如果同时满足,则根据发送令牌中的流标识符,从相应流的包缓存队列中顺序读取数据包,并放入端口发送缓存。
9.根据权利要求1或2所述的方法,其特征在于:
所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
10.根据权利要求1或2所述的方法,其特征在于,所述针对每个服务申请,交换机获得流量控制信息包括:
新型网中具有集中控制功能的节点服务器根据终端发起的服务申请协议包,生成流量控制信息;
节点服务器向上行链路上进行流量控制的交换机发送针对该服务的流量控制信息。
11.根据权利要求10所述的方法,其特征在于:所述进行流量控制的交换机为接入终端的第一个交换机。
12.根据权利要求10所述的方法,其特征在于,所述节点服务器生成流量控制信息包括:
节点服务器检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则生成对应该服务的流量控制信息;如果不满足,则拒绝服务申请。
13.根据权利要求12所述的方法,其特征在于,所述检查之前还包括:
节点服务器中维护着地址信息表,所述地址信息表记录了新型网地址占用信息、设备描述信息和设备资源描述信息,其中设备资源描述信息包括该设备各个网络端口连接的接入网设备的新型网地址和该设备各个网络端口的上下行流量计数;
节点服务器根据地址信息表中设备各个网络端口连接的接入网设备的新型网地址,获得对应该服务的上行和下行链路;并根据设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。
14.根据权利要求13所述的方法,其特征在于,所述维护包括:
节点服务器上电时,初始化所述地址信息表,所述初始化操作包括:
在地址信息表的空白表项中写入节点服务器的新型网地址,并将地址占用信息标记为该地址已用;
写入设备描述信息为当前节点服务器;
写入设备资源描述信息为当前节点服务器的端口信息。
15.根据权利要求14所述的方法,其特征在于,所述维护还包括:
依据节点服务器在其内部的下行协议包地址表中对各下行协议包所导向的下行端口的设置,更新所述地址信息表,所述更新操作包括:
在地址信息表的空白表项中分别写入各个下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
16.根据权利要求15所述的方法,其特征在于,所述维护还包括:
依据对端口下行协议包所导向的其他接入设备的下行端口的设置,更新所述地址信息表,所述更新操作包括:
在地址信息表的空白表项中分别写入各个端口下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
17.根据权利要求16所述的方法,其特征在于,所述维护还包括:
当节点服务器接收到交换机发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:
将所述交换机的新型网地址对应表项中的地址占用信息标记为该地址已用;
更新所述设备描述信息为当前交换机;
更新所述设备资源描述信息为当前交换机的端口信息,以及,其端口所连接的接入网设备的新型网地址信息。
18.根据权利要求17所述的方法,其特征在于,所述维护还包括:
当节点服务器接收到终端发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:
将所述终端的新型网地址对应表项中的地址占用信息标记为该地址已用;
更新所述设备描述信息为当前终端;
更新所述设备资源描述信息为当前终端的端口信息,以及,其端口所连接的接入网设备的新型网地址。
19.根据权利要求12所述的方法,其特征在于,还包括:
如果针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源,则节点服务器向上行和下行链路上的所有交换机发送传输路径配置信息,所有交换机根据所述配置信息设置各自的数据包地址表。
20.根据权利要求19所述的方法,其特征在于:
当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则节点服务器继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则生成对应该服务的流量控制信息,并向该上行和下行链路上的所有交换机发送传输路径配置信息,所有交换机根据所述配置信息设置各自的数据包地址表。
21.根据权利要求20所述的方法,其特征在于:
若节点服务器获得多条满足服务的上行或下行链路,则按照预置规则选择其中一条。
22.根据权利要求21所述的方法,其特征在于:
所述预置规则为节点服务器获取各条链路的流量信息,以及,当次服务的流量信息,确定已用流量最小的通信链路为当次服务的通信链路。
23.根据权利要求21所述的方法,其特征在于:
所述预置规则为节点服务器获取各条链路的带宽信息,以及,当次服务的带宽信息,确定带宽最大的链路为当次服务的通信链路。
24.根据权利要求20所述的方法,其特征在于,所述接收数据包之后,存入包缓存队列之前,还包括:
查询数据包地址表,获得数据包的传输导向信息;
则所述从包缓存队列中取包发送为:按照数据包的传输导向信息发送。
25.根据权利要求10所述的方法,其特征在于,还包括:
进行流量控制的交换机接收服务申请协议包,对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入相应的端口接收缓存;
从所述端口接收缓存读取协议包,并放入相应的包缓存队列;
轮询所述包缓存队列,如果端口发送缓存未满,并且所述包缓存队列中的包计数器大于零,则以预定义的时间间隔从包缓存队列中顺序读取协议包,并放入端口发送缓存;
从端口发送缓存读取协议包发送。
26.根据权利要求20所述的方法,其特征在于:
所述数据包地址表包括单播数据包地址表和组播数据包地址表,分别用于导向单播数据包和组播数据包。
27.一种基于流量控制的交换机,其特征在于,包括:
CPU模块,用于针对每个服务申请,获得流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
包缓存器,用于存储数据包;
第一网络接口,用于接收数据包;
第二网络接口,用于发送数据包;
交换引擎,用于将第一网络接口接收的数据包放入包缓存器队列,并轮询包缓存器队列,根据流量控制信息从包缓存器队列中取包并通过第二网络接口发送。
28.根据权利要求27所述的交换机,其特征在于:
所述数据包是上行数据包,则所述第一网络接口为下行网络接口,所述第二网络接口为上行网络接口。
29.根据权利要求27所述的交换机,其特征在于:
所述第一网络接口和第二网络接口分别包括至少一个端口,每个端口都设有端口接收缓存和端口发送缓存,分别用于存储接收的数据包和待发送的数据包。
30.根据权利要求29所述的交换机,其特征在于,还包括:
包检测模块,用于对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入第一网络接口中相应的端口接收缓存;
则所述交换引擎从第一网络接口的端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存器队列。
31.根据权利要求30所述的交换机,其特征在于:
所述包检测模块用于检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求。
32.根据权利要求30所述的交换机,其特征在于:
所述包检测模块从新型网中具有集中控制功能的节点服务器获得针对当前服务的检测要求。
33.根据权利要求30所述的交换机,其特征在于,还包括:
码率控制模块,用于由CPU模块进行配置,根据流量控制信息产生发送令牌,并发送给交换引擎,所述令牌中包含流标识符。
34.根据权利要求33所述的交换机,其特征在于:
所述交换引擎从码率控制模块获得发送令牌,根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存;
第二网络接口从端口发送缓存读取数据包发送。
35.根据权利要求34所述的交换机,其特征在于:
所述交换引擎还用于判断是否同时满足以下两个条件:
第一,第二网络接口的端口发送缓存未满;
第二,相应流的包缓存队列中的包计数器大于零;
如果同时满足,则根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存。
36.根据权利要求27或28所述的交换机,其特征在于:
所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
37.根据权利要求27或28所述的交换机,其特征在于:
所述CPU模块从新型网中具有集中控制功能的节点服务器获得针对每个服务的流量控制信息。
38.根据权利要求27或28所述的交换机,其特征在于:所述交换机为接入终端的第一个交换机。
39.根据权利要求37所述的交换机,其特征在于:
所述CPU模块还用于从节点服务器获得针对每个服务的传输路径配置信息,并根据所述传输路径配置信息设置数据包地址表。
40.根据权利要求39所述的交换机,其特征在于:
所述交换引擎还用于查询数据包地址表,获得数据包的传输导向信息;
则所述第二网络接口按照数据包的传输导向信息发送数据包。
41.根据权利要求40所述的交换机,其特征在于:
所述第一网络接口还用于接收服务申请协议包;
所述包检测模块还用于对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入第一网络接口中相应的端口接收缓存;
所述交换引擎还用于从所述第一网络接口的端口接收缓存读取服务申请协议包,并放入相应的包缓存器队列;轮询包缓存器队列,如果第二网络接口的端口发送缓存未满,并且所述包缓存器队列中的包计数器大于零,则以预定义的时间间隔从包缓存器队列中顺序读服务申请取协议包,并放入第二网络接口的端口发送缓存;
第二网络接口还用于从端口发送缓存读取服务申请协议包发送。
42.根据权利要求40所述的交换机,其特征在于:
所述数据包地址表包括单播数据包地址表和组播数据包地址表,分别用于导向单播数据包和组播数据包。
43.一种基于流量控制的节点服务器,其特征在于,包括:
流量控制信息生成模块,用于针对每个服务申请,生成流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
流量控制信息发送模块,用于向进行流量控制的交换机发送针对该服务的流量控制信息。
44.根据权利要求43所述的节点服务器,其特征在于,还包括:
地址信息表,用于记录新型网地址占用信息、设备描述信息和设备资源描述信息,其中设备资源描述信息包括该设备各个网络端口连接的接入网设备的新型网地址和该设备各个网络端口的上下行流量计数。
45.根据权利要求44所述的节点服务器,其特征在于,还包括:
传输路径获取模块,用于根据终端发起的服务申请协议包,查找地址信息表中设备各个网络端口连接的接入网设备的新型网地址,获得对应该服务的上行和下行链路。
46.根据权利要求45所述的节点服务器,其特征在于,还包括:
流量计算模块,用于根据地址信息表中设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。
47.根据权利要求46所述的节点服务器,其特征在于,还包括:
流量控制模块,用于检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息;如果不满足,则拒绝服务申请。
48.根据权利要求47所述的节点服务器,其特征在于,还包括:
路径通知模块,用于当针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源时,向上行和下行链路上的所有交换机发送传输路径配置信息,所述传输路径配置信息用于交换机设置各自的数据包地址表。
49.根据权利要求48所述的节点服务器,其特征在于,还包括:
路径配置模块,用于当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则触发流量控制模块继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息,并触发路径通知模块向该上行和下行链路上的所有交换机发送传输路径配置信息。
50.根据权利要求49所述的节点服务器,其特征在于:
若有多条满足服务的上行或下行链路时,则路径配置模块按照预置规则选择其中一条。
51.根据权利要求50所述的节点服务器,其特征在于:
所述预置规则为确定已用流量最小的链路为当次服务的通信链路。
52.根据权利要求50所述的节点服务器,其特征在于:
所述预置规则为确定带宽最大的链路为当次服务的通信链路。
53.根据权利要求43所述的节点服务器,其特征在于:
所述流量控制信息发送模块向上行链路上进行流量控制的交换机发送针对该服务的流量控制信息。
54.根据权利要求43或53所述的节点服务器,其特征在于:
所述进行流量控制的交换机为接入终端的第一个交换机。
55.根据权利要求43所述的节点服务器,其特征在于:
所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
56.根据权利要求43或44所述的节点服务器,其特征在于,还包括:
地址信息表初始化模块,用于当节点服务器上电时,初始化所述地址信息表,所述初始化操作包括:在地址信息表的空白表项中写入节点服务器的新型网地址,并将地址占用信息标记为该地址已用;写入设备描述信息为当前节点服务器;写入设备资源描述信息为当前节点服务器的端口信息。
57.根据权利要求56所述的节点服务器,其特征在于,还包括:
地址信息表更新模块,用于依据节点服务器在其内部的下行协议包地址表中对各下行协议包所导向的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
58.根据权利要求57所述的节点服务器,其特征在于:
所述地址信息表更新模块还用于依据对端口下行协议包所导向的其他接入设备的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个端口下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
59.根据权利要求57所述的节点服务器,其特征在于:
所述地址信息表更新模块还用于当收到交换机发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述交换机的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前交换机;更新所述设备资源描述信息为当前交换机的端口信息,以及,其端口所连接的接入网设备的新型网地址信息。
60.根据权利要求57所述的节点服务器,其特征在于:
所述地址信息表更新模块还用于当收到终端发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述终端的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前终端;更新所述设备资源描述信息为当前终端的端口信息,以及,其端口所连接的接入网设备的新型网地址。
61.根据权利要求43所述的节点服务器,其特征在于,还包括:
包检测要求生成模块,用于根据终端发起的服务申请协议包,生成针对该服务的数据包检测要求;
包检测要求发送模块,用于向进行流量控制的交换机发送针对该服务的数据包检测要求。
62.根据权利要求61所述的节点服务器,其特征在于:
所述包检测要求发送模块向上行链路上进行流量控制的交换机发送针对该服务的数据包检测要求。
63.根据权利要求61所述的节点服务器,其特征在于:
数据包检测要求包括数据包的目的地址、源地址、数据包类型和包长度的检测要求。
64.一种基于流量控制的通信系统,其特征在于,包括:
节点服务器、进行流量控制的交换机和终端,其中,
节点服务器包括:
流量控制信息生成模块,用于针对每个服务申请,生成流量控制信息,所述流量控制信息包括发送时间间隔和发送的数据大小;
流量控制信息发送模块,用于向进行流量控制的交换机发送针对该服务的流量控制信息;
进行流量控制的交换机包括:
CPU模块,用于针对每个服务申请,从节点服务器获得流量控制信息;
包缓存器,用于存储数据包;
第一网络接口,用于接收数据包;
第二网络接口,用于发送数据包;
交换引擎,用于将第一网络接口接收的数据包放入包缓存器队列,并轮询包缓存器队列,根据流量控制信息从包缓存器队列中取包并通过第二网络接口发送;
终端,用于向节点服务器发起服务申请,并传输针对该服务的数据包。
65.根据权利要求64所述的通信系统,其特征在于:
所述数据包是上行数据包,则所述第一网络接口为下行网络接口,所述第二网络接口为上行网络接口。
66.根据权利要求64所述的通信系统,其特征在于:
所述第一网络接口和第二网络接口分别包括至少一个端口,每个端口都设有端口接收缓存和端口发送缓存,分别用于存储接收的数据包和待发送的数据包。
67.根据权利要求66所述的通信系统,其特征在于,所述进行流量控制的交换机还包括:
包检测模块,用于对接收的数据包进行检测,如果符合检测要求,则分配相应的流标识符,并放入第一网络接口中相应的端口接收缓存;
则所述交换引擎从第一网络接口的端口接收缓存读取数据包,并根据流标识符放入相应流的包缓存器队列。
68.根据权利要求67所述的通信系统,其特征在于:
所述包检测模块检测数据包的目的地址、源地址、数据包类型和包长度是否符合要求。
69.根据权利要求67所述的通信系统,其特征在于,所述节点服务器还包括:
包检测要求生成模块,用于根据终端发起的服务申请协议包,生成针对该服务的数据包检测要求;
包检测要求发送模块,用于向进行流量控制的交换机发送针对该服务的数据包检测要求。
70.根据权利要求69所述的通信系统,其特征在于:
所述包检测要求发送模块向上行链路上进行流量控制的交换机发送针对该服务的数据包检测要求。
71.根据权利要求67所述的通信系统,其特征在于,所述进行流量控制的交换机还包括:
码率控制模块,用于由CPU模块进行配置,根据流量控制信息产生发送令牌,并发送给交换引擎,所述令牌中包含流标识符。
72.根据权利要求71所述的通信系统,其特征在于:
所述交换引擎从码率控制模块获得发送令牌,根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存;
第二网络接口从端口发送缓存读取数据包发送。
73.根据权利要求72所述的通信系统,其特征在于:
所述交换引擎还用于判断是否同时满足以下两个条件:
第一,第二网络接口的端口发送缓存未满;
第二,相应流的包缓存队列中的包计数器大于零;
如果同时满足,则根据发送令牌中的流标识符,从相应流的包缓存器队列中顺序读取数据包,并放入第二网络接口的端口发送缓存。
74.根据权利要求64或65所述的通信系统,其特征在于:
所述流量控制信息中发送的数据大小包括可发送字节的最大值和用于调整变长包发送的参数。
75.根据权利要求64或65所述的通信系统,其特征在于:
所述流量控制信息发送模块向上行链路上进行流量控制的交换机发送针对该服务的流量控制信息。
76.根据权利要求64或75所述的通信系统,其特征在于:
所述进行流量控制的交换机为接入终端的第一个交换机。
77.根据权利要求64所述的通信系统,其特征在于,所述节点服务器还包括:
地址信息表,用于记录新型网地址占用信息、设备描述信息和设备资源描述信息,其中设备资源描述信息包括该设备各个网络端口连接的接入网设备的新型网地址和该设备各个网络端口的上下行流量计数。
78.根据权利要求77所述的通信系统,其特征在于,所述节点服务器还包括:
传输路径获取模块,用于根据终端发起的服务申请协议包,查找地址信息表中设备各个网络端口连接的接入网设备的新型网地址,获得对应该服务的上行和下行链路。
79.根据权利要求78所述的通信系统,其特征在于,所述节点服务器还包括:
流量计算模块,用于根据地址信息表中设备各个网络端口的上下行流量计数,获得针对该服务的上行和下行链路的剩余流量资源。
80.根据权利要求79所述的通信系统,其特征在于,所述节点服务器还包括:
流量控制模块,用于检查针对该服务的上行和下行链路的剩余流量资源是否都满足服务所需的流量资源,如果都满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息;如果不满足,则拒绝服务申请。
81.根据权利要求80所述的通信系统,其特征在于,所述节点服务器还包括:
路径通知模块,用于当针对该服务的上行和下行链路的剩余流量资源都满足服务所需的流量资源时,向上行和下行链路上的所有交换机发送传输路径配置信息。
82.根据权利要求81所述的通信系统,其特征在于,所述节点服务器还包括:
路径配置模块,用于当针对该服务的上行或下行链路有多个时,如果其中一个上行或下行链路的剩余流量资源不满足服务所需的流量资源,则触发流量控制模块继续检查其它上行或下行链路的剩余流量资源是否满足服务所需的流量资源,如果满足,则触发流量控制信息生成模块生成对应该服务的流量控制信息,并触发路径通知模块向该上行和下行链路上的所有交换机发送传输路径配置信息。
83.根据权利要求82所述的通信系统,其特征在于:
若有多条满足服务的上行或下行链路时,则路径配置模块按照预置规则选择其中一条。
84.根据权利要求82所述的通信系统,其特征在于:
所述交换机的CPU模块还用于从节点服务器获得针对每个服务的传输路径配置信息,并根据所述传输路径配置信息设置数据包地址表。
85.根据权利要求84所述的通信系统,其特征在于:
所述交换引擎还用于查询数据包地址表,获得数据包的传输导向信息;
则所述第二网络接口按照数据包的传输导向信息发送数据包。
86.根据权利要求85所述的通信系统,其特征在于:
所述数据包地址表包括单播数据包地址表和组播数据包地址表,分别用于导向单播数据包和组播数据包。
87.根据权利要求77所述的通信系统,其特征在于,所述节点服务器还包括:
地址信息表初始化模块,用于当节点服务器上电时,初始化所述地址信息表,所述初始化操作包括:在地址信息表的空白表项中写入节点服务器的新型网地址,并将地址占用信息标记为该地址已用;写入设备描述信息为当前节点服务器;写入设备资源描述信息为当前节点服务器的端口信息。
88.根据权利要求87所述的通信系统,其特征在于,所述节点服务器还包括:
地址信息表更新模块,用于依据节点服务器在其内部的下行协议包地址表中对各下行协议包所导向的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
89.根据权利要求88所述的通信系统,其特征在于,所述节点服务器还包括:
所述地址信息表更新模块还用于依据对端口下行协议包所导向的其他接入设备的下行端口的设置,更新所述地址信息表,所述更新操作包括:在地址信息表的空白表项中分别写入各个端口下行协议包中的待分配接入网地址,并将地址占用信息标记为该地址待用。
90.根据权利要求88所述的通信系统,其特征在于,所述节点服务器还包括:
所述地址信息表更新模块还用于当收到交换机发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述交换机的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前交换机;更新所述设备资源描述信息为当前交换机的端口信息,以及,其端口所连接的接入网设备的新型网地址信息。
91.根据权利要求88所述的通信系统,其特征在于,所述节点服务器还包括:
所述地址信息表更新模块还用于当收到终端发送的入网命令应答时,更新所述地址信息表,所述更新操作包括:将所述终端的新型网地址对应表项中的地址占用信息标记为该地址已用;更新所述设备描述信息为当前终端;更新所述设备资源描述信息为当前终端的端口信息,以及,其端口所连接的接入网设备的新型网地址。
92.根据权利要求67所述的通信系统,其特征在于:
所述第一网络接口还用于接收服务申请协议包;
所述包检测模块还用于对所述服务申请协议包进行目的地址、源地址、数据包类型和包长度的检测,如果符合检测要求,则放入第一网络接口中相应的端口接收缓存;
所述交换引擎还用于从所述第一网络接口的端口接收缓存读取服务申请协议包,并放入相应的包缓存器队列;轮询包缓存器队列,如果第二网络接口的端口发送缓存未满,并且所述包缓存器队列中的包计数器大于零,则以预定义的时间间隔从包缓存器队列中顺序读服务申请取协议包,并放入第二网络接口的端口发送缓存;
第二网络接口还用于从端口发送缓存读取服务申请协议包发送。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010248191.5A CN102377631B (zh) | 2010-08-06 | 2010-08-06 | 一种基于流量控制的数据传输方法及通信系统 |
PCT/CN2011/077996 WO2012016532A1 (zh) | 2010-08-06 | 2011-08-04 | 一种基于流量控制的数据传输方法及通信系统 |
US13/814,715 US9253106B2 (en) | 2010-08-06 | 2011-08-04 | Traffic-control-based data transmission method and communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010248191.5A CN102377631B (zh) | 2010-08-06 | 2010-08-06 | 一种基于流量控制的数据传输方法及通信系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102377631A true CN102377631A (zh) | 2012-03-14 |
CN102377631B CN102377631B (zh) | 2015-08-05 |
Family
ID=45558946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010248191.5A Active CN102377631B (zh) | 2010-08-06 | 2010-08-06 | 一种基于流量控制的数据传输方法及通信系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9253106B2 (zh) |
CN (1) | CN102377631B (zh) |
WO (1) | WO2012016532A1 (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970246A (zh) * | 2012-11-23 | 2013-03-13 | 上海寰创通信科技股份有限公司 | 一种以太网报文流量控制方法 |
CN104125115A (zh) * | 2014-08-01 | 2014-10-29 | 浪潮(北京)电子信息产业有限公司 | 一种日志信息传送方法及装置 |
CN104135406A (zh) * | 2014-08-01 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种监控数据传送方法及装置 |
CN105245463A (zh) * | 2014-07-09 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和设备 |
CN105744571A (zh) * | 2016-04-14 | 2016-07-06 | 京信通信技术(广州)有限公司 | 流量整形方法和系统 |
CN108882302A (zh) * | 2018-09-12 | 2018-11-23 | 复旦大学 | 一种协议无关的双拥塞控制方法 |
CN108965345A (zh) * | 2018-09-30 | 2018-12-07 | 武汉斗鱼网络科技有限公司 | 一种小信令网络数据包的优化方法及装置 |
CN109542903A (zh) * | 2018-11-14 | 2019-03-29 | 珠海格力智能装备有限公司 | 数据处理方法及装置 |
CN109640055A (zh) * | 2018-12-28 | 2019-04-16 | 神思电子技术股份有限公司 | 一种视频监控设备集群协同工作的调度装置和方法 |
CN110809026A (zh) * | 2019-09-29 | 2020-02-18 | 视联动力信息技术股份有限公司 | 一种文件处理方法、装置、电子设备及存储介质 |
CN111356096A (zh) * | 2020-02-24 | 2020-06-30 | 维沃移动通信有限公司 | 一种信息发送方法及电子设备 |
CN111555974A (zh) * | 2020-03-19 | 2020-08-18 | 视联动力信息技术股份有限公司 | 一种数据包的处理方法、装置、终端设备和存储介质 |
CN112073756A (zh) * | 2020-07-30 | 2020-12-11 | 视联动力信息技术股份有限公司 | 业务控制方法、装置、电子设备及可读存储介质 |
CN112367265A (zh) * | 2020-10-27 | 2021-02-12 | 中国电子科技集团公司第二十八研究所 | 一种适用于窄带弱连接网络的可靠数据传输方法和装置 |
CN112714075A (zh) * | 2020-12-30 | 2021-04-27 | 深圳市吉祥腾达科技有限公司 | 一种桥转发数据包限速的方法 |
CN114500411A (zh) * | 2021-12-30 | 2022-05-13 | 长园深瑞继保自动化有限公司 | 数据转发系统、方法、计算设备及可编程逻辑器件 |
CN114531487A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 缓存管理方法及装置 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780668B (zh) * | 2013-08-20 | 2017-07-07 | 苏州迈科网络安全技术股份有限公司 | 一种基于http传输协议的云报表数据存储方法 |
US9942196B2 (en) * | 2014-05-01 | 2018-04-10 | The Johns Hopkins University | Canonical network isolator component |
CN104363184B (zh) * | 2014-10-31 | 2018-04-17 | 北京思特奇信息技术股份有限公司 | 一种基于tuxedo通信模式的JSON报文处理方法及系统 |
CN104468393B (zh) * | 2014-11-28 | 2018-02-16 | 深圳市共进电子股份有限公司 | 一种业务数据的QoS流量控制方法及装置 |
CN104539512B (zh) * | 2014-12-05 | 2018-11-23 | 百度在线网络技术(北京)有限公司 | 一种分布式系统中用于消息传送的方法与装置 |
EP3223474B1 (en) * | 2014-12-09 | 2020-06-17 | Huawei Technologies Co., Ltd. | Method and device for processing adaptive flow table |
US10437523B2 (en) * | 2016-02-25 | 2019-10-08 | Red Hat Israel, Ltd. | Secure receive packet processing for network function virtualization applications |
JP2017163440A (ja) * | 2016-03-11 | 2017-09-14 | 富士通株式会社 | データ転送プログラム、データ転送方法、及び、データ転送装置 |
CN107783845B (zh) * | 2016-08-25 | 2021-04-13 | 阿里巴巴集团控股有限公司 | 消息传输系统、方法和装置 |
CN109327401B (zh) * | 2017-08-01 | 2022-02-25 | 北京亿阳信通科技有限公司 | 一种sdn网络的流量调度方法与系统 |
FR3072236B1 (fr) * | 2017-10-10 | 2020-11-27 | Bull Sas | Dispositif et procede d'acquisition de valeurs de compteurs associes a une tache de calcul |
CN110166367B (zh) | 2018-02-14 | 2021-01-29 | 华为技术有限公司 | 一种分组网络中控制流量的方法、装置及存储介质 |
CN109151487B (zh) * | 2018-09-07 | 2021-01-01 | 视联动力信息技术股份有限公司 | 一种直播多媒体数据的处理方法和装置 |
CN109862439B (zh) * | 2019-01-29 | 2022-03-29 | 视联动力信息技术股份有限公司 | 数据处理方法和装置 |
CN110222075B (zh) * | 2019-04-25 | 2021-11-19 | 视联动力信息技术股份有限公司 | 一种响应数据查询的方法、视联网系统以及mserver系统 |
CN110213177B (zh) * | 2019-06-06 | 2022-12-20 | 上海华测导航技术股份有限公司 | 基于4g模块的分时发送方法 |
CN110351137B (zh) * | 2019-07-10 | 2022-07-08 | 视联动力信息技术股份有限公司 | 自动更新配置信息的方法、系统、电子设备及存储介质 |
CN112333221B (zh) * | 2019-08-05 | 2023-09-12 | 迈普通信技术股份有限公司 | 一种网络业务集中处理的网络系统、方法及通信设备 |
CN111010353A (zh) * | 2019-11-19 | 2020-04-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于光纤通道的自适应无忧网络实现方法 |
CN111245733A (zh) * | 2019-12-30 | 2020-06-05 | 视联动力信息技术股份有限公司 | 一种数据传输的方法和装置 |
CN111479136B (zh) * | 2020-03-03 | 2023-04-07 | 视联动力信息技术股份有限公司 | 一种监控资源的传输方法和装置 |
CN111447408A (zh) * | 2020-03-03 | 2020-07-24 | 视联动力信息技术股份有限公司 | 一种监控资源的传输方法和装置 |
CN111565096A (zh) * | 2020-04-07 | 2020-08-21 | 视联动力信息技术股份有限公司 | 一种数据传输方法和装置 |
CN113595895B (zh) * | 2020-04-30 | 2022-12-06 | 华为技术有限公司 | 报文控制方法、第一pe设备、第一ce设备和存储介质 |
CN112039721B (zh) * | 2020-08-04 | 2022-03-18 | 紫光云(南京)数字技术有限公司 | 公有云平台下对弹性公网ip进行流量监控的方法及系统 |
CN112881826B (zh) * | 2021-01-12 | 2023-04-28 | 国网山东省电力公司经济技术研究院 | 一种基于spn技术承载电力业务性能测试的方法 |
CN113364790B (zh) * | 2021-06-12 | 2022-10-18 | 四川虹美智能科技有限公司 | 数据传输方法及装置 |
CN113438058B (zh) * | 2021-06-22 | 2022-11-25 | 中国科学院计算机网络信息中心 | 一种数据传输方法、装置、网络中继设备及系统 |
US11973824B2 (en) * | 2021-09-23 | 2024-04-30 | Shanghai Anviz Technology Co., Ltd. | Method for data transmission of audio and video in end-to-end system |
CN115412491B (zh) * | 2022-08-29 | 2023-08-25 | 中电科航空电子有限公司 | 多链路的空地通信路由选择和流量统计方法及系统 |
CN115550257A (zh) * | 2022-10-17 | 2022-12-30 | 昆明能讯科技有限责任公司 | 实现电力分布式系统间数据路由处理的方法及存储介质 |
CN117614517A (zh) * | 2024-01-18 | 2024-02-27 | 广东世炬网络科技有限公司 | 基于数据传输量控制的多链路数据传输方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030165116A1 (en) * | 2002-03-01 | 2003-09-04 | Fallon Michael F. | Traffic shaping procedure for variable-size data units |
CN101005453A (zh) * | 2006-12-26 | 2007-07-25 | 华为技术有限公司 | 流量限制技术中刷新令牌桶的方法及装置 |
CN101567855A (zh) * | 2009-06-11 | 2009-10-28 | 杭州华三通信技术有限公司 | 分布式包交换系统和分布式包交换方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442172B1 (en) * | 1996-07-11 | 2002-08-27 | Alcatel Internetworking, Inc. | Input buffering and queue status-based output control for a digital traffic switch |
WO2002103966A1 (en) * | 2001-06-15 | 2002-12-27 | British Telecommunications Public Limited Company | Communications network with congestion avoidance |
US20030081607A1 (en) * | 2001-10-30 | 2003-05-01 | Alan Kavanagh | General packet radio service tunneling protocol (GTP) packet filter |
US7289456B2 (en) * | 2002-04-08 | 2007-10-30 | Telcordia Technologies, Inc. | Determining and provisioning paths within a network of communication elements |
TW569575B (en) * | 2002-04-30 | 2004-01-01 | Realtek Semiconductor Corp | Transmission setup method and device for multicast packet |
JP3790897B2 (ja) * | 2002-08-13 | 2006-06-28 | 日本電信電話株式会社 | パケット転送制御システムと方法およびそのプログラムと記録媒体ならびに通信装置 |
US20080008202A1 (en) * | 2002-10-31 | 2008-01-10 | Terrell William C | Router with routing processors and methods for virtualization |
US7643420B2 (en) * | 2005-03-11 | 2010-01-05 | Broadcom Corporation | Method and system for transmission control protocol (TCP) traffic smoothing |
CN100466625C (zh) * | 2006-09-07 | 2009-03-04 | 华为技术有限公司 | 一种实现业务流量控制的方法及系统 |
CN100561985C (zh) * | 2007-09-27 | 2009-11-18 | 中兴通讯股份有限公司 | 一种基于业务优先级的流量控制方法及其系统 |
JP5115391B2 (ja) * | 2008-08-07 | 2013-01-09 | 日本電気株式会社 | ネットワーク接続装置 |
CN101917492B (zh) * | 2010-08-06 | 2013-06-05 | 北京乾唐视联网络科技有限公司 | 一种新型网的通信方法及系统 |
-
2010
- 2010-08-06 CN CN201010248191.5A patent/CN102377631B/zh active Active
-
2011
- 2011-08-04 US US13/814,715 patent/US9253106B2/en active Active
- 2011-08-04 WO PCT/CN2011/077996 patent/WO2012016532A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030165116A1 (en) * | 2002-03-01 | 2003-09-04 | Fallon Michael F. | Traffic shaping procedure for variable-size data units |
CN101005453A (zh) * | 2006-12-26 | 2007-07-25 | 华为技术有限公司 | 流量限制技术中刷新令牌桶的方法及装置 |
CN101567855A (zh) * | 2009-06-11 | 2009-10-28 | 杭州华三通信技术有限公司 | 分布式包交换系统和分布式包交换方法 |
Non-Patent Citations (1)
Title |
---|
刘元峰: ""基于漏桶理论及令牌桶算法的网络流量整形策略的研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 November 2008 (2008-11-15) * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970246A (zh) * | 2012-11-23 | 2013-03-13 | 上海寰创通信科技股份有限公司 | 一种以太网报文流量控制方法 |
CN102970246B (zh) * | 2012-11-23 | 2017-12-22 | 上海寰创通信科技股份有限公司 | 一种以太网报文流量控制方法 |
CN105245463B (zh) * | 2014-07-09 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 一种流量控制方法、设备及存储介质 |
CN105245463A (zh) * | 2014-07-09 | 2016-01-13 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和设备 |
CN104135406B (zh) * | 2014-08-01 | 2017-10-03 | 浪潮(北京)电子信息产业有限公司 | 一种监控数据传送方法及装置 |
CN104135406A (zh) * | 2014-08-01 | 2014-11-05 | 浪潮(北京)电子信息产业有限公司 | 一种监控数据传送方法及装置 |
CN104125115B (zh) * | 2014-08-01 | 2017-09-22 | 浪潮(北京)电子信息产业有限公司 | 一种日志信息传送方法及装置 |
CN104125115A (zh) * | 2014-08-01 | 2014-10-29 | 浪潮(北京)电子信息产业有限公司 | 一种日志信息传送方法及装置 |
CN105744571A (zh) * | 2016-04-14 | 2016-07-06 | 京信通信技术(广州)有限公司 | 流量整形方法和系统 |
CN108882302B (zh) * | 2018-09-12 | 2021-04-30 | 复旦大学 | 一种协议无关的双拥塞控制方法 |
CN108882302A (zh) * | 2018-09-12 | 2018-11-23 | 复旦大学 | 一种协议无关的双拥塞控制方法 |
CN108965345A (zh) * | 2018-09-30 | 2018-12-07 | 武汉斗鱼网络科技有限公司 | 一种小信令网络数据包的优化方法及装置 |
CN108965345B (zh) * | 2018-09-30 | 2021-09-07 | 武汉斗鱼网络科技有限公司 | 一种小信令网络数据包的优化方法及装置 |
CN109542903A (zh) * | 2018-11-14 | 2019-03-29 | 珠海格力智能装备有限公司 | 数据处理方法及装置 |
CN109640055A (zh) * | 2018-12-28 | 2019-04-16 | 神思电子技术股份有限公司 | 一种视频监控设备集群协同工作的调度装置和方法 |
CN110809026A (zh) * | 2019-09-29 | 2020-02-18 | 视联动力信息技术股份有限公司 | 一种文件处理方法、装置、电子设备及存储介质 |
CN110809026B (zh) * | 2019-09-29 | 2022-11-01 | 视联动力信息技术股份有限公司 | 一种文件处理方法、装置、电子设备及存储介质 |
CN111356096A (zh) * | 2020-02-24 | 2020-06-30 | 维沃移动通信有限公司 | 一种信息发送方法及电子设备 |
CN111555974A (zh) * | 2020-03-19 | 2020-08-18 | 视联动力信息技术股份有限公司 | 一种数据包的处理方法、装置、终端设备和存储介质 |
CN112073756A (zh) * | 2020-07-30 | 2020-12-11 | 视联动力信息技术股份有限公司 | 业务控制方法、装置、电子设备及可读存储介质 |
CN112073756B (zh) * | 2020-07-30 | 2024-05-10 | 视联动力信息技术股份有限公司 | 业务控制方法、装置、电子设备及可读存储介质 |
CN112367265A (zh) * | 2020-10-27 | 2021-02-12 | 中国电子科技集团公司第二十八研究所 | 一种适用于窄带弱连接网络的可靠数据传输方法和装置 |
CN114531487A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 缓存管理方法及装置 |
CN112714075A (zh) * | 2020-12-30 | 2021-04-27 | 深圳市吉祥腾达科技有限公司 | 一种桥转发数据包限速的方法 |
CN114500411A (zh) * | 2021-12-30 | 2022-05-13 | 长园深瑞继保自动化有限公司 | 数据转发系统、方法、计算设备及可编程逻辑器件 |
Also Published As
Publication number | Publication date |
---|---|
WO2012016532A1 (zh) | 2012-02-09 |
CN102377631B (zh) | 2015-08-05 |
US20130208592A1 (en) | 2013-08-15 |
US9253106B2 (en) | 2016-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377631B (zh) | 一种基于流量控制的数据传输方法及通信系统 | |
CN102377632B (zh) | 一种兼容以太网的方法及系统 | |
CN102377636B (zh) | 一种接入网设备的服务通信方法及系统 | |
CN102377634B (zh) | 一种接入网设备的入网方法及系统 | |
CN101917492B (zh) | 一种新型网的通信方法及系统 | |
CN102377635B (zh) | 一种城域网通信方法及通信系统 | |
CN102377633B (zh) | 一种接入网设备的通信连接方法及系统 | |
CN108418778A (zh) | 一种互联网与视联网通信的方法、装置及交互系统 | |
CN109428768A (zh) | 一种自治网络的业务方法和自治网络 | |
CN110035005A (zh) | 数据处理方法和装置 | |
CN108632233B (zh) | 一种报警复核方法和装置 | |
CN110266638A (zh) | 信息处理方法、装置及存储介质 | |
CN109728982A (zh) | 一种自治网络中自治云的入网方法和系统 | |
CN109729107A (zh) | 一种自治网络中自治云的入网方法和相关设备 | |
CN110096854A (zh) | 资源权限分享方法、装置及可读存储介质 | |
CN109714611A (zh) | 一种程序版本检查的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: Yang Chunhui Inventor after: Lu Hongcheng Inventor before: Lu Hongcheng Inventor before: Yang Chunhui |
|
COR | Change of bibliographic data |
Free format text: CORRECT: INVENTOR; FROM: LU HONGCHENG YANG CHUNHUI TO: YANG CHUNHUI LU HONGCHENG |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |