输出实时网络流量延迟以及缓冲区占用

文档序号:8324156阅读:533来源:国知局
输出实时网络流量延迟以及缓冲区占用
【专利说明】输出实时网络流量延迟以及缓冲区占用
[0001]相关申请
[0002]本申请要求于2012年9月18日提交的、题目为“输出实时网络流量延迟以及缓冲区占用”的美国临时申请序列号61/702,320的优先权,其全部内容通过引用合并于此。
技术领域
[0003]本公开一般涉及在网络设备中缓冲区的占用的分析。
【背景技术】
[0004]在计算机网络中,数据以分组通常穿过一个或多个网络设备(例如,交换机、路由器、防火墙等)的分组的形式从源被传输至目的地。在传输过程中,会在结果中出现某些错误,例如,冗余数据被添加到原始数据、丢弃分组等。大规模可扩展数据中心和云计算系统在网络装置上施加了更多的流量负载,使得过度供应的网络已经不再可能。监控网络设备中的缓冲区对获得网络管理、分析、以及执行的认识是很有用的。
【附图说明】
[0005]图1是示出了基于网络设备中的缓冲区的占用被配置为产生缓冲区分析分组的网络设备的图解。
[0006]图2是示出了缓冲区分析逻辑的一个示例实现的框图。
[0007]图3是通常示出缓冲区分析分组的格式的图解。
[0008]图4是描述在网络设备中产生并且输出缓冲区分析分组的操作的流程图。
[0009]图5是描述在从缓冲分析分组接收并且恢复信息的设备中的操作的流程图。
[0010]图6是示出了来自缓冲区分析分组的缓冲区占用的回放示例的图解。
【具体实施方式】
[0011]鍵
[0012]本文所提出的技术促进对在网络设备中缓冲区占用的监控。分组在网络设备上被接收。描述在网络设备中由分组流动通过缓冲区引起的缓冲区的占用的信息被捕获。包括该信息的分析分组被产生。来自网络设备的该分析分组用于恢复被包括在其中的信息,用来分析、重演(reply)缓冲区占用等。
[0013]示例实施例
[0014]由于网络中断(例如,微爆发(microburst))会在任何时间发生,在缓冲占用中的完全网络可视性以及通过输出和后处理重演占用的能力是很重要的。而且,重演缓冲区占用的能力允许有效的网络问题诊断,以提供正确的行动。诸如端口镜像(即,交换端口分析器(SPAN))之类的现有的解决方法并不提供缓冲区占用的可视性。正因如此,本文提出了用于监控并且重演缓冲区占用的技术。
[0015]现在参考图1,示出了网络环境5的图解,其中基于网络设备10的缓冲区的占用被配置为产生缓冲区分析分组的网络设备10被提供。网络设备10包括多个端口12(1)-12(N),其中任何一个可以在任何时间用作入站端口或出站端口。网络设备包括缓冲区14、缓冲区分析逻辑16、中央处理单元(CPU) 18和存储器19。应该理解的是网络设备10具有其他的组件,比如交换结构或专用集成电路(ASIC),并且缓冲区14可以属于交换结构。在网络设备10中通常会有很多的缓冲区,但是为简单起见在图1中仅示出一个缓冲区。应该理解的是本文所提出的技术针对在网络设备中多个缓冲区中的每一个缓冲区是有用的。缓冲区分析逻辑14可以在硬件中通过数字逻辑门(并且被嵌入在交换结构中)来实现,或通过存储在存储器19中的软件来实现,并且该软件由CPU 18执行。
[0016]分组20通过端口 12(1)_12(N)中的任意一个端口到达网络设备10。图1示出了分组到达端口 12 (I)、12 (2)、和12(3)的示例。网络设备10通过端口 12 (5)-12 (N)被耦合到网络40(例如,局域网或广域网(因特网)),最终与一个或多个网络设备50 (1)-50 (M)中的任意一个网络设备进行通信。
[0017]通常,在网络设备10中,缓冲区分析逻辑16捕获描述由分组流动通过缓冲区引起缓冲区14的占用的信息,并且产生包括该信息的缓冲分析分组30。通过以下结合图2的描述会变得显而易见,有两种类型的缓冲区分析分组:入队缓冲区分析分组和出队缓冲区分析分组。缓冲区分析分组30随后以允许重演缓冲区的占用的几种方式中的任意一种方式,在可编程的时间表(或基于分组大小)从网络设备10输出。
[0018]第一,网络设备10可将针对缓冲分析分组的目的地的地址(例如,连接到网络40的任意设备(比如,具有CPU 62和存储器64的采集器设备60)的地址)插入缓冲区分析分组30。网络设备10通过网络40向目的地采集器设备60发送分析分组30,该分析分组可以在任意位置,在网络设备10的本地位置或远离网络设备10。
[0019]第二,网络设备10可将分析分组30输出至专用端口,例如,将采集器设备70连接到网络设备10的端口 12(4)。专用分析端口 12(4)可以参与端口通道或固定端口将扩展带宽分配给单个或多个监控端口。由于采集器设备70被直接连接到端口 12(4),所以它通常位于本地网络设备10。采集器设备70包括CPU 72和存储器74。
[0020]第三,在网络设备10中,分析分组30可以被输出至板载CPU 18和存储器19,使得CPU 18和存储器19也可被用作采集器设备。在任意这些情况中,CPU 18、62、和72可以基于存储在它们分别关联的存储器19、64和74中的软件指令重演并分析缓冲区14的占用。此外,针对关联的CPU18、62、和72分析分组被分别地存储在存储器19、64和74中。
[0021]网络设备10可以是任意目前已知的或在以后开发的网络设备,包括交换机、路由器、网关、主机设备上的软件栈、虚拟网络接口卡(VNIC)、虚拟交换机、物理网络接口卡(包括那些支持虚拟化的接口卡)。
[0022]存储器19、64和74可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质的设备,闪存设备,电、光、或其他物理/有形存储器存储设备。因此,在通常情况下,存储器19、64和74可包括一个或多个编码有软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),该软件包括计算机可执行指令并且当该软件(由相关CPU)执行时可操作以执行本文描述的操作。
[0023]现在参考对缓冲区分析逻辑16更为详细描述的图2。图2示出了缓冲分析逻辑16,包括入队(enqueue)分析分组产生器80和出队(dequeue)分析分组产生器82。另外,准入控制块84、离开控制块86、分组汇编器88、以及多路复用器90。准入控制块84和离开控制块86通常会在网络设备中找到,并且是用于做出处理决定(比如,丢弃、调度速率、速率限制、监管、整形等)的硬件或(软件)块。
[0024]入队分析分组产生器80被配置为产生描述/总结被入队到缓冲区14的分组的分析分组,总结称为由参考标号32示出的入队分析分组。类似地,出队分析分组产生器82被配置为产生描述/总结从缓冲区14被出站的分组的分析分组,总结称为由参考标号34示出的出队分析分组。分组汇编器88针对来自网络设备的输出汇编准备从缓冲区14离开的分组20。
[0025]针对入队至缓冲区14的分组,入队分析分组产生器80捕获信息,该信息描述了一个或多个分组到达网络设备的入站端口的身份、2层的源地址和目的地地址、3层源地址和目的地地址、4层的源地址和目的地地址、服务类别、以及到达入站端口的时间戳。类似地,针对从缓冲区14出队的分组,出队分析分组产生器82捕获信息,该信息描述了一个或多个分组离开网络设备的出站端口的身份、2层的源地址和目的地地址、3层源地址和目的地地址、以及离开出站端口的时间戳。
[0026]由入队分析分组产生器80产生的入队缓冲区分析分组32、由出队分析分组产生器82产生的出队缓冲区分析分组34、以及由分组汇编器88输出的分组20全部被提供至多路复用器90的相应的输入。在任意给定时间,多路复用器90有选择地输出分组20、入队缓冲区分析分组32或出队缓冲区分析分组34。优先给定输出分组20,以便保持通过网络设备10的适当的网络流量。基于时间(根据时间表)或入队至缓冲区或从缓冲区出队的分组的大小触发分析分组的输出。
[0027]现在参考图3。图3示出了入队缓冲区分析分组32或出队缓冲区分析分组34的示例格式。如上所述,入队缓冲区分析分组32总结了正在被入队至缓冲区的分组,出队缓冲区分析分组34总结了正在从缓冲区出队的分组。随着时间累积通过缓冲区的分组时,这些分析分组允许回放缓冲区的占用特征以及通过缓冲区的分组的流量流动。如图3所述,入队缓冲区分析分组32和出队缓冲区分析分组34包括以太网头部字段100、普通头部字段110、一个或多个记录字段120 (I)-120 (N)、以及循环冗余检测(CRC)字段130。
[0028]以太网头部字段110是用来压缩分析分组的目的地地址的字段,例如将分析分组指引至目的地,即,包括网络设备本身CPU的本地或远程采集器设备(如图1所示)。为此目的,以太网头部字段I1包括诸如介质访问控制(MAC)目的地地址/源地址(DA/SA)、可选的IEEE 802.1Q虚拟局域网(VLAN)路由信息、包括IP SA和IP DA的可选的因特网协议(IP)头部之类的信息。此外,以太网头部字段110包括用来将缓冲分析分组路由至其要求的目的地的信息。
[0029]普通头部字段HO包括从已经被入队至缓冲区或从缓冲器被出队(视情况而定)的分组的头部捕获的信息。因此,普通头部字段总结了在网络设备中被入队至缓冲区和从缓冲器被出队的分组的头部。例如,普通头部字段包括普通头部版本的信息(以允许向后/向前兼容性)、表示入队或出队分组的时间尺度的时间尺度信息、分组到达和/或离开缓冲器以允许重演的时间戳、允许采集器来确定在当前分析分组和最新接收分析分组之间已经有多少被丢失的记录编号(如果有记录的话)、以及一个或多个诸如服务类别、服务类型之类的用户定义字段等。
[0030]记录字段120包括用户配置的缓冲区分析逻辑以捕获的入队或出队分组的数据。数据的示例可以被包括在包括如下的记录字段中:
[0031]格式版本,以表示用于向后/向前兼容性的记录字段的格式版本。
[0032]L2头部字段(MAC SA/DA)或被压缩的版本(即,最后24位)和优先级
[0033]L3头部(IP SA/DA)或被压缩的版本(即,最后16位)和优先级和协议类型
[0034]L4 头部(TCP/UDP SA/DA)
[0035]用户定义字段,包括一个或多个:
[0036]输入/输出端口
[0037]丢弃一分组是否被丢弃的指示。
[0038]队列id——与分组关联的队列(单播或多播)的标识符。
[0039]队列长度——分组关联的队列的长度。
[0040]分组长度——分组大小的总长。
[0041]时间戳(绝对或相对于来自诸如精确时间协
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1