Linux bonding与数据传输有关系?

you00360842 2017-02-10 11:57:23
各位您好
最近在研究linux bonding
就我了解而言
linux bonding是利用虚拟的网卡去绑定实体的网卡
有各种不同的模式
如题所问键合跟数据传输有关系吗?
假设使用主动备份模式

若有两台电脑A,B且各自绑定两张网卡A1,A2,B1,B2(总共四张,各台机器两张)
若我在电脑A执行程式与电脑B传送资讯
各机器第一张网卡为主用从站A1,B1
假设是传送10000笔8bit的乱数(传送什么不是重点)
在传输途中
假设我在传输第5000笔时拔除电脑B的B1网卡
这时绑定因为主用从站B1无法连线立即调备待机的B2是主用从站
再继续原本传送的动作这个failover时间不超过0.5秒
我想问的是
在这个故障转移期间也就是改变活动从属的0.5秒
电脑A送来的数据势必没有接收且到达电脑B的回应
而因此重送第5000笔的数据?
还是TCP timeout够久造成原始的数据可以被新的活动从B2接收到

但主要问题是数据的接收这到底跟linux bonding有没有关系?
还是数据的接收是上层的那些协议所管理的?
我看过linux bonding源码都只是对实体网卡的绑定有关
并未提到数据传输的流程顶多只说虚拟网卡达到外来的数据要由由实体网卡来接收,也就是主动从
网路底子不太熟习
请各位多帮忙
谢谢各位
...全文
285 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
X-i-n 2017-02-16
  • 打赏
  • 举报
回复
类似经过网线、光纤和WIFI通信,A向B用TCP协议发送一条消息,只考虑对方的IP、端口,具体流量是从网线走还是从WIFI走它并不关心,层级分明,本层只做本层的事,对上层透明 链路由链路层来维护,对上层透明 IP通信由网络层来维护,也对上层透明 具体的消息本身由传输层来维护,如果涉及到更高层,也对上层透明 而包本身是有序号的,发送方按顺序打好标记以后,由接收方根据序号来拼接,确认,或者要求重传(所以乱序不是问题,即使没有bonding,也有可能在接收的时候乱序),接收方也会根据对方的返回确认来知道传输结果,这个靠的是TCP本身的错误纠正机制
you00360842 2017-02-15
  • 打赏
  • 举报
回复
nswcfd 我覺得不太一樣 畢竟接收的網卡換了一張 MAC也不一樣 Runnerchin 不好意思 不是很了解您的意思
X-i-n 2017-02-15
  • 打赏
  • 举报
回复
我的理解是 聚合属于链路层,故障转移发生在本层,处理也在本层,对更上层的网络层甚至更上层的其它层来说是透明的
nswcfd 2017-02-15
  • 打赏
  • 举报
回复
不知道这跟单个网卡的条件下,拔了网线再插上网线是不是一个问题。

4,437

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