外网IP 与 内网IP

本文详细解释了NAT(网络地址转换)的工作原理,阐述了如何通过使用单一的外网IP地址,为多个内网设备分配不同的端口号,实现多台设备同时上网的情况。通过具体的例子展示了路由器如何进行内外网IP地址的转换,以及如何确保数据包能够准确地发送到正确的内网设备。

外网的IP是一样的,内网的IP不一样.你们都用一个外网的IP上网,但是使用的端口是不一样的
计算机通信要用到IP地址和Port端口号。
你们上网的时候路由器会随机的给你们的电脑一个端口号并且是不一样的。
比如你们都用一个路由上网(网外的IP假如是:213.25.31.1)
内网的IP地址如下
A电脑的IP是192.168.1.100
B电脑的IP是192.168.1.101
C电脑的IP是192.168.1.102

你们都用一个外网的IP(213.25.31.1)地址上网
路由器就双向的转换,里面有一个对应的映射表谁的数据就给谁

213.25.31.1:565656<------>192.168.1.100
213.25.31.1:565657<------>192.168.1.101
213.25.31.1:565660<------>192.168.1.102

565656、565657、565660。这些端口号就是路由器分给你们电脑的。
外网的IP你们都是一样的。也就说上网的IP是一样的
这就是NAT(网络地址转换)

### 内网IP外网IP的基本区别 内网IP(私有IP)是指在局域网内部使用的IP地址。这类IP地址不会在整个互联网上被直接访问到,通常由路由器等网络设备分配,用于标识局域网中的设备。常见的内网IP地址范围包括:10.0.0.0 到 10.255.255.255、172.16.0.0 到 172.31.255.255 以及 192.168.0.0 到 192.168.255.255。在局域网内部,这些IP地址是唯一的,但在不同的局域网中,这些地址可以重复使用[^4]。 外网IP(公有IP)是指在整个互联网上可以被访问的IP地址。它是互联网上标识设备的唯一地址,通常由互联网服务提供商(ISP)分配。外网IP地址可以被全球范围内的设备访问,因此不能重复。例如,在家庭网络中,路由器的外网IP是由宽带服务提供商分配的,而整个局域网的设备通过这个外网IP互联网进行通信[^1]。 ### 内网IP外网IP的功能区别 内网IP主要用于局域网内部的通信。例如,当你在家庭网络中使用多台设备时,每台设备都会被路由器分配一个内网IP地址,用于局域网内的数据传输。这些设备无法通过互联网直接访问到其他局域网中的设备,因为内网IP地址在互联网上是不可路由的[^2]。 外网IP则用于互联网上的通信。当局域网中的设备需要访问互联网时,数据包会通过路由器,路由器会将内网IP地址转换为外网IP地址(NAT技术),以便在互联网上进行通信。因此,外网IP是连接局域网互联网的关键标识[^3]。 ### 如何检测内网IP外网IP 要查看设备的内网IP地址,可以在命令行窗口执行 `ipconfig` 命令(Windows系统)或 `ifconfig` 命令(Linux或macOS系统),找到显示的IPv4地址。该地址通常属于内网IP地址范围[^4]。 要查看外网IP地址,可以通过访问一些提供IP查询服务的网站(如 [WhatIsMyIP.com](https://www.whatismyip.com/) 或 [IP.cn](https://www.ip.cn/))来获取。这些网站会显示当前连接互联网的外网IP地址。 ### 示例代码:获取本机的内网IP地址 以下是一个简单的Python代码示例,用于获取本机的内网IP地址: ```python import socket def get_local_ip(): try: # 创建一个socket连接 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 连接到一个公共的DNS服务器 s.connect(("8.8.8.8", 80)) # 获取本机的内网IP地址 local_ip = s.getsockname()[0] return local_ip except Exception as e: return "无法获取IP地址: " + str(e) finally: s.close() # 调用函数并打印结果 print("本机的内网IP地址为: " + get_local_ip()) ``` 这段代码通过创建一个UDP连接到Google的公共DNS服务器(8.8.8.8),然后获取本机的内网IP地址。这种方法通常可以准确地获取到设备在局域网中的IP地址。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值