Computer Science and Application
Vol.07 No.01(2017), Article ID:19556,9 pages
10.12677/CSA.2017.71002

Design and Implementation of NICs and Link Aggregation Experiment Based on Windows Server 2012

Yanfeng Jiang

College of Computer, North China Institute of Science and Technology, Beijing

Received: Jan. 1st, 2017; accepted: Jan. 14th, 2017; published: Jan. 18th, 2017

ABSTRACT

The use of NIC Teaming and Link Aggregation provides an efficient way to expand the bandwidth of network equipment and server, increase network throughput, and achieve redundancy and load balance on the link. This paper introduces the principle and technology of Teaming NIC and link aggregation, the design and implementation of NIC Teaming and Link Aggregation experimental are introduced. Experiments show that the use of NIC Teaming and the link aggregation technology can extend the network equipment and server bandwidth, increase network throughput, achieve redundancy and load balancing in link, improve server reliability and availability.

Keywords:NIC Teaming, Experimental Design, Link Aggregation

基于windows server 2012的多网卡链路聚合 实验设计与实现

姜延丰

华北科技学院计算机学院,北京

收稿日期:2017年1月1日;录用日期:2017年1月14日;发布日期:2017年1月18日

摘 要

NIC Teaming与链路聚合技术的使用能够扩展网络设备和服务器的带宽、增加吞吐量,并在链路上实现冗余和负载均衡。论文介绍了NIC Teaming与链路聚合原理和技术,重点介绍NIC Teaming与链路聚合实验的设计与实现。实验证明,利用NIC Teaming与链路聚合技术可以扩展网络设备和服务器的带宽、增加吞吐量,并在链路上实现冗余和负载均衡,提高服务器可用性和可靠性。

关键词 :NIC Teaming,实验设计,链路聚合

Copyright © 2017 by author and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

随着网络技术和大数据应用的发展,数据通信量快速增长,对服务器的带宽要求越来越高,网络的核心部位就会出现瓶颈,如果单靠升级网络硬件(如千兆网卡及千兆交换机)来提高网络性能会对服务器高性价比带来负面影响。因此,在利用现有网络硬件设备的环境下,通过服务器上NIC Teaming及交换机链路聚合技术来提升服务器的带宽和负载均衡是一种既经济又有效的解决方案 [1] [2] [3] 。本文主要讨论NIC Teaming与链路聚合原理和技术,重点介绍NIC Teaming与链路聚合实验的设计与实现。实验证明,利用NIC Teaming与链路聚合技术可以扩展网络设备和服务器的带宽、增加吞吐量,并在链路上实现冗余和负载均衡,提高服务器可用性和可靠性。

2. 相关技术

2.1. NIC Teaming技术概述 [4]

NIC Teaming就是将两个或更多的网络适配器组合形成一个逻辑适配器,从而达到容错和带宽聚合作用。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址。NIC组中的每个网络适配器都是物理存在的,并且各自连接独立的网络线缆。默认情况下,NIC组合是禁用的。

微软NIC组合,也称为负载平衡/故障转移(LBFO),允许多个网络适配器组合成一个,这样做的目的可以带来带宽聚合、解决网络连接失败过程中的故障转移;它应用于Windows Server 2012的所有版本中。在Hyper-V主机上支持最多32个网卡组成一个Team。NIC组合技术的优点是:一、利用多网卡同时工作来提高网络带宽。二、通过NIC组合实现不同网卡之间的负载均衡(Load balancing)和网卡冗余(Fault tolerance)。

在Windows Server 2012 R2中部署NIC Teaming有三种“成组模式”。

静态成组也叫做交换机依赖组,这种NIC组合需要交换机参与到组合中,所以NIC组中的所有适配器都必须连接到相同的交换机,不能分散在多个不同的交换机上。此种模式中,网卡可以工作于不同的速度,就是说可以用不通速度的网卡建立组合,但同样要求交换机完全支持IEEE 802.3ad标准,一般情况下,服务器级别的交换机通常支持此模式。

交换机独立这是配置时的默认值,该NIC组合无需交换机参与到组合中,所以每个适配器可以连接到不同的交换机,也在交换机级别提供了基本的容错。这种组合方式适用不支持网卡组合的交换机,由Windows Server 2012来完成相应的处理工作。

LACP链路汇聚控制协议(Link Aggregation Control Protocol, LACP),该组合可以自动将多个NIC组合成一个逻辑(虚拟)的网络适配器。需要交换机支持LACP,并在交换机中启用LACP,这种组合方式的速度是最快的。

选择好成组模式后,还需要选择使用哪种负载平衡模式,Windows Server 2012具有如下三种负载均衡模式。

地址哈希NIC组接收到一个数据包后,首先对其进行检查,然后对目的地址的信息(如,IP地址、端口、MAC地址等)通过哈希算法,根据结果NIC组决定将数据包通过那个NIC发出。由于是通过哈希算法,无法控制流量走向,大量数据会流向同一个网卡。

Hyper-v端口如果你的服务器运行多个hyper-v虚拟主机的时候,建议使用此模式。当使用该模式后,虚拟机会将数据通过外部虚拟交换机发送到特定的NIC上,从而使数据有更好的预测性。

动态流量可以通过一个叫做flowlets的概念来实现动态LBFO,这个概念实际上就是数据会被平分到所有的成员网卡上,这种方式是最优化的方式,最大效率的利用带宽。

2.2. 链路聚合技术概述 [5] [6]

2.2.1. 基本概念

链路聚合(Link Aggregation) (也称端口汇聚),通俗地说就是把以太网交换机多个相同属性的端口绑定,像单个端口一样使用。也叫做以太网通道EtherChannel。主要用于交换机与交换机之间和交换机与服务器之间的连接。

2.2.2. 优点

1.增加网络带宽:端口的聚合可以将多个连接的端口捆绑成为一个逻辑连接,捆绑之后的带宽则是每一个独立端口的带宽的总和。

2.提高了网络连接的可靠性:在组成链路聚合的端口中,如果某一端口连接失败,网络数据将自动被重定向到其他连接上。这个过程非常快,只需要更改一个访问地址即可,交换机随后可将数据转到其他端口上。这种特性可以保证网络无间断地继续保持正常工作。

3.负载均衡:可以在组内的端口上配置,使流量可以在这些端口上自动进行负载均衡。

2.2.3. 链路聚合技术条件

1.链路聚合两端物理参数的一致性

首先,需要聚合的链路数目及链路速率必须保持一致性。其次,需要聚合的链路必须是全双工方式。

2.链路聚合两端的逻辑参数的一致性

同一聚合组中端口的基本配置必须保持一致性,这些基本配置主要包括STP (Spanning Tree Protocol,生成树协议)、QoS(Quality of Service,服务质量)、VLAN(Virtual Local Area Network,虚拟局域网络)、端口等相关配置。

2.2.4. 链路聚合方式

1.静态聚合

将多个物理端口直接加入到聚合组中形成一个逻辑端口即为静态聚合。一般由用户手工配置聚合组号和端口成员。这种方式不利于观察链路聚合端口的状态。由于无法检测到链路对端的端口的状态,如果对端的端口状态为down,只要本端端口状态为up,还是会往这个对端端口转发网络流量,这样很可能会造成部分业务中断。

2.动态聚合

基于IEEE802.3ad的LACP (Link Aggregation Control Protocol)协议的聚合方式为动态聚合。LACP协议也称为链路聚合控制协议,即将多个物理端口动态聚合到Trunk组而形成一个逻辑端口。LACP所产生的聚合是自动进行的,目的是可以获取最大的带宽。它的聚合组号是按照协议自动创建的,并且聚合端口会依据key值自动匹配和添加。动态聚合分为两种模式,分别为主动协商模式和被动协商模式。

3. 实验内容设计与实现

3.1. 实验目的

· 了解NIC Teaming及链路聚合的使用场合;

· 理解NIC Teaming及链路聚合的配置及原理;

· 掌握NIC Teaming及链路聚合的配置方法。

3.2. 实验环境

安装windows server2012 R2操作系统PC 1台,三块千兆网卡,交换机1台,PC (windows7)3台,直通双绞线6根,1根交换机配置线。

3.3. 实验拓扑

实验的组网图如图1所示。

3.4. 实验过程与主要实验步骤

3.4.1. 按图1所示正确连接线缆

配置三台PC机的IP地址如表1所示。

3.4.2. 配置NIC Teaming

步骤1:打开服务器管理器,选择本地服务器,可以看到NIC组合是禁用的,如图2所示,单击‘已禁用’链接启用功能,打开NIC Teaming对话框。如图3所示。

步骤2:在图3中点击任务——新建组,为team命名,然后选上三块参与组合的网卡,或者在右面可用网卡中选择相应的网卡,然后右键选择加入到新组。成组模式——选静态成组,负载平衡模式——选动态,如图4所示,然后单击确定。

步骤3:等待NIC Team配置完成如图5所示。如果模式选择交换机独立,那么聚合的时间会稍微长一些,需要耐心等待一下。如果要对NIC组合进行更改,可以在任务栏上进行。

步骤4:这时我们在网络连接中就可以看到新建组team1如图6所示。为team1配置IP地址:192.168.1.5子网掩码:255.255.255.0。

3.4.3. 交换机链路聚合配置方法 [7] [8]

1.思科交换机的手动模式:

Sw1#config t//进入全局模式

Sw1(config)#int range G1/0/5-7//进入到G1/0/5-7的接口模式

Sw1(config-if-range)#channel-group 2 mode on//将这三个接口绑定为组2并指定on模式:表示强制执行聚合。(服务器端成组模式选择静态成组)

强行起通道的话要在短期内在双方启用。否则可能环路。协商起链路则没有这问题,因为启用不起通道的话会down。

channel-group用于将超过一个的交换机互联的端口捆绑到一起,主要用于负载均衡,如不配置自动

Table 1. IP address

表1. IP地址

Figure 1. Experimental topology

图1. 实验拓扑

Figure 2. Enables the NIC Teaming

图2. 启用NIC组合

Figure 3. New team

图3. 新建组

Figure 4. NIC Teaming attribute configuration

图4. NIC组合网卡属性配置

Figure 5. NIC Teaming success status

图5. NIC组合成功状态

执行基于MAC地址负载均衡。

Sw1#show int port-channel 2//查看通道接口状态如图7所示。

Sw1#show etherchannel summary//查看绑定了多少接口如图8所示。

2.思科交换机的自动模式:

Sw1#config t

Sw1(config)#int range G1/0/13-15

Sw1(config-if-range)#channel-protocol lacp//封装lacp协议

Figure 6. New team1

图6. 新建组team1

Figure 7. EtherChannel 2 status

图7. 以太通道2状态

Figure 8. Ethernet channel binding interface

图8. 以太通道绑定接口

Sw1(config-if-range)#channel-group 3 mode active//将这三个接口绑定为组3并指定active模式(服务器端成组模式选择LACP)。

3.4.4. 实验结果分析

1. 网络传输速率测试

首先,将服务器上的FTP服务器配置成功,测试数据用大于10 G大小的文件,由多台客户机在FTP服务器实施多网卡绑定前后分别向其做下载测试,客户机操作系统Windows 7或其他windows系统的IE直接下载。在服务器未进行多网卡绑定(单网卡)状态下,文件下载速率最大约为80 MB/s左右,如图9所示;服务器采用三块网卡绑定后测试,下载速率最大约为230MB/s左右,如图10所示,从下载速率看,FTP服务性能在应用多网卡绑定后较之前有明显提升。

2. 网卡绑定设备安全冗余测试

当用实验中任意一台PC工作站向该服务器做Ping的实验,我们在多网卡聚合的服务器上拔掉激活

网卡的网线,来模拟链路中断故障。在工作站的终端很少出现连接超时(Ping Time out)状态,或者在出现一次连接超时之后就恢复通信,如图11所示,也就是说,另外的网卡能立即接管故障网卡的工作。这基

Figure 9. Single card file download rate

图9. 单网卡文件下载速率

Figure 10. Three network card file download rate

图10. 三块网卡文件下载速率

Figure 11. Network card equipment safety redundancy test

图11. 网卡设备安全冗余测试

本能满足业务不中断的要求。

4. 结束语

实验证明,利用NIC组合对服务器进行多网卡绑定组成阵列,可以扩展网络带宽,提高网络传输速率。在并发连接和网络流量增大时,能适度进行负载均衡,提供链路冗余,提高服务器可用性和可靠性。此次实验仅测试了单台思科交换机下的静态成组和LACP模式,交换机独立模式和不同品牌的交换机有待进一步实验测试。

致谢

在此感谢中央高校基本科研业务费资助项目的支持,同时也向所有文献作者与研究相同领域的前辈们表示由衷的感谢。

基金项目

中央高校基本科研业务费资助项目(No.JSJ1202B) (No.3142015022)。

文章引用

姜延丰. 基于windows server 2012的多网卡链路聚合实验设计与实现
Design and Implementation of NICs and Link Aggregation Experiment Based on Windows Server 2012[J]. 计算机科学与应用, 2017, 07(01): 8-16. http://dx.doi.org/10.12677/CSA.2017.71002

参考文献 (References)

  1. 1. 彭海云, 李亚. 基于Linux 的多网卡负载均衡技术[J]. 实验室研究与探索, 2012(9): 77-80.

  2. 2. 姚学军. 使用双网卡增加服务器带宽[J]. 芜湖职业技术学院学报, 2006(4): 56-57.

  3. 3. 唐国军. 多网卡绑定技术在服务器系统中的应用[J]. 计算机光盘软件与应用, 2013(2): 67-68.

  4. 4. Mark Minasi, Kevin Greene, 等, 著. 精通Windows server 2012 R2 (第5版) [M]. 张楚雄, 孟秋菊, 译. 北京: 清华大学出版社, 2015: 128-134.

  5. 5. 谢克峰. 网络链路聚合技术的应用分类与常见故障排除[J]. 网络安全技术与应用, 2015(1): 28-29.

  6. 6. 杭州华三通信技术有限公司. 路由交换技术第1卷(下册) [M]. 北京: 清华大学出版社, 2012: 64-66.

  7. 7. 许军, 鲁志萍. 网络设备配置项目化教程[M]. 北京: 清华大学出版社, 2012: 79-82.

  8. 8. 汪双顶, 姚羽. 网络互联技术与实践教程[M]. 北京: 清华大学出版社, 2010: 123-129.

期刊菜单