同时支持数据报和虚电路服务的数据转发方法及路由器的制作方法

文档序号:7553073阅读:199来源:国知局
专利名称:同时支持数据报和虚电路服务的数据转发方法及路由器的制作方法
技术领域
本发明涉及路由数据处理技术,尤其涉及一种同时支持数据报服务和虚电路服务的数据转发方法及路由器。
背景技术
在现有的分组交换技术中,可采用两种不同的方式来管理被传输的数据流:数据报方式和虚电路方式。数据报方式亦被称为无连接的数据交换方式,每个数据报独立地通过网络传往目的主机,到达同一目的主机的数据分组可能沿不同的路径进行传输;虚电路方式被称为面向连接的数据交换方式,需要在数据传输开始之前首先建立起一条逻辑传输通路,数据分组沿着建好的这条路径进行传输,无需重新进行路由选择。对于现有技术中的国际互联网(Internet)中的路由器来说,在进行数据转发时针对以上两种模式分别采用完全不同处理方式,即:当接收到数据报模式的数据分组后,依据分组头部的目的IP地址查找转发表进行数据转发,当接收到虚电路模式的数据分组后,依据分组头部的虚电路标识符(Virtual Circuit Identifier,简称VCI)查找虚电路表进行数据转发。其中,转发表为根据路由表生成的、为数据报模式的数据分组提供转发依据的对应关系表;虚电路表记载当前已建立的虚电路的主要参数,包括:入端口、入VC1、出端口、出VCI,是为虚电路模式的数据分组提供转发依据的对应关系表。虽然,现有技术中支持多协议标记交换(mult1-protocol label switching,MPLS)功能的路由器可以同时支持数据报模式和虚电路模式,但是,是以相互独立的转发方式来对分组报文进行处理,具体地,采用一个数据转发引擎通过查找转发表来处理、转发数据报模式的数据分组,采用另一个数据转发引擎通过查找标记转发信息库(LabelForwarding Information Base,LFIB)来处理、转发虚电路模式的分组,由于针对不同交换模式的分组需要使用不同的数据转发引擎查找不同的数据转发依据来进行数据转发,使得数据处理过程比较复杂,并且,由于在接收到数据报模式的数据分组时需要通过查找最长匹配来确定转发路径,使得查找效率较低、影响路由器的转发速率。

发明内容
针对现有技术中的上述缺陷,本发明提供一种数据转发方法及路由器,采用一种统一的方式处理、转发数据报模式和虚电路模式下的数据分组。本发明一实施例提供一种数据转发方法,包括:从入端口接收第一数据分组;判断所述第一数据分组是否包含入标识;若所述第一数据分组包含入标识,则根据所述第一数据分组的所述入标识和入端口在统一交换表中查找与所述入标识和入端口对应的出标识和出端口;若根据所述第一数据分组的入标识和入端口在统一交换表中未查找到对应的出标识和出端口,则判断第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组;若所述第一数据分组是数据报模式下的数据分组,根据所述第一数据分组目的IP地址查找预设的路由表确定所述目的IP地址对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识;将所述第一数据分组的所述入标识、所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识替换所述第一数据分组中的入标识,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。本发明另一实施例提供一种路由器,包括:接收模块,用于从入端口接收第一数据分组;第一判断模块,用于判断所述第一数据分组是否包含入标识;第一查找模块,用于若所述第一数据分组包含入标识,根据所述第一数据分组的所述入标识和入端口在统一交换表中查找与所述入标识和入端口对应的出标识和出端Π ;第二判断模块,用于若根据所述第一数据分组的入标识和入端口在统一交换表中未查找到对应的出标识和出端口,判断第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组;第一分配模块,用于若第一数据分组是数据报模式下的数据分组,并根据所述第一数据分组的目的IP地址查找预设的路由表确定所述目的IP地址对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识;第一处理模块,用于将所述第一数据分组的所述入标识、所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识替换所述第一数据分组中的入标识,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。本发明提供的数据转发方法及路由器,对采用数据报交换模式的数据分组,只需在首次接收到第一数据分组时需要通过查找路由表信息进行转发,后续则可直接查询统一交换表来进行数据转发;而对采用虚电路交换模式的数据分组,也只需在首次接收到第一数据分组时需要查询预设的虚电路连接表信息进行数据转发,后续分组都可通过查询统一交换表来进行转发,从而统一了现有网络中在数据报、虚电路两种不同管理方式下数据分组的处理方式,而且只需要一个数据转发引擎和一个统一交换表即可实现这种统一处理,并能扩展支持多种网络体系结构而不需要改变此转发结构,同时有助于提高数据报模式下路由器查找效率及转发数据的速度。


