CN103269320B - 数据转发方法和接入路由器 - Google Patents
数据转发方法和接入路由器 Download PDFInfo
- Publication number
- CN103269320B CN103269320B CN201310148173.3A CN201310148173A CN103269320B CN 103269320 B CN103269320 B CN 103269320B CN 201310148173 A CN201310148173 A CN 201310148173A CN 103269320 B CN103269320 B CN 103269320B
- Authority
- CN
- China
- Prior art keywords
- priority
- packet
- router
- couple
- comprehensive
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据转发方法和接入路由器,该方法包括:接入路由器接收终端发送的数据包,数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息;接入路由器根据源IP地址对应的终端的优先级以及数据类型信息对应该数据类型的优先级计算综合优先级,并将综合优先级添加至数据包中;接入路由器将数据包加入综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分;接入路由器按照数据包在所属缓冲队列中的加入顺序转发数据包。该方法通过计算确定数据包的优先级,并将数据包按优先级高低来分配带宽,可使得具有高优先级的数据包获得较大比率的带宽,转发方法灵活。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种数据转发方法和接入路由器。
背景技术
随着网络信息技术的发展及应用,网络正逐步成为人们日常工作、学习和生活的重要工具。但对于不同的服务,它们对网络的要求也是不相同的,网络需要根据不同的应用来制定服务质量保障策略,以尽可能满足网络上用户和应用的不同需求。
现有技术中,将网络分为不同的差分服务(DifferentiatedService,简称DS)域,当一个数据流进入到一个DS域时,根据数据流的类型为该数据流分配一个差别化业务编码点(DifferentialServicesCodePoint,简称DSCP)值来标记数据流,再根据各数据流的DSCP值对报文进行调度转发。
然而,现有技术基于数据流类型的转发方法缺乏灵活性,网络服务质量不高。
发明内容
本发明提供一种数据转发方法和接入路由器,用以改善现有技术中用户的网络服务质量上存在的问题。
第一方面,本发明实施例提供一种数据转发方法,包括:
接入路由器接收终端发送的数据包,所述数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息;
所述接入路由器根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级,并将所述综合优先级添加至所述数据包中;
所述接入路由器将所述数据包加入所述综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分;
所述接入路由器按照所述数据包在所属缓冲队列中的加入顺序转发所述数据包。
在第一方面的第一种可能的实现方式中,所述接入路由器根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级之后,还包括:
所述接入路由器查看是否已存在所述数据包的综合优先级对应的缓冲队列;
若已存在,则将所述数据包加入所述数据包的综合优先级对应的缓冲队列尾部;若不存在,则所述接入路由器新建所述数据包的综合优先级对应的缓冲队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中:
若任意综合优先级对应的缓冲队列中的所有数据包转发完成超过设定时间,则按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
根据第一方面、第一方面的第一种和第二种可能的实现方式的任意一种,在第三种可能的实现方式中:
所述数据包中还携带优先级,则所述接入路由器根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级之后,还包括:
所述接入路由器将所述数据包中携带的优先级与所计算的综合优先级相比较,若所述数据包中携带的优先级高于所述综合优先级,则将所述数据包中携带的优先级作为综合优先级。
根据第一方面、第一方面的第一种、第二种和第三种可能的实现方式的任意一种,在第四种可能的实现方式中:
所述接入路由器接收终端发送的数据包之前,还包括:
所述接入路由器接收所述终端发送的网络服务质量请求,所述网络服务质量请求中携带所述终端的IP地址、账号信息和密码信息;
所述接入路由器根据所述终端的IP地址、账号信息和密码信息与所述终端进行双向认证;
若所述双向认证通过,所述接入路由器将所述终端的IP地址、账号信息和密码信息发送给认证服务器,以使所述认证服务器根据所述终端的IP地址、账号信息和密码信息查询所述终端的优先级;
所述接入路由器接收所述认证服务器返回的所述终端的优先级信息。
第二方面,本发明实施例提供一种接入路由器,包括:
接收模块,用于接收终端发送的数据包,所述数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息;
计算模块,用于根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级,并将所述综合优先级添加至所述数据包中;
分配模块,用于将所述数据包加入所述综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分;
转发模块,用于按照所述数据包在所属缓冲队列中的加入顺序转发所述数据包。
在第二方面的第一种可能的实现方式中,所述分配模块包括:
查找单元,用于查看是否已存在所述数据包的综合优先级对应的缓冲队列;
分配单元,用于当所述数据包的综合优先级对应的缓冲队列已存在时,将所述数据包加入所述数据包的综合优先级对应的缓冲队列尾部;当不存在,新建所述数据包的综合优先级对应的缓冲队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中:
所述分配单元还用于:
当任意综合优先级对应的缓冲队列中的所有数据包转发完成超过设定时间时,按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
根据第二方面、第二方面的第一种和第二种可能的实现方式的任意一种,在第三种可能的实现方式中:所述计算模块具体包括:
计算单元,用于根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级;
还包括:
比较单元,用于在所述数据包中还携带优先级时,将所述数据包中携带的优先级与所计算的综合优先级相比较,若所述数据包中携带的优先级高于所述综合优先级,则将所述数据包中携带的优先级作为综合优先级。
根据第二方面、第二方面的第一种、第二种和第三种可能的实现方式的任意一种,在第四种可能的实现方式中:
所述接收模块还用于接收所述终端发送的网络服务质量请求,所述网络服务质量请求中携带所述终端的IP地址、账号信息和密码信息;
所述接入路由器还包括:
认证模块,用于根据所述终端的IP地址、账号信息和密码信息与所述终端进行双向认证;
发送模块,用于当所述双向认证通过时,将所述终端的IP地址、账号信息和密码信息发送给认证服务器,以使所述认证服务器根据所述终端的IP地址、账号信息和密码信息查询所述终端的优先级;
所述接收模块还用于接收所述认证服务器返回的所述终端的优先级信息。
本发明实施例提供的数据转发方法和接入路由器,接入路由器接收到终端数据包后,根据数据包中源IP地址对应的终端优先级以及数据包中的数据类型信息对应的数据类型优先级计算综合优先级,并按综合优先级高低的顺序来分配带宽,转发方法灵活,有效提高了网络服务的质量。
附图说明
图1为本发明实施例一提供的数据转发方法的流程图;
图2为本发明实施例二提供的数据转发方法的流程图;
图3为本发明实施例涉及的网络架构示意图;
图4为本发明实施例的接入路由器在用户数据传输过程中的处理流程图;
图5为本发明实施例四提供的接入路由器的结构示意图。
具体实施方式
图1为本发明实施例一提供的数据转发方法的流程图。如图1所示,本实施例的方法包括:
步骤101:接入路由器接收终端发送的数据包,数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息。
具体地,该数据包中可以携带源互联网协议IP地址、目的IP地址和数据类型信息等内容。通常以上信息可以携带在数据包的IP报文头部。
步骤102:接入路由器根据源IP地址对应的终端的优先级以及数据类型信息对应该数据类型的优先级计算综合优先级,并将综合优先级添加至数据包中。
本发明实施例中,每一个用户终端对应着不同的优先级,不同的数据类型(即不同的业务)也对应不同的优先级。因此,接入路由器可以根据上述用户终端的优先级和数据类型的优先级进行综合考虑。具体地,当接入路由器接收到数据包后,可以根据源IP地址确定用户终端,从而确定该用户终端所对应的优先级。另外,接入路由器还可以根据数据类型信息确定对应该数据类型的优先级。进一步的,接入路由器可以根据用户终端的优先级和数据类型的优先级计算综合优先级,并将所计算的综合优先级添加至数据包中,以方便数据包的后续转发。
可选的,接入路由器可以采用加权计算的方法计算综合优先级,例如:可以对用户终端的优先级和数据类型的优先级分别赋予不同的权值进行加权计算来得到综合优先级。
可选的,接入路由器还可以提取该数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息,并将其与计算所得的综合优先级一起,存入数据包优先级列表。该数据包优先级列表可以方便同一个用户终端在以后进行同类型数据包的转发时,直接提取该优先级,而不用再次进行计算。
步骤103:接入路由器将数据包加入综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分。
具体地,接入路由器可以为不同的综合优先级创建不同的缓冲队列,每个缓冲队列可以按照数据包加入的顺序来调度发送数据包。在接入路由器确定综合优先级之后,可以将数据包加入到其综合优先级对应的缓冲队列的队尾,以等待数据包的转发调度。其中,而不同的缓冲对列所对应的带宽按照所对应的综合优先级高低顺序来分配。
步骤104:接入路由器按照数据包在所属缓冲队列中的加入顺序转发数据包。
具体地,接入路由器在对数据包进行转发的时候,按照数据包加入所属缓冲队列中的先后顺序来进行,即同一个优先级的数据包的转发按先后顺序来进行。对于一个缓冲队列,可以从该队列头至队列尾依次调度发送数据包。
本发明实施例提供的数据转发方法和接入路由器,接入路由器接收到终端数据包后,根据数据包中源IP地址对应的终端优先级以及数据包中的数据类型信息对应的数据类型优先级计算综合优先级,并按综合优先级高低的顺序来分配带宽,转发方法灵活,有效提高了网络服务的质量。
图2为本发明实施例二提供的数据转发方法的流程图,其中,201-202为用户与接入路由器进行双向认证的过程;203-204为双向认证通过后接入路由器向认证服务器查询终端的优先级的过程;205-206为接入路由器对数据包的进行优先级标记和确认的过程;207-211为接入路由器对数据包进行转发和调度的过程;212为用户数据转发完成退出网络的过程。图3为本发明实施例涉及的网络架构示意图,如图3所示,该网络包括路由器1、路由器2、路由器3和认证服务器。图4为本发明实施例的接入路由器在用户数据传输过程中的处理流程图。结合图2、图3和图4所示,本实施例的方法包括:
步骤201:接入路由器接收终端发送的网络服务质量请求,网络服务质量请求中携带终端的IP地址、账号信息和密码信息。
具体地,用户在需要发送接收数据并获得优先级的服务时,首先需要进行身份认证。在本步骤中,用户终端向接入路由器发送网络服务质量请求,且该网络服务质量请求中携带终端的IP地址、账号信息和密码信息等认证信息,以使接入路由器根据该认证信息对用户终端的身份进行确认。其中,该接入路由器可以是图3所示的任意一个路由器。
步骤202:接入路由器根据终端的IP地址、账号信息和密码信息与终端进行双向认证。
具体地,接入路由器根据用户终端所发送的网络服务质量请求中所包含的信息对用户终端的身份进行认证,以验证终端身份的合法性,即该终端有权限在该***中进行数据的转发与接收操作。可选的,接入路由器也可读取本地证书并发送给终端,由终端对其身份进行认证,从而完成双向认证。若双向认证不成功,则接入路由器向该用户终端返回认证失败的消息。
步骤203:若双向认证通过,接入路由器将终端的IP地址、账号信息和密码信息发送给认证服务器,以使认证服务器根据终端的IP地址、账号信息和密码信息查询终端的优先级。
具体地,若接入路由器和终端的双向认证通过,则接入路由器将终端的IP地址、账号信息和密码信息发送给认证服务器,认证服务器可根据这些信息在本地数据库中查询用户终端的身份,并获得该用户终端的优先级信息。需要说明的是,图3所示的路由器中,路由器3可以与认证服务器直接通信,路由器1和路由器2可以通过路由器3与认证服务器通信。
步骤204:接入路由器接收认证服务器返回的终端的优先级信息。
具体地,在认证服务器查询到终端的身份并获得终端的优先级信息后,认证服务器将该终端所对应的优先级信息返回给接入路由器。接入路由器接收该信息后,可将终端IP地址及所对应的优先级信息存入自身所维护的用户优先级列表中,以方便终端后续数据的转发。
步骤205:接入路由器接收终端发送的数据包,数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息。
具体地,在用户终端身份认证成功之后,用户终端即可进行发送、接收数据包的操作。具体地,该数据包中可以携带源互联网协议IP地址、目的IP地址和数据类型信息等内容。通常以上信息可以携带在数据包的IP报文头部。
步骤206:接入路由器根据源IP地址对应的终端的优先级以及数据类型信息对应该数据类型的优先级计算综合优先级,并将综合优先级添加至数据包中。
本发明实施例中,每一个用户终端对应着不同的优先级,不同的数据类型(即不同的业务)也对应不同的优先级。因此,接入路由器可以根据上述用户终端的优先级和数据类型的优先级需进行综合考虑。具体地,当接入路由器接收到数据包后,可以根据源IP地址确定用户终端,从而确定该用户终端所对应的优先级。另外,接入路由器还可以根据数据类型信息确定对应该数据类型的优先级。进一步的,接入路由器可以根据用户终端的优先级和数据类型的优先级计算综合优先级,并将所计算的综合优先级添加至数据包中,以方便数据包的后续转发。
可选的,当接入路由器根据源IP地址确定用户终端并未出现在用户优先级列表中的时候,即可确定该用户终端不具有优先级的操作权限,即无需对该数据包计算综合优先级,仅将该数据包所对应的优先级作为综合优先级来进行数据转发。
可选的,接入路由器可以采用加权计算的方法计算综合优先级,例如:可以对用户终端的优先级和数据类型的优先级分别赋予不同的权值进行加权计算来得到综合优先级。
具体地,对数据包优先级的计算公式可如下所示:
其中,z为综合优先级,x为用户终端所对应的优先级,y为数据类型所对应的优先级;m为用户的优先级总数,n为数据类型的优先级总数,max=256为路由器允许的优先级队列总数。具体地,这是由于数据包中存储优先级信息的位置,例如可以为数据包的服务类型(TypeofService,简称TOS)域,一共有8位,因此路由器所支持的最大队列数量为256个。x和y的取值可以由***根据具体要求优先设置。
具体地,在计算数据包的综合优先级之后,一种可行的实施方式为:
接入路由器可以提取该数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息,并将其与计算所得的综合优先级一起,存入数据包优先级列表。该数据包优先级列表可以方便同一个用户终端在以后进行同类型数据包的转发时,直接提取该优先级,而不用再次进行计算。
另一种可行的实施方式为:
数据包中还携带优先级,则在接入路由器根据源IP地址对应的终端的优先级以及数据类型信息对应该数据类型的优先级计算综合优先级之后,接入路由器将数据包中携带的优先级与所计算的综合优先级相比较,若数据包中携带的优先级高于综合优先级,则将数据包中携带的优先级作为综合优先级;若数据包中携带的优先级低于综合优先级,则将该综合优先级写入数据包优先级列表和数据包中存储优先级的位置,并以该综合优先级作为优先级来传送该数据包。
步骤207:接入路由器查看是否已存在数据包的综合优先级对应的缓冲队列。
具体地,由于不同的综合优先级对应不同的缓冲队列,因此,接入路由器确认所接收数据包的优先级后,可继续查看是否已存在数据包的综合优先级对应的缓冲队列。
步骤208:如果已存在,则将数据包加入数据包的综合优先级对应的缓冲队列尾部;
具体地,在该步骤中,当存在该数据包的综合优先级对应的缓冲队列时,可将该数据包加入到对应的缓冲队列尾部,以等待数据包的转发调度。
步骤209:若不存在,则接入路由器新建数据包的综合优先级对应的缓冲队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
具体地,接入路由器用链表L_queue标记一组缓冲队列,链表中的每一个元素为一个缓冲队列。链表L_queue中的元素按照优先级顺序排列,其中链表头部优先级最高,尾部优先级最低。
在接入路由器新建数据包的综合优先级对应的缓冲队列时,首先根据数据包的优先级,新建链表L_queue的节点,然后遍历L_queue,找到该新建节点的相邻节点A和B,使得该新建节点的优先级介于A节点和B节点的优先级之间,并将新建节点***节点A和节点B之间,同时将数据包添加到新建的节点中,形成一个缓冲队列。
具体地,在为待转发数据的缓冲队列分配带宽时,遍历链表L_queue,提取链表L_queue中所有待转发数据的缓冲队列的优先级。假设各待转发数据的缓冲队列的优先级为Pi,其中,0≤i≤queue_num,queue_num表示待转发数据的缓冲队列数量。计算每一个队列可以获得的带宽,其中队列i可以分配到的带宽分配比为
带宽分配比计算结束后,更新带宽分配表。
具体地,例如当前共有3个缓冲队列,且所对应的优先级分别为5、3和2,则接入路由器对这3个队列的带宽分配比例为5:3:2,即在对这3个队列所分配的带宽可以分别为当前带宽的50%、30%和20%。
步骤210:接入路由器按照数据包在所属缓冲队列中的加入顺序转发数据包。
具体地,接入路由器在为各缓冲队列分配带宽之后,即可对数据包进行转发,且转发的顺序可以按照数据包加入所属缓冲队列中的先后顺序来进行,即同一个优先级的数据包的转发按先后顺序来进行。
步骤211:若任意综合优先级对应的缓冲队列中的所有数据包转发完成超过设定时间,则按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
具体地,在任意综合优先级对应的缓冲队列中的所有数据包转发完成后,若超过设定的时间,这个缓冲队列中不再有待转发的数据包时,则删除该队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为其他的所有待转发数据的缓冲队列分配带宽。
步骤212:用户退出并删除优先级。
具体地,当用户操作完毕,需要退出网络时,首先由用户向接入路由器发送退出请求,接入路由器接收该请求,并向用户返回一个响应,用户退出网络。同时,由于同一个终端可能会有多个用户共享,因此,当用户退出网络时,接入路由器同时要删除用户优先级列表和数据包优先级列表中关于该用户的数据,以使得共享该终端的其他用户能获得自身相应的优先级。
本发明实施例提供的数据转发方法和接入路由器,接入路由器接收到终端数据包后,根据数据包中源IP地址对应的终端优先级以及数据包中的数据类型信息对应的数据类型优先级计算综合优先级,并按综合优先级高低的顺序来分配带宽,转发方法灵活,有效提高了网络服务的质量。
下面用一具体实施例说明本发明的数据转发方法。
参见图3。在该场景中,可实现不同优先级用户使用该数据转发方法发送数据包的过程。如图3所示,该场景中,高级用户优先级为3,用户群1优先级为1,用户群2优先级为2。高级用户、用户群1和用户群2都同应用服务器进行相同类型的数据交互,其中该数据类型的优先级为5。在路由器1中,对高级用户和用户群1的数据包进行分配调度;在路由器2中,仅发送用户群2的数据包;在路由器3中,对用户群1、用户群2和高级用户的数据包进行分配调度。
下面具体通过高级用户的数据转发过程来进行说明。具体步骤可如下:
第一,高级用户向路由器1发送网络服务质量请求,且该网络服务质量请求中携带高级用户终端的IP地址、该高级用户的账号信息和密码信息。路由器1根据该IP地址、账号信息和密码信息与高级用户终端进行双向认证。认证成功后,接入路由器1将高级用户终端的IP地址、账号信息和密码信息等发送给认证服务器,认证服务器便可根据该信息查询到该高级用户的优先级为3。
查询之后,认证服务器将该高级用户终端的优先级信息返回给路由器1,路由器1将该高级用户终端的IP地址及所对应的优先级3存入自身所维护的用户优先级列表中,以方便该高级用户后续数据的转发。
具体地,用户优先级列表的格式可如下表1所示。
表1
用户优先级列表
IP地址 | 用户优先级 |
第二,对数据包的优先级进行标记和确认。
具体地,在高级用户的身份认证结束之后,高级用户即可发送数据包,具体地,该发送的数据包的IP报文头部可携带该数据包发送的源IP地址、目的IP地址和数据类型信息。路由器1接收该数据包,并提取数据包中的源IP地址、目的IP地址和数据类型信息。
对于该高级用户发送的首个数据包,路由器1可根据公式(1)以及该高级用户的优先级3和数据类型信息对应的优先级5计算得到该数据包的综合优先级为15,并将上述的4项信息写入数据包优先级列表中,同时,将综合优先级信息写入该数据包中存储优先级信息的位置,例如可写入数据包的TOS域中。具体地,数据包优先级列表的格式可如下表2所示。
表2
数据包优先级列表
源IP地址 | 目的IP地址 | 数据类型 | 优先级值 |
对于该高级用户发送的非首个数据包,只需要通过查找数据包优先级列表,即可获知该数据包的优先级信息,并将列表中对应的优先级信息写入数据包中存储优先级信息的位置即可,例如写入数据包的TOS域中。
而对于数据包中携带优先级的,一般为由其他用户发送给该高级用户的数据包,可能会由于双方的优先级不一致,使得其中所携带的优先级和该高级用户侧所计算的优先级不一致,因此,此时,路由器1会根据公式(1)以及该高级用户的优先级3和数据类型信息对应的优先级5来计算获得综合优先级15。然后,路由器1将数据包中携带的优先级与所计算的综合优先级15相比较,若数据包中携带的优先级高于综合优先级,则将数据包中携带的优先级作为综合优先级,并写入数据包优先级列表中;若数据包中携带的优先级低于综合优先级,则将该综合优先级写入数据包优先级列表和数据包中存储优先级的位置,并以该综合优先级作为优先级来传送该数据包。
在数据包的优先级确定之后,数据包进队列,准备调度。
第三,由于高级用户的数据包优先级为15,用户群1所发送数据包的优先级为5,因此,在路由器1中,可以包括优先级为5和优先级为15的两个队列。若在路由器1中无优先级为15的缓冲队列,则可新建一个队列存放优先级为15的数据包。然后,依据两个队列的优先级大小及公式(2),可计算获得带宽分配比。其中,高级用户的带宽分配比为75%,用户群1为25%。具体的带宽配表可如表3所示。
表3
宽带分配表
队列 | 分配带宽比 |
优先级为5 | 25% |
优先级为15 | 75% |
用户群2经路由器2发送数据,由于只存在一个优先级为10的缓冲队列,故不需分配带宽。
数据包发送至路由器3,用户群1、用户群2和高级用户共享带宽。由于用户群2的优先级为10,则路由器3中出现3个缓冲队列。计算带宽分配比,可得高级用户的带宽分配比为50%,用户群2为33.3%,用户群1为16.7%,即路由器3以3:2:1的带宽分配比发送数据包。
最后,当高级用户操作完毕,需要退出网络时,先向路由器1发送退出请求,路由器1接收该请求,并向用户返回一个响应,用户退出网络。同时,路由器1删除用户优先级列表和数据包优先级列表中关于该高级用户的数据,以使得共享该终端的其他用户能获得自身相应的优先级。
本发明实施例提供的数据转发方法和接入路由器,接入路由器接收到终端数据包后,根据数据包中源IP地址对应的终端优先级以及数据包中的数据类型信息对应的数据类型优先级计算综合优先级,并按综合优先级高低的顺序来分配带宽,转发方法灵活,有效提高了网络服务的质量。
图5为本发明实施例四提供的接入路由器的结构示意图。如图5所示,该接入路由器可以包括:接收模块501、计算模块502、分配模块503和转发模块504。
其中,接收模块501用于接收终端发送的数据包,所述数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息;
计算模块502用于根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级,并将所述综合优先级添加至所述数据包中;
分配模块503用于将所述数据包加入所述综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分;
转发模块504用于按照所述数据包在所属缓冲队列中的加入顺序转发所述数据包。
本实施例的接入路由器,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述实施例的基础上,进一步地,该接入路由器的分配模块具体可以包括:查找单元和分配单元。
其中,查找单元用于查看是否已存在所述数据包的综合优先级对应的缓冲队列。
分配单元用于当所述数据包的综合优先级对应的缓冲队列已存在时,将所述数据包加入所述数据包的综合优先级对应的缓冲队列尾部;当不存在,新建所述数据包的综合优先级对应的缓冲队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
进一步地,分配单元还用于:
当任意综合优先级对应的缓冲队列中的所有数据包转发完成超过设定时间时,按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
接入路由器的计算模块具体包括:计算单元和比较单元。
其中,计算单元用于根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级。
比较单元用于在所述数据包中还携带优先级时,将所述数据包中携带的优先级与所计算的综合优先级相比较,若所述数据包中携带的优先级高于所述综合优先级,则将所述数据包中携带的优先级作为综合优先级。
进一步地,接入路由器的接收模块还用于接收所述终端发送的网络服务质量请求,所述网络服务质量请求中携带所述终端的IP地址、账号信息和密码信息。
在上述实施例的基础上,该接入路由器还包括认证模块和发送模块。
其中,认证模块用于根据所述终端的IP地址、账号信息和密码信息与所述终端进行双向认证。
发送模块用于当所述双向认证通过时,将所述终端的IP地址、账号信息和密码信息发送给认证服务器,以使所述认证服务器根据所述终端的IP地址、账号信息和密码信息查询所述终端的优先级。
进一步地,接收模块还用于接收所述认证服务器返回的所述终端的优先级信息。
本实施例的接入路由器,可以用于执行上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种数据转发方法,其特征在于,包括:
接入路由器接收终端发送的数据包,所述数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息;
所述接入路由器根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级,并将所述综合优先级添加至所述数据包中;
所述接入路由器将所述数据包加入所述综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分;
所述接入路由器按照所述数据包在所属缓冲队列中的加入顺序转发所述数据包;
所述接入路由器接收终端发送的数据包之前,还包括:
所述接入路由器接收所述终端发送的网络服务质量请求,所述网络服务质量请求中携带所述终端的IP地址、账号信息和密码信息;
所述接入路由器根据所述终端的IP地址、账号信息和密码信息与所述终端进行双向认证;
若所述双向认证通过,所述接入路由器将所述终端的IP地址、账号信息和密码信息发送给认证服务器,以使所述认证服务器根据所述终端的IP地址、账号信息和密码信息查询所述终端的优先级;
所述接入路由器接收所述认证服务器返回的所述终端的优先级信息。
2.根据权利要求1所述的方法,其特征在于,所述接入路由器根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级之后,还包括:
所述接入路由器查看是否已存在所述数据包的综合优先级对应的缓冲队列;
若已存在,则将所述数据包加入所述数据包的综合优先级对应的缓冲队列尾部;若不存在,则所述接入路由器新建所述数据包的综合优先级对应的缓冲队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若任意综合优先级对应的缓冲队列中的所有数据包转发完成超过设定时间,则按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述数据包中还携带优先级,则所述接入路由器根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级之后,还包括:
所述接入路由器将所述数据包中携带的优先级与所计算的综合优先级相比较,若所述数据包中携带的优先级高于所述综合优先级,则将所述数据包中携带的优先级作为综合优先级。
5.一种接入路由器,其特征在于,包括:
接收模块,用于接收终端发送的数据包,所述数据包中携带源互联网协议IP地址、目的IP地址和数据类型信息;
计算模块,用于根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级,并将所述综合优先级添加至所述数据包中;
分配模块,用于将所述数据包加入所述综合优先级对应的缓冲队列中,不同的综合优先级对应不同的缓冲队列,不同的缓冲队列的带宽按照所对应的综合优先级高低顺序划分;
转发模块,用于按照所述数据包在所属缓冲队列中的加入顺序转发所述数据包;
所述接收模块还用于接收所述终端发送的网络服务质量请求,所述网络服务质量请求中携带所述终端的IP地址、账号信息和密码信息;
所述接入路由器还包括:
认证模块,用于根据所述终端的IP地址、账号信息和密码信息与所述终端进行双向认证;
发送模块,用于当所述双向认证通过时,将所述终端的IP地址、账号信息和密码信息发送给认证服务器,以使所述认证服务器根据所述终端的IP地址、账号信息和密码信息查询所述终端的优先级;
所述接收模块还用于接收所述认证服务器返回的所述终端的优先级信息。
6.根据权利要求5所述的接入路由器,其特征在于,所述分配模块包括:
查找单元,用于查看是否已存在所述数据包的综合优先级对应的缓冲队列;
分配单元,用于当所述数据包的综合优先级对应的缓冲队列已存在时,将所述数据包加入所述数据包的综合优先级对应的缓冲队列尾部;当不存在,新建所述数据包的综合优先级对应的缓冲队列,并按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
7.根据权利要求6所述的接入路由器,其特征在于,所述分配单元还用于:
当任意综合优先级对应的缓冲队列中的所有数据包转发完成超过设定时间时,按照所有待转发数据的缓冲队列对应的综合优先级高低顺序,重新为所有待转发数据的缓冲队列分配带宽。
8.根据权利要求5-7任一项所述的接入路由器,其特征在于,所述计算模块具体包括:
计算单元,用于根据所述源IP地址对应的所述终端的优先级以及所述数据类型信息对应该数据类型的优先级计算综合优先级;
还包括:
比较单元,用于在所述数据包中还携带优先级时,将所述数据包中携带的优先级与所计算的综合优先级相比较,若所述数据包中携带的优先级高于所述综合优先级,则将所述数据包中携带的优先级作为综合优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310148173.3A CN103269320B (zh) | 2013-04-25 | 2013-04-25 | 数据转发方法和接入路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310148173.3A CN103269320B (zh) | 2013-04-25 | 2013-04-25 | 数据转发方法和接入路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103269320A CN103269320A (zh) | 2013-08-28 |
CN103269320B true CN103269320B (zh) | 2016-01-20 |
Family
ID=49012929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310148173.3A Active CN103269320B (zh) | 2013-04-25 | 2013-04-25 | 数据转发方法和接入路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103269320B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516018B (zh) * | 2014-09-23 | 2018-12-18 | 博雅网络游戏开发(深圳)有限公司 | 网络数据传输方法和装置 |
CN104320354B (zh) * | 2014-10-21 | 2018-01-12 | 中国联合网络通信集团有限公司 | 一种数据的处理方法及装置 |
CN105450550B (zh) * | 2015-11-10 | 2019-02-12 | 北京奇虎科技有限公司 | 路由器的通道优先级调整方法及装置 |
CN105743788A (zh) * | 2016-01-26 | 2016-07-06 | 北京小米移动软件有限公司 | 数据包转发方法及装置 |
CN109391562B (zh) * | 2017-08-10 | 2022-04-05 | 东软集团股份有限公司 | 一种优先级调度方法、装置和防火墙 |
CN107634915A (zh) * | 2017-08-25 | 2018-01-26 | 中国科学院计算机网络信息中心 | 数据传输方法、装置及储存介质 |
CN108848009A (zh) * | 2018-05-11 | 2018-11-20 | 郑州易湃科技有限公司 | 基于路由器的连网管理方法及连网管理装置 |
CN112291092A (zh) * | 2020-10-28 | 2021-01-29 | 太仓市同维电子有限公司 | 一种基于用户行为分析的动态服务质量优先级划分方法 |
CN115150282A (zh) * | 2021-03-30 | 2022-10-04 | 南宁富联富桂精密工业有限公司 | 带宽动态分配方法、路由器及计算机可读存储介质 |
CN113315720B (zh) * | 2021-04-23 | 2023-02-28 | 深圳震有科技股份有限公司 | 一种数据流控制方法、***及设备 |
CN115086248A (zh) * | 2022-06-15 | 2022-09-20 | Oppo广东移动通信有限公司 | 数据包处理方法、通信芯片及计算机设备 |
CN115357410B (zh) * | 2022-08-24 | 2024-03-29 | 锐仕方达人才科技集团有限公司 | 一种基于大数据的数据跨进程压缩存储方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422061A (zh) * | 2002-12-27 | 2003-06-04 | 北京邮电大学 | 在多业务多用户业务平台中保证业务服务等级协议的方法 |
CN1531250A (zh) * | 2003-03-13 | 2004-09-22 | ��Ϊ��������˾ | 一种用户报文的转发控制方法 |
CN102136096A (zh) * | 2010-12-15 | 2011-07-27 | 华为软件技术有限公司 | 业务动态流控方法、装置和一种并发控制*** |
-
2013
- 2013-04-25 CN CN201310148173.3A patent/CN103269320B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1422061A (zh) * | 2002-12-27 | 2003-06-04 | 北京邮电大学 | 在多业务多用户业务平台中保证业务服务等级协议的方法 |
CN1531250A (zh) * | 2003-03-13 | 2004-09-22 | ��Ϊ��������˾ | 一种用户报文的转发控制方法 |
CN102136096A (zh) * | 2010-12-15 | 2011-07-27 | 华为软件技术有限公司 | 业务动态流控方法、装置和一种并发控制*** |
Also Published As
Publication number | Publication date |
---|---|
CN103269320A (zh) | 2013-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103269320B (zh) | 数据转发方法和接入路由器 | |
Chen et al. | Multi-hop driver-parcel matching problem with time windows | |
CN104809601B (zh) | 基于电子地图的快递互助*** | |
US11288603B2 (en) | System for real-time optimal matching of ride sharing requests | |
CN109041248A (zh) | 一种车联网资源分配方法、装置、计算装置和存储介质 | |
CN109088829A (zh) | 一种数据调度方法、装置、存储介质及设备 | |
CN105407128A (zh) | 在ccn中的中间路由器上兴趣保持活动 | |
CN107194674A (zh) | 一种基于事项业务规则的智能分发调度*** | |
CN105847159A (zh) | Cdn网络的拓扑结构生成方法和*** | |
Jia et al. | A BUS‐aided RSU access scheme based on SDN and evolutionary game in the Internet of Vehicle | |
CN107483355B (zh) | 面向数据中心的在线场景低带宽开销流量调度方案 | |
Lamberti et al. | An open multimodal mobility platform based on distributed ledger technology | |
CN113922996B (zh) | 一种基于跨区块链技术的电子学籍档案隐私保护方法 | |
Pan et al. | GOR: Group-oblivious multicast routing in airborne tactical networks under uncertainty | |
CN104302008A (zh) | 一种综合时分和缓存占比的无线多跳网络带宽分配方法 | |
Garg et al. | Guest editorial special issue on intent-based networking for 5G-envisioned Internet of connected vehicles | |
Lin et al. | Scheduling algorithms for time-constrained big-file transfers in the Internet of Vehicles | |
Liu et al. | Large-volume data dissemination for cellular-assisted automated driving with edge intelligence | |
CN109462498A (zh) | 一种普适网络***及其通信方法 | |
Wang et al. | Distributed relay selection with network coding for data dissemination in vehicular ad hoc networks | |
Ma et al. | A multi-service train-to-ground bandwidth allocation strategy based on game theory and particle swarm optimization | |
CN104838624A (zh) | 一种控制业务数据在虚拟网络中转发的方法、装置及*** | |
CN104660525B (zh) | 一种带宽分配方法、控制器及通信*** | |
Krauth et al. | An economic view on rerouting railway wagons in a single wagonload network to avoid congestion | |
CN107360011A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |