zoukankan      html  css  js  c++  java
  • 网络初级篇之链路聚合(原理与配置)

    一、链路聚合的产生

      由于在企业网络中,核心层负责数据的高速转发,极其容易引发链路阻塞。所以在核心层部署链路聚合可以整体提升网络的数据吞吐量,解决链路拥塞的问题。

    二、链路聚合的原理与好处

      1、什么是链路聚合

      链路聚合是把两台设备之间的链路聚集在一块,当做一条逻辑链路使用。

      2、链路聚合带来的好处

    • 链路聚合可以提高链路的带宽。理论上,通过链路聚合,可使一个聚合端口的带宽最大为所有成员端口的带宽总和。
    • 链路聚合可以提高网络的可靠性。配置了链路聚合的端口,若其中一端口出现故障,则该成员端口的流量就会切换到成员链路中去。保障了网络传输的可靠性。
    • 链路聚合还可以实现流量的负载均衡。把流量平均分到所有成员链路中去。使得每个成员链路最低限度的降低产生流量阻塞链路的风险

    三、链路聚合的模式

      链路聚合总共有两种模式:手动负载均衡模式LACP(链路聚合控制协议)模式

      1、手动负载均衡模式

      在此模式下,Eth-Trunk的建立,成员接口的加入由手工配置。该模式下的所有活动链路都参与数据的转发,平均分担流量。如果某条活动链路出现故障,则自动在剩余的活动链路中平均分担流量。适用于两直连设备之间,既需要大量的带宽,也不支持LACP协议时。可以基于MAC地址与IP地址进行负载均衡。

      2、LACP(链路聚合控制协议)模式

      在此模式下,Eth-Trunk的建立,成员接口的加入由手工配置。链路两端的设备会相互发送LACP报文,协商聚合参数,从而选举出活动链路和非活动链路。

      活动成员链路(M):用于在负载均衡模式中的数据转发。

      非活动成员链路(N):用于冗余备份。如果一条活动成员链路出现故障,非活动成员链路中优先级最高的将代替出现故障的活动链路。状态由非活动链路变为活动链路。

      3、两者的区别

      在手动负载均衡模式下,所有的端口都处于数据转发状态;在LACP模式下,会有一些链路充当备份链路。

    四、数据流控制

      1、在一个聚合端口中,成员端口的所有参数必须一致,参数包括:物理口数量、传输速率、双工模式、流量控制模式。成员端口可以是二层也可是三层。

      2、为了避免由于多个成员端口传输,数据帧前后到达顺序不一致而导致的数据包乱序的情况。Eth-Trunk采用逐流负载分担的机制,其数据帧可以根据实际情况的需求按照源MAC、目的MAC、源IP、目的IP、VLAN、物理端口等不同的条件进行流量的分流。通过哈希计算不同的条件,从而得出的不同结果,不同的结果的数据帧通过不同的成员端口发送,相同的结果的数据帧从同一成员端口发送,从而保证了数据包顺序的准确性。但是这样不能保证带宽的利用率。

      注:本人根据手动模式,设置三条链路进行链路聚合,默认情况下只有一条链路进行数据的转发,当切换到IP分流的时候情况不变;MAC分流的时候有两条进行数据转发,一条链路没有转发数据。网上查的资料是链路得是2的n次方,于是我又加了一条,这样共计4条链路。结果MAC分流下是两条进行转发;IP分流下还是一条进行数据转发。

    五、Eth-Trunk 端口

      ①只能删除不包含任何成员端口的Eth-Trunk端口。

      ②二层的Eth-Trunk端口的成员端口必须是二层的接口;三层的Eth-Trunk端口的成员端口必须是三层的接口。

      ③一个Eth-Trunk端口最多可以加入8个成员端口。

      ④加入Eth-Trunk端口的接口类型必须是Hybrid接口(Access与Trunk类型的端口无法加入)。

      ⑤Eth-Trunk端口不能作为其他Eth-Trunk端口的成员端口。

      ⑥同一个以太网接口只能属于一个Eth-Trunk端口。

      ⑦同一个Eth-Trunk端口下的成员端口的类型必须一致。

      ⑧如果本端设备接口加入了Eth-Trunk端口,与该接口直连的对端接口也必须加入Eth-Trunk端口,两端才能正常通信。

      ⑨如果成员端口的速率不同,速率低的接口可能会发送拥塞,造成报文的丢失。

      ⑩接口加入Eth-Trunk端口后,成员端口不再学习MAC地址,Eth-Trunk端口进行MAC地址的学习。

    六、配置Eth-Trunk端口

      1、二层Eth-Trunk的配置

    <SW1>system-view 
    [SW1]interface Eth-Trunk 1 //设置Eth-Trunk1
    [SW1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/5 //将1-5五个端口设为成员端

       2、三层Eth-Trunk的配置

    <AR1>system-view 
    [AR1]interface Eth-Trunk 1  //配置Eth-Trunk1
    [AR1-Eth-Trunk1]undo portswitch  //使二层链路转变为三层链路
    [AR1-Eth-Trunk1]ip address 192.168.1.1 24  //可以配置IP地址
    [AR1]interface GigabitEthernet 0/0/0
    [AR1-GigabitEthernet0/0/0]eth-trunk 1  //将GE0/0/0加入Eth-Trunk1

     七、常用命令

      [AR1-Eth-Trunk1] mode ?   //选择链路聚合的模式。

      [AR1-Eth-Trunk1] load-balance ?  //选择负载均衡的判断条件

  • 相关阅读:
    连分数与丢番图方程简介
    利用 random 与 tertools 模块解决概率问题
    Notepad++ 几款实用插件简介,让你的 Notepad++ 如虎添翼
    .net面试问答(大汇总)
    .net反射详解 原文://http://blog.csdn.net/wenyan07/article/details/27882363
    ASP.NET MVC4+EF5(Lambda/Linq)读取数据
    AngularJS+ASP.NET MVC+SignalR实现消息推送
    Asp.net SignalR 实现服务端消息推送到Web端
    C# Socket编程 同步以及异步通信
    C#版 Socket编程(最简单的Socket通信功能)
  • 原文地址:https://www.cnblogs.com/641055499-mozai/p/11662401.html
Copyright © 2011-2022 走看看