首页 > 编程知识 正文

服务器端口映射到外网,内网ip怎么映射外网

时间:2023-05-05 03:02:18 阅读:108441 作者:2559

另一方面,内部网是所谓的LAN,例如学校的LAN,LAN内的各计算机的IP地址在局域网内彼此异性,无法重复。 但是,两个LAN内的内部网IP可以有相同的东西。

1.1内网IP定义内网IP地址为私有IP地址,不允许在公网上传递,只能在内部使用。 如果内部网不能使用私有地址接入互联网,它将使用NAT-地址转换技术将内部私有地址转换为可以访问互联网的外部网地址,以便内部可以连接互联网外部网IP地址是指除专用地址和保留地址之外的所有地址,需要申请才能使用。

ABC三类地址中划分出了三类私有地址:

10.0.0.0~10.255.255.255B类: 172.16.0.0~172.31.255.255C类: 192.168.0.0~192.168.255 D类地址的前四位始终为1110,预设的前三位为1意味着D类地址从128 64 32开始到224。 第四位为0意味着d类地址的最大值为128 64 32 8 4 2 1,为239,从而d类地址空间的范围从224.0.0.0到239. 255. 255.254。 e类地址被保留用于研究。 因此,互联网上没有e类地址。 有效的地址范围为240.0.0.0到255.255.255.255.255.255.255.255.255,因为e类地址的前四位始终为1。 二、什么是互联网——外联网。 LAN是通过服务器或路由器与外部连接的网络,此IP地址是唯一的。 也就是说,内部网内的所有计算机都连接到这个外部网IP上,通过这个外部网IP与外部交换数据。 也就是说,一个LAN内的所有电脑的内部网络IP虽然互不相同,但共享一个外部网络IP。 (在ipconfig/all上查到的IP是你本机的内部网IP; 您可以在www.ip138.com上看到用于连接互联网的IP或外部网。)。

三、内网与外网如何通信3.1通信原理3.1.1实例显示我们每天都要访问各种网站,如淘宝、百度等。 我会想我们的设备是如何连接到这些网站的。 要弄清楚这个问题,首先要弄清楚内部网ip和外部网ip的联系。

如图所示,假设我们的计算机现在是设备1,我们想访问百度。 如果您使用的是校园网,则必须首先通过校园网路由器将我们的内部网ip转换为校园网的外部网ip。 然后通过这个外网ip连接湖南电信的网关,最后连接百度的网关。 百度将你请求的信息发回给你的校园网网关,校园网网关再给你发信息(整个网络呈网状结构,它会自动找到一条通往百度的路径——基于深度优先搜索或者广度优先搜索)。

这个过程和网购一样。 例如,你现在在学校订了书。 淘宝那边接到你的订单准备好东西就开始发货了。 他发现你的收件地址在湖南,所以可能只能从杭州出发,去福建的中转站,然后再去江西的中转站,突然发现江西到湖南的中转站不通,然后绕到广东的中转站,最后再去湖南的中转站。 这些中继站相当于公用网上的各网关。 到了湖南中转站,快递小哥给你的校门寄包裹。 这是最后的网关。 这时,快递小哥走了,用校门管理员依据的你宿舍信息把包裹拿走。 (LAN内部的信息交换由名为校园网的网关处理)

3.1.2原理说明在局域网中,每台电脑都可以自己分配自己的IP,这个IP只在局域网中有效。而如果你将电脑连接到互联网,你的网络提供商(ISP)的服务器会为你分配一个IP地址,这个IP地址才是你在外网的IP。两个IP同时存在,一个对内,一个对外。

我冬天家买了两台电脑。 不仅用网线和路由器等设备连接两台电脑,而且把电脑a定为192.168.1.2,电脑b定为192.168.168.1.3,可以使用这两个IP地址。

你在内部网的机器连接互联网时,都是设置固定IP

3.2案例解答我们大多数人都使用宽带上网。 结果表明,A和B的LANIP均为192.168.31.11。 当他们访问百度浏览网页,百度服务器回复数据时,你会区分怎么给A还是B?

3.2.1公共IP和专用IP之间的差异**公共地址(Public address ) *由互联网信息中心(internetnetworkinformationcenter )负责。 这些IP地址被分配给了注册并向Inter NIC申请的组织,公用IP是世界上唯一的直接接入互联网(可以直接连接到互联网)

**私有地址(Private address):**属于非注册地址,专门为组织机构内部使用,说白了,私有 IP 不能直接上网。

而我们平时通过运营商(电信、移动、联通宽带等)上网,家里面通过路由器分出来的 IP 都是私有 IP(局域网 IP),大家可能会疑问,我们可以上网啊,怎么会是私有 IP 呢?租用(申请)公有 IP 是需要钱的。 运营商买了一些公有 IP,然后通过这些公有 IP 分出来,再分给一个一个的用户使用。这个过程有点类似于,我们去安装了宽度,通过路由器分出几个 IP,让好几个人都能上网,当然运营商通过公有 IP 分出来的过程肯定比这个复杂多了。所以,我们平时上网用的 IP 是私有 IP,真正拥有公有 IP 的是运营商(当然,我们可以租用一个公有 IP )。所以,A 家庭的局域网 IP 和 B 家庭的局域网 IP 相同很正常,但是,最终 A 和 B 能上网(数据走出去)还是通过运营商的公有 IP,毕竟,公有 IP 的资源有限,这一片区域的用户使用的很有可能(实际上就是这样的)是同一个公有 IP,这样的话,又回到前面的问题,假如 A 和 B 的局域网 IP 相同(192.168.31.11),当他们同时访问百度服务器的时候,百度服务器如何区分哪个是 A,哪个是 B 呢?

