TCP / IP如何选择源IP地址[重复]

Posted

技术标签:

【中文标题】TCP / IP如何选择源IP地址[重复]【英文标题】:How does TCP/IP select a source IP address [duplicate] 【发布时间】:2020-09-18 12:30:36 【问题描述】:

如果套接字未绑定到特定的本地 IP 地址,TCP/IP 堆栈究竟如何选择源 IP 地址来填充数据包的 IP 标头?一个示例解释会很棒。

【问题讨论】:

这有帮助吗? ***.com/questions/5755265/…。这不是完全匹配,而是相似。 这里描述源地址选择。 linux-ip.net/html/routing-saddr-selection.html 我已投票支持重新开放。声称的副本并没有真正回答这个问题,即它所说的最多的是内核以某种方式“四处寻找接口并选择源地址”而没有详细描述这个选择过程。这与“如何准确地...选择源 IP 地址” 的问题不匹配。更多详细信息仅在附加链接中,不在答案中。 FWIW 我同意。我说我发布的链接是相似的,不是重复的。 【参考方案1】:

如果没有给出明确的源 IP,则在 TCP 连接上确定一个。根据到目标的路由信息​​,内核选择传出网络接口,然后将该接口的 IP 地址分配为源 IP。如果接口配置了多个 IP 地址,则使用第一个,尽管 IP 地址的内部顺序可能不明显。

UDP、ICMP 等情况类似。

【讨论】:

以上是关于TCP / IP如何选择源IP地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何更改电脑IP地址图文教程

如何取消同个网卡上设置有多个IP

如何配置 grpc 客户端的源 IP 地址和/或端口?

电脑为何不能自动获取IP地址?

为啥 TCP 数据包不包含源 IP 和目标 IP?

计算机网络基础之笔记二(TCP/IP)