风行网管系统法斯特passwww.ca88.com,片上网络

www.ca88.com 3
www.ca88.com

新型网管系统Fastpass 可改善网络堵塞

麻省理工学院研究人员成功研制出一款名为Fastpass的新型网络管理系统,研究人员称Fastpass可减少网络出现大面积堵塞时的等待时间。麻省理工学院的研究团队将会在八月中旬召开的ACM数据通信专业组(ACM
Special Interest Group on Data Communication)会议上报告其研究结果。

www.ca88.com 1

众所周知,在数据中心里,每当有人发出请求时,一些载有信息的数据包就会经过路由器从一个端口传送到另一个端口。而很多人同时发出请求时,这些数据包有可能会积压在路由器里,原因是路由器会将那些来不及处理的包存放在队列中等候处理。

www.ca88.com 2

图中显示延迟减少(浅蓝:Fastpass,浅红:参考系统)

而Fastpass的系统核心就是一个被称之为“仲裁”(arbiter)的中央服务器。麻省理工学院研究人员表示,每当路由器或其他一些网络节点(如交换机或网桥等)收到用户请求需要发数据时,就会首先将请求发给“仲裁”。“仲裁”的角色有点像个管理所有网络节点和请求的监督员。由于“仲裁”知道网络系统的状况,所以可以根据一些可行的时隙分配和路径分配算法确定最佳的网络路径和发送数据的最佳时间,以防止数据包在网络内的积压。

摘录麻省理工学院研究文章的一段,从技术角度介绍了Fastpass系统:

端点与“仲裁”之间的通信采用Fastpass控制协议(FCP)。FCP协议属于可靠性协议,用于传达端点发给“仲裁”的请求以及将“仲裁”分配的时隙和路径传达给请求的发送者。FCP必须在相互冲突的要求之间找到平衡:包括尽量小地消耗网络带宽、实现低延迟和在不中断端点的通信的前提下处理数据包的丢失和“仲裁”失效的情况。FCP的可靠性采用超时和集中请求(Aggregate
demands)的ACK(确认)机制。端点将超过几微秒内的分配请求集中在一个数据包里发给“仲裁”。这样集中发请求数据包后可以降低请求的开销,继而有限度地降低在“仲裁”端的等待时间。——麻省理工学院

据悉,麻省理工学院研究团队在Facebook数据中心测试过Fastpass,结果发现路由器的平均队列长度减少了99.6%。即使在网络繁忙期间,使用Fastpass后也可以将发送请求与收到回应的时间从3.56(微秒)降到0.23微秒​​。

可改善网络堵塞
麻省理工学院研究人员成功研制出一款名为Fastpass的新型网络管理系统,研究人员称Fastpass可减少网络…

6.1 虚拟通道路由器微结构

图示是一个最新的credit-based virtual channel
router的微结构。这里假设一个二维mesh结构,因此路由器有5个输入端和5个输出端,对应于4个邻接方向和本地PE端。这个路由器的5个主要组成部分是输入缓冲器(input
buffer)、路由计算逻辑(route computation
logic)、虚拟通道分配器(virtual channel allocator)、开关分配器(switch
allocator)和交叉开关(crossbar
switch)。大多数NoC路由器使用输入缓冲,包在输入端被存入缓冲器中,因为输入端缓冲机制下可以使用单端口存储器。这里假设每个输入端有4个VC,每个VC有4个片深度的缓冲队列。

www.ca88.com 3

Router Microarchitecture

片自从其进入路由器起,整个在路由器中停留的时间都保存在这些缓冲器中。这与处理器流水线中将指令在流水线级间的缓冲器中进行锁存(latching)是不同的。如果不使用源路由(source
routing),则路由计算逻辑将会计算(或者查找)这个包的正确的输出端。VC分配器和开关分配器(virtual
channel allocator and switch
allocator)选择片来进入下一个阶段:即通过交叉开关。最终,交叉开关物理上将片从输入端转移到输出端。

接下来几节分别讨论各个组成部分。

转自:

6.4 分配器和仲裁器

一个分配器将N个请求(request)匹配(match)到M个资源(resource),一个仲裁器将N个请求匹配到1个资源。在一个r路由器中,资源是指VC和交叉开关端口。

在一个没有VC的虫孔路由器中中,在每一个输出端处的开关分配器(switch
arbiter,SA)将该输出端匹配和授权给发出请求的输入端,因此,有P个仲裁器,分别位于每个输出端,每一个都可以在竞争条件下将P个输入端的请求匹配到其所在的输出端。

