[go: up one dir, main page]

CN109842574B - 一种基于可编程网络技术的多宿主网络路由转发方法 - Google Patents

一种基于可编程网络技术的多宿主网络路由转发方法 Download PDF

Info

Publication number
CN109842574B
CN109842574B CN201711213654.2A CN201711213654A CN109842574B CN 109842574 B CN109842574 B CN 109842574B CN 201711213654 A CN201711213654 A CN 201711213654A CN 109842574 B CN109842574 B CN 109842574B
Authority
CN
China
Prior art keywords
address
port
forwarding
destination address
routing
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
Application number
CN201711213654.2A
Other languages
English (en)
Other versions
CN109842574A (zh
Inventor
王劲林
尤佳莉
麻朴方
王玲芳
叶晓舟
程钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Haiwang Technology Co ltd
Original Assignee
Institute of Acoustics CAS
Beijing Hili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN201711213654.2A priority Critical patent/CN109842574B/zh
Application filed by Institute of Acoustics CAS, Beijing Hili Technology Co Ltd filed Critical Institute of Acoustics CAS
Priority to EP17933683.9A priority patent/EP3709583B1/en
Priority to US16/760,737 priority patent/US11522784B2/en
Priority to PCT/CN2017/117700 priority patent/WO2019104788A1/zh
Priority to JP2020524190A priority patent/JP6921322B2/ja
Priority to AU2017441267A priority patent/AU2017441267B2/en
Priority to KR1020207015402A priority patent/KR102342723B1/ko
Publication of CN109842574A publication Critical patent/CN109842574A/zh
Application granted granted Critical
Publication of CN109842574B publication Critical patent/CN109842574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于可编程网络技术的多宿主网络的路由转发方法,所述方法包括:当进行数据包的路由转发时,根据转发流表地址匹配方法进行地址到端口的匹配,根据所匹配的端口对地址进行归类,使得每个端口都对应一个目的地址组,基于链路信息表中的信息和端口选择函数,选择合适的端口和相应的目的地址组,裁剪掉其余端口的目的地址组;利用地址过滤函数以及数据携带的前跳信息对剩下的目的地址组进行进一步裁剪;对于目的地址组中剩余的地址,如果采用单一地址选取方法能够确定单一目的地址,则将其作为目的地址,采用通用路由转发方法将报文转发至目的地址,否则封装目的地址组,采用单一地址选取方法逐跳确定单一目的地址,直至到达目的地址。

Description

一种基于可编程网络技术的多宿主网络路由转发方法
技术领域
本发明涉及计算机网络技术,特别涉及一种基于可编程网络技术的多宿主网络路由转发方法。
背景技术
当前用户的终端通常会处在多个宿主网络中,比如Wi-Fi和4G网络。用户可以通过多个宿主网络并行传输来提高传输的效率,同时也可以根据宿主网络的变化选择状态好的网络,提高传输可靠性。但是目前的4G方案是选择其中一种宿主进行通信,这就无法享受到多宿主带来的可靠性、加倍传输和根据网络状态选择较优的宿主等优点。所以,面对下一代5G网络,有必要实现多宿主功能。
目前的多宿主的实现方式主要有两种,一种是地址和标志符分离的方法,比如LISP,HIP,LIN6和SHIM6等,这些方案有希望解决移动性和多宿主,但代价是修改终端设备或者部署新的网络实体(映射系统或者专用的边缘设备)。另一种是传输层的方案,比如SCTP和MPTCP,这些方法支持并发多路径传输,但是对移动性的支持并不好。已有的方案主要是端到端的多宿主传输方案,这可以让用户可以同时使用多个宿主网络,提高了服务质量。但是,端到端的多宿主方案中端系统所知道的网络信息是有限的,不能够很好地根据网络的状态及时实现多宿主路径的切换。
发明内容
本发明的目的在于解决传统的多宿主技术不能及时根据网络状态调整多宿主网络的问题,考虑到可编程网络设备能够实现协议独立转发,增加对数据包操作的灵活性的优势;提出了基于可编程网络设备的多目的地址的多宿主网络技术方案,多个目的地址可以让网络根据多个通往目的地址的路径的状态来选择链路状态好的链路进行传输,平衡网络中的流量,解决网络拥塞等问题。通过基于网络状态动态调整的多宿主网络路由转发方法,可以有效提高用户的通信质量。
为了解决上述问题,本发明提出了一种基于可编程网络技术的多宿主网络的路由转发方法,所述方法包括:所述多宿主网络包括控制器和可编程网络设备;所述控制器用于根据网络的状态对可编程网络设备中的信息进行维护,所述可编程网络设备用于维护了两张表:转发流表和链路信息表,并对数据包进行修改和转发;所述方法包括:
当进行数据包的路由转发时,根据转发流表地址匹配方法进行地址到端口的匹配,根据所匹配的端口对地址进行归类,使得每个端口都对应一个目的地址组,
基于链路信息表中的信息和端口选择函数,选择合适的端口和相应的目的地址组,裁剪掉其余端口对应的目的地址组;
利用地址过滤函数以及数据携带的前跳信息对剩下的目的地址组进行进一步裁剪;
对于目的地址组中剩余的地址,如果采用单一地址选取方法能够确定单一目的地址,则将其作为目的地址,采用通用路由转发方法将报文转发至目的地址,否则封装目的地址组,根据其对应的端口将数据包转发,采用单一地址选取方法逐跳确定单一目的地址,直至到达目的地址。
作为上述方法的一种改进,所述可编程网络设备为在SDN架构下具有处理自定义报文和协议无关转发能力的网络设备;所述可编程网络设备通过对Openflow协议扩展,在转发层实现转发流表对自定义报文的处理和控制;所述可编程网络设备为支持P4,POF或PIF技术的路由器或交换机。
作为上述方法的一种改进,所述转发流表为报文转发所使用的流表,记录数据报文到目的地的转发信息;所述控制器通过路由协议获得转发流表并下发到可编程网络设备;所述链路信息表记录可编程网络设备中的每个转发端口portk和对应相关链路的状态信息值statusk,1,statusk,2……,所述状态信息值包括下一跳或多跳的链路状态和可能的路径的链路状态,所述链路状态包括下一跳或者多跳的端口负载、链路带宽和延迟。
作为上述方法的一种改进,所述控制器是网络策略管控中心,管理着网络的路由和转发策略,由SDN控制器经扩展得到;所述控制器包括转发流表控制模块和链路信息表控制模块;
所述转发流表控制模块,用于根据路由规则向可编程网络设备下发对转发流表的表项进行创建、修改和删除的命令;
所述链路信息表控制模块,用于通过对网络状态信息进行获取、计算和学习后,向可编程网络设备下发对链路信息表的表项进行创建、修改和删除的命令。
作为上述方法的一种改进,所述单一地址选取方法为:如果只有一个地址或者只有一个地址满足目的地址匹配条件,则选择该地址为目的地址;如果当前有多个地址达到了目的地址匹配条件,则依据选择策略选择一个满足目的地址匹配条件的地址作为目的地址。
作为上述方法的一种改进,所述方法具体包括:
步骤1)每个数据包携带用户多个地址以及路由到当前地址的前k跳信息,若用户有n个宿主,则对应的多个地址的集合为{addr1,addr2,…,addrn};
步骤2)对数据包进行路由转发时,根据转发流表地址匹配方法进行地址到端口的匹配,根据所匹配的端口对地址进行归类,使得每个端口都对应一个目的地址组;
步骤3)查询所有端口在链路信息表中的信息,并通过端口选择函数选择状态好的端口作为下一跳的转发端口,裁剪掉没被选中的端口所对应的目的地址组;
步骤4)通过地址过滤函数及数据携带的前跳信息对剩下的目的地址组进行进一步裁剪;如果得到单一目的地址,转入步骤6);否则,转入步骤5);所述单一目的地址是指只有一个地址或者多个地址中只有一个地址满足目的地址匹配条件;
步骤5)如果有多个地址满足目的地址匹配条件,则依据选择策略选择一个满足目的地址匹配条件的地址作为单一目的地址,转入步骤6);否则,封装地址组,根据对应端口将数据包转发,转入步骤3);
步骤6)将获取的单一目的地址作为目的地址,采用通用路由转发方法转发报文,直至到达目的地。
作为上述方法的一种改进,所述步骤2)具体包括:
步骤201)将包含多个地址数据包进行转发流表匹配,每个地址根据转发流表地址匹配方法匹配对应的转发端口,对有n个地址{addr1,addr2,…,addrn}的数据包和m个端口的可编程网络设备{port1,port2,…,portm}进行匹配,对于每个地址有映射关系Mapping(addri)=portj,其中,1≤i≤n,1≤j≤m,且portm为默认端口;则每个地址都会根据转发流表匹配到一个端口;
步骤202)对地址根据匹配到的转发端口进行归类;每个端口所对应的地址归类到一个地址组,其映射关系为{port1:[addr11,addr12,…],port2:[addr21,addr22,…],…,portm:[addrm1,addrm2,…]}。
作为上述方法的一种改进,所述转发流表地址匹配方法为:根据数据包的地址或标识匹配出对应的转发端口,不同路由机制有不同的匹配方法,包括:IP地址匹配和ICN中的名字匹配。
作为上述方法的一种改进,所述步骤3)的链路信息表的端口选择函数为portx=F(Z,pack)=F2(F1(Z,Pack)),其中,Z为链路信息表的端口与链路信息表之间的映射关系Z={port1:[status1,1,status1,2……],port2:[status2,1,status2,2……],…,portm:[statusm,1,statusm,2……]},Pack为报文内容,F(x)为基于状态信息的端口选择函数;
所述端口选择函数F(x),包含状态计算函数F1(x)和选择函数F2(x);所述状态计算F1(x)通过链路信息表中的某一项的值,或者根据多项的值计算,从而为每个候选端口计算状态值;所述选择函数F2(x)则是根据计算得到的状态值选择下一跳端口,选择状态值最高的端口作为下一跳转发端口。
作为上述方法的一种改进,所述步骤4)的地址过滤函数用于对端口选择函数所选出的端口porti对应的地址组ADDRi进行过滤,实现过程为:根据前k跳地址过滤信息,如果在k跳之内都没有地址删除,则以概率p删除u个ADDRi中的地址信息,在该过程中,保证ADDRi中至少要有一个地址。
作为上述方法的一种改进,所述目的地址匹配条件为:计算当前路由机制下地址匹配打分函数为G(x),其中x为地址,G(x)根据不同路由机制定义的不同匹配方法得到的得分,表示与目的地址的匹配程度;当G(x)>w时,w为预先设定或者动态设定的阈值,表明该地址x达到了目的地址匹配条件。
作为上述方法的一种改进,所述步骤5)的选择策略为:随机选择、根据链路预测信息选择或子网负载选择。
本发明的优势在于:
本发明的系统及方法能够根据网络的动态变化及时调整数据包的传输路径,使用户能够充分享受到多宿主带来的可靠性、加倍传输和根据网络状态选择较优的宿主等优点。
附图说明
图1是本发明的基于可编程网络技术的多目的地址的多宿主网络的结构图;
图2是本发明的基于可编程网络技术的多宿主网络中交换机的结构图和处理多目的地址数据包的流程图。
具体实施方式
现结合附图以基于POF(Protocol-Oblivious Forwarding)的多目的IP地址为例对本发明作进一步描述。
本发明提出了一种基于可编程网络设备的多宿主网络的路由转发方法,在该方法中,发送端每个数据包携带多个IP地址,以及路由到当前地址的前k跳信息;而在可编程网络设备的维护信息中,维护了两张信息表,一个是基于IP路由转发机制得到的转发流表,另一个是链路信息表,其中链路信息表提供可编程网络设备中每个转发端口和对应相关链路的状态信息。当进行数据包的路由转发时,首先根据转发流表IP地址匹配方法进行地址到端口的匹配,根据所匹配的端口对地址进行归类,使得每个端口都对应一个目的地址组,基于状态表中的信息和端口选择函数,选择合适的端口和相应的目的地址组,裁剪掉对应其余端口的地址组;利用IP地址过滤函数以及数据携带的前跳信息对剩下的地址组进行进一步裁剪;根据地址组中的地址,判断是否达到了IP接入网络地址匹配条件,如果没达到,则封装地址组,根据对应端口将数据包转发,如果达到,则根据单一地址选择方法,选出一个地址作为目的地址,删除其它地址,封装数据包,并根据对应端口转发。上述过程在每一跳转发都需判断和执行,直至到达目的地。
所述可编程网络设备是指在SDN(软件定义网络)架构下,具有处理自定义报文和协议无关转发能力的网络设备。通过对Openflow协议扩展,在转发层实现流表对自定义报文的处理和控制。可编程网络设备包括但不限于支持P4,POF,PIF等技术的路由器、交换机。每个可编程网络设备可支持多地址。所述的可编程网络,是由可编程网络设备相互连接构成的网络。
如图1所示,所述多宿主网络是指终端通过多个接入网连接网络,每个终端可以通过多个网络发送数据,可以同时从多个网络接收数据,当终端作为接收端时,可以从不同接入网络接收到同一个终端所发送出来的数据。网络能够根据自身的状态为终端动态选择较优的接入网提供服务。多宿主网络基于SDN架构,主要由控制器和可编程网络设备构成。其中,控制器主要是根据网络的状态对可编程网络设备中的信息进行维护,而可编程网络设备主要负责完成对数据包的修改和转发。
所述转发流表IP地址匹配方法,是指根据数据包中的IP地址匹配出对应的转发端口,可用IP地址匹配方法进行匹配。
所述转发流表指的报文转发所使用的流表,流表即SDN中用于转发数据报文的表,其中维护着数据报文到目的地的转发信息,是控制器通过路由协议来获得并下发到可编程网络设备。所述链路信息表维护着链路的状态信息,其信息包含端口负载、当前链路状态,如带宽、延迟,以及与网络状态相关的量。
所述控制器是网络策略管控中心,管理着网络的路由和转发策略,可由SDN控制器经扩展而得到,控制器通过南向接口向可编程网络设备发送控制命令,可编程网络设备执行这些命令。其结构包括转发流表控制模块和链路信息表控制模块。转发流表控制模块主要根据获得的网络状态运行一些路由算法生成路由规则并通过南向接口向可编程网络设备下发对转发流表的流表项进行创建、修改和删除的命令;而链路信息表控制模块在对网络状态信息的获取、计算和学习后通过南向接口向可编程网络下发对链路信息表的表项进行创建、修改和删除的命令,如根据网络的动态变化和对以往网络状态的学习来获得和预测网络中链路的状态,从而对可编程网络设备中链路信息表进行维护。
链路信息表的信息是控制器将信息维护策略下发给可编程网络设备,可编程网络设备通过统计信息、网络的测量以及对网络动态变化的情况学习等方式获得相关信息并维护,链路信息表反映网络的链路动态变化。其中,端口portk对应状态信息为statusk,1,statusk,2……,其值包括但不限于下一跳或多跳的链路状态、可能的路径的链路状态等,例如:下一跳或者多跳的端口负载、链路带宽、延迟或其他网络相关信息,可通过测量、预测等方法获得。
如图2所示,所述路由转发方法具体包括以下流程:
步骤1)每个数据包携带用户多个地址,这些地址是用户所在的宿主网络所分配,假设用户有n个宿主,则对应的多个地址的集合为{IP1,IP2,…,IPn}。
步骤2)将包含多个地址数据包进行转发流表匹配,每个地址根据转发流表地址匹配方法匹配对应的转发端口,对有n个地址{IP1,IP2,…,IPn}的数据包和m个端口的可编程网络设备{port1,port2,…,portm}进行匹配,对于每个地址有映射关系Mapping(IPi)=portj,其中,1≤i≤n,1≤j≤m,且portm为默认端口。则每个地址都会根据转发流表匹配到一个端口。
步骤3)对地址根据匹配到的转发端口进行归类;每个端口所对应的地址归类到一个地址组,其映射关系为{port1:[IP11,IP12,…],port2:[IP21,IP22,…],…,portm:[IPm1,IPm2,…]}。
步骤4)查询所有端口在链路信息表中的信息,并通过端口选择函数选择状态好的端口作为下一跳的转发端口,删除没被选中的端口所对应的地址组;同时,考虑路由过程中前k跳的地址过滤信息,通过地址过滤函数,将所选择转发端口所对应的目的地址组进行地进一步目的地址过滤,裁剪掉没被选中的端口所对应的目的地址组;
基于链路信息表的端口选择函数为portx=F(Z,pack)=F2(F1(Z,Pack)),其中Z为链路信息表的端口与链路信息表之间的映射关系Z={port1:[status1,1,status1,2……],port2:[status2,1,status2,2……],…,portm:[statusm,1,statusm,2……]},Pack为报文内容,F(x)为基于状态信息的端口选择函数。状态值的计算函数为F1(x),这里为对应端口的历史负载,输出为根据所定义的函数计算得到的状态值。通过F2(x)选择得到合适转发端口portx,用于下一跳转发。
所述的端口选择函数F(x),包含状态计算F1(x)和选择F2(x)两个步骤。状态值的计算函数为y=F1(x)=load(x),表示对应端口x的历史负载。选择步骤F2(y)则是根据F1计算得到的状态值y选择下一跳端口,这里F2的计算方法为根据F1(x)状态值由高到低对端口进行排序,选择状态值最高的端口作为下一跳转发端口。
所述地址过滤函数,其步骤包括:对端口选择函数所选出的端口porti对应的地址组ADDRi进行判断,其方法为:根据前k跳IP地址过滤信息,如果在k跳之内都没有IP地址删除,则以概率p删除u个ADDRi中的IP地址信息,在该过程中,保证ADDRi中至少要有一个IP地址。
步骤5)对于目的地址组中剩余的地址,如果采用单一地址选取方法能够确定单一目的地址,则将其作为目的地址,采用通用路由转发方法将报文转发至目的地址,否则,封装目的地址组,根据其对应的端口将数据包转发,采用单一地址选取方法逐跳确定单一目的地址,直至到达目的地址。
所述单一地址选择方法,其步骤包括:如果只有一个IP地址或者只有一个地址满足目的地址匹配条件,则选择该地址为目的地址;如果当前有多个地址达到了目的地址匹配条件,则依据选择策略选择一个满足目的地址匹配条件的地址作为目的地址。所述选择策略为:随机选择、根据链路预测信息选择或子网负载选择。
所述的目的地址匹配条件是指:定义当前路由机制下地址匹配打分函数为G(x),其中x为IP地址,G(x)为IP地址匹配长度;当G(x)>L时,L为预先设定的匹配长度阈值,则说明该地址x达到了接入目的地址匹配条件,也即数据报文到达了边缘的接入网络。
当采用单一地址选取方法不能够确定单一目的地址,也就是当前有多个地址,但是多个地址都不满足地址匹配条件,则只能封装目的地址组,根据其对应的端口将数据包转发,在下一个端口利用单一地址选取方法继续寻找目的地址。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (12)

