如何区分同一ip地址(wifi)中的两个或多个设备?
How to differentiate between two or more devices in the same ip address (wifi)?
我目前正在从事使用 p2p 技术在移动设备之间共享文件的网络项目。使用 wifi 或移动网络。主要问题是当使用 wifi 时,所有连接到该 wifi 连接的设备的一般 IP 地址变得相同,这就是如果所有连接的设备都具有相同的 IP 地址,如何将文件发送到特定设备的问题?
使用您选择的每台设备唯一的 mac
地址。
当您遇到多个具有相同 IP 地址的设备时,比较 mac
地址会很容易。
同一网络上的每个设备都有唯一的私有 IP 地址。他们都共享一个 public IP 地址。现在服务器如何通过仅查看他们的 public IP 并向他们发送数据来区分他们?
嗯,答案是服务器不仅仅看到 IP 地址。它看到 IP:Port。每个连接到服务器的私有 IP 都具有相同的 public IP 但端口不同。 public IP 属于您的 NAT。您的 NAT 为每个私有 IP 地址分配唯一端口并映射它们。映射是这样的[私有IP,私有端口,public IP,public端口,传输协议]。
因此,当您的服务器将数据包发送到 public IP:port 时,数据包将转发到映射的私有 IP:port。并且您的具有该私有 IP:Port 的设备会收到它。
我目前正在从事使用 p2p 技术在移动设备之间共享文件的网络项目。使用 wifi 或移动网络。主要问题是当使用 wifi 时,所有连接到该 wifi 连接的设备的一般 IP 地址变得相同,这就是如果所有连接的设备都具有相同的 IP 地址,如何将文件发送到特定设备的问题?
使用您选择的每台设备唯一的 mac
地址。
当您遇到多个具有相同 IP 地址的设备时,比较 mac
地址会很容易。
同一网络上的每个设备都有唯一的私有 IP 地址。他们都共享一个 public IP 地址。现在服务器如何通过仅查看他们的 public IP 并向他们发送数据来区分他们?
嗯,答案是服务器不仅仅看到 IP 地址。它看到 IP:Port。每个连接到服务器的私有 IP 都具有相同的 public IP 但端口不同。 public IP 属于您的 NAT。您的 NAT 为每个私有 IP 地址分配唯一端口并映射它们。映射是这样的[私有IP,私有端口,public IP,public端口,传输协议]。
因此,当您的服务器将数据包发送到 public IP:port 时,数据包将转发到映射的私有 IP:port。并且您的具有该私有 IP:Port 的设备会收到它。