为什么我们需要一个公网ip

jackfaye 发布于 09/23 19:09
阅读 771
收藏 0

请教一个问题,我们在内网访问一个外网的服务器,服务器数据为什么能精准的将数据响应给我们,既然能精确的找到我们,为什么我们内网的ip不能被外网访问到

加载中
1
喜之郎
喜之郎

你在班级有班号,在学校有学号,进入社会有身份证号。你去买火车票要用身份证,因为身份证号由国家统筹,全国唯一。你拿着班号想买火车票,门都没有。

0
红薯官方
红薯官方

因为网络路由划分了子网,在没有经过NAT的情况是无法到达内网的。

网络:局域网、城域网、广域网其实都是一个个的局域网,都是经过不断的划分子网而来的。

专用IP为什么可以,那是因为这个IP在运营商那里有配置了权限,在路由上配置了NAT(具体涉及VLAN互通知识等不太记得了)。

0
代码屠杀者
代码屠杀者
你访问外网服务器的时候,就是通过外网服务器的公网IP地址和服务器之间建立了一个socket链接了,服务器通过这个通道将信息回送给你的。
0
gammey
gammey

因为你是客户端,网站是服务端。

0
胡萝卜炒肉
胡萝卜炒肉

假如每个区、县以上才有公网ip,你们村叫 幸福村。当你要和北京通信时,你发消息 :幸福村--》幸运镇--》宝安区,宝安区有几万个邮箱(每个ip可以有多个端口),把你幸福村的消息放在777号邮箱(这个是会变的,今天777,明天666)。北京收到宝安区的消息,返回消息到宝安区的777号邮箱。宝安区再将777号邮箱的回信发给你,在这过程中幸福村没有公网ip,不与北京直接通信。

如果不通过宝安区,假如北京要发消息给幸福村。问题:只知道新福村这个地名,全国几千个幸福村,它也不知道发给谁。

另外宝安区的幸福村比较土豪,想让外面的人都能直接访问幸福村,它找到宝安区说:你的666邮箱老子承包了。以后大家就可以直接发消息给宝安区666邮箱了,这个就是幸福村指定邮箱。

0
自由PHP
自由PHP

当内网主动向外网发送数据请求时,实际上是一个数据路由的过程,你发送的每一个数据包都会带有你的特征;路由过程可以通过Tracert命令查看,每一级路由会附上自己的特征,便于上级路由收到信息后回传。

内网不能访问外网,是因为目前居于互联网的访问是以域名或IP为特征进行访问,内网的IP地址是路由内部分配的,在互联网上是重复的,无法满足唯一性要求

0
后天的奇点
后天的奇点

这个问题,你可以好好看看TCP/IP协议就明白了

0
f
freezingsky

计算网络课程, 可以看一下. 

涉及知识点: IP, TCP/IP协议, 网络结构, NAT等.

0
edien8wing
edien8wing

没公网ip意味着你的ip是动态的,而且禁止了很多功能。其实可以这么写,服务器端用websocket和你的本地服务器通信访问服务和数据,再反馈到浏览器中。这样只用云服务器就可以了

0
无名的骑士
无名的骑士

大家答的都太模糊了,我自己也记得不是很清,不过有一套书,叫《TCP/IP详解》,虽然书比较硬核,不过确实有用,你会在这里找到答案

 

返回顶部
顶部