1.一种基于可编程网络技术的多宿主网络的路由转发方法,所述多宿主网络包括控制器和可编程网络设备;所述控制器用于根据网络的状态对可编程网络设备中的信息进行维护,所述可编程网络设备用于维护了两张表:转发流表和链路信息表,并对数据包进行修改和转发;所述方法包括:
当进行数据包的路由转发时,根据转发流表地址匹配方法进行地址到端口的匹配,根据所匹配的端口对地址进行归类,使得每个端口都对应一个目的地址组,
基于链路信息表中的信息和端口选择函数,选择合适的端口和相应的目的地址组,裁剪掉其余端口对应的目的地址组;
利用地址过滤函数以及数据包携带的前跳信息对剩下的目的地址组进行进一步裁剪;
对于目的地址组中剩余的地址,如果采用单一地址选取方法能够确定单一目的地址,则将其作为目的地址,采用通用路由转发方法将报文转发至目的地址,否则封装目的地址组,根据其对应的端口将数据包转发,采用单一地址选取方法逐跳确定单一目的地址,直至到达目的地址。
2.根据权利要求1所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述可编程网络设备为在SDN架构下具有处理自定义报文和协议无关转发能力的网络设备;所述可编程网络设备通过对Openflow协议扩展,在转发层实现转发流表对自定义报文的处理和控制;所述可编程网络设备为支持P4,POF或PIF技术的路由器或交换机。
3.根据权利要求1-2之一所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述转发流表为报文转发所使用的流表,记录数据报文到目的地的转发信息;所述控制器通过路由协议获得转发流表并下发到可编程网络设备;所述链路信息表记录可编程网络设备中的每个转发端口portk和对应相关链路的状态信息值statusk,1,statusk,2……,所述状态信息值包括下一跳或多跳的链路状态和可能的路径的链路状态,所述链路状态包括下一跳或者多跳的端口负载、链路带宽和延迟。
4.根据权利要求1-2之一所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述控制器是网络策略管控中心,管理着网络的路由和转发策略,由SDN控制器经扩展得到;所述控制器包括转发流表控制模块和链路信息表控制模块;
所述转发流表控制模块,用于根据路由规则向可编程网络设备下发对转发流表的表项进行创建、修改和删除的命令;
所述链路信息表控制模块,用于通过对网络状态信息进行获取、计算和学习后,向可编程网络设备下发对链路信息表的表项进行创建、修改和删除的命令。
5.根据权利要求4所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述单一地址选取方法为:如果只有一个地址或者只有一个地址满足目的地址匹配条件,则选择该地址为目的地址;如果当前有多个地址达到了目的地址匹配条件,则依据选择策略选择一个满足目的地址匹配条件的地址作为目的地址。
6.根据权利要求5所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述方法具体包括:
步骤1)每个数据包携带用户多个地址以及路由到当前地址的前k跳信息,若用户有n个宿主,则对应的多个地址的集合为{addr1,addr2,…,addrn};
步骤2)对数据包进行路由转发时,根据转发流表地址匹配方法进行地址到端口的匹配,根据所匹配的端口对地址进行归类,使得每个端口都对应一个目的地址组;
步骤3)查询所有端口在链路信息表中的信息,并通过端口选择函数选择状态好的端口作为下一跳的转发端口,裁剪掉没被选中的端口所对应的目的地址组;
步骤4)通过地址过滤函数及数据包携带的前跳信息对剩下的目的地址组进行进一步裁剪;如果得到单一目的地址,转入步骤6);否则,转入步骤5);所述单一目的地址是指只有一个地址或者多个地址中只有一个地址满足目的地址匹配条件;
步骤5)如果有多个地址满足目的地址匹配条件,则依据选择策略选择一个满足目的地址匹配条件的地址作为单一目的地址,转入步骤6);否则,封装目的地址组,根据对应端口将数据包转发,转入步骤3);
步骤6)将获取的单一目的地址作为目的地址,采用通用路由转发方法转发报文,直至到达目的地。
7.根据权利要求6所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述步骤2)具体包括:
步骤201)将包含多个地址的数据包进行转发流表匹配,每个地址根据转发流表地址匹配方法匹配对应的转发端口,对有n个地址{addr1,addr2,…,addrn}的数据包和m个端口的可编程网络设备{port1,port2,…,portm}进行匹配,对于每个地址有映射关系Mapping(addri)=portj,其中,1≤i≤n,1≤j≤m,且portm为默认端口;则每个地址都会根据转发流表匹配到一个端口;
步骤202)对地址根据匹配到的转发端口进行归类;每个端口所对应的地址归类到一个目的地址组,其映射关系为{port1:[addr11,addr12,…],port2:[addr21,addr22,…],…,portm:[addrm1,addrm2,…]}。
8.根据权利要求1或7所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述转发流表地址匹配方法为:根据数据包的地址或标识匹配出对应的转发端口,不同路由机制有不同的匹配方法,包括:IP地址匹配和ICN中的名字匹配。
9.根据权利要求6或7所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述步骤3)的链路信息表的端口选择函数为portx=F(Z,pack)=F2(F1(Z,Pack)),其中,Z为链路信息表的端口与链路信息表之间的映射关系Z={port1:[status1,1,status1,2……],port2:[status2,1,status2,2……],…,portm:[statusm,1,statusm,2……]},Pack为报文内容,F(x)为基于状态信息的端口选择函数;
所述端口选择函数F(x),包含状态计算函数F1(x)和选择函数F2(x);所述状态计算F1(x)通过链路信息表中的某一项的值,或者根据多项的值计算,从而为每个候选端口计算状态值;所述选择函数F2(x)则是根据计算得到的状态值选择下一跳端口,选择状态值最高的端口作为下一跳转发端口。
10.根据权利要求9所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述步骤4)的地址过滤函数用于对端口选择函数所选出的端口porti对应的地址组ADDRi进行过滤,实现过程为:根据前k跳地址过滤信息,如果在k跳之内都没有地址删除,则以概率p删除u个ADDRi中的地址信息,在该过程中,保证ADDRi中至少要有一个地址。
11.根据权利要求5或6所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述目的地址匹配条件为:计算当前路由机制下地址匹配打分函数为G(x),其中x为地址,G(x)根据不同路由机制定义的不同匹配方法得到的得分,表示与目的地址的匹配程度;当G(x)>w时,w为预先设定或者动态设定的阈值,表明该地址x达到了目的地址匹配条件。
12.根据权利要求6所述的基于可编程网络技术的多宿主网络的路由转发方法,其特征在于,所述步骤5)的选择策略为:随机选择、根据链路预测信息选择或子网负载选择。
CN201711213654.2A 2017-11-28 2017-11-28 一种基于可编程网络技术的多宿主网络路由转发方法 Active CN109842574B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201711213654.2A CN109842574B (zh) 2017-11-28 2017-11-28 一种基于可编程网络技术的多宿主网络路由转发方法
US16/760,737 US11522784B2 (en) 2017-11-28 2017-12-21 Routing and forwarding method for multi-homed network based on programmable network technology
PCT/CN2017/117700 WO2019104788A1 (zh) 2017-11-28 2017-12-21 一种基于可编程网络技术的多宿主网络路由转发方法
JP2020524190A JP6921322B2 (ja) 2017-11-28 2017-12-21 プログラマブルネットワーク技術に基づくマルチホストネットワークのルーティング転送方法
EP17933683.9A EP3709583B1 (en) 2017-11-28 2017-12-21 Programmable network technology-based multi-homed network routing and forwarding method
AU2017441267A AU2017441267B2 (en) 2017-11-28 2017-12-21 Routing and forwarding method for multi-homed network based on programmable network technology
KR1020207015402A KR102342723B1 (ko) 2017-11-28 2017-12-21 프로그래머블 네트워크 기술 기반의 멀티 홈드 네트워크 라우팅 및 포워딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711213654.2A CN109842574B (zh) 2017-11-28 2017-11-28 一种基于可编程网络技术的多宿主网络路由转发方法