3.2.2 端口映射

端口映射是 NAT 的一种,它将外网主机的 IP 地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该 IP 的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。

​ 现在市场上的家庭路由器都具备 NAT 功能,也可以实现端口映射。下图为小米路由器的端口映射设置图:

我们平时经过路由器,通过宽带,最终去到运营商那边,数据是从运营商出去,最终数据是回到运营商那边,运营商再把数据发送到用户的电脑。

路由器,至少有两个端口:WAN 口和 LAN 口。

**WAN:**接外部 IP 地址用,通常指的是出口,转发来自内部 LAN 接口的 IP 数据包,这个口的 IP 是唯一的。

**LAN:**接内部 IP 地址用,LAN 内部是交换机。

这里,我们简化这个过程,我们把运营商当做一个 NAT 设备。

为了方便大家理解,我们把 IP 的转化方向反过来分析(准确来说,公网转局域网)。

A 电脑的 IP 是局域网 IP(192.168.31.11),这个 IP(192.168.31.11)是从路由器的 lan口分配的。

当我们上百度的时候,经过路由器的 wan口,进行相应的IP、端口转化:192.168.31.11:80 -> 10.221.0.24:8080,所以,从 wan口出去的地址为:10.221.0.24:8080。

最后,经过运营商,运营商那边会做相应的端口映射(而且是动态端口映射),子网 IP(10.221.0.24:8080)转化为公网 IP(128.0.0.1:8888),通过这个公网 IP 去访问百度服务器。

同理,B 的过程也是一样。通过这样的层层端口映射,最终保证地址(IP + 端口)的唯一性。A 和 B 访问百度服务器,尽管它们的局域网 IP 是一样的,但是最终它们访问百度的地址(IP + 端口)是唯一的,所以,百度服务器回复时,原路返回时能够区分到底给谁回。

如何让外网能够访问自己写的网络程序(服务器)

首先,我们需要在运营商那边申请(租用)一个公有 IP (长城宽带一年需要 2000 元左右),假如这个公有 IP 为:128.0.0.123。

假如,我们写的服务器如下:

接着,找个 NAT 设备进行相应的端口映射,家庭路由器都有这个功能。这里以小米路由器为例:

映射关系如下:

最后,其他人写客户端程序时(电脑能上外网),只要指定目的 IP 地址为 128.0.0.123,端口为 8888,通过这个地址,就能找到192.168.31.248:8080,因为这两者已经建立好映射,如上图,这样,我们的服务器就能收到数据。

四、localhost、127.0.0.1和0.0.0.0和本机IP的区别 4.1 localhost

localhost其实是域名,一般windows系统默认将localhost指向127.0.0.1,但是localhost并不等于127.0.0.1,localhost指向的IP地址是可以配置的。

4.2 127.0.0.1

​ 首先我们要先知道一个概念,凡是以127开头的IP地址,都是回环地址(Loop back address),其所在的回环接口一般被理解为虚拟网卡,并不是真正的路由器接口。

​ 所谓的回环地址,通俗的讲,就是我们在主机上发送给127开头的IP地址的数据包会被发送的主机自己接收,根本传不出去,外部设备也无法通过回环地址访问到本机。

小说明:正常的数据包会从IP层进入链路层,然后发送到网络上;而给回环地址发送数据包,数据包会直接被发送主机的IP层获取,后面就没有链路层他们啥事了。

​ 而127.0.0.1作为{127}集合中的一员,当然也是个回环地址。只不过127.0.0.1经常被默认配置为localhostIP地址
一般会通过ping 127.0.0.1来测试某台机器上的网络设备是否工作正常。

4.3 0.0.0.0

​ 0.0.0.0是不能被ping通的。在服务器中,0.0.0.0并不是一个真实的的IP地址,它表示本机中所有的IPV4地址。监听0.0.0.0的端口,就是监听本机中所有IP的端口。

4.4 本机IP

本机IP通常仅指在同一个局域网内,能同时被外部设备访问和本机访问的那些IP地址(可能不止一个)。像127.0.0.1这种一般是不被当作本机IP的。本机IP是与具体的网络接口绑定的,比如以太网卡、无线网卡或者PPP/PPPoE拨号网络的虚拟网卡,想要正常工作都要绑定一个地址,否则其他设备就不知道如何访问它。

# 查看本机网络C:UsersAdministrator> ipconfig

**本机IP为:**192.168.31.228

4.5 localhost与127.0.0.1的区别是什么? 4.5.1 定义 localhost也叫local ,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)

他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1

4.5.2 区别

localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。

127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。

一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。

有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限

参考链接 内网ip和外网ip区别内网和外网之间的通信(端口映射原理)localhost与127.0.0.1的概念和工作原理之不同localhost与127.0.0.1的区别

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。