这次Linux bond的实验是上次Mode 1的继续。拓扑图、配置以及Mode6实现原理就不在重复。我在这里主要记录了实验的结果。
H1 配置bond mode6
H2两个namespace,ns1 10.0.0.112;ns2 10.0.0.12
H1 服务器接口的MAC地址,bond0的Mac地址会继承一个物理接口的Mac
H1的进方向
负载通过arp实现,对不同的远端设备arp 请求,响应不同的mac
H2-ns1 上arp 记录10.0.0.11 对应mac a002
H2-ns2 上arp 记录10.0.0.11 对应mac a001
H1出方向
通过不同的物理口发包,实现负载。
从H2-ns1和H2-ns2 ping H1,,nload 查看H1 bond0负载情况,
两个物理口的进出流量都是基本相同的。
通过tcpdump抓包,看了一下数据包的封装情况,
10.0.0.112 到 10.0.0.11ICMP包封装的目的Mac在短时间内有a001和a002两种情况,我不知道这是不是一种正常的现象。
情况一,来回路径不一致:
ICMP 序号31的一组包,
10.0.0.112 到 10.0.0.11 ICMP request,目的MAC a001,enp0s8进
10.0.0.11 到 10.0.0.112 ICMP replay,源MAC a002,enp0s9出
情况二,来回路径一致:
ICMP 序号100的一组包,
10.0.0.112 到 10.0.0.11 ICMP request,目的MAC a002,enp0s9进
10.0.0.11 到 10.0.0.112 ICMP replay,源MAC a002,enp0s9出