Publications (2)

Publication Number Publication Date
CN109842574A CN109842574A (zh) 2019-06-04
CN109842574B true CN109842574B (zh) 2020-07-17

Family

ID=66664281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711213654.2A Active CN109842574B (zh) 2017-11-28 2017-11-28 一种基于可编程网络技术的多宿主网络路由转发方法

Country Status (7)

Country Link
US (1) US11522784B2 (zh)
EP (1) EP3709583B1 (zh)
JP (1) JP6921322B2 (zh)
KR (1) KR102342723B1 (zh)
CN (1) CN109842574B (zh)
AU (1) AU2017441267B2 (zh)
WO (1) WO2019104788A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602230A (zh) * 2019-09-20 2019-12-20 重庆洲雄科技有限责任公司 一种报案者案情信息的转发方法及相关设备
US11240153B1 (en) * 2020-07-31 2022-02-01 Cisco Technology, Inc. Scoring policies for predictive routing suggestions
CN114500374B (zh) * 2020-11-12 2023-07-14 中国科学院声学研究所 一种采用随路改变目的地址的报文路由转发方法
CN114553773B (zh) * 2020-11-24 2022-11-22 中国科学院声学研究所 一种层次结构的标识寻址方法
US11949604B2 (en) * 2021-10-06 2024-04-02 Inernational Business Machines Corporation Integrated network switch operation
CN114047881B (zh) * 2021-11-18 2023-11-17 江苏省未来网络创新研究院 一种基于用户策略的网络数据包存储装置及方法
US12375357B2 (en) * 2022-05-13 2025-07-29 Microsoft Technology Licensing, Llc Re-simulation of updated SDN connection flows
CN115150324B (zh) * 2022-06-09 2024-05-10 南京邮电大学 一种基于可编程数据平面实现可变重路由阈值的方法及系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7164653B1 (en) * 2002-06-07 2007-01-16 At&T Corp. Shared bandwidth reservation in PL, ATM, FR and IP/MPLS networks
US7284068B1 (en) * 2002-06-20 2007-10-16 Cisco Technology, Inc. Technique for providing multi-homing capability in data networks
JP4356557B2 (ja) * 2003-09-02 2009-11-04 Kddi株式会社 インターネットにおけるネットワークの障害位置を特定する方法及びプログラム
US8260922B1 (en) * 2005-09-16 2012-09-04 Cisco Technology, Inc. Technique for using OER with an ECT solution for multi-homed sites
KR100859712B1 (ko) * 2006-12-08 2008-09-23 한국전자통신연구원 위조된 멀티캐스트 패킷을 막는 장치 및 그 방법
US20080320116A1 (en) * 2007-06-21 2008-12-25 Christopher Briggs Identification of endpoint devices operably coupled to a network through a network address translation router
JP5520928B2 (ja) * 2008-03-31 2014-06-11 オランジュ ネットワークにおけるデータパケットのルーティング方法および関連デバイス
WO2011117959A1 (ja) * 2010-03-23 2011-09-29 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
CN103262505B (zh) * 2010-10-22 2016-06-01 瑞典爱立信有限公司 使用网络地址转换的网络业务的区分处理
CN102158497B (zh) * 2011-05-11 2014-01-22 中国人民解放军国防科学技术大学 Ip地址过滤方法及装置
CN103220255B (zh) 2012-01-18 2017-07-21 南京中兴新软件有限责任公司 一种实现单播反向路径转发urpf检查的方法及装置
JP2014068258A (ja) * 2012-09-26 2014-04-17 Oki Electric Ind Co Ltd 制御装置
CN103118083B (zh) * 2013-01-21 2015-12-02 北京交通大学 一种业务报文转发的方法和装置
US9900252B2 (en) * 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
EP2976860B1 (en) * 2013-03-20 2018-08-01 Wolting Holding B.V. Compiler for and method for software defined networks
JP5954236B2 (ja) * 2013-03-28 2016-07-20 日立金属株式会社 ネットワーク中継装置
US9178816B1 (en) * 2013-09-27 2015-11-03 Juniper Networks, Inc. Control plane messaging in all-active multi-homed ethernet virtual private networks
US9485180B2 (en) * 2014-02-04 2016-11-01 Juniper Networks, Inc. Loop free alternate selection for multi-homed networks
US9537751B2 (en) 2014-03-31 2017-01-03 Kulcloud Divided hierarchical network system based on software-defined networks
CN104184664B (zh) 2014-08-05 2017-07-04 新华三技术有限公司 路由转发表项生成方法及装置
CN104243317B (zh) * 2014-09-26 2018-04-20 新华三技术有限公司 一种实现ip路由转发的方法和装置
WO2016093748A1 (en) * 2014-12-09 2016-06-16 Telefonaktiebolaget Lm Ericsson (Publ) Network address translation
US9787573B2 (en) * 2014-12-31 2017-10-10 Juniper Networks, Inc. Fast convergence on link failure in multi-homed Ethernet virtual private networks
EP3125472A1 (en) * 2015-07-30 2017-02-01 Alcatel Lucent Telecommunication system, method and computer readable medium to control how a transmission of packets of a data flow is realized
CN105337857B (zh) 2015-11-23 2018-05-25 北京邮电大学 一种基于软件定义网络的多路径传输方法
US10469379B2 (en) * 2017-02-17 2019-11-05 Cisco Technology, Inc. System and method to facilitate content delivery to multiple recipients in a network environment

