套接字连接到绑定到 IP 与本地主机的端口

sfa*_*joy 5 bind socket

我的理解是,使用 localhost 绑定到端口的套接字对子网不可见,因为绑定不是使用 nic IP 地址。连接到此类端口的本地进程将创建一个 unix 管道而不是 IP 套接字。但是,如果绑定到 nic IP 地址,则该端口对子网可见。我想了解在连接到绑定到 localhost 和 nic IP 的端口时建立的连接类型。

** 绑定到本地主机的端口 **

  • 使用 localhost 的本地进程连接创建一个 unix 管道
  • 使用 nic IP 的本地进程连接创建一个 unix 管道
  • 使用 nic IP 连接的外部进程无法连接

** 绑定到网卡 IP 的端口 **

  • 使用 localhost 的本地进程连接创建一个 unix 管道
  • 使用 nic IP 的本地进程连接创建一个 IP 套接字
  • 使用 nic IP 连接的外部进程连接并创建一个 IP 套接字

以上说法正确吗?我正在审查这个站点的网络编程:

http://beej.us/guide/bgipc/output/html/multipage/unixsock.html

希望有更多的见识。

小智 0

我认为这些说法是正确的。事实上,您可以使用 tcpdump 等嗅探器来确认。如果您可以在“lo”接口上看到流量,则意味着该连接正在使用 unix 管道。另一方面,如果在“ethX”上捕获流量,则意味着正在使用网络连接。