图1为本发明数据转发方法实施例一的流程图;图2为本发明数据转发方法实施例二的流程图;图3为本发明路由器实施例一的结构示意图;图4为本发明路由器实施例二的结构示意图;图5为本发明路由器实施例三的结构示意图6为本发明路由器实施例四的结构示意图;图7为本发明路由器实施例五的结构示意图。
具体实施例方式图1为本发明数据转发方法实施例一的流程图;如图1所示,本实施例提供一种数据转发方法,包括:步骤101、从入端口接收第一数据分组;步骤102、判断所述第一数据分组是否包含入标识;步骤103、若所述第一数据分组包含入标识,则根据所述第一数据分组的所述入标识和入端口在统一交换表中查找与所述入标识和入端口对应的出标识和出端口 ;步骤104、 若根据所述第一数据分组的入标识和入端口在统一交换表中未查找到对应的出标识和出端口,则判断该第一数据分组是虚电路模式下的数据分组、还是否数据报模式下的数据分组。具体地,可以通过该第一数据分组所带入标识的类型域来判断该第一数据分组是虚电路模式还是数据报模式的数据分组。步骤105、若所述第一数据分组是数据报模式下的数据分组,根据所述第一数据分组的目的IP地址查找预设的路由表确定所述目的IP地址对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识;步骤106、将所述第一数据分组的所述入标识、所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识替换所述第一数据分组中的入标识,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。本实施例中的执行主体可以为路由器。其中,统一交换表可以为预设于路由器中的,其具体形式可以为:
人端η I人标识I出端η I出标识I服务属性Al0101 A4 0 Ι
Α2 ΤΑ5 Τ Ο 该统一交换表中的每一行即为一个条目,每个条目均可以包括入端口、入标识、出端口、出标识,以及对应服务属性;该服务属性包含第一数据分组所获得的服务信息,例如,带宽、时延、标识置换、转发等。当所述第一数据分组包含入标识、但根据所述第一数据分组的所述入标识和入端口在所述统一交换表中未查找到对应的所述出标识和出端口时,则通过判断所述第一数据分组中所带标识的类型域来判断该第一数据分组是否为数据报模式下的数据分组,当该第一数据分组为数据报模式下的数据分组,此时根据该目的IP地址查找路由器内预设的路由表确定该目的IP地址对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识;然后再根据所述入标识、入端口、出标识和出端口更新所述统一交换表,并用分配的出标识替换第一数据分组中的入标识、生成以该出标识作为入标识的第二数据分组。由于路由表中每个项包括目的网络前缀和下一跳字段,因此,当根据第一数据分组的目的IP地址查找路由表时,实质上是在路由表中查找到一个与该目的IP地址具有最长匹配的目的网络前缀,并根据该目的网络前缀对应的路由信息确定所述第一数据分组的出端口、并分配出标识,即获取该目的网络前缀对应的出端口,并分配一个用于唯一代表该目的网络前缀的出标识;由于不同目的IP地址可能与同一目的网络前缀具有最长匹配关系,因而不同目的IP地址可能对应同一出标识,但不同目的网络前缀与出标识之间则是--对应的。需要说明的是,第一数据分组中可以包含一个标识字段,该标识字段可以为插入到数据分组头部中一固定长度的二进制字段,优选地,可以借用MPLS标记(shim)的位置;且该标识字段可包括类型域和值域两部分,类型域用于表示第一数据分组属于数据报模式下的数据分组、还是虚电路模式下的数据分组,值域则是具有链路本地范围意义的0/1字符串。对于路由器来说,将接收到的数据分组的标识字段作为入标识,将发送出去的数据分组的标识字段作为出标识。优选地,可以将标识字段的最高位Ibit作为类型域,且类型域值为O时,表示该第一数据分组为数据报模式,类型域值为I时,表示该第一数据分组为虚电路模式。当路由器接收到一个数据分组后,可提取该数据分组头部的入标识,并将该入标识和接收到该第一数据分组的入端口作为一个组合在上述统一交换表中查找是否存在与该入标识和入端口组合相同的项目。例如,第一数据分组对应的入标识和入端口分别为0001和A2,若统一交换表仅包括上表中的两个条目,那么,在该统一交换表中则无法查找到与该第一数据分组的入端口和 入标识相对应的条目,此时,由于标识最高位Ibit为0,所以是数据报交换模式的分组,那么就以该分组目的IP为索引在路由表中进行最长匹配,假设所匹配的最长前缀为NI,若之前为NI分配过标识,那么直接使用该标识,若之前尚未为NI分配过标识,则为其分配一个出标识,例如0010,该标识即为该路由器所接收的所有与NI存在最长匹配关系的报文的出标识,并根据路由表确定该第一数据分组所对应的出端口为A6,然后,便可用出标识0010替换该第一数据分组的原入标识0001、生成第二数据分组,该第二数据分组中的入标识即为第一数据分组的出标识0010,再将该第二数据分组通过出端口 A6发送到下一网络节点的路由器。同时,生成包含入标识0001、入端口 A2、出标识0010和出端口 A6的新条目并插入所述统一交换表。需要说明的是,相对于接收上述第二数据分组的下一网络节点的路由器而言,上述第二数据分组即为下一网络节点的第一数据分组,而下一网络节点的路由器执行的处理过程与前述相同。进一步地,在步骤102之后还可以包括:若所述第一数据分组不包含所述入标识,则判断该第一数据分组是虚电路模式下的数据分组、还是否数据报模式下的数据分组;具体地,可以通过在路由器内查找是否存在相应的虚电路的记录来判断该第一数据分组是虚电路模式还是数据报模式的数据分组,若存在与该第一数据分组对应的虚电路记录,则确定该第一数据分组为虚电路模式下的数据分组,若路由器未发现对应该第一数据分组的虚电路记录,则确定该第一数据分组为数据报模式下的数据分组。若所述第一数据分组是数据报模式下的数据分组,则根据所述目的IP地址查找预设的路由表确定所述第一数据分组对应的出端口,并为所述第一数据分组分配与所述目的IP地址所匹配最长前缀对应的出标识;将所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识添加到所述第一数据分组中,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送;其中,由于第一数据分组不包含入标识,因而可将统一交换表中对应该第一数据分组的条目中的入标识一项置为空或O。更进一步地,若所述第一数据分组不包含所述入标识,则判断该第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组之后,还包括:若所述第一数据分组是虚电路模式下的数据分组,则根据所述第一数据分组的目的IP地址和源IP地址查找虚电路连接表确定所述目的IP地址和源IP地址对应的出VCI和出端口,并根据所述出VCI生成所述第一数据分组的出标识;具体地,当所述出标识由类型域和值域组成时,可以将所述VCI作为所述第一数据分组出标识的值域。将所述入端口、所述出标识和的出端口添加至所述统一交换表(其中,入标识可以置为空或0),并生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。S卩,当路由器为源端接入路由器时,接收到的第一数据分组则不携带上述入标识,此时,若该第一数据分组为数据报模式下的数据分组时,路由器可以根据所述目的IP地址查找预设的路由表确定所述目的IP地址对应的出端口、并为该第一数据分组分配一个与该目的IP地址对应的出标识;若该第一数据分组为虚电路模式下的数据分组时,则可根据路由器内已生成的虚电路连接表确定该第一数据分组的目的IP地址和源IP地址的组合对应的出端口和出VCI,并根据该出VCI作为该第一数据分组的出标识的值域。其中,虚电路连接表是包含虚电路信息及对应的目的IP地址和源IP地址的映射关系表;该虚电路连接表中可以包括:入VCI,入端口,出VCI,出端口,源IP地址,目的IP地址。更进一步地,在上述步骤103之后,还可以包括:若根据所述入标识和入端口在所述统一交换表中查找到与所述入标识和入端口对应的出标识和出端口,则将所述出标识替代所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组;将所述第二数据分组通过所述出端口发送。例如,当第一数据分组对应的入标识和入端口分别为1100和A2时,那么,根据上表所示的统一交换表中条目可确定对应的出标识和出端口为1101和A5 ;然后,将出标识1101替代第一数据分组中的入标识1100,生成以1101为入标识的第二数据分组,再将第二数据分组由出端口 A5发送到下一网络节点。更进一步地,上述步骤104之后,还可以包括:若所述第一数据分组为虚电路模式下的数据分组,则根据所述入标识查找预设的虚电路连接表确定对应的出VCI和出端口,并将所述出VCI作为所述第一数据分组的出标识的值域;优选地,可以将所述第一数据分组的入标识和入端口作为一个组合查找预设的虚电路连接表。将所述第一数据分组的所述入标识、所述入端口、所述出标识和的出端口添加至所述统一交换表,并将所述出标识替换所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。S卩,当步骤103中未查找到与第一数据分组的入标识对应的出标识和出端口,且经步骤104判断出该第一数据分组是虚电路模式下的数据分组时,同样需要为该第一数据分组分配出标识,以将该出标识作为下一节点路由器的入标识。其中,可直接将第一数据分组对应的虚电路连接表中的出VCI作为上述该第一数据分组的出标识的值域。上述将所述第一数据分组的所述入标识、所述入端口、所述出标识和的出端口添加至所述统一交换表,实现将虚电路相关信息映射到统一交换表中。本实施例提供的数据转发方法,对采用数据报交换模式的数据分组,只需在首次接收到第一数据分组时需要通过查找路由表信息进行转发,后续则可直接查询统一交换表来进行数据转发;而对采用虚电路交换模式的数据分组,也只需在首次接收到第一数据分组时需要查询预设的虚电路连接表信息进行数据转发,后续分组都可通过查询统一交换表来进行转发,从而统一了现有网络中在数据报、虚电路两种不同管理方式下数据分组的处理方式,而且只需要一个数据转发引擎和一张统一交换表即可实现这种统一处理,并能扩展支持多种网络体系结构而不需要改变此转发结构,同时还有助于提高数据报模式下路由器查找效率及转发数据的速度。在本实施例中,除根据为第一数据分配的出标识在统一交换表中添加条目外,当因网络拓扑改变导致路由表更新时,或者,已建立的虚电路撤消时,会实时更新统一交换表。当路由表中某一目的网络前缀对应的下一跳发生变化时,可以同时删除统一交换表中与该目的IP地址前缀对应的条目(包括:入标识、入端口、与该目的IP地址对应的出标识、出端口等);当一条虚电路撤消时,同样也可以删除统一交换表中对应的条目。图2为本发明数据转发方法实施例二的流程图;本实施例将详细说明一路由器对接收到的数据分组的处理流程,其中,本实施例的执行主体可以为Internet网络系统中的源端接入路由器(直接与源端主机相连接的路由器)或中间路由器(非直接与源端主机相连的路由器)。实施例二如图2所示,本实施例提供的数据转发方法,包括:步骤201、路由器从入端口接收第一数据分组,提取所述第一数据分组的头部信
肩、O步骤202、路由器判断第一数据分组中的头部信息中是否包含入标识,当第一数据分组包含入标识时执行步骤203,当第一数据分组不包含入标识时执行步骤204a。步骤203、路由器判断在统一交换表中是否存在与第一数据分组的入标识和入端口对应的条目,也就是判断是否存在某一条目的入标识和入端口的组合与第一数据分组相同;若存在,执行步骤206a,否则,执行步骤204a。其中,统一交换表中可以包含多个条目,每个条目的内容均可包括:入端口、入标识、出端口、出标识、服务。其中服务属性中包含了该分组所获得的服务信息,如带宽、时延、标识置换、转发等。步骤204a、判断第一数据分组为数据报模式、或虚电路模式下的数据分组;具体地,可以结合具体场景采用以下方式进行判断,一种方式是,当该第一数据分组中包含入标识时,可以根据该入标识的类型域的值判断该数据分组为数据报模式下的数据分组还是虚电路模式下的数据分组;第二种方式是,通过判断在路由器内是否已经建立了相应的虚电路,即,若已经建立了相应的虚电路,则该第一数据分组为虚电路模式下的数据分组;主要适用于第一数据分组中不包含入标识的场景。通常,路由器在建立虚电路之后,会在虚电路连接表里相应地记录该虚电路的相关信息,包括:入VC1、入端口、出VC1、出端口信息,目的IP地址及源IP地址;相应的,当一条虚电路撤消之后,也会将这条记录删除;若路由器在虚电路连接表中查找到相应的虚电路记录则可确定已经建立的相应的虚电路,若在虚电路连接表中未查找到相应的虚电路记录,则将该第一数据分组视为数据报模式下的数据分组。其中,第一种方式通常针对中间路由器,第二中方式针对源端接入路由器。当所述第一数据分组为数据报模式下的数据分组时,执行步骤204b,当所述第一数据分组为虚电路模式下的数据分组时,执行步骤204c ;步骤204b、路由器根据路由表确定与第一数据分组的目的IP地址对应的出端口、并为第一数据分组分配与所述目的IP地址对应的出标识。具体地,路由器在路由表中查找与第一数据分组的目的IP地址所匹配最长的目的网络前缀,根据该目的网络前缀对应的路由信息确定该第一数据分组的出端口,并将与该目的网络前缀唯一对应的出标识分配该第一数据分组;然后,执行步骤205。其中,出标识的具体格式与入标识相同,即由类型域和值域组成,类型域用于表示该第一数据分组的类型,即数据报模式,值域为具有链路本地意义的0/1字符串。可选地,路由器还可记录与该目的IP地址具有最长匹配的目的网络前缀与该出标识之间的对应关系。步骤204c、路由器根据虚电路连接表中与第一数据分组对应的信息确定所述第一数据分组的出标识和出端口 ;具体地,路由器可以根据第一数据分组的入标识的值域和入端口在所述虚电路连接表中查找到对应的出VCI和出端口,并根据所述出VCI生成所述出标识。然后,执行步骤205。其中,所述出标识的具体格式同样由类型域和值域组成,优选地,其值域可以直接采用虚电路连接表中与该第一数据分组入端口和入标识值域对应的出VCI。步骤205、路由器根据第一数据分组的入端口、出标识和出端口添加至上述统一交换表。即,在该统一交换表中增加一新条目,该新条目中的入端口为接收到第一数据分组的端口,预设的默认入标识可以为0,出标识即为上述路由器为该第一数据分组分配的出标识,出端口即为为该第一数据分组所分配的出端口 ;然后,执行步骤206b。步骤206a、路由器在统一交换表中获取与所述入标识对应的出标识和出端口。步骤206b、路由器生成以上述出标识作为入标识的第二数据分组。步骤207、路由器将所述第二数据分组由所述出端口转发出去。本实施例提供的数据转发方法,可以以一种统一的方式处理现有网络中两种不同交换模式的数据分组,无需类似于MPLS中路由器分别依据路由表和标签信息库在转发平面形成不同形式的转发表和标记转发信息库,而只需要一个数据转发引擎和一张统一交换表即可实现这种统一处理,并能扩展支持多种网络体系结构而不需要改变此转发结构;并且,利用本实施例的方法处理数据报模式下的数据分组,可提高查找效率,进而提高路由器的转发效率。图3为本发明路由器实施例一的结构示意图;如图3所示,本实施例提供一种路由器,包括:接收模块30,用于从入端口接收第一数据分组;第一判断模块31,用于判断所述第一数据分组是否包含入标识;第一查找模块32,用于若所述第一数据分组包含入标识,根据所述第一数据分组的所述入标识和入端口在统一交换表中查找与所述入标识和入端口对应的出标识和出端Π ;第二判断模块33,用于若根据所述第一数据分组的入标识和入端口在统一交换表中未查找到对应的出标识和出端口,判断第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组;第一分配模块34,用于若所述第一数据分组是数据报模式下的数据分组,则根据所述目的IP地址查找预设的路由表确定所述第一数据分组对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识;第一处理模块35,用于将所述第一数据分组的所述入标识、所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识替换所述第一数据分组中的入标识,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。本实施例提供的路由器可以用于执行前述实施例中的数据转发方法,其具体实现原理与技术效果与前述实施例类似,此处不再赘述。图4为本发明路由器实施例二的结构示意图;如图4所示,本实施例在图3所示的路由器基础上还可以包括:第三判断模块41,用于若所述第一数据分组不包含所述入标识,判断该第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组;第二分配模块42,用于若所述第一数据分组是数据报模式下的数据分组,则根据所述目的IP地址查找预设的路由表确定所述第一数据分组对应的出端口,并为所述第一数据分组分配与所述目的IP地址对应的出标识;第二处理模块43,用于将所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识添加到所述第一数据分组中,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。图5为本发明路由器实施例三的结构示意图;如图5所示,本实施例在图4所示的路由器的基础上还可以包括:第三处理模块51,用于若根据所述入标识和入端口在所述统一交换表中查找到与所述入标识和入端口对应的出标识和出端口,则将所述出标识替代所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组;发送模块52,用于将所述第二数据分组通过所述出端口发送。图6为本发明路由器实施例四的结构示意图;如图6所示,本实施例提供的路由器在图5所示的路由器的基础上,还可以包括:第三查找模块71,用于若所述第一数据分组是虚电路模式下的数据分组,则根据所述第一数据分组的目的IP地址和源IP地址查找虚电路连接表确定所述目的IP地址和源IP地址对应的出VCI和出端口,并根据所述出VCI生成所述第一数据分组的出标识;第五处理模块72,用于将所述入端口、所述出标识和的出端口添加至所述统一交换表,并生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。图7为本发明路由器实施例五的结构示意图;如图7所示,本实施例提供的路由器在图6所示的路由器的基础上,还可以包括:第二查找模块61,用于若所述第一数据分组为虚电路模式下的数据分组,则根据所述入标识查找预设的虚电路连接表确定对应的出VCI和出端口,并将所述出VCI作为所述第一数据分组的出标识的值域;第四处理模块62,用于将所述第一数据分组的所述入标识、所述入端口、所述出标识和的出端口添加至所述统一交换表,并将所述出标识替换所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。本实施例提供的路由器,可用于Internet网络中,以一种统一的方式处理网络中的两种不同交换模式的数据分组,而且只需要一个数据转发引擎和一张统一交换表即可实现这种统一处理,并能扩展支持多种网络体系结构而不需要改变此转发结构;并且,利用本实施例的方法处理数据报模式下的数据分组,可提高查找效率,进而提高路由器的转发效率。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种同时支持数据报和虚电路服务的数据转发方法,其特征在于,包括: 从入端口接收第一数据分组; 判断所述第一数据分组是否包含入标识; 若所述第一数据分组包含入标识,则根据所述第一数据分组的所述入标识和入端口在统一交换表中查找与所述入标识和入端口对应的出标识和出端口; 若根据所述第一数据分组的入标识和入端口在统一交换表中未查找到对应的出标识和出端口,则判断所述第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组; 若所述第一数据分组是数据报模式下的数据分组,根据所述第一数据分组的目的IP地址查找预设的路由表确定所述目的IP地址对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识; 将所述第一数据分 组的所述入标识、所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识替换所述第一数据分组中的入标识,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。
2.根据权利要求1所述的同时支持数据报和虚电路服务的数据转发方法,其特征在于,所述判断所述第一数据分组是否包含入标识之后,还包括: 若所述第一数据分组不包含所述入标识,则判断该第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组; 若所述第一数据分组是数据报模式下的数据分组,则根据所述目的IP地址查找预设的路由表确定所述第一数据分组对应的出端口,并为所述第一数据分组分配与所述目的IP地址对应的出标识; 将所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识添加到所述第一数据分组中,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。
3.根据权利要求1或2所述的同时支持数据报和虚电路服务的数据转发方法,其特征在于,所述根据所述第一数据分组的所述入标识和入端口在统一交换表中查找对应的出标识和出端口之后,还包括: 若根据所述入标识和入端口在所述统一交换表中查找到与所述入标识和入端口对应的出标识和出端口,则将所述出标识替代所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组; 将所述第二数据分组通过所述出端口发送。
4.根据权利要求2所述的同时支持数据报和虚电路服务的数据转发方法,其特征在于,若所述第一数据分组不包含所述入标识,则判断该第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组之后,还包括: 若所述第一数据分组是虚电路模式下的数据分组,则根据所述第一数据分组的目的IP地址和源IP地址查找虚电路连接表确定所述目的IP地址和源IP地址对应的出VCI和出端口,并根据所述出VCI生成所述第一数据分组的出标识; 将所述入端口、所述出标识和的出端口添加至所述统一交换表,并生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。
5.根据权利要求3所述的同时支持数据报和虚电路服务的数据转发方法,其特征在于,所述入标识包括类型域和值域,所述类型域用于表示所述第一数据分组为数据报模式下的数据分组、还是虚电路模式下的数据分组; 判断所述第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组之后,还包括: 若所述第一数据分组为虚电路模式下的数据分组,则根据所述入标识查找预设的虚电路连接表确定对应的出VCI和出端口,并将所述出VCI作为所述第一数据分组的出标识的值域;将所述第一数据分组的所述入标识、所述入端口、所述出标识和的出端口添加至所述统一交换表,并将所述出标识替换所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。
6.一种路由器,其特征在于,包括: 接收模块,用于从入端口接收第一数据分组; 第一判断模块,用于判断所述第一数据分组是否包含入标识; 第一查找模块,用于若所述第一数据分组包含入标识,根据所述第一数据分组的所述入标识和入端口在统一交换表中查找与所述入标识和入端口对应的出标识和出端口 ; 第二判断模块,用于若根据所述第一数据分组的入标识和入端口在统一交换表中未查找到对应的出标识和出端口,判断第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组; 第一分配模块,用于若第一数据分组是数据报模式下的数据分组,根据所述目的IP地址查找预设的路由表确定所述目的IP地址对应的出端口、并为所述第一数据分组分配与所述目的IP地址对应的出标识; 第一处理模块,用于将所述第一数据分组的所述入标识、所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识替换所述第一数据分组中的入标识,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。
7.根据权利要求6所述的路由器,其特征在于,还包括: 第三判断模块,用于若所述第一数据分组不包含所述入标识,判断该第一数据分组是虚电路模式下的数据分组、还是数据报模式下的数据分组; 第二分配模块,用于若所述第一数据分组是数据报模式下的数据分组,则根据所述目的IP地址查找预设的路由表确定所述第一数据分组对应的出端口,并为所述第一数据分组分配与所述目的IP地址对应的出标识; 第二处理模块,用于将所述入端口、所述分配的出标识和所述确定的出端口添加至所述统一交换表,并将所述分配的出标识添加到所述第一数据分组中,生成以所述分配的出标识作为入标识的第二数据分组,将所述第二数据分组通过所述确定的出端口发送。
8.根据权利要求6或7所述的路由器,其特征在于,还包括: 第三处理模块,用于若根据所述入标识和入端口在所述统一交换表中查找到与所述入标识和入端口对应的出标识和出端口,则将所述出标识替代所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组;发送模块,用于将所述第二数据分组通过所述出端口发送。
9.根据权利要求8所述的路由器,其特征在于,还包括: 第三查找模块,用于若所述第一数据分组是虚电路模式下的数据分组,则根据所述第一数据分组的目的IP地址和源IP地址查找虚电路连接表确定所述目的IP地址和源IP地址对应的出VCI和出端口,并根据所述出VCI生成所述第一数据分组的出标识; 第五处理模块,用于将所述入端口、所述出标识和的出端口添加至所述统一交换表,并生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。
10.根据权利要求8所述的路由器,其特征在于,所述入标识包括类型域和值域,所述类型域用于表示所述第一数据分组为数据报模式下的数据分组、还是虚电路模式下的数据分组; 所述路由器还包括: 第二查找模块,用于若所述第一数据分组为虚电路模式下的数据分组,则根据所述入标识查找预设的虚电路连 接表确定对应的出VCI和出端口,并将所述出VCI作为所述第一数据分组的出标识的值域; 第四处理模块,用于将所述第一数据分组的所述入标识、所述入端口、所述出标识和的出端口添加至所述统一交换表,并将所述出标识替换所述第一数据分组中的入标识,生成以所述出标识作为入标识的第二数据分组,将所述第二数据分组通过所述出端口发送。
全文摘要
本发明提供一种同时支持数据报和虚电路服务的数据转发方法及路由器。该方法包括若第一数据分组包含入标识,则根据该入标识和入端口在统一交换表中查找对应的出标识和出端口;若未查找到对应的出标识和出端口,判断第一数据分组是虚电路模式下还是数据报模式下的数据分组;若是数据报模式下的数据分组,根据路由表为第一数据分组分配对应的出标识并确定对应的出端口;将该入端口、出标识和出端口添加至统一交换表,将出标识替换第一数据分组中的入标识,生成以出标识作为入标识的第二数据分组并转发。本方法可以以统一的方式同时支持数据报和虚电路两种不同类型的数据交换服务,同时有助于提高数据报模式下路由器查找效率及转发数据的速度。
文档编号H04L12/741GK103209128SQ20131007153
公开日2013年7月17日 申请日期2013年3月6日 优先权日2013年3月6日
发明者王宝生, 蔡桂林, 陶静, 李韬, 孙志刚, 张晓哲, 彭伟, 吕高锋, 马世聪 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1