在一个多VC的router中,我们需要一个虚拟通道分配器(virtual channel
allocator,VA),用以解析对输出
VC的竞争并且把他们授权(grant)给输入VC,以及一个SA来将交叉开关端口授权给输入VC。一个包中仅有头片需要VA,而所有的片都需要在每个周期中通过SA。

具有较高匹配概率的分配器或仲裁器可以使得更多的包成功获得VC并且通过交叉开关,因此可以提高网络的吞吐率(throughput)。在大多数的NoC中,路由器中的分配逻辑(allocation
logic)决定了周期的时长(cycle
time)。因此,分配器和仲裁器必须是快速的、可流水的,这样使得他们可以在较高的时钟频率下工作。

二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
  (1)
当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
  (2) 再去读 取包头中的目的MAC地址,并在地址表中查找相应的端口;
  (3)
如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
  (4)
如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
  不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
  从二层交换机的工作原理可以推知以下三点:
  (1)
由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
  (2)
学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER
RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;
  (3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC
(Application specific Integrated
Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。
  以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。
      二)路由技术
  路由器工作在OSI模型的第三层—网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。
  路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。
  而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。
  由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。
  当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。
  (三)三层交换技术
  近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。
  组网比较简单
  使用IP的设备A————————三层交换机————————使用IP的设备B
  比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。
如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
  如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。
  以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点:
  由硬件结合实现数据的高速转发。
  这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。
  简洁的路由软件使路由过程简化。
  大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。
  结论
  二层交换机用于小型的局域网络。这个就不用多言了,在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。
  路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由,它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。
     
三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。
  一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。
  第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址
(第三层路由),而且依据TCP/UDP(第四层)
应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端
IP地址、TCP和UDP端口共同决定。
  在第四层交换中为每个供搜寻使用的服务器组设立虚IP地址(VIP),每组服务器支持某种应用。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址。
  当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP
SYN包)发给服务器交换机。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输。
  第四层交换的原理
  OSI模型的第四层是传输层。传输层负责端对端通信,即在网络源和目标系统之间协调通信。在IP协议栈中这是TCP(一种传输协议)和UDP(用户数据包协议)所在的协议层。
 在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。端口号和设备IP地址的组合通常称作“插口(socket)”。
  1和255之间的端口号被保留,他们称为“熟知”端口,也就是说,在所有主机TCP/IP协议栈实现中,这些端口号是相同的。除了“熟知”端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号。分配端口号的最近清单可以在RFc1700”Assigned
Numbers”上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
  ”熟知”端口号举例:
  
      应用协议     端口号
       FTP      20(数据)
              21(控制)
       TELNET     23
       SMTP      25
       HTTP      80
       NNTP      119
       NNMP      16
              162(SNMP traps)
  TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。
  具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。
  每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。 
  在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。
  每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP
端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。
在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。
  如何选用合适的第四层交换
  a,速度  为了在企业网中行之有效,第四层交换必须提供与第三层线速路由器可比拟的性能。也就是说,第四层交换必须在所有端口以全介质速度操作,即使在多个千兆以太网连接上亦如此。千兆以太网速度等于以每秒1488000
个数据包的最大速度路由(假定最坏的情形,即所有包为以及网定义的最小尺寸,长64字节)。
  b,服务器容量平衡算法  依据所希望的容量平衡间隔尺寸,第四层交换机将应用分配给服务器的算法有很多种,有简单的检测环路最近的连接、检测环路时延或检测服务器本身的闭环反馈。在所有的预测中,闭环反馈提供反映服务器现有业务量的最精确的检测。
  c,表容量  应注意的是,进行第四层交换的交换机需要有区分和存贮大量发送表项的能力。交换机在一个企业网的核心时尤其如此。许多第二/
三层交换机倾向发送表的大小与网络设备的数量成正比。对第四层交换机,这个数量必须乘以网络中使用的不同应用协议和会话的数量。因而发送表的大小随端点设备和应用类型数量的增长而迅速增长。第四层交换机设计者在设计其产品时需要考虑表的这种增长。大的表容量对制造支持线速发送第四层流量的高性能交换机至关重要。
  d,冗余  第四层交换机内部有支持冗余拓扑结构的功能。在具有双链路的网卡容错连接时,就可能建立从一个服务器到网卡,链路和服务器交换器的完全冗余系统。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图