Also Published As

Publication number Publication date
EP3709583B1 (en) 2023-02-15
KR102342723B1 (ko) 2021-12-23
JP2021501527A (ja) 2021-01-14
US20200358692A1 (en) 2020-11-12
AU2017441267B2 (en) 2021-04-29
CN109842574A (zh) 2019-06-04
EP3709583A4 (en) 2021-01-20
US11522784B2 (en) 2022-12-06
JP6921322B2 (ja) 2021-08-18
KR20200071767A (ko) 2020-06-19
WO2019104788A1 (zh) 2019-06-06
EP3709583A1 (en) 2020-09-16
AU2017441267A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
CN109842574B (zh) 一种基于可编程网络技术的多宿主网络路由转发方法
US7586894B2 (en) Communication system capable of selecting optimum gateway for terminals
US9497118B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
AU2002238410B2 (en) Addressing and routing in wireless mesh networks
EP2372951B1 (en) Network layer topology management for mobile ad-hoc networks and associated methods
CN104601485B (zh) 网络流量的分配方法及实现网络流量分配的路由方法
CN101489276A (zh) 一种移动Ad Hoc网络多播路由方法
CN113347088B (zh) 一种改进的无线自组织网络多链路路由方法
CN108449271A (zh) 一种监测路径节点能量和队列长度的路由方法
RU2586019C2 (ru) Устройство управления, система связи, способ управления узлом и программа
JP6011619B2 (ja) 移動通信端末、通信方法、通信システムおよび制御装置
Wang et al. In the design of tactical communication systems
CN114531398A (zh) 一种报文转发的方法及相关装置
CN101997752B (zh) 一种控制网元及其路由控制方法
CN112615749A (zh) 一种基于VXLAN和OpenFlow的流量调度系统和方法
Yu et al. Dynamic load balancing multipathing in data center ethernet
WO2010150585A1 (ja) ネットワークのトポロジを変更するノード、システム、及び方法
ZA200403183B (en) Addressing and routing in wireless mesh networks.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220914

Address after: Room 1601, 16th Floor, East Tower, Ximei Building, No. 6 Changchun Road, High-tech Industrial Development Zone, Zhengzhou City, Henan Province, 450000

Patentee after: Zhengzhou xinrand Network Technology Co.,Ltd.

Address before: 100190, No. 21 West Fourth Ring Road, Beijing, Haidian District

Patentee before: INSTITUTE OF ACOUSTICS, CHINESE ACADEMY OF SCIENCES

Patentee before: BEIJING ZHONGKE HAILI TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230103

Address after: No. 2180, 2nd Floor, Building D, Building 33, No. 99, Kechuang 14th Street, Economic and Technological Development Zone, Daxing District, Beijing 100176

Patentee after: Beijing Zhongke Haiwang Technology Co.,Ltd.

Address before: Room 1601, 16th Floor, East Tower, Ximei Building, No. 6 Changchun Road, High-tech Industrial Development Zone, Zhengzhou City, Henan Province, 450000

Patentee before: Zhengzhou xinrand Network Technology Co.,Ltd.

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20250811

Granted publication date: 20200717