V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mytudan
V2EX  ›  程序员

路由双网卡问题

  •  
  •   mytudan · 2022-11-18 17:02:24 +08:00 · 1733 次点击
    这是一个创建于 738 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    7 条回复    2022-11-21 13:25:18 +08:00
    shenyuzhi
        1
    shenyuzhi  
       2022-11-18 17:52:31 +08:00
    两个网卡难道 IP 是一样的?
    guanzhangzhang
        2
    guanzhangzhang  
       2022-11-18 18:05:33 +08:00
    按照路由表走,你又不是做的 bound ,查看匹配路由表可以用
    ```
    ip route get $ip
    ```
    goodryb
        3
    goodryb  
       2022-11-18 18:28:07 +08:00
    服务器 A 是双网卡双路由走哪条路由网卡是随机的, 走哪条路由怎么会是随机的,肯定是按照路由表走啊
    ALXG
        4
    ALXG  
       2022-11-19 02:13:47 +08:00
    TCP 连接不断, 端口(由网卡实现)就不会变. A, B 间的通信模式实际是下发消息的程序决定的. 网卡不管这些, 它只管你程序要用哪个端口, 我网卡就按照协议发出去. 所以你的下发消息的程序如果用的是常见的 tcp socket 的话, 那么操作系统的 tcp/ip 协议栈没有那么多想法, 会一直用一个端口. 但是运营商的把戏是很多的, 有可能 tcp 连接没有中断, 但是运营商的路由策略变了, 你延迟一下就好了, 或者爆炸了.
    mytudan
        5
    mytudan  
    OP
       2022-11-21 09:19:13 +08:00
    @shenyuzhi @guanzhangzhang @goodryb 路由表里面有两个默认的 0.0.0.0 的路由,然后分别指向了两个网卡,然后跃点数也是一样的
    shenyuzhi
        6
    shenyuzhi  
       2022-11-21 11:30:17 +08:00
    @mytudan 对于某个特定的 TCP 连接,四元组已经确定了,会一直用源 IP 对应的那个网卡。
    mytudan
        7
    mytudan  
    OP
       2022-11-21 13:25:18 +08:00
    @shenyuzhi 好的 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4996 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:41 · PVG 13:41 · LAX 21:41 · JFK 00:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.