CN104052684A - 动态适配计算机网络中的最大传输单元大小的方法和*** - Google Patents

动态适配计算机网络中的最大传输单元大小的方法和*** Download PDF

Info

Publication number
CN104052684A
CN104052684A CN201410095571.8A CN201410095571A CN104052684A CN 104052684 A CN104052684 A CN 104052684A CN 201410095571 A CN201410095571 A CN 201410095571A CN 104052684 A CN104052684 A CN 104052684A
Authority
CN
China
Prior art keywords
link
size
mtu
destination
grouping
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
Application number
CN201410095571.8A
Other languages
English (en)
Other versions
CN104052684B (zh
Inventor
C.德库萨迪斯
R.B.克里施纳莫西
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104052684A publication Critical patent/CN104052684A/zh
Application granted granted Critical
Publication of CN104052684B publication Critical patent/CN104052684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一方面包括动态地适配计算机网络中的最大传输单元(MTU)大小。在计算机网络的交换机的第一链路处接收分组。基于与该交换机的第一链路相关联的应用编程接口(API)交叉值来确定接收的分组的MTU大小。确定作为接收的分组的目标目的地的该交换机的第二链路的相关联的目的地MTU大小。基于接收的分组的MTU大小和第二链路的相关联的目的地MTU大小之间的差来调整第二链路的相关联的目的地MTU大小。

Description

动态适配计算机网络中的最大传输单元大小的方法和***
技术领域
本发明涉及计算机网络,更具体地涉及动态地适配计算机网络中的最大传输单元的大小。
背景技术
在包括多个网络交换机的局域网(LAN)中通常采用以太网络。已经开发多个通信协议并且它们持续发展以改进对于各种环境的以太网络性能。例如,称为数据中心桥接(DCB)、融合增强以太网(CEE)或者数据中心以太网(DCE)的对以太网的改进支持LAN与存储区域网络(SAN)的融合。可以与以太网结合用在数据中心环境中的其他协议包括例如经以太网的光纤通道(FCoE)、因特网广域远程直接存储器访问协议(iWARP)、经融合以太网的远程直接存储器访问(RoCE)。为了不同的目的,各种应用可以采用不同的协议。
在网络中使用的各种以太网协议通常使用共同的以太网帧大小包封数据。最大传输单元(MTU)大小被定义为网络可以传输的最大数据单元。更大的MTU带来更高效率,因为在诸如头部或基本的每分组延迟的协议开销固定时,每个分组携带更多用户数据。这得到更高的效率,使得批量协议吞吐量的提高。更大的MTU还使得对于相同的数据量处理更少分组。在诸如混合架构的一些***中,每分组处理可以是关键性能限制,但是,使用最大可能的MTU也可能是有问题的。例如,大的分组可能占据慢的链路达更长时间段,导致在增加滞后和最小等待时间的同时,导致对接下来的分组的更大延迟。作为例子,在网络层处因特网允许的最大的1500字节分组占用通常的14kbps调制解调器链路达大约一秒。在存在通信错误时,大的分组也是有问题的。分组中的单个位的讹误要求重新传输整个分组。在给定的位错误率时,更大的分组更可能出现讹误。更大的分组的重新传输花费更久,这可能降低整体***吞吐量。
发明内容
根据本发明的一个方面,提供了动态地适配计算机网络中的最大传输单元(MTU)大小的方法。在计算机网络的交换机的第一链路处接收分组。基于与该交换机的第一链路相关联的应用编程接口(API)交叉值来确定接收的分组的MTU大小。确定作为接收的分组的目标目的地的该交换机的第二链路的相关联的目的地MTU大小。基于接收的分组的MTU大小和第二链路的相关联的目的地MTU大小之间的差来调整第二链路的相关联的目的地MTU大小。
根据本发明的另一方面,提供了动态地适配计算机网络中的最大传输单元大小的***。该***包括服务器以及通过计算机网络中的第一链路耦接到该服务器的交换机。该交换机还耦接到该计算机网络中的第二链路。该***还包括MTU大小适配器,其在计算机网络中的交换机的第一链路处接收分组。基于与该交换机的第一链路相关联的应用编程接口(API)交叉值来确定接收的分组的MTU大小。确定作为接收的分组的目标目的地的该交换机的第二链路的相关联的目的地MTU大小。基于接收的分组的MTU大小和第二链路的相关联的目的地MTU大小之间的差来调整第二链路的相关联的目的地MTU大小。
根据本发明的另一方面,提供了动态地适配计算机网络中的最大传输单元大小的计算机程序产品。该计算机程序产品包括可由处理电路读取并且存储由该处理电路执行用于进行一种方法的指令的切实存储介质。该方法包括在计算机网络的交换机的第一链路处接收分组。基于与该交换机的第一链路相关联的应用编程接口(API)交叉值来确定接收的分组的MTU大小。确定作为接收的分组的目标目的地的该交换机的第二链路的相关联的目的地MTU大小。基于接收的分组的MTU大小和第二链路的相关联的目的地MTU大小之间的差来调整第二链路的相关联的目的地MTU大小。
通过本发明的技术实现另外的特征和优点。在此详细描述本发明的其他实施例和方面,并且这些被认为是主张的本发明的一部分。为了更好地理解具有优点和特征的本发明,参考描述和附图。
附图说明
在说明书的结尾处的权利要求书中特别指出并明确主张被认为是本发明的主题。本发明的以上和其他特征以及优点从结合附图考虑的以下详细描述显而易见,附图中:
图1绘出可以根据一个实施例实现的包括具有有OpenFlow能力的交换机的网络的***的框图;
图2绘出根据一个实施例的有OpenFlow能力的交换机的框图;
图3绘出可以在实施例中使用的OpenFlow流程切换定义的例子;
图4绘出可以根据一个实施例实现的包括交换机的网络的***的框图;
图5绘出根据实施例的MTU大小适配器的框图;以及
图6绘出动态地适配MTU大小的处理的流程图。
具体实施方式
示例实施例涉及对于具有不同消息大小的不同类型的网络协议适应性地匹配不同的最大传输单元(MTU)大小。可以以分组为基础在一个或多个网络交换机处监视并调整MTU大小。每个链路可以使用时分复用以经过一段时间变化该相同链路的MTU大小。分组大小和网络链路性能可以用于估计和调整多个网络交换机的每个链路的MTU大小。
在一个示例实施例中,网络中的交换机在中央软件定义的网络(SDN)控制器的控制下。SDN是网络虚拟化的形式,其中控制平面与网络中的数据平面分离,并且被实现在软件应用中。此架构允许网络管理员具有对网络流量的可编程中央控制而无需对网络的硬件设备的物理访问。OpenFlow是给出经过网络对网络交换机或路由器的转发(forwarding)平面的访问的SDN的启用器(enabler)。中央SDN控制器可以接收来自网络中的所有交换机的消息并且向每个交换机提供关于虚拟队列的创建以及分组流量的路由的指令。中央SDN控制器监管(overlook)整个网络并且可以在特定时间瞬间激活对交换机的选择。
现在转向图1,现在将更详细地描述包括支持OpenFlow的网络101的***100的例子。在图1所示的例子中,***100是数据中心环境,包括多个服务器102以及配置为使用有OpenFlow能力的交换机106通过网络101通信的客户端***104。在示例实施例中,服务器102、在此也称为主机或者主机***是高速处理设备(例如主机计算机、桌面计算机、膝上型计算机、手持设备、嵌入式计算设备等),包括至少一个能够读取并执行指令并且处理与***100的各个组件的交互的处理电路(例如计算机处理器/CPU)。服务器102可以是配置为访问并将大量数据存储到一个或多个数据存储***108的存储***服务器。
客户端***104可以包括具有处理电路和诸如键/按钮、触摸屏、音频输入、显示设备和音频输出的输入/输出(I/O)接口的各种桌面型、膝上型、通用计算机设备、移动计算设备和/或联网的设备。客户端***104可以直接或者经过一个或多个无线接入点110链路到交换机106中的一个或多个。
数据存储***108涉及任意类型的计算机可读存储介质,并且可以包括一个或多个次级存储元件,例如硬盘驱动器(HDD)、固态存储器、带、或者在服务器102内部或者外部的存储***。可以存储在数据存储***108中的数据的类型包括例如各种文件和数据库。可以存在由每个服务器102利用的多个数据存储***108,其可以分布在***100的各个位置处。
***100还包括网络控制器112,其是中央软件定义的控制器,配置为做出网络101内的路由决定。网络控制器112建立安全链路103以配置交换机106并建立在交换机106之间的链路105的通信属性。例如,网络控制器112可以配置交换机106以控制对于服务器102和客户端***104以及一个或多个防火墙114以及一个或多个负载平衡器116之间的数据流的分组路由路径。该一个或多个防火墙114限制网络101和一个或多个外部网络118之间的网络流量的访问和流动。该一个或多个负载平衡器116可以在多个计算机之间、比如在服务器102之间分发工作量。
服务器102、客户端***104和网络控制器112可以包括本领域中已知的各种计算机/通信硬件和软件技术,比如一个或多个处理单元或电路、包括可移除介质的易失性和非易失性存储器、电源、网络接口、支持电路、操作***等。尽管网络控制器112被绘出为单独的组件,但是将理解,可替换地,网络配置功能可以以单独的或者分布式格式实现在服务器102或客户端***104的一个或多个中。
网络101可以包括无线、有线和/或光纤链路的组合。为了说明的目的。图1所示的网络101表示简化的例子。例如,在网络101中示出的每个链路105可以包括多于一个物理链路。网络101的实施例可以包括许多交换机106(例如数百个),每个交换机106具有数十个端口和链路。网络101可以支持允许在服务器102、客户端***104、交换机106、网络控制器112、防火墙114和负载平衡器116之间传输数据的各种已知的通信标准。通信协议通常实现在一个或多个层中,比如物理层(层-1)、链路层(层-2)、网络层(层-3)、传输层(层-4)和应用层(层-5)。在示例实施例中,网络101支持OpenFlow作为层-2协议。交换机106可以是专用OpenFlow交换机或者是也支持层-2和层-3以太网的OpenFlow使能的通用交换机。
图2绘出支持OpenFlow的图1的交换机106的框图。交换机106包括交换机逻辑202、安全信道204、协议支持205、流程表206、缓冲器208a-208n以及端口210a-210n。交换机106还可以包括如参考图5进一步描述的MTU大小适配器500。可替换地,MTU大小适配器500可以整个或者部分地被包括在图1的网络控制器112内。交换机逻辑202和/或MTU大小适配器500可以被实现在一个或多个处理电路中,其中计算机可读存储介质配置为保存对于交换机逻辑202和/或MTU大小适配器500的指令以及支持交换机106的操作的各种变量和常数。交换机逻辑202在端口210a-210n之间转发分组,作为由图1的网络控制器112定义的流程。
安全信道204将交换机106连接到图1的网络控制器112。安全信道204允许在网络控制器112和交换机106之间经由OpenFlow协议传送命令和分组。安全信道204可以被实现在软件中作为存储在交换机106内的可执行指令。建立用于实现OpenFlow的协议定义以及其他协议的协议细节可以被存储在协议支持205中。协议支持205可以是定义一个或多个支持的协议格式的软件。协议支持205可以被体现在例如闪存的计算机可读存储介质中,其配置为保存用于由交换机逻辑202执行的指令。将协议支持205实现为软件使能够实现对于协议的新版本或变型的字段的更新,并且可以提供OpenFlow作为对现有传统路由器或交换机的改进。
流程表206定义与特定地址、虚拟局域网或者交换机端口相关联的支持的连接类型。流程可以被定义为匹配于特定头部格式的所有分组。流程表206中的每个项目211可以包括一个或多个规则212、动作214和与特定流程相关联的统计216。规则212定义每个流程并且可以由分组头部确定。动作214定义如何处理分组。统计216跟踪诸如每个流程的大小(例如字节数)、每个流程的分组数量以及自从流程的上一个匹配分组起的时间或者连接时间的信息。动作的例子包括用于将流程的分组转发到一个或多个具体端口210a-210n(例如单播或多播)、包封并转发流程的分组到图1的网络控制器112、以及丢弃流程的分组的指令。流程表206中的项目211可以由图1的网络控制器112经由安全信道204添加和去除。图1的网络控制器112可以预填充流程表206中的项目211。另外,交换机106可以在接收到流程而在流程表206中没有相应的项目211时从网络控制器112请求创建项目211。
缓冲器209a-208n提供在端口210a-210n之间发送队列时对流程在队列中的暂时存储。在无损配置中,当出现网络拥塞时,不是丢弃分组,缓冲器208a-208n暂时存储分组直到图1的相关联的端口210a-210n以及链路105可用。缓冲器208a-208n的每个可以与特定端口、流程或子网络相关联。缓冲器208a-208n的每个逻辑上分离但是不需要物理地独立。因而,当缓冲器208a-208n中的一个已满时,其不会不利地影响交换机106内的其他缓冲器208a-208n的性能。
图3绘出可以用在实施例中的OpenFlow流程切换定义300的例子。OpenFlow流程切换定义300是包括高达十一个元组(tuple)或字段的示例的流程头部;但是,不是所有的元组都需要依赖于特定流程来定义。在图3的例子中,OpenFlow流程切换定义300包括用于标识进入端口302、以太网目的地地址304、以太网源地址306、以太网类型308、虚拟局域网(VLAN)优先级310、VLAN标识符312、因特网协议(IP)源地址314、IP目的地地址316、IP协议318、传输控制协议(TCP)/用户数据报协议(UDP)源端口320和TCP/UDP目的地端口322的元组。以太网目的地地址304可以表示在遗留切换和路由中使用的层-2以太网硬件地址或者媒体访问控制(MAC)地址。IP目的地地址316可以表示在遗留(legacy)切换和路由中使用的层-3IP地址。可以对于OpenFlow流程切换定义300中的元组的任意组合定义流程切换,元组的特定组合用作密钥(key)。例如,可以通过对于集合的MAC-子网络、IP-子网络、端口、VLAN标识符等的准确匹配或通配符匹配在图2的规则212中定义流程。
图4绘出根据一个实施例可以实现的包括交换机406的网络401的***400的框图。类似于图1的***100,***400包括配置为经过交换机406的网络401中的链路405而通信的多个服务器102和客户端***104。在网络401中示出的每个链路405可以包括多于一个物理链路。与图1的***100相反,交换机406没有OpenFlow能力。客户端***104可以直接或者经过一个或多个无线接入点110无线地链路到交换机406中的一个或多个。而且类似于图1的***100,***400包括多个数据存储***108、一个或多个负载平衡器116以及一个或多个防火墙114以控制对一个或多个外部网络118的访问。
不是包括诸如图1的网络控制器112的单独的网络控制器,控制和路由方面由服务器102、客户端104以及交换机406中的一个或多个来处理。因而,当控制逻辑被定位在交换机406内时,交换机406不需要包括图2的安全信道204。在示例实施例中,图1的交换机106以及图4的交换机406包括如参考图5进一步描述的MTU大小适配器500。
图5绘出根据实施例的MTU大小适配器500的框图。MTU大小适配器500包括调整逻辑502,其分析来自一个或多个接收队列506的接收的分组504。在诸如图1的链路105或者图4的链路405的一个或多个链路505a上经由端口508接收分组504。调整逻辑502可以基于定义分组大小的应用编程接口(API)交叉值510来确定每个接收的分组504的MTU大小。调整逻辑502访问MTU数据存储器510以取回诸如项目513的信息,该项目513包括具有相关联的目的地MTU大小516的链路标识符514。接收的分组504中的头部数据可以用于标识传输端口518和相关联的连接505b中的哪个应该用于发送接收的分组504作为传输分组520。链路标识符514与传输端口505以及诸如图1的链路105和图4的链路405中的一个的链路505b相关联。调整逻辑502可以在将接收的分组504放置在传输队列522中作为传输分组520之前对接收的分组504进行调整。例如,如果确定的接收的分组504的MTU大小超过相关联的目的地MTU大小516,则调整逻辑502可以将接收的分组504分割为多个传输分组520,使得传输分组520小于相关联的目的地MTU大小516。
MTU数据存储器512可以包括可以通过消息类型524进一步区分的对于相同的链路505b的多个项目513。例如,对于给定链路505b的命令类型消息可以具有比数据类型消息更小的相关联的目的地MTU大小。MTU数据存储器512中的项目513还可以包括定时数据525。定时数据525可以用于在两个或多个不同的MTU大小之间对给定链路505b排序,使得经过一过段时间在链路505b上使用更大和更小MTU大小的组合。定时数据525可以指示对于相关联的链路505b的定时切换间隔和/或时分复用MTU大小值的序列。因而,调整逻辑502可以访问定时器526作为用于切换每个链路505b的MTU大小的时基(time base)。
调整逻辑502还可以使用性能监视器528来监视链路505b的拥塞、利用、重新传输率和倾向。识别的链路505b的倾向变得更慢、超利用或者更多错误的趋势可能导致调整逻辑502减小相关联的目的地MTU大小516。同样,随着监视的链路505b变得更不拥塞、利用得更少或者更可靠,调整逻辑502可以朝向链路505b的最大支持的大小增加相关联的目的地MTU大小516。
链路505a和505b的每个可以包括多个物理连接。因而,如果多个物理链路耦接到相同的目标目的地,则可以基于从相关联的目的地MTU大小516确定最佳匹配MTU值将接收的分组504路由到MTU大小适配器500的相关联的网络中的目标目的地。例如,如果在包含MTU大小适配器500的交换机之间的链路505b包括到相同的目标目的地的一对物理链路,其中第一物理链路具有1500字节的相关联的目的地MTU大小516并且第二物理链路具有9k字节的相关联的目的地MTU大小516,则调整逻辑502可以使用此信息基于其确定的MTU大小来匹配对于接收的分组504的路由决定。
现在转向图6,将在一个示例实施例中描述用于动态地适配计算机网络中的MTU大小的处理600的流程图。参考图1-5描述处理600,并且该处理600可以由图1的***100和/或图4的***400实现。为了说明的目的,主要考虑图1的***100以及图5的MTU大小适配器500来提供以下例子。
在块602,在计算机网络101的交换机106的第一链路505a处接收分组504。在块604,基于交换机106的第一链路505a相关联的API交叉值510确定接收的分组504的MTU大小。在块606,确定交换机106的第二链路505b的相关联的目的地MTU大小516,其中第二链路505b是接收的分组504的目标目的地。
在块608,基于接收的分组504的MTU大小和第二链路505b的相关联的目的地MTU大小516之间的差别调整第二链路505b的相关联的目的地MTU大小516。调整可以包括基于确定接收的分组504的MTU大小小于第二链路505b的相关联的目的地MTU大小516而减小第二链路505b的相关联的目的地MTU大小516。如果第二链路505b可以支持更大的MTU大小,则可以增加第二链路505b的相关联的目的地MTU大小516以匹配接收的分组504的MTU大小。
MTU大小调整还可以基于消息类型,其中确定接收的分组504的消息类型524。基于确定消息类型524是控制消息类型,可以将第二链路505b的相关联的目的地MTU大小516调整得更低,并且基于确定消息类型524是数据消息类型,可以将第二链路505b的相关联的目的地MTU大小516调整得更高。
还可以进行或者可替换地进行基于时间的MTU大小调整。例如,通过基于时间段在不同的大小之间调整第二链路505b的相关联的目的地MTU大小516,可以进行在第二链路505b上的时分复用。定时数据525和定时器526可以支持时分复用。
MTU大小调整可以基于网络性能。例如,性能监视器528可以监视在交换机106处的网络性能。可以基于经过一个时间段的网络性能来调整第二链路505b的相关联的目的地MTU大小516以响应于以下的一个或多个而逐渐地减小第二链路505b的相关联的目的地MTU大小516:第二链路505b的增加的拥塞水平以及第二链路505b的增加的重新传输率。调整逻辑502还可以响应于以下的一个或多个而逐渐地增加第二链路505b的相关联的目的地MTU大小516:第二链路505b的降低的拥塞水平以及第二链路505b的降低的重新传输率。
在块610,基于确定接收的分组504的MTU大小大于第二链路505b的相关联的目的地MTU大小516而将接收的分组504分段为多个传输分组520。
在一个示例实施例中,第二链路505b包括具有较低相关联的目的地MTU大小516和较高相关联的目的地MTU大小516的一对物理链路。基于确定接收的分组504的MTU大小小于或等于较低相关联的目的地MTU大小516,可以将接收的分组504路由到具有较低相关联目的地MTU大小516的物理链路。类似地,基于确定接收的分组504的MTU大小大于较低相关联的目的地MTU大小516,可以将接收的分组504路由到具有较高相关联目的地MTU大小516的物理链路。
技术效果包括动态地适配对于计算机网络中的最大传输单元大小的网络流量。基于分组进行MTU大小调整允许更有效的网络利用。可以基于分组大小、消息类型和定时参数在较大和较小大小之间动态地调整MTU大小。另外,可以在网络交换机内本地地划分分组以匹配特定链路的MTU限制。
所属技术领域的技术人员知道,本发明可以实现为***、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形和非暂时性存储介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
体现在计算机可读介质上的程序代码可以用任何适当的介质传输,所述介质包括但不限于:无线、有线、光缆、RF等,或上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本文中将参照本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
在此使用的术语仅是为了描述特定实施例,且不旨在限制本发明。如在此使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另外清楚地指明。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件和/或组件。
所附权利要求书中的所有装置或步骤加功能元件的相应结构、材料、操作以及等价物,如有的话,旨在包括用于结合如特别要求保护的其他所要求保护的元件来执行所述功能的任何结构、材料或操作。呈现本发明的说明是为了示出和描述的作用,但不是穷尽性的或将本发明限制于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显的,且不脱离本发明的范围。选择和描述实施例是为了最佳地解释本发明的原理和实际应用,并使得本领域普通技术人员能针对适于考虑的特定用途的具有各种修改的各种实施例理解本发明。

Claims (14)

1.一种动态地适配计算机网络中的最大传输单元(MTU)大小的方法,包括:
在计算机网络的交换机的第一链路处接收分组;
基于与该交换机的第一链路相关联的应用编程接口(API)交叉值来确定接收的分组的MTU大小;
确定作为接收的分组的目标目的地的该交换机的第二链路的相关联的目的地MTU大小;以及
基于接收的分组的MTU大小和第二链路的相关联的目的地MTU大小之间的差来调整第二链路的相关联的目的地MTU大小。
2.如权利要求1的方法,其中调整第二链路的相关联的目的地MTU大小还包括:
基于确定接收的分组的MTU大小小于第二链路的相关联的目的地MTU大小,减小第二链路的相关联的目的地MTU大小。
3.如权利要求1的方法,还包括:
基于确定接收的分组的MTU大小大于第二链路的相关联的目的地MTU大小,将接收的分组分段为多个传输分组。
4.如权利要求1的方法,还包括:
确定接收的分组的消息类型;
基于确定消息类型是控制消息类型,将第二链路的相关联的目的地MTU大小调整得更低;以及
基于确定消息类型是数据消息类型,将第二链路的相关联的目的地MTU大小调整得更高。
5.如权利要求1的方法,还包括:
通过基于时间段在不同的大小之间调整第二链路的相关联的目的地MTU大小,在第二链路上进行时分复用。
6.如权利要求1的方法,其中第二链路包括一对物理链路,其包括较低相关联的目的地MTU大小以及较高相关联的目的地MTU大小,并且该方法还包括:
基于确定接收的分组的MTU大小小于或等于较低相关联的目的地MTU大小,将接收的分组路由到具有较低相关联的目的地MTU大小的物理链路;以及
基于确定接收的分组的MTU大小大于较低相关联的目的地MTU大小,将该接收的分组路由到具有较高相关联的目的地MTU大小的物理链路。
7.如权利要求1的方法,还包括:
监视交换机处的网络性能;
经过一个时间段基于网络性能调整第二链路的相关联的目的地MTU大小,以响应于以下的一个或多个而逐渐减小第二链路的相关联的目的地MTU大小:第二链路的增加的拥塞水平以及第二链路的增加的重新传输率;以及
响应于以下的一个或多个而逐渐增加第二链路的相关联的目的地MTU大小:第二链路的降低的拥塞水平以及第二链路的降低的重新传输率。
8.一种用于动态地适配计算机网络中的最大传输单元(MTU)大小的***,包括:
服务器;
交换机,通过计算机网络中的第一链路耦接到该服务器,该交换机还耦接到该计算机网络中的第二链路;以及
MTU大小适配器,配置为进行包括以下的方法:
在计算机网络中的交换机的第一链路处接收分组;
基于与该交换机的第一链路相关联的应用编程接口(API)交叉值来确定接收的分组的MTU大小;
确定作为接收的分组的目标目的地的该交换机的第二链路的相关联的目的地MTU大小;以及
基于接收的分组的MTU大小和第二链路的相关联的目的地MTU大小之间的差来调整第二链路的相关联的目的地MTU大小。
9.如权利要求8的***,其中调整第二链路的相关联的目的地MTU大小包括:基于确定接收的分组的MTU大小小于第二链路的相关联的目的地MTU大小,减小第二链路的相关联的目的地MTU大小,以及该MTU大小适配器还配置为进行:
基于确定接收的分组的MTU大小大于第二链路的相关联的目的地MTU大小,将接收的分组分段为多个传输分组。
10.如权利要求8的***,其中该计算机网络是融合的以太网络。
11.如权利要求8的***,其中该MTU大小适配器还配置为进行:
确定接收的分组的消息类型;
基于确定消息类型是控制消息类型,将第二链路的相关联的目的地MTU大小调整得更低;以及
基于确定消息类型是数据消息类型,将第二链路的相关联的目的地MTU大小调整得更高。
12.如权利要求8的***,其中该MTU大小适配器还配置为通过基于时间段在不同的大小之间调整第二链路的相关联的目的地MTU大小,在第二链路上进行时分复用。
13.如权利要求8的***,其中第二链路包括一对物理链路,其包括较低相关联的目的地MTU大小以及较高相关联的目的地MTU大小,并且该MTU大小适配器还配置为进行:
基于确定接收的分组的MTU大小小于或等于较低相关联的目的地MTU大小,将接收的分组路由到具有较低相关联的目的地MTU大小的物理链路;以及
基于确定接收的分组的MTU大小大于较低相关联的目的地MTU大小,将该接收的分组路由到具有较高相关联的目的地MTU大小的物理链路。
14.如权利要求8的***,其中该MTU大小适配器还配置为进行:
监视交换机处的网络性能;
经过一个时间段基于网络性能调整第二链路的相关联的目的地MTU大小,以响应于以下的一个或多个而逐渐减小第二链路的相关联的目的地MTU大小:第二链路的增加的拥塞水平以及第二链路的增加的重新传输率;以及
响应于以下的一个或多个而逐渐增加第二链路的相关联的目的地MTU大小:第二链路的降低的拥塞水平以及第二链路的降低的重新传输率。
CN201410095571.8A 2013-03-15 2014-03-14 动态适配计算机网络中的最大传输单元大小的方法和*** Active CN104052684B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/833,977 US9088515B2 (en) 2013-03-15 2013-03-15 Dynamic maximum transmission unit size adaption
US13/833,977 2013-03-15

Publications (2)

Publication Number Publication Date
CN104052684A true CN104052684A (zh) 2014-09-17
CN104052684B CN104052684B (zh) 2017-07-21

Family

ID=51505066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410095571.8A Active CN104052684B (zh) 2013-03-15 2014-03-14 动态适配计算机网络中的最大传输单元大小的方法和***

Country Status (2)

Country Link
US (2) US9088515B2 (zh)
CN (1) CN104052684B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101005A (zh) * 2016-08-09 2016-11-09 中南大学 一种数据中心网络中基于分组长度的拥塞控制方法
CN106302220A (zh) * 2016-08-26 2017-01-04 北京工业大学 一种sdn网络精细化控制传统交换机的方法
CN111147404A (zh) * 2018-11-05 2020-05-12 丹佛斯动力***公司 用于优化设备之间的数据流的方法和***

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9973596B2 (en) * 2013-06-19 2018-05-15 Cisco Technology, Inc. Dynamically adjusting frame MTU to support low-latency communication
US9271164B2 (en) * 2013-08-05 2016-02-23 Acer Incorporated Method of increasing data throughput of a wireless network system by dynamically adjusting MTU/fragmentation size according to current transmission status
US9461914B2 (en) 2014-04-07 2016-10-04 Cisco Technology, Inc. Path maximum transmission unit handling for virtual private networks
FR3021481B1 (fr) * 2014-05-23 2016-05-27 Oneaccess Procede de distribution pour une liaison a liens multiples et heterogenes
WO2016048389A1 (en) * 2014-09-26 2016-03-31 Hewlett Packard Enterprise Development Lp Maximum transmission unit installation for network traffic along a datapath in a software defined network
CN105656841B (zh) * 2014-11-11 2018-12-11 新华三技术有限公司 一种软件定义网络中实现虚拟防火墙的方法和装置
CN105991387A (zh) * 2015-01-29 2016-10-05 杭州华三通信技术有限公司 虚拟扩展局域网的报文传输方法和装置
US9756455B2 (en) 2015-05-28 2017-09-05 Sony Corporation Terminal and method for audio data transmission
US10212095B2 (en) * 2015-06-30 2019-02-19 Hewlett Packard Enterprise Development Lp Maximum transmission unit installation for switches in a software-defined network
CN106254267B (zh) * 2016-08-31 2020-01-14 浙江宇视科技有限公司 一种数据转发路径调整方法及网关设备
US10608947B2 (en) * 2018-02-26 2020-03-31 Qualcomm Incorporated Per-flow jumbo MTU in NR systems
US10841834B2 (en) 2018-04-04 2020-11-17 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
US10638363B2 (en) * 2018-04-04 2020-04-28 At&T Intellectual Property I, L.P. Legacy network maximum transmission unit isolation capability through deployment of a flexible maximum transmission unit packet core design
CN110798407B (zh) * 2018-08-01 2023-04-07 阿里巴巴集团控股有限公司 一种mtu配置方法和装置
US11374856B1 (en) * 2021-01-13 2022-06-28 Hewlett Packard Enterprise Development IP System and method for performing synchronization of maximum transmission unit with router redundancy
US11556403B1 (en) 2021-10-19 2023-01-17 Bank Of America Corporation System and method for an application programming interface (API) service modification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892753A (en) * 1996-12-02 1999-04-06 International Business Machines Corporation System and method for dynamically refining PMTU estimates in a multimedia datastream internet system
US20040090922A1 (en) * 2002-11-13 2004-05-13 Jason James L. Network path discovery

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0522345A (ja) * 1991-07-12 1993-01-29 Hitachi Ltd 最大転送単位の最適値管理決定方式
US6570849B1 (en) 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US7616638B2 (en) * 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7633917B2 (en) * 2006-03-10 2009-12-15 Cisco Technology, Inc. Mobile network device multi-link optimizations
FR2906425B1 (fr) 2006-09-21 2009-10-23 Ipanema Technologies Sa Procede d'optimisation du controle du trafic dans un reseau de telecommunication par paquets
JP2008118281A (ja) * 2006-11-01 2008-05-22 Fujitsu Ltd 通信装置
US20080159150A1 (en) * 2006-12-28 2008-07-03 Furquan Ahmed Ansari Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
US7995478B2 (en) * 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
JP5374929B2 (ja) * 2008-06-05 2013-12-25 富士通株式会社 移動通信システム、移動通信方法および通信装置
US20100183024A1 (en) * 2009-01-21 2010-07-22 Brocade Communications Systems, Inc Simplified rdma over ethernet and fibre channel
EP2399370B1 (en) 2009-02-23 2013-02-20 Telefonaktiebolaget L M Ericsson (publ) Maximum transmission unit, MTU, size discovery method for data-link layers
US8098688B1 (en) 2009-05-01 2012-01-17 Tellabs, San Jose, Inc. Methods and apparatus for optimizing network management traffic using dynamic SNMP packet resizing
US8121135B2 (en) * 2009-06-23 2012-02-21 Juniper Networks, Inc. Discovering path maximum transmission unit size
US8325713B2 (en) 2010-03-02 2012-12-04 Dell Products, Lp System and method to enable large MTUs in data center ethernet networks
US8654784B2 (en) 2010-03-11 2014-02-18 Microsoft Corporation Multi-stage large send offload
US8832685B2 (en) 2010-06-29 2014-09-09 International Business Machines Corporation Virtual network packet transfer size manager
US8576847B2 (en) * 2010-08-26 2013-11-05 International Business Machines Corporation Mechanisms for discovering path maximum transmission unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892753A (en) * 1996-12-02 1999-04-06 International Business Machines Corporation System and method for dynamically refining PMTU estimates in a multimedia datastream internet system
US20040090922A1 (en) * 2002-11-13 2004-05-13 Jason James L. Network path discovery

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101005A (zh) * 2016-08-09 2016-11-09 中南大学 一种数据中心网络中基于分组长度的拥塞控制方法
CN106101005B (zh) * 2016-08-09 2018-12-25 中南大学 一种数据中心网络中基于分组长度的拥塞控制方法
CN106302220A (zh) * 2016-08-26 2017-01-04 北京工业大学 一种sdn网络精细化控制传统交换机的方法
CN111147404A (zh) * 2018-11-05 2020-05-12 丹佛斯动力***公司 用于优化设备之间的数据流的方法和***

Also Published As

Publication number Publication date
US20150055480A1 (en) 2015-02-26
US9088515B2 (en) 2015-07-21
US9237110B2 (en) 2016-01-12
US20140269277A1 (en) 2014-09-18
CN104052684B (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
CN104052684A (zh) 动态适配计算机网络中的最大传输单元大小的方法和***
US20220103661A1 (en) Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
US20210320820A1 (en) Fabric control protocol for large-scale multi-stage data center networks
US9407560B2 (en) Software defined network-based load balancing for physical and virtual networks
US10484518B2 (en) Dynamic port type detection
JP6670109B2 (ja) ネットワーク内のスケーラブルなフロー及び輻輳制御
US9769074B2 (en) Network per-flow rate limiting
US6907042B1 (en) Packet processing device
US9590923B2 (en) Reliable link layer for control links between network controllers and switches
US20210297350A1 (en) Reliable fabric control protocol extensions for data center networks with unsolicited packet spraying over multiple alternate data paths
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US8139482B1 (en) Method to implement an L4-L7 switch using split connections and an offloading NIC
US20210297351A1 (en) Fabric control protocol with congestion control for data center networks
WO2019134383A1 (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
WO2018165009A1 (en) Vertical packet aggregation using a distributed network
TWI542172B (zh) 路徑更換方法與系統及其控制器
WO2015118429A1 (en) Method and system for supporting packet prioritization at a data network
US10164870B2 (en) Relaxed ordering network
US20130246655A1 (en) Communication path control system, path control device, communication path control method, and path control program
WO2018219100A1 (zh) 数据传输的方法和设备
WO2013039083A1 (ja) 通信システム、制御装置および通信方法
JP2015533045A (ja) 通信システム、通信方法、情報処理装置、通信制御方法及びプログラム
JP5065269B2 (ja) ローカル・エリア・ネットワーク管理
WO2022028342A1 (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
GR01 Patent grant