路由双网卡问题

2022-11-18 17:02:24 +08:00
 mytudan

假设服务器 A 与客户端 B 建立了 TCP 连接 服务器 A 是双网卡双路由走哪条路由网卡是随机的,TCP 建立后,服务器 A 不停的下发消息,还会经过路由(或者说下发的路由走的网卡和 TCP 建立连接时的网卡是一致的吗)吗

1728 次点击
所在节点    程序员
7 条回复
shenyuzhi
2022-11-18 17:52:31 +08:00
两个网卡难道 IP 是一样的?
guanzhangzhang
2022-11-18 18:05:33 +08:00
按照路由表走,你又不是做的 bound ,查看匹配路由表可以用
```
ip route get $ip
```
goodryb
2022-11-18 18:28:07 +08:00
服务器 A 是双网卡双路由走哪条路由网卡是随机的, 走哪条路由怎么会是随机的,肯定是按照路由表走啊
ALXG
2022-11-19 02:13:47 +08:00
TCP 连接不断, 端口(由网卡实现)就不会变. A, B 间的通信模式实际是下发消息的程序决定的. 网卡不管这些, 它只管你程序要用哪个端口, 我网卡就按照协议发出去. 所以你的下发消息的程序如果用的是常见的 tcp socket 的话, 那么操作系统的 tcp/ip 协议栈没有那么多想法, 会一直用一个端口. 但是运营商的把戏是很多的, 有可能 tcp 连接没有中断, 但是运营商的路由策略变了, 你延迟一下就好了, 或者爆炸了.
mytudan
2022-11-21 09:19:13 +08:00
@shenyuzhi @guanzhangzhang @goodryb 路由表里面有两个默认的 0.0.0.0 的路由,然后分别指向了两个网卡,然后跃点数也是一样的
shenyuzhi
2022-11-21 11:30:17 +08:00
@mytudan 对于某个特定的 TCP 连接,四元组已经确定了,会一直用源 IP 对应的那个网卡。
mytudan
2022-11-21 13:25:18 +08:00
@shenyuzhi 好的 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/896260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX