链路聚合-负载分担方式
背景
数据流是指一组具有某个或某些相同属性的数据包。这些属性有源MAC地址、目的MAC地址、源IP地址、目的IP地址、TCP/UDP的源端口号、TCP/UDP的目的端口号等。
对于负载分担,可以分为逐包的负载分担和逐流的负载分担。
- 逐包的负载分担
在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,就会产生同一数据流的第一个数据帧在一条物理链路上传输,而第二个数据帧在另外一条物理链路上传输的情况。这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。
- 逐流的负载分担
这种机制把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担。逐流负载分担能保证包的顺序,但不能保证带宽利用率。
转发原理
如图1所示,Eth-Trunk位于MAC与LLC子层之间,属于数据链路层。
Eth-Trunk模块内部维护一张转发表,这张表由以下两项组成。
HASH-KEY值
HASH-KEY值是根据数据包的MAC地址或IP地址等,经HASH算法计算得出。
接口号
Eth-Trunk转发表表项分布和设备每个Eth-Trunk支持加入的成员接口数量相关,不同的HASH-KEY值对应不同的出接口。
例如,某设备每Eth-Trunk支持最大加入接口数为8个,将接口1、2、3、4捆绑为一个Eth-Trunk接口,此时生成的转发表如图2所示。其中HASH-KEY值为0、1、2、3、4、5、6、7,对应的出接口号分别为1、2、3、4、1、2、3、4。
Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址。
根据HASH算法进行计算,得到HASH-KEY值。
Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。
负载分担方式
为了避免数据包乱序情况的发生,Eth-Trunk采用逐流负载分担的机制,其中如何转发数据则由于选择不同的负载分担方式而有所差别。
负载分担的方式主要包括以下几种,用户可以根据具体应用选择不同的负载分担方式。
- 根据报文的源MAC地址进行负载分担
- 根据报文的目的MAC地址进行负载分担
- 根据报文的源IP地址进行负载分担
- 根据报文的目的IP地址进行负载分担
- 根据报文的源MAC地址和目的MAC地址进行负载分担
- 根据报文的源IP地址和目的IP地址进行负载分担
- 负载分担方式只在流量的出接口上生效,如果发现各入接口的流量不均衡,请修改上行出接口的负载分担方式。
- 尽量将数据流通过负载分担在所有活动链路上传输,避免数据流仅在一条链路上传输,造成流量拥堵,影响业务正常运行。
例如,数据报文的目的MAC和IP地址只有一个,则应选择根据报文的源MAC和IP地址进行负载分担,如果选择根据报文的目的MAC和IP地址进行负载分担则会造成流量只在一条链路上传输,造成流量拥堵。
链路聚合-负载分担方式相关推荐
- 链路聚合负载分担方式
链路聚合负载分担方式1.负载分担介绍数据流是指一组具有某个或某些相同属性的数据包.这些属性有源MAC地址.目的MAC地址.源IP地 址.目的IP地址. TCP/UDP的源端口号.TCP/UDP的目的端 ...
- 【HCL】H3C链路聚合聚合负载分担的实验(二层聚合)
H3C二层链路聚合&&聚合负载分担 实验一:使用HCL模拟二层链路聚合的实验 实验二:使用HCL模拟二层聚合负载分担的实验 实验一:使用HCL模拟二层链路聚合的实验 实验拓扑图: 如图 ...
- 华为防火墙配置流量根据链路权重负载分担
1.基本IP地址及连通性配置 (1)内网IP地址配置 (2)配置外网IP地址 [ISP1-GigabitEthernet0/0/0]ip add 20.1.1.2 24 [ISP1-GigabitEt ...
- linux中的链路聚合之team方式
上一篇中我们学了链路聚合的bond方式,还有一种方式是team方式,我们来看看team与bond的区别 那么如何使用team形式呢,如果你还用这上一节的bond方式,请删除后继续操作 1.team方式 ...
- 华为防火墙配置流量根据链路质量负载分担
1.基本IP地址及连通性配置 (1)内网IP地址配置 (2)配置外网IP地址 [ISP1-GigabitEthernet0/0/0]ip add 20.1.1.2 24 [ISP1-GigabitEt ...
- 华为防火墙配置流量根据链路带宽负载分担
1.基本IP地址及连通性配置 (1)内网IP地址配置 (2)配置外网IP地址 [ISP1-GigabitEthernet0/0/0]ip add 20.1.1.2 24 [ISP1-GigabitEt ...
- 计算机网络原理:链路聚合
目录 为什么要使用链路聚合 定义: 作用: 分类: 链路聚合注意事项: 为什么要使用链路聚合 因为由于网络规划的复杂性,大型网络设计规划中链路众多,容易出现故障,可靠性不高,难以管理,而且需要更高的带 ...
- 链路聚合Eth-Trunk技术
链路聚合Eth-Trunk 一.Eth-Trunk 基本原理 一.Eth-Trunk 基本原理 1.链路聚合技术可以把多个独立的物理接口绑定在一起作为一个大带宽的逻辑接口使用,既不用替换接口板也不会浪 ...
- h3c 链路聚合测试_链路聚合技术
文/吴帅 1链路聚合概述 链路聚合(Link Aggregation)由IEEE802.3ad定义,包括链路聚合目标及实现.聚合子层的功能及操作.链路聚合控制及LACP等.链路聚合将多条物理以太链路聚 ...
最新文章
- R语言使用caret包中的createMultiFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k×times个、times为组内抽样次数
- 18年你需要了解的15个人工智能统计数据
- eclipse 启动 找不到 JRE JDK的解决方法
- project项目管理案例_福清公司开展Project项目管理软件学习培训活动
- hdu 3449(依赖背包)
- python3.7 keras和tensorflow兼容_结果无法在Python中用Keras和TensorFlow重现
- 正则表达式判断邮箱、身份证..是否正确
- 一文读懂层次聚类(Python代码)
- java中得到文件MIME类型的几种方法(转)
- 基于马尔萨斯的人口模型的一个Logistic模型(MATLAB)
- 硬盘坏道修复软件测试工程师,硬盘坏道检测,教您如何修复硬盘坏道
- 计算机突然找不到u盘了,win10系统u盘文件突然不见了怎么恢复
- 零点起算法44求最小值C语言,【算法链表面试题】面试问题:C语言实现“关… - 看准网...
- 新媒体运营,微博平台运用技巧分享
- SQL and NOSQL
- 中国七夕情人节快到了2009
- 微软又发布了一款命令行神器,功能非常强大!
- FRM 5.2 资本资产定价模型
- 洛谷1967 火车运输 kruskal求最大生成树 倍增LCA维护最小值
- 《褚时健传》- 令人敬畏的匠人精神
热门文章
- java象棋代码注释_中国象棋程序的设计与实现(十一)--棋盘绘制算法(尽管注释非常详细,完全理解仍有难度)...
- Excel 链接的图片
- 深度学习模型试跑(十一):PaddleOCR(c++,vs2019)
- 罗技无线网卡linux,Linux(Ubuntu)装罗技LMS避坑指南
- 诊断DB2 Java应用程序的性能问题
- 金马公关为什么选择使用活字格来搭建《会议邀约系统》
- 微信小程序开发—— app.json
- 研发路上的总结和思考 -----来自阿里巴巴中间插件----作者:石佳宁
- git提交失败running pre-commit hook: lint-staged [33m[33m‼[33m Some of your tasks use `git add` command
- 配音软件哪个好用?这几个软件值得你试一试