为什么自己电脑上的网站别人不能访问?因为是局域网ip

有一个问题困扰了自己很久,当自己的电脑制作了一个网站,别人却不能访问?这是为什么?

因为你的电脑的ip地址是局域网ip

1 局域网ip

一般情况下,你的个人电脑会被分配一个局域网(私有)IP地址,而不是公有IP地址。公有IP地址通常由你的互联网服务提供商(ISP)分配给你的路由器或调制解调器。如果你想将你的电脑设置为拥有公有IP地址,通常需要联系你的ISP,并根据他们的服务和政策进行配置。

当多台电脑连接同一个路由器的时候,只有路由器有1个公有的ip地址,这个共有的ip地址才能在外层的互联网上通讯。其中连接同一个路由器的多台电脑或者手机设备,只是局域网ip。比如你在北京家里的的局域网ip是172.13.2.13。在上海家里的某台设备ip也可以是172.13.2.13。因为它们只在局域网内有效。不会在公网中冲突。

2 为什么不能所有设备都用公有ip呢?

这是因为IPv4地址(32位地址空间)有限,而且大部分的地址已经分配出去,所以许多家庭和企业共享一个公有IP地址。

3 既然我的电脑ip的局域网ip,那为什么我的电脑可以访问网站呢?网站服务器也不知道我的局域网ip呀?

因为有路由器这个中介,它有公有ip。你的信息都通过这个公有ip发送出去。
1、你发送信息的时候,先发给路由器,路由器再发给网站服务器;
2、接受信息的时候,网站服务器发给路由器,路由器再发送给你这台设备。

你提出了一个很好的问题!这涉及到网络地址转换(NAT)技术以及互联网通信的基本原理。

NAT技术:当你的个人电脑连接到路由器或者调制解调器时,路由器会将你的私有IP地址(如192.168.x.x)转换成它的公有IP地址,然后再发送到互联网上。当响应返回时,路由器会根据连接的信息,将响应的数据包重新转发给正确的设备。

返回流量:当你访问一个网站时,你的电脑首先向网站服务器发送一个请求。网站服务器响应时,它响应的目标是你的路由器的公有IP地址。路由器接收到响应后,会根据之前建立的连接信息,将响应的数据包转发给你的个人电脑。

简而言之,网站服务器知道你的请求来自你的路由器的公有IP地址,但它并不知道这个请求的最终目的地是你家里的哪台电脑,因为在互联网上,你的电脑被隐藏在了路由器后面,只有路由器对外可见。

这是因为IPv4地址(32位地址空间)有限,而且大部分的地址已经分配出去,所以许多家庭和企业共享一个公有IP地址。NAT技术使得多台设备可以共享一个公有IP地址,同时仍然能够在互联网上进行通信。

总的来说,NAT是一种常见的网络技术,它让你的家庭网络可以有效地共享一个公有IP地址,同时仍然能够进行双向通信。

4 多台设备都连着1个路由器,同时访问不同的网站,多台设备都会转换为1台相同的公有ip地址吗?

是的。

多台设备连接到同一个路由器时,路由器会为每台设备分配唯一的私有IP地址,并且在NAT(网络地址转换)过程中,它会将每个设备的私有IP地址映射到相同的公有IP地址的不同端口上。这个过程通常被称为端口地址转换(PAT)或NAPT(网络地址和端口转换)。

具体来说,路由器为每台设备分配唯一的私有IP地址(如192.168.x.x),并在发送请求到互联网上时,使用NAT技术将每个设备的私有IP地址和端口号映射到路由器的公有IP地址上的不同端口上。这样,路由器可以根据端口信息来区分哪个设备的请求对应于哪个响应。

例如,如果有多台设备同时访问不同的网站,路由器会将它们的请求映射到不同的端口上,如下所示:

设备1: 私有IP地址192.168.1.100,路由器发送地址:172.15.1.15、端口:5000
设备2: 私有IP地址192.168.1.101,路由器发送地址:172.15.1.15、端口5001
设备3: 私有IP地址192.168.1.102,路由器发送地址:172.15.1.15、端口5002
这些设备的请求都会经过路由器,路由器会将它们的私有IP地址和端口号转换成路由器的公有IP地址上的不同端口,以便响应返回时能够正确路由到每个设备。

所以,即使多台设备共享同一个公有IP地址,路由器会通过NAT和端口地址转换来确保它们在互联网上的通信是唯一的,不会产生冲突。

5 2台设备分别各访问2个网站,通讯原理是什么样的呢?

1、设备1: 私有IP地址192.168.1.100,端口:4848
转换为路由器发送地址:172.15.1.15、端口:5000

2、设备1: 私有IP地址192.168.1.100,端口:4849
转换为路由器发送地址:172.15.1.15、端口:5001

3、设备2: 私有IP地址192.168.1.101,端口:7064;
转换为路由器发送地址:172.15.1.15、端口1234

4、设备2: 私有IP地址192.168.1.101,端口:7065;
转换为路由器发送地址:172.15.1.15、端口1235

这样路由器每个端口对应一个设备的一个端口。就不会冲突了。路由器里维护了一个映射表,路由器接收到消息时,查看这个表,路由器再把信息发给私有ip地址和端口。维护下面的这个字典数据结构的键值:

172.15.1.15端口5000192.168.1.100,端口:4848
172.15.1.15端口5001192.168.1.100,端口:4849
172.15.1.15端口1234192.168.1.101,端口:7064
172.15.1.15端口1234192.168.1.101,端口:7065

6 如何发布网站呢?(必须用公有ip)

方式1:自己跟移动等运营商拉一条公有ip线;
方式2:使用阿里云服务器或者腾讯云服务器,可以选择公有ip,非常便宜。自己尝试成功了。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓码bigdata

如果文章给您带来帮助,感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值