链路聚合组网应用浅析
2018-06-11王娟
王 娟
(山东省水文局,济南 250002)
1 链路聚合背景
1.1 链路聚合
所谓链路聚合,就是在以太网交换机上把几个物理端口逻辑上聚合起来,当作一个逻辑端口(也可以说是一条逻辑链路)使用。这样有几个端口被聚合,则聚合后的逻辑链路速率就是聚合前每端口速率的几倍。假设聚合端口中的一个或几个端口失效了,则剩余的端口可以继续承担数据转发任务。采用链路聚合的目的有两个,一个是提高传输速率,另外一个就是提高容错性。
1.2 链路聚合条件
要把多条物理链路在逻辑上等同于一条逻辑链路,而又对上层数据传输透明,必须遵循一定的规则:
1.2.1 聚合链路两端的物理参数和逻辑参数必须一致
链路聚合的目的就是提高两台交换机之间的传输带宽和容错性,必然要求在两台交换机上分别进行配置。进行聚合的链路的数目、速率、双工方式、端口类型、流控都要一致。
1.2.2 必须保证数据的有序性
具有相同源MAC地址,相同目的MAC地址,相同源网络层地址,相同目的网络层地址,以及相同的四层源和目的端口号的一组数据包称为数据流。有些情况下,属于同一个数据流的二层数据帧必须按照顺序到达。这个要求在普通情况下是可以保证的,因为两台交换机之间只有一条物理连接。但如果把多条链路聚合起来而不采取一定的措施的话,这个要求就不能被保证了,因为两台交换机之间有多条链路,可能第一个数据帧在第一条链路上传播,第二个数据帧在第二条链路上传播,这样就可能第二个数据帧先到达另外的交换机,因而先于第一个数据帧到达目的地。为了避免这种情况,我们在实现链路聚合的时候必须考虑这种情况,引入一种数据包转发机制,使得属于同一个数据流的数据帧按照顺序到达。
2 链路聚合实现
链路聚合是在MAC子层和物理层之间的一个小的层次归结为数据链路层。链路聚合作为一个功能模块实现,它提供给MAC子层一个跟物理层一样的调用接口,这样在MAC子层看来,聚合链路就是一个物理接口。因此,MAC子层在进行数据转发的时候,仅仅需要把要转发的数据通过链路聚合提供的功能接口提交给链路聚合功能模块即可。在链路聚合模块内部,维护一张表,我们称为链路聚合表,这张表由两项组成:一个KEY值和一个端口号。该表表项的多少跟聚合的端口数目相同,假设我们把四个端口进行了聚合,则该表就有四项。每当链路聚合模块从MAC层接收到一个数据帧的时候,就根据配置的结果,把数据帧的源MAC地址或目的MAC地址,或两者,提取出来,然后根据内部的一个HASH算法进行计算,计算的结果就是一个KEY值,然后该模块根据该KEY值查找链路聚合表,找到对应的一个端口号,就把数据帧从该端口发送出去。
3 链路聚合实例
以MA5600和S3328来说明一下链路聚合的配置,MA5600是ip内核的DSLAM设备,所带用户量大,可单框满配896个DSL用户,对上联带宽要求较高,通过端口聚合能有效提高MA5600上联带宽。S3328为华为宽带交换机,提供24个百兆FE口,4个千兆口。
假设MA5600的E4GFA 板4、5口上联到S3328的7、8口,实现MA5600的双百兆上联。
3.1 MA5600上的配置
在MA5600上实施链路聚合的时候,首先把将要聚合的端口强制为百兆全双工状态,在配置模式下执行下列命令:
完成这些配置后,下一步要在对端设备S3328上进行相应的设置。
3.2 S3328上的配置
在S3328上实施链路聚合的时候,首先创建端口聚合组,其次更改端口状态要与对端一致,把端口加入到聚合组,端口聚合完成后,原先在端口下配置的业务要在聚合端口组下配置。
在配置模式下执行下列命令:
完成以上数据配置后,链路聚合就可以正常工作,进行了响应的业务测试及验证。
4 结束语
掌握了链路聚合原理,链路聚合需要在物理参数和路局参数一致、数据保持有序性下实现,用实际的案例进行了链路聚合的应用,掌握了华为MA5600、S3328链路聚合的具体配置方法。