CN112236981B - 在sdn中配置网络路径 - Google Patents

在sdn中配置网络路径 Download PDF

Info

Publication number
CN112236981B
CN112236981B CN201880094234.3A CN201880094234A CN112236981B CN 112236981 B CN112236981 B CN 112236981B CN 201880094234 A CN201880094234 A CN 201880094234A CN 112236981 B CN112236981 B CN 112236981B
Authority
CN
China
Prior art keywords
arp
node
address
network
packet
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
CN201880094234.3A
Other languages
English (en)
Other versions
CN112236981A (zh
Inventor
A·兰杰巴
M·考姆
P·萨尔梅拉
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN112236981A publication Critical patent/CN112236981A/zh
Application granted granted Critical
Publication of CN112236981B publication Critical patent/CN112236981B/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/302Route determination based on requested QoS
    • 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
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Abstract

提出了一种用于配置网络路径的方法。所述方法在软件定义网络的路由控制设备中被执行并且包括以下步骤:接收源自所述软件定义网络的第一节点的第一节点分组,所述第一节点分组形成ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组包括被编码在第一地址中的对网络特性的请求;确定通过所述软件定义网络的网络路径;将去往所述ARP请求方的分组的源地址改变为第二地址;配置形成所述网络路径的一部分的所有交换机,以根据所述网络路径来路由分组;以及配置边缘交换机,以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址。

Description

在SDN中配置网络路径
技术领域
本发明涉及用于在软件定义网络(SDN)中配置网络路径的方法、路由控制设备、计算机程序和计算机程序产品。
背景技术
路由器和交换机使用分组头来路由网络中的数据流。交换机通常依赖于媒体访问控制(MAC)地址,而路由器使用IP地址来在网络中两个终端主机之间转发和路由数据流。另外,可以使用加标签和隧道技术来路由数据流。虚拟局域网(VLAN)是最著名的加标签和隧道技术示例,其中,交换机用VLAN ID标记数据流,并基于VLAN标识符转发数据流。还已经开发出更复杂的技术以将隧道技术扩展到大规模网络。
通过对数据流进行更多控制,软件定义网络(SDN)的出现改进了网络转发操作。在SDN中,交换机通常将新的流转发给路由控制设备,该路由控制设备然后通过指示交换机(例如,使用OpenFlow协议)来决定如何转发流,从而控制数据流的路由。SDN技术增强了转发操作,并允许管理员以集中方式分派定制标签、改变分组头以及路由数据流。
可用技术的问题在于,主机和网络对“最佳路径”的选择可能具有冲突,并且网络经常不了解终端主机上正在运行的应用的要求。作为示例,服务器可能运行对延迟敏感的服务。但是,网络不知道终端主机上正在运行的服务的要求,因此它可能不会为此服务选择延迟最低的路径。
为了解决此问题,已经针对SDN建议了一组网络应用编程接口(API),以提供对路由控制设备的接入。API允许路由控制设备获得更好的信息,从而能够为网络中的每个流定义改进的路径。但是,这种方法不切实际,并且通过为终端主机提供对路由控制设备的API接入,为SDN运营商带来了安全风险。
发明内容
目的是提供一种允许终端主机请求网络特性以用于终端主机的通信的改进方法。
根据第一方面,提出了一种用于配置网络路径的方法。所述方法在软件定义网络的路由控制设备中被执行并且包括以下步骤:接收源自所述软件定义网络的第一节点的第一节点分组,所述第一节点分组形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组包括对网络特性的请求,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;基于所述对网络特性的请求,确定在所述第一节点与第二节点之间通过所述软件定义网络的网络路径,所述网络路径由第二地址来标识;将去往所述ARP请求方的分组的源地址改变为所述第二地址;配置形成所述网络路径的一部分的所有交换机以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径来路由分组;以及配置是最接近所述ARP响应方的交换机的边缘交换机以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址。
所有地址可以是媒体访问控制MAC地址。
所述第一节点可以是所述ARP响应方,所述第二节点可以是所述ARP请求方,所述第一节点分组可以是ARP响应。在这种情况下,在改变所述源地址的步骤中,去往所述ARP请求方的所述分组是所述第一节点分组。
所述第一节点可以是所述ARP请求方,所述第二节点可以是所述ARP响应方,所述第一节点分组可以是ARP请求。在这种情况下,在改变所述源地址的步骤中,去往所述ARP请求方的所述分组是与所述ARP请求相对应的ARP响应。
所述网络特性可以包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点。
所述方法可以进一步包括以下步骤:接收源自所述软件定义网络的所述第一节点的更新分组,所述更新分组包括对更新后的网络特性的更新后的请求,所述请求被编码在所述更新分组的源地址中;基于所述对更新后的网络特性的请求,确定在所述第一节点与所述第二节点之间通过所述软件定义网络的更新后的网络路径,所述更新后的网络路径由第三地址来标识;配置形成所述更新后的网络路径的一部分的所有交换机,以对于包括等于所述第三地址的目的地地址的分组,根据所述更新后的网络路径来路由分组;配置是最接近所述第一节点的交换机的边缘交换机,以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为是所述第三地址的目的地地址;以及配置是最接近所述第二节点的交换机的边缘交换机,以对于目的地地址等于所述第三地址的所有分组,将所述目的地地址替换为是所述第二节点的所述地址的目的地地址。
根据第二方面,提出了一种用于配置网络路径的路由控制设备,所述路由控制设备被配置为形成软件定义网络的一部分。所述路由控制设备包括:处理器;以及存储器,其存储指令,所述指令在由所述处理器执行时使得所述路由控制设备:接收源自所述软件定义网络的第一节点的第一节点分组,所述第一节点分组形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组包括对网络特性的请求,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;基于所述对网络特性的请求,确定在所述第一节点与第二节点之间通过所述软件定义网络的网络路径,所述网络路径由第二地址来标识;将去往所述ARP请求方的分组的源地址改变为所述第二地址;配置形成所述网络路径的一部分的所有交换机以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径来路由分组;以及配置是最接近所述ARP响应方的交换机的边缘交换机以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址。
所有地址可以是媒体访问控制MAC地址。
所述第一节点可以是所述ARP响应方,所述第二节点可以是所述ARP请求方,所述第一节点分组可以是ARP响应。在这种情况下,去往所述ARP请求方的所述分组是所述第一节点分组。
所述第一节点可以是所述ARP请求方,所述第二节点可以是所述ARP响应方,所述第一节点分组可以是ARP请求。在这种情况下,去往所述ARP请求方的所述分组是与所述ARP请求相对应的ARP响应。
所述网络特性可以包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点。
所述路由控制设备还可以包括在由所述处理器执行时使得所述路由控制设备执行以下操作的指令:接收源自所述软件定义网络的所述第一节点的更新分组,所述更新分组包括对更新后的网络特性的更新后的请求,所述请求被编码在所述更新分组的源地址中;基于所述对更新后的网络特性的请求,确定在所述第一节点与所述第二节点之间通过所述软件定义网络的更新后的网络路径,所述更新后的网络路径由第三地址来标识;配置形成所述更新后的网络路径的一部分的所有交换机,以对于包括等于所述第三地址的目的地地址的分组,根据所述更新后的网络路径来路由分组;配置是最接近所述第一节点的交换机的边缘交换机,以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为是所述第三地址的目的地地址;以及配置是最接近所述第二节点的交换机的边缘交换机,以对于目的地地址等于所述第三地址的所有分组,将所述目的地地址替换为是所述第二节点的所述地址的目的地地址。
根据第三方面,提出了一种路由控制设备,包括:用于接收源自所述路由控制设备是其一部分的软件定义网络的第一节点的第一节点分组的装置,所述第一节点分组形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组包括对网络特性的请求,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;用于基于所述对网络特性的请求,确定在所述第一节点与第二节点之间通过所述软件定义网络的网络路径的装置,所述网络路径由第二地址来标识;用于将去往所述ARP请求方的分组的源地址改变为所述第二地址的装置;用于配置形成所述网络路径的一部分的所有交换机以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径来路由分组的装置;以及用于配置是最接近所述ARP响应方的交换机的边缘交换机以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址的装置。
根据第四方面,提出了一种配置网络路径的计算机程序。所述计算机程序包括计算机程序代码,所述计算机程序代码当在软件定义网络的路由控制设备上运行时使得所述路由控制设备:接收源自所述软件定义网络的第一节点的第一节点分组,所述第一节点分组形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组包括对网络特性的请求,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;基于所述对网络特性的请求,确定在所述第一节点与第二节点之间通过所述软件定义网络的网络路径,所述网络路径由第二地址来标识;将去往所述ARP请求方的分组的源地址改变为所述第二地址;配置形成所述网络路径的一部分的所有交换机以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径来路由分组;以及配置是最接近所述ARP响应方的交换机的边缘交换机以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址。
根据第五方面,提出了一种计算机程序产品,其包括根据第四方面的计算机程序和所述计算机程序被存储在其上的计算机可读装置。
根据第六方面,提出了一种用于配置网络路径的方法。所述方法在软件定义网络的地址解析协议ARP响应方中被执行并且包括以下步骤:接收包括对所述ARP响应方的ARP请求的第二节点分组,所述第二节点分组源自第二节点,并且所述第二节点分组形成ARP请求方与所述ARP响应方之间的ARP交换的一部分;确定网络路径的期望网络特性;生成包括对所述期望网络特性的请求的第一节点分组,其中,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;以及发送所述第一节点分组。
所述第二节点可以是所述ARP请求方。
所述网络特性可以包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点。
根据第七方面,提出了一种用于配置网络路径的地址解析协议ARP响应方,所述ARP响应方被配置为形成软件定义网络的一部分。所述ARP响应方包括:处理器;以及存储器,其存储指令,所述指令在由所述处理器执行时使得所述ARP响应方:接收包括对所述ARP响应方的ARP请求的第二节点分组,所述第二节点分组源自第二节点,并且所述第二节点分组形成ARP请求方与所述ARP响应方之间的ARP交换的一部分;确定网络路径的期望网络特性;生成包括对所述期望网络特性的请求的第一节点分组,其中,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;以及发送所述第一节点分组。
所述第二节点可以是所述ARP请求方。
所述网络特性可以包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点。
根据第八方面,提出了一种地址解析协议ARP响应方,包括:用于接收包括对第一节点的ARP请求的第二节点分组的装置,所述第二节点分组源自第二节点,并且所述第二节点分组形成在软件定义网络中使用的在ARP请求方与所述ARP响应方之间的ARP交换的一部分;用于确定网络路径的期望网络特性的装置;用于生成包括对所述期望网络特性的请求的第一节点分组的装置,其中,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;以及用于发送所述第一节点分组的装置。
根据第九方面,提出了一种用于配置网络路径的计算机程序,所述计算机程序包括计算机程序代码,所述计算机程序代码当在形成软件定义网络的一部分的地址解析协议ARP响应方上运行时使得所述ARP响应方:接收包括对所述ARP响应方的ARP请求的第二节点分组,所述第二节点分组源自第二节点,并且所述第二节点分组形成ARP请求方与所述ARP响应方之间的ARP交换的一部分;确定网络路径的期望网络特性;生成包括对所述期望网络特性的请求的第一节点分组,其中,所述请求被编码在所述第一节点分组的作为源地址的第一地址中;以及发送所述第一节点分组。
根据第十方面,提出了一种计算机程序产品,其包括根据第九方面的计算机程序和所述计算机程序被存储在其上的计算机可读装置。
通常,在权利要求中使用的所有术语将根据其在技术领域中的普通含义来解释,除非本文另外显式定义。对“一/一个/该元件、设备、组件、装置、步骤等”的所有引用应被开放地解释为是指该元件、设备、组件、装置、步骤等的至少一个实例,除非另外显式声明。本文公开的任何方法的步骤不必以所公开的确切顺序执行,除非显式声明。
附图说明
现在参考附图通过示例的方式描述本发明,其中:
图1是示出其中可以应用本文提出的实施例的软件定义网络(SDN)8的示意图;
图2A-B是示出了SDN(诸如图1的SDN)的不同实体之间的通信的序列图;
图3A-B是示出用于配置网络路径的方法的流程图;
图4是示出用于配置网络路径的方法的流程图;
图5是示出图1的路由控制设备和第一节点的组件的示意图;
图6是根据一个实施例的图1的路由控制设备的功能模块的示意图;
图7是示出根据一个实施例的图1的第一节点的功能模块的示意图;以及
图8示出了包括计算机可读装置的计算机程序产品90的一个示例。在此计算机可读装置上,计算机
具体实施方式
现在将在下文中参考附图更全面地描述本发明,在附图中示出了本发明的某些实施例。然而,本发明可以以许多不同的形式来体现,并且不应被解释为限于在此阐述的实施例;而是,这些实施例仅作为示例提供,使得本公开将是透彻和完整的,并且将本发明的范围充分传达给本领域技术人员。在整个说明书中,相同的数字表示相同的元素。
图1是示出其中可以应用本文提出的实施例的软件定义网络(SDN)8的示意图。
在该示例中,存在两个终端节点2、3。出于本文的目的,两个终端节点根据其在地址解析协议(ARP)开始时的作用来命名。ARP用于获得与网络层地址(例如互联网协议(IP)地址)相对应的链路层地址(例如MAC地址)。具体地说,一个终端节点称为ARP请求方3,另一个终端节点称为ARP响应方2。ARP请求方3是在两个节点之间发起ARP解析并首先发送ARP请求的终端节点,ARP响应方2是首先发送ARP响应的终端节点。要注意的是,在以后的阶段中,ARP响应方2可能但不必发送ARP请求,而ARP请求方3可能会发送ARP响应。终端节点2、3中的每一个可以是终端主机或到另一个网络的网关。ARP请求方3可以是客户端,而ARP响应方2可以是服务器,反之亦然。此外,ARP请求方3和ARP响应方2都可以是服务器和/或形成对等(P2P)通信的一部分。尽管此处显示了两个终端节点,但是SDN 8中可能有任意合适数量的终端节点。最接近ARP响应方2的交换机是第一边缘交换机5a。最接近ARP请求方3的交换机是第二边缘交换机5b。在边缘交换机5a,5b之间,存在几个核心交换机6a-6f,在该示例中是六个核心交换机6a-6f。SDN中的边缘交换机5a-b之间可以存在许多不同的路由。通过SDN的路由可以由路由控制设备1(也称为SDN控制器)来控制。
路由控制设备1使用例如OpenFlow协议来指示所有交换机(边缘交换机5a-b和核心交换机6a-f)。本文提出的实施例与OpenFlow协议的任何已知版本兼容。基于OpenFlow规范,边缘交换机5a-b或实际上任何交换机都应能够将新流定向到路由控制设备1,以便路由控制设备1决定如何处理该流(使用OpenFlow中的输入分组(packet-in)消息)。在从交换机接收到新的流请求之后,路由控制设备1可以通过在所选择的路径上安装转发规则(使用OpenFlow中的flow-mod消息)来指示网络中与流的路径有关的所有交换机。
根据本文提出的实施例,ARP请求方3或ARP响应方2可以向路由控制设备1请求针对ARP请求方3或ARP响应方2的流的一组要求,并且ARP请求方3或ARP响应方2通过将细节嵌入其MAC地址来传达这些要求。这很容易配置,因为当今的许多服务都在虚拟机上运行并且改变MAC地址很容易实现。修改后的MAC地址被编码以指示一组所请求的一个或多个要求。这些要求以路由控制设备1可理解的格式被嵌入。这些要求可以与带宽、延迟、网络切片和要经过的一个或多个服务节点中的任意一个或多个有关。服务节点可以例如与深度分组检查、缓存、计费、服务Web内容、代理web业务等有关。
终端节点(ARP请求方3或ARP响应方2)在地址解析协议(ARP)请求、ARP回复或流信号(例如,传输控制协议(TCP)SYN-ACK信号)中将其MAC地址发送给路由控制设备1。
图2A-B是示出在软件定义网络(例如,图1的网络)的不同实体之间的通信的序列图。首先看图2A,示出了其中ARP响应方2请求某些网络特性的情况。
ARP请求方3连接到SDN网络中的ARP响应方2的第一步是发送ARP请求101。在另一个上下文中,ARP请求方3可以是客户端、网关甚至是服务器。
在OpenFlow协议中,对于每个新的流,交换机可以将流的第一分组发送给路由控制设备1以对其进行判决。由于这是新的ARP请求(即,流),因此第二边缘交换机5b将OpenFlow输入分组消息(包括ARP请求)102定向至路由控制设备1。
路由控制设备1接收新请求102,并将请求103发送给所有边缘交换机5a,5b,以从所有交换机端口向外泛洪(flood)ARP请求。
第一交换机5a在其所有端口上泛洪ARP请求104。
在ARP响应方2已经从第一边缘交换机5a接收到ARP请求104之后,ARP响应方2确定105要请求什么网络特性并将这些特性嵌入ARP响应方2的MAC地址中。
ARP响应方2发送以修改后的MAC地址为源地址的ARP响应106。ARP响应方2可以例如是服务器或网关。ARP响应方2被调用,因为它是发送ARP响应106的第一节点。
第一边缘交换机5a接收新的ARP响应106,并且由于它是新的响应,因此第一边缘交换机5a将该响应107转发给路由控制设备1以对其做出判决(输入分组消息)。
路由控制设备1接收ARP响应107并处理108ARP响应107。路由控制设备1检查响应消息107中的源MAC地址(由ARP响应方2设置)。路由控制设备对所请求的来自ARP响应方2的网络特性进行解码,以用于来自MAC地址的入站(inbound)流。取决于所请求的来自ARP响应方2的特性和网络资源的可用性,路由控制设备1确定适当的路径(路径1)并设置新的MAC地址(MAC_path1),将ARP响应方2的MAC地址替换为新MAC地址以用于到ARP响应方2的入站流。虽然可以使用ARP响应方2的MAC地址,但路由控制设备1可以根据网络的拓扑或为了聚合多个流而选择新的MAC地址(MAC_path1)。
然后,路由控制设备1将ARP响应109(包括MAC_path1作为源地址)发送给第二边缘交换机5b,第二边缘交换机5b然后将ARP响应消息109转发给ARP请求方3。
另外,路由控制设备1在核心网络处的路径1中的第二边缘交换机5b和其他交换机上安装110转发规则,以在网络中路由具有等于MAC_path1的目的地MAC地址的流。这有助于在特定路径(基于根据ARP响应方2请求的网络特性而确定的网络路径)中路由去往ARP响应方2的所有流。
路由控制设备1还在被连接到ARP响应方2的第一边缘交换机5a上安装111规则,以将目的地为MAC_path1的所有流的MAC地址改变为ARP响应方2的MAC地址(MAC_responder)。结果,ARP响应方2可以接受具有它自己的MAC地址的所有流。在一个实施例中,ARP响应在ARP头/消息中包括修改后的MAC地址,该修改后的MAC地址包括所请求的网络特性,以及在MAC/以太网头中包括ARP响应方的MAC地址(MAC_responder)(反之亦然)。这样,ARP请求方针对信令要求将仅使用修改后的MAC地址,但业务将基于由控制器安装到最接近的GW的转换规则而使用MAC_responder来接收。在以太网头和ARP头中使用不同的MAC地址也可以是一种向路由控制设备1指示本文提出的实施例的解决方案被应用的方式。
当ARP请求方3发送目的MAC地址等于MAC_path1的数据流112时,路径1中的第二边缘交换机5b和所有核心交换机6a-f根据MAC_path1来转发该数据流。
当目的MAC地址为MAC_path1的数据流到达第一边缘交换机5a时,该交换机将目的地MAC地址改变为MAC_responder,并将流113转发给ARP响应方2。
ARP响应方2和ARP请求方3具有单独的ARP解析过程。在从ARP响应方2到ARP请求方3进行任何通信之前,ARP响应方2还可以发送ARP请求并获得ARP请求方3的MAC地址。替代地,ARP响应方可以存储来自所有接收到的ARP请求中的MAC/IP映射,在这种情况下,不需要反向查找。尽管如此,为了完整起见,现在将描述ARP响应方发起它自己的ARP解析过程的过程。使用该步骤来指示ARP响应方2对出站(outbound)流的要求。在该步骤中,ARP响应方2将它的要求嵌入114它的MAC地址中,并将ARP请求115发送给ARP请求方3。新的MAC地址不一定是新的物理地址,而仅仅是用于向路由控制设备1指示要求的定制MAC地址,如下面参考图3A更详细解释的那样。
与上述类似,路由控制设备1接收ARP请求115并将ARP请求115广播到网络。此外,路由控制设备可以记录在ARP请求115中使用的要求和MAC地址。如果以太网头和ARP头中存在不同的MAC地址,这可能特别有用,因为在对ARP请求的ARP回复被生成时,可能无法知道地址将被修改还是被直接复制。在此还应注意,如果路由控制设备1之前已经记录了ARP请求方3的MAC地址,从而路由控制设备1自身可以响应ARP请求115,则该步骤可以被省略。但是,当将本发明的解决方案也用于ARP请求方3通信时,如果希望路径要求在实际通信开始之前已被设置,则需要将ARP请求发送给ARP请求方3。ARP请求方3还可以稍后使用除ARP之外的某种其他协议(例如,有效载荷消息)来改变路径要求。
ARP请求方3接收ARP请求115,并发送包括它自己的MAC地址的ARP响应116,ARP响应116然后被转发给路由控制设备1。
路由控制设备1接收ARP响应116,并基于ARP响应方2对到特定ARP请求方3的出站流的要求,生成117新路径(即,路径2),从而得到新的MAC地址(即,MAC_path2)。
然后,路由控制设备1将具有MAC_path2作为ARP请求方3的MAC地址的ARP响应118发送给ARP响应方2。
路由控制设备1在第一边缘交换机5a和所涉及的核心交换机上安装119规则,以转发去往MAC_path2的所有流,以便经过满足ARP响应方2对朝向ARP请求方3的出站流的要求的路径。
路由控制设备1还在第二边缘交换机5b上安装120规则,以将具有目的地MAC_path2的所有流转换为ARP请求方3的MAC地址MAC_requester。
ARP响应方2现在能够将所有出站业务121发送给MAC_path2,出站业务121然后沿路径2被转发给第二边缘交换机5b。
第二边缘交换机5b将具有目的地MAC_path2的所有流的目的地地址改变为MAC_requester,并且转发122给ARP请求方3。
现在参见图2B,这类似于图2A所示的情况,但是其中ARP请求方请求某些网络特性。
ARP请求方3连接到SDN网络中的ARP响应方2的第一步是发送ARP请求201。在另一个上下文中,ARP请求方3可以是客户端、网关甚至是服务器。ARP请求方3将它对网络特性出站流的要求嵌入它自己的MAC地址中,并发送ARP请求201。
在OpenFlow协议中,对于每个新流,交换机可以将流的第一分组发送给路由控制设备1以对其进行判决。由于它是新的ARP请求(即,流),因此第二边缘交换机5b将OpenFlow输入分组消息(包括ARP请求)202发送给路由控制设备1。路由控制设备1对要求进行解码并分配由它自己的MAC地址MAC_path3标识的合适路径。
路由控制设备1接收新请求202,并且随后,它将请求203发送给所有边缘交换机5a,5b,以从所有交换机端口向外泛洪ARP请求。
ARP响应方2从第一边缘交换机5a接收ARP请求并发送ARP回复204。
路由控制设备1将ARP响应方2的MAC地址转换205为MAC_path3,并且将ARP回复206(经由第二边缘交换机5b)发送给具有MAC_path3的ARP请求方3。
第二边缘交换机5b将具有MAC_path3的ARP回复206转发给ARP请求方3。
路由控制设备1在所涉及的核心交换机6a-f和第二边缘交换机5b上安装207规则,以通过满足ARP请求方3的要求的路径转发具有目的地MAC_path3的所有流。
路由控制设备1在第一边缘交换机5a上安装208规则,以将具有MAC_path3的所有出站流的目的地MAC地址改变为MAC_responder。
ARP请求方3将所有流209发送给具有目的地MAC_path3的ARP响应方2,目的地MAC_path3然后被由第二边缘交换机5b和网络中涉及的核心交换机6a-f转发。
第一边缘交换机5a将所有出站流的MAC地址从MAC_path3改变为MAC_responder,并将它们转发210给ARP响应方2。
ARP响应方2和ARP请求方3具有单独的ARP解析过程。在任何出站通信之前,ARP响应方2还可以发送ARP请求211并获得ARP请求方3的MAC地址。ARP响应方2将ARP请求211发送给ARP请求方3,ARP请求211被通过路由控制设备1转发。
ARP请求方3接收ARP请求,并嵌入212其对入站流的网络特性要求,并且以新的定制MAC地址进行响应。ARP请求方3的新MAC地址不一定是新的物理MAC地址,而可以是虚拟MAC地址,以向路由控制设备1指示这些要求。
然后,第二边缘交换机5b将来自ARP请求方3的ARP回复213转发给路由控制设备1。
路由控制设备1接收ARP回复213,并且处理214被嵌入在MAC地址中的请求。路由控制设备1基于ARP请求方3对入站流的要求来生成新的MAC_path2。
路由控制设备1将以MAC_path2作为ARP请求方3的MAC地址的ARP回复215发送给ARP响应方2。
然后,路由控制设备1在第一边缘交换机5a和所涉及的核心交换机6a-f上安装216规则,以转发目的地为MAC_path2的所有流。
路由控制设备1还在第二边缘交换机5b上安装217规则,以将具有目的地MAC_path2的所有流转换为MAC_requester。
ARP响应方2现在能够使用MAC_path2将所有业务218发送给ARP请求方3,该业务然后被转发给第二边缘交换机5b。
第二边缘交换机5b还将具有目的地MAC_path2的所有流重写为MAC_requester,因此ARP请求方3然后能够接受流219。
ARP请求方3还可以将具有MAC_path3的流220发送给ARP响应方2,流220然后在网络中由第二边缘交换机5b和所涉及的核心交换机6a-f来转发。
当第一边缘交换机5a接收到具有等于MAC_path3的目的地MAC的流时,第一边缘交换机5a将头重写为MAC_responder,并将该流转发221给ARP响应方2。
图3A-B是示出用于配置网络路径的方法的流程图。这些方法在诸如图1的SDN之类的SDN的路由控制设备中执行。所示的方法对应于图2A-B所示并且如上所述的路由控制设备1的动作。首先,将描述图3A的流程图的步骤。
在“接收第一节点分组”步骤42中,路由控制设备接收源自软件定义网络的第一节点的第一节点分组。第一节点分组形成ARP请求方与ARP响应方之间的ARP交换的一部分。第一节点分组包括对网络特性的请求,其中该请求被编码在第一节点分组的第一地址(例如MAC地址)中。第一地址是第一节点分组的源地址。
网络特性可以包括带宽、延迟、网络切片和要经过的一个或多个服务节点中的任意一个或多个。
MAC地址可以是通用管理地址(UAA)或本地管理地址(LAA)。通用管理地址由其制造商唯一地分配给设备。前三个八位字节(按传输顺序)标识发布了标识符的组织,并被称为组织唯一标识符(OUI)。通过设置地址的第一个八位字节的第二个最低有效位来区分通用管理地址和本地管理地址。该位也称为U/L位,是通用/本地的缩写,其标识如何管理该地址。如果该位为0,则该地址被通用管理。为了将MAC-48(48位MAC)转换成64位MAC,OUI被复制,两个八位字节FF-FF被附加,然后组织指定的扩展标识符被复制。为了将EUI-48(另一种48位MAC格式)转换成EUI-64,将使用相同的过程,但被插入的序列为FF-FE。
基础设施所有者通常也是路由控制设备的管理者/所有者。物理主机可以具有UAAMAC,而虚拟机通常具有LAA MAC。
由于基础设施所有者知道它的网络中的MAC,因此所有者可以找到OUI的未由它的任何(物理)网络接口控制器(NIC)使用的6位前缀,并使用本文提出的实施例的解决方案来选择该前缀作为MAC的标识符。然后OUI将以该6位前缀开头,然后是U/L位(可以为0或1,如果不同实体将LAA分配给虚拟机,则使用'0'至少可以防止在所分配的地址空间中的意外MAC分配),然后是多播位。然后,可以将OUI的其余部分(16位)用于给出要求。
如果同一实体控制所有事物,则应选择标识此处提出的解决方案的使用的前缀以不干扰网络中使用的任何MAC(LAA和UAA),然后U/L位可以为0或1。在一个实施例中,将U/L被设置为“1”,因为“0”意味着前缀被分配给某个已标识的实体。
另一选项是使用64位MAC,其是通过在OUI与NIC标识符之间添加16位字段(FFFF或FFFE)而从48位MAC来构造的。然后,可以使用附加的16位部分来指示对本文提出的解决方案的使用,例如将FFFF替换为AAAA。在这种情况下,甚至可以使用更多的位来给出要求(除了U/L位和多播位以外的所有位,因此是22位)。可以通过使用用于生成64位MAC的“填充”的一部分或使用NIC ID位的一部分来扩展可用于指示要求的位数。
要求可用以下方式在可用的16-22位中来指示。1位指示符用于指示要使用的要求:网络地址转换(NAT)、防火墙(FW)、DPI、缓存、IPv6。多位指示符给出例如带宽或延迟要求,例如2位,给出0-3的尺度(scale)。
此处提出了一个编码示例:
48位MAC:<八位字节1><八位字节2><八位字节3><八位字节4><八位字节5><八位字节6>
八位字节1:[标识本发明的解决方案正在被使用的6位][U/L位,(例如)被设置为0][多播位]
八位字节2-3:是固定的以用于给出要求,例如真(1)/假(0)或尺度/数字值,例如[位1:NAT][位2:FW][位3:DPI][位4:IPv6][位5:缓存数据][位6:日志][位7:使用服务xyz]…[位10-12:服务质量(QoS)类][位13-14:延迟容许级别],等等。
八位字节4-6:NIC标识符
八位字节1-3可以例如看起来像:01100000 01010100 00001100,意味着:
用于本发明的解决方案的标识符:011000
U/L:0(全局)
多播:0(否)
NAT:0(假)
FW:1(真)
DPI:0(假)
IPv6:1(真)
缓存数据:0(假)
日志:1(真)
…。
QoS等级:000
延迟容许级别:11
…。
在“确定网络路径”步骤44中,路由控制设备基于对网络特性的请求,确定在第一节点和第二节点之间通过SDN的网络路径。网络路径由第二地址来标识。
在一个实施例中,第一节点是ARP响应方,而第二节点是(上述ARP交换的)ARP请求方。在这种情况下,第一节点分组(包括对网络特性的请求的分组)是ARP响应。该实施例对应于图2A所示和上面描述的序列。
在一个实施例中,第一节点是ARP请求方,而第二节点是(上述ARP交换的)ARP响应方。在这种情况下,第一节点分组(包括对网络特性的请求的分组)是ARP请求。该实施例对应于图2B所示和上面描述的序列。
在“改变源地址”步骤46中,路由控制设备将去往ARP请求方的分组的源地址改变为第二地址。
当第一节点是ARP响应方而第二节点是ARP请求方时,去往ARP请求方的分组是第一节点分组。
当第一节点是ARP请求方而第二节点是ARP响应方时,去往ARP请求方的分组是与该ARP请求相对应的ARP响应。
在“配置交换机”步骤48中,路由控制设备配置形成网络路径的一部分的所有交换机,以对于包括等于第二地址的目的地地址的分组,根据网络路径来路由分组。
在“配置边缘交换机”步骤49中,路由控制设备配置是最接近ARP响应方的交换机的边缘交换机,以对于目的地地址等于第二地址的所有分组,将目的地地址替换为ARP响应方的地址。
所提到的用于这些方法的所有地址可以是MAC地址。
现在参见图3B,将仅描述与图3A的步骤相比是新的或修改后的步骤。
在可选的“接收更新分组”步骤50中,路由控制设备接收源自SDN网络的第一节点的更新分组。该更新分组包括对更新后的网络特性的更新后的请求。同样在此,请求被编码在源地址中,在这种情况下,源地址是更新分组的源地址。
更新后的网络特性允许ARP响应方2在环境改变时调整所请求的网络特性。例如,某些流可能在其初始建立后受益于更高的带宽。在这种情况下,第一节点可以基于新的要求来生成新的MAC地址,其中在更新分组中具有路由控制设备可以理解的格式。
可选地,第一节点可以更新对入站流或出站流的要求,并且这可以被编码在MAC地址中,以指示针对哪个方向请求要求的更新。这意味着分配了MAC地址的一位来指示要求是针对连接的入站流还是出站流。可选地,可以分配第二位以指示两个流是否应该获得相同的要求。路由控制设备一起映射连接的两个流,因此路由控制设备知道哪个出站流与入站流是同一连接的一部分,以便允许基于要求而执行适当的动作。
更新分组可以例如形成对与第二节点的TCP数据会话的响应的一部分,其中源MAC地址被设置为第二节点的新的MAC地址,该新的MAC地址具有第一节点2的新要求。保留位被用于指示这些要求是针对TCP连接的入站流还是出站流。
路由控制设备基于IP地址、端口等将分组映射到现有流,并检查源MAC地址以检测第一节点请求的更新后的要求。
在可选的“确定更新后的网络路径”步骤52中,路由控制设备基于对更新后的网络特性的请求,确定在第一节点与第二节点之间通过SDN网络的更新后的网络路径。更新后的网络路径由第三地址来标识。
在此应当注意,尽管第一节点可以向路由控制设备1请求任何网络特性,但是路由控制设备1是决定向第一节点分配网络资源的主要实体。
在可选的“配置交换机”步骤54中,路由控制设备配置形成更新后的网络路径的一部分的所有交换机,以对于包括等于第三地址的目的地地址的分组,根据更新后的网络路径来路由分组。
在可选的“配置第一边缘交换机”步骤56中,路由控制设备配置是最接近第一节点的交换机的边缘交换机,以针对目的地地址等于第二地址的所有分组,将目的地地址替换为是第三地址的目的地地址。
在可选的“配置第二边缘交换机”步骤58中,路由控制设备配置是最接近第二节点的交换机的边缘交换机,以针对目的地地址等于第三地址的所有分组,将目的地地址替换为是第二节点的地址的目的地地址。
图4是示出用于配置网络路径的方法的流程图。该方法在诸如图1所示的SDN之类的SND的ARP响应方中执行。所示方法对应于图2A-B所示并如上所述的第一节点的动作。
在“接收第二节点分组”步骤30中,ARP响应方接收包括ARP请求(用于ARP响应方)的第二节点分组。第二节点分组源自第二节点。此外,第二节点分组形成ARP请求方与ARP响应方之间的ARP交换的一部分。因此,在该交换中,第二节点是ARP请求方,第二节点分组是ARP请求。
在“确定期望网络特性”步骤32中,ARP响应方确定网络路径的期望网络特性。网络特性可以包括带宽、延迟、网络切片和要经过的一个或多个服务节点中的任意一个或多个。
在“生成第一节点分组”步骤34中,ARP响应方生成包括对期望网络特性的请求的第一节点分组。该请求被编码在第一节点分组的是源地址的第一地址中。第一节点分组是响应于第二节点分组而生成的,并且第一节点分组是ARP响应。
在“发送第一节点分组”步骤36中,ARP响应方发送第一节点分组。
使用本文提出的实施例,实现了许多改进。具体来说,终端主机能够请求它们的期望网络特性,而无需直接接入SDN的网络API或控制设备。其次,当支持更新分组解码时,终端主机能够动态更新它们的期望网络特性。本文提出的实施例不需要现有标准的任何改变,以及在一些现有实现中仅需要最小的改变。具体来说,虚拟机的操作系统中的ARP解析代理可能需要调整。这些实施例能够在任何支持OpenFlow的SDN网络中实现。要注意的是,并非网络的所有交换机都需要支持OpenFlow,本文提出的实施例同样适用于非OpenFlow和OpenFlow交换机的混合架构,只要边缘交换机支持OpenFlow(或等效物)即可。支持该特性的终端主机能够在传统网络和支持该解决方案的网络两者中工作。这同样适用于路由控制设备,路由控制设备能够为传统终端主机和知道解决方案的终端主机两者提供服务。
图5是示出图1的路由控制设备1和ARP响应方2的组件的示意图。使用能够执行存储在存储器64(该存储器因此可以是计算机程序产品)中的软件指令67的合适中央处理单元(CPU)、多处理器、微控制器、数字信号处理器(DSP)等的一个或多个的任意组合来提供处理器60。替代地,可以使用专用集成电路(ASIC)、现场可编程门阵列(FPGA)等来实现处理器60。处理器60可被配置为执行以上参考图3A-B(用于路由控制设备)或图4(用于ARP响应方)描述的方法。
存储器64可以是随机存取存储器(RAM)和/或只读存储器(ROM)的任何组合。存储器64还包括永久性存储器,其例如可以是磁存储器、光学存储器、固态存储器或甚至远程安装的存储器中的任何一个或组合。
还提供了数据存储器66,用于在处理器60中执行软件指令期间读取和/或存储数据。数据存储器66可以是RAM和/或ROM的任何组合。
还存在用于与外部和/或内部实体进行通信的I/O接口62。
为了不模糊本文提出的概念,省略了其他组件。
图6是示出根据一个实施例的图1的路由控制设备1的功能模块的示意图。使用诸如在路由控制设备1中执行的计算机程序之类的软件指令来实现这些模块。替代地或附加地,使用诸如专用集成电路(ASIC)、FPGA(现场可编程门阵列)或离散逻辑电路中的任何一个或多个之类的硬件来实现这些模块。这些模块对应于图3A和3B所示的方法中的步骤。
第一节点分组接收器70对应于步骤42。网络路径确定器71对应于步骤44。源地址改变器72对应于步骤46。交换机配置器73对应于步骤48和54。边缘交换机配置器74对应于步骤49、56和58。更新分组接收器75对应于步骤50。更新后的网络路径确定器76对应于步骤52。
图7是示出根据一个实施例的图1的ARP响应方2的功能模块的示意图。使用诸如在ARP响应方2中执行的计算机程序之类的软件指令来实现这些模块。替代地或附加地,使用诸如ASIC(专用集成电路)、FPGA(现场可编程门阵列)或离散逻辑电路中的任何一个或多个的硬件来实现这些模块。这些模块对应于图4中所示方法中的步骤。
第二节点分组接收器80对应于步骤30。期望网络特性确定器82对应于步骤32。第一节点分组生成器84对应于步骤34。第一节点分组发送器86对应于步骤36。
图8示出了包括计算机可读装置的计算机程序产品90的一个示例。在该计算机可读装置上,可以存储计算机程序91,该计算机程序可以使处理器执行根据本文描述的实施例的方法。在此示例中,计算机程序产品是光盘,例如压缩光盘(CD)或数字多功能光盘(DVD)或蓝光光盘。如上所述,计算机程序产品还可以体现在诸如图5的计算机程序产品64之类的设备的存储器中。尽管计算机程序91在此被示意性地示为在所描绘的光盘上的轨道,但是计算机程序可以以适合计算机程序产品(例如可移动固态存储器,例如通用串行总线(USB)驱动器)的任何方式被存储。
上面主要参考一些实施例描述了本发明。然而,如本领域技术人员容易理解的,在所附权利要求书所限定的本发明的范围内,除以上公开的实施例以外的其他实施例同样是可能的。

Claims (16)

1.一种用于配置网络路径(20)的方法,所述方法在软件定义网络(8)的路由控制设备(1)中被执行并且包括以下步骤:
接收(42)源自所述软件定义网络的第一节点(2)的第一节点分组(10),所述第一节点分组(10)形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组(10)包括对网络特性的请求,所述请求被编码在所述第一节点分组(10)的作为源地址的第一地址中,以及所述网络特性包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点;
基于所述对网络特性的请求,确定(44)在所述第一节点(2)与第二节点(3)之间通过所述软件定义网络(8)的网络路径(20),所述网络路径(20)由第二地址来标识;
将去往所述ARP请求方的分组的源地址改变(46)为所述第二地址;
配置(48)形成所述网络路径(20)的一部分的所有交换机(6a,6b,6c)以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径(20)来路由分组;以及
配置(49)是最接近所述ARP响应方的交换机的边缘交换机(5a)以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址。
2.根据权利要求1所述的方法,其中,所有地址是媒体访问控制MAC地址。
3.根据权利要求1或2所述的方法,其中,所述第一节点是所述ARP响应方,所述第二节点是所述ARP请求方,所述第一节点分组是ARP响应,并且在改变(46)所述源地址的步骤中,去往所述ARP请求方的所述分组是所述第一节点分组(10)。
4.根据权利要求1或2所述的方法,其中,所述第一节点是所述ARP请求方,所述第二节点是所述ARP响应方,所述第一节点分组是ARP请求,并且在改变(46)所述源地址的步骤中,去往所述ARP请求方的所述分组是与所述ARP请求相对应的ARP响应。
5.根据权利要求1或2所述的方法,还包括以下步骤:
接收(50)源自所述软件定义网络的所述第一节点(2)的更新分组,所述更新分组包括对更新后的网络特性的更新后的请求,所述请求被编码在所述更新分组的源地址中;
基于所述对更新后的网络特性的请求,确定(52)在所述第一节点(2)与所述第二节点(3)之间通过所述软件定义网络(8)的更新后的网络路径(20'),所述更新后的网络路径(20)由第三地址来标识;
配置(54)形成所述更新后的网络路径(20′)的一部分的所有交换机,以对于包括等于所述第三地址的目的地地址的分组,根据所述更新后的网络路径(20′)来路由分组;
配置(56)是最接近所述第一节点(2)的交换机的边缘交换机,以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为是所述第三地址的目的地地址;以及
配置(58)是最接近所述第二节点的交换机的边缘交换机,以对于目的地地址等于所述第三地址的所有分组,将所述目的地地址替换为是所述第二节点的所述地址的目的地地址。
6.一种路由控制设备(1),包括:
用于接收源自所述路由控制设备(1)是其一部分的软件定义网络的第一节点(2)的第一节点分组(10)的装置,所述第一节点分组(10)形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组(10)包括对网络特性的请求,所述请求被编码在所述第一节点分组(10)的作为源地址的第一地址中,以及所述网络特性包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点;
用于基于所述对网络特性的请求,确定在所述第一节点(2)与第二节点(3)之间通过所述软件定义网络(8)的网络路径(20)的装置,所述网络路径(20)由第二地址来标识;
用于将去往所述ARP请求方的分组的源地址改变为所述第二地址的装置;
用于配置形成所述网络路径(20)的一部分的所有交换机(6a,6b,6c)以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径(20)来路由分组的装置;以及
用于配置是最接近所述ARP响应方的交换机的边缘交换机(5a)以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址的装置。
7.根据权利要求6所述的路由控制设备(1),其中,所有地址是媒体访问控制MAC地址。
8.根据权利要求6或7所述的路由控制设备(1),其中,所述第一节点是所述ARP响应方,所述第二节点是所述ARP请求方,所述第一节点分组是ARP响应,去往所述ARP请求方的所述分组是所述第一节点分组(10)。
9.根据权利要求6或7所述的路由控制设备(1),其中,所述第一节点是所述ARP请求方,所述第二节点是所述ARP响应方,所述第一节点分组是ARP请求,去往所述ARP请求方的所述分组是与所述ARP请求相对应的ARP响应。
10.根据权利要求6或7所述的路由控制设备(1),还包括在由处理器执行时使得所述路由控制设备(1)执行以下操作的指令(67):
接收源自所述软件定义网络的所述第一节点(2)的更新分组,所述更新分组包括对更新后的网络特性的更新后的请求,所述请求被编码在所述更新分组的源地址中;
基于所述对更新后的网络特性的请求,确定在所述第一节点(2)与所述第二节点(3)之间通过所述软件定义网络(8)的更新后的网络路径(20'),所述更新后的网络路径(20)由第三地址来标识;
配置形成所述更新后的网络路径(20′)的一部分的所有交换机,以对于包括等于所述第三地址的目的地地址的分组,根据所述更新后的网络路径(20′)来路由分组;
配置是最接近所述第一节点(2)的交换机的边缘交换机,以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为是所述第三地址的目的地地址;以及
配置是最接近所述第二节点的交换机的边缘交换机,以对于目的地地址等于所述第三地址的所有分组,将所述目的地地址替换为是所述第二节点的所述地址的目的地地址。
11.一种计算机可读装置,其存储用于配置网络路径(20)的计算机程序(67,91),其中,所述计算机程序包括计算机程序代码,所述计算机程序代码当在软件定义网络(8)的路由控制设备(1)上运行时使得所述路由控制设备(1):
接收源自所述软件定义网络的第一节点(2)的第一节点分组(10),所述第一节点分组(10)形成地址解析协议ARP请求方与ARP响应方之间的ARP交换的一部分,所述第一节点分组(10)包括对网络特性的请求,所述请求被编码在所述第一节点分组(10)的作为源地址的第一地址中,以及所述网络特性包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点;
基于所述对网络特性的请求,确定在所述第一节点(2)与第二节点(3)之间通过所述软件定义网络(8)的网络路径(20),所述网络路径(20)由第二地址来标识;
将去往所述ARP请求方的分组的源地址改变为所述第二地址;
配置形成所述网络路径(20)的一部分的所有交换机(6a,6b,6c)以对于包括等于所述第二地址的目的地地址的分组,根据所述网络路径(20)来路由分组;以及
配置是最接近所述ARP响应方的交换机的边缘交换机(5a)以对于目的地地址等于所述第二地址的所有分组,将所述目的地地址替换为所述ARP响应方的地址。
12.一种用于配置网络路径(20)的方法,所述方法在软件定义网络(8)的地址解析协议ARP响应方(2)中被执行并且包括以下步骤:
接收(30)包括对所述ARP响应方的ARP请求的第二节点分组,所述第二节点分组源自第二节点(2),并且所述第二节点分组形成ARP请求方与所述ARP响应方之间的ARP交换的一部分;
确定(32)网络路径的期望网络特性,其中,所述网络特性包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点;
生成(34)包括对所述期望网络特性的请求的第一节点分组(10),其中,所述请求被编码在所述第一节点分组(10)的作为源地址的第一地址中;以及
发送(36)所述第一节点分组(10)。
13.根据权利要求12所述的方法,其中,所述第二节点是所述ARP请求方。
14.一种地址解析协议ARP响应方(2),包括:
用于接收包括对第一节点的ARP请求的第二节点分组的装置,所述第二节点分组源自第二节点(2),并且所述第二节点分组形成在软件定义网络(8)中使用的在ARP请求方与所述ARP响应方之间的ARP交换的一部分;
用于确定网络路径的期望网络特性的装置;其中,所述网络特性包括带宽、延迟、网络切片和要经过的一个或多个服务节点中的任意一个或多个;
用于生成包括对所述期望网络特性的请求的第一节点分组(10)的装置,其中,所述请求被编码在所述第一节点分组(10)的作为源地址的第一地址中;以及
用于发送所述第一节点分组(10)的装置。
15.根据权利要求14所述的ARP响应方(2),其中,所述第二节点是ARP请求方。
16.一种计算机可读装置,其存储用于配置网络路径(20)的计算机程序(67,91),其中,所述计算机程序(67,91)包括计算机程序代码,所述计算机程序代码当在形成软件定义网络(8)的一部分的地址解析协议ARP响应方(2)上运行时使得所述ARP响应方(2):
接收包括对所述ARP响应方的ARP请求的第二节点分组,所述第二节点分组源自第二节点(2),并且所述第二节点分组形成ARP请求方与所述ARP响应方之间的ARP交换的一部分;
确定网络路径的期望网络特性;
生成包括对所述期望网络特性的请求的第一节点分组(10),其中,所述请求被编码在所述第一节点分组(10)的作为源地址的第一地址中,以及所述网络特性包括以下项中的任意一个或多个:带宽,延迟,网络切片,以及要经过的一个或多个服务节点;以及
发送所述第一节点分组(10)。
CN201880094234.3A 2018-06-07 2018-06-07 在sdn中配置网络路径 Active CN112236981B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2018/050591 WO2019235982A1 (en) 2018-06-07 2018-06-07 Configuring a network path in an sdn

Publications (2)

Publication Number Publication Date
CN112236981A CN112236981A (zh) 2021-01-15
CN112236981B true CN112236981B (zh) 2022-08-23

Family

ID=62705636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880094234.3A Active CN112236981B (zh) 2018-06-07 2018-06-07 在sdn中配置网络路径

Country Status (4)

Country Link
US (1) US11502944B2 (zh)
EP (1) EP3804241B1 (zh)
CN (1) CN112236981B (zh)
WO (1) WO2019235982A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414956A (zh) * 2007-10-15 2009-04-22 华为技术有限公司 一种带宽请求方法、系统及其装置
EP2787698A2 (en) * 2013-04-03 2014-10-08 Deutsche Telekom AG A method and device for incremental deployment of software-defined networking into an enterprise network
CN104115453A (zh) * 2013-12-31 2014-10-22 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN104518993A (zh) * 2014-12-29 2015-04-15 华为技术有限公司 云化网络通信路径的分配方法、装置及系统
CN104702502A (zh) * 2013-12-09 2015-06-10 中兴通讯股份有限公司 网络路径计算方法及装置
CN105144652A (zh) * 2013-01-24 2015-12-09 惠普发展公司,有限责任合伙企业 软件定义的网络中的地址解析
CN105393492A (zh) * 2013-08-01 2016-03-09 惠普发展公司,有限责任合伙企业 地址解析重写
CN105594166A (zh) * 2013-09-25 2016-05-18 国际商业机器公司 软件定义网络中的具有一致更新的可扩展网络配置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070036161A1 (en) * 2005-07-13 2007-02-15 Mahamuni Atul B System and method of routing Ethernet MAC frames using Layer-2 MAC addresses
US20070201490A1 (en) 2005-07-13 2007-08-30 Mahamuni Atul B System and method for implementing ethernet MAC address translation
US9401860B2 (en) * 2013-08-09 2016-07-26 Citrix Systems, Inc. High performance quality-of-service packet scheduling for multiple packet processing engines
TWI587661B (zh) 2015-11-26 2017-06-11 財團法人工業技術研究院 混合式軟體定義網路的虛擬區域網路復原方法、系統及其裝置
CN106211255B (zh) 2016-07-26 2019-11-15 北京交通大学 一种无线自组网网络层和mac层的联合优化方法
CN107547242B (zh) 2017-05-24 2019-11-12 新华三技术有限公司 Vm配置信息的获取方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414956A (zh) * 2007-10-15 2009-04-22 华为技术有限公司 一种带宽请求方法、系统及其装置
CN105144652A (zh) * 2013-01-24 2015-12-09 惠普发展公司,有限责任合伙企业 软件定义的网络中的地址解析
EP2787698A2 (en) * 2013-04-03 2014-10-08 Deutsche Telekom AG A method and device for incremental deployment of software-defined networking into an enterprise network
CN105393492A (zh) * 2013-08-01 2016-03-09 惠普发展公司,有限责任合伙企业 地址解析重写
CN105594166A (zh) * 2013-09-25 2016-05-18 国际商业机器公司 软件定义网络中的具有一致更新的可扩展网络配置
CN104702502A (zh) * 2013-12-09 2015-06-10 中兴通讯股份有限公司 网络路径计算方法及装置
CN104115453A (zh) * 2013-12-31 2014-10-22 华为技术有限公司 一种实现虚拟机通信的方法和装置
CN104518993A (zh) * 2014-12-29 2015-04-15 华为技术有限公司 云化网络通信路径的分配方法、装置及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Distributed responder ARP: Using SDN to re-engineer ARP from within the network";Mark Matties,等;《2017 International Conference on Computing, Networking and Communications (ICNC)》;20170313;第1-6页 *
"Improving SDN with InSPired Switches";Roberto Bifulco,等;《SOSR "16: Proceedings of the Symposium on SDN Research》;20160314;第1-12页 *
"混合SDN环境中路由关键技术研究";王畅;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315;I139-118 *

Also Published As

Publication number Publication date
EP3804241A1 (en) 2021-04-14
WO2019235982A1 (en) 2019-12-12
CN112236981A (zh) 2021-01-15
US20210184964A1 (en) 2021-06-17
US11502944B2 (en) 2022-11-15
EP3804241B1 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
US10462054B2 (en) Overloading address space for improved routing, diagnostics, and content-relay network
US20100124220A1 (en) Method And Systems For Incrementally Resolving A Host Name To A Network Address
US20040111529A1 (en) Dynamic host based load balancing of a multihomed network
JP5588345B2 (ja) 機能アドレスを生成するためのシステムおよび方法
KR100484145B1 (ko) 중복 주소 노드에 가상 주소를 자동으로 할당하는 장치 및방법
CN111385374B (zh) 用于网络分配的方法、网络设备和计算机可读存储介质
Armitage et al. IPv6 over Non-Broadcast Multiple Access (NBMA) networks
CN112654049B (zh) 用于配置无线通信覆盖扩展系统的方法、系统、节点和介质
WO2013064049A1 (zh) 一种移动节点动态获取位置标识的方法及lisp网络
WO2016131402A1 (en) Media access control address resolution using internet protocol addresses
EP2452263A1 (en) Methods, apparatuses, related computer program product and data structure for distributed storage of service provision-related information
US8656051B2 (en) Method and device for network address configuration
US9438475B1 (en) Supporting relay functionality with a distributed layer 3 gateway
US20160218958A1 (en) Method and system for forwarding packet in id/locator separation environment
JP2023510707A (ja) 返信パケットを送信するための方法、経路広告メッセージを送信するための方法、ネットワークデバイス、および、コンピュータプログラム
RU2310994C2 (ru) Фильтр для разделения трафика
CN112929284A (zh) 一种IPv6 VXLAN场景下的ND报文识别方法与系统
CN112236981B (zh) 在sdn中配置网络路径
WO2010066144A1 (zh) 发送数据、转发数据的方法、设备和多地址空间移动网络
CN112688887B (zh) 一种隧道的配置方法和节点设备
WO2023109398A1 (zh) 一种报文传输方法及装置
KR20050054003A (ko) 동일한 아이피 서브넷에 속하는 가상 근거리 통신망 간의데이터 스위칭 시스템 및 방법
Hughes IPv6 Core Protocols
Huawei Technologies Co., Ltd. IPv6
Armitage et al. RFC2491: IPv6 over Non-Broadcast Multiple Access (NBMA) 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