| 2019-06-14
对于初学者而已,我们学习的网络编程(如TCP,UDP编程),我们通常都是在局域网内进行通信测试,有时候我们或者会想,我们现在写的内网网络数据和外网的网络数据有什么不同,我们内网的数据是如何走出外网的呢?
再者,我们大多人都是使用宽带上网,结果发现,A 和 B 的局域网 IP 都是192.168.31.11,当他们都访问百度浏览网页时,百度服务器回复数据时,如何区分是给 A 还是给 B 呢?
首先,我们需要了解一下什么是公有 IP 和私有 IP ?
公有地址(Public address):由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些 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 呢?
端口映射是 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 + 端口)是唯一的,所以,百度服务器回复时,原路返回时能够区分到底给谁回。
FTP服务器是什么?如何搭建?内网用户怎么让外网访问自己的FTP服务器以及局域网ftp服务器搭建软件哪个好用都是很多人的疑问。本文小编针对这些问题,给大家进行详细的讲解,希望能够帮助到需要的朋友。
因办公需求,很多盆友都会用到FTP,但又苦于宽带运营商没给公网IP,那么如何才能搭建自己的FTP服务器呢?下面就为大家介绍,怎样通过花生壳盒子花生壳搭建属于自己的FTP服务器。(目前花生壳盒子只支持Serv-U工具搭建的HTTP形式访问的FTP)
准备工具:
1.花生壳盒子;
2.Serv-U,大家可自行上网搜索下载,我用的版本是15.0.1.20;
一、Serv-U的安装及设置
1.相信大家对于安装软件不会有啥问题。
2.安装完毕后,直接启动Serv-U,并设置域,记得勾选启用域。
3.接着就是很简单的下一步,端口信息自己可以留意下,FTP网页形式的默认都是用的80端口。
4.到这里,域已经创建成功,我们还需要创建FTP的用户账号密码。
5.设置你的FTP服务器根目录。就是你希望从外网连接到你服务器的哪个目录,每个人需求不一样,请根据实际需求设置。
6.点击完成,就已经搭建好FTP服务器了,可以用简单的命令测试下。
7.如果你还要给其他人访问你的FTP,但又不想给那么多权限他们,就可以另外再创建一个用户,单独设置这个新账号的权限,这样就不怕别人连接你的FTP后,删除你的重要文件,或者捣乱。
二、花生壳盒子设置
下面的花生壳盒子(花生棒Pro)设置方法,你肯定会觉得非常简单。
So easy,一步到位。填写你的服务器内网IP,FTP端口80,应用名称随便填,点确定就OK。
三、连接FTP
打开浏览器,在地址栏输入花生壳盒子(花生棒Pro)里面设置的映射外网访问地址即可访。
2、使用Serv—U来搭建ftp服务,进入SERV-U的本地服务器,点击“新建域”,命名为“MYftp”,然后点击下一步,其他都使用系统默认的设置点下一步直至完成。
3、域已经建立好,这个时候,会提示是否需要给域建立用户,选择“是”,会提示是否需要根据向导来新建用户名。根据提示添加一个用户名为oray的账户这时就安装并创建好ftp服务。
4、测试内网是否可以访问ftp站点。在获取本机内网IP后,获取本机内网IP方法如下:通过点击电脑开始——运行——CMD,然后回车,在出现的DOS界面里面输入ipconfig/all ,通过查看IP Address获得本机内网IP,打开IE浏览器进行测试,。现在内网已经可以访问了,内网ftp搭建工作完成。
5、注意如果有路由器上网,那么需要从外网访问,需要进行端口映射操作。第一种办法是:点击转发规则——虚拟服务器,做好端口映射。另一种方法是:点击转发规则——DMZ主机,DMZ主机的IP地址填写服务器IP地址,勾选启用,点击保存即可。这种方法一般不建议采用,因为采用DMZ主机后,本机的所有端口将完全暴露在广域网,请慎用。
花生壳是一套完全免费的动态域名解析服务客户端软件。当您安装并注册该项服务,可实现在家或者异地搭建网站、FTP、Mail、 异地或分支机构访问办公OA、CRM、ERP系统。看过以上的内容,大家是不是觉得拥有花生壳动态域名解析服务及ftp工具是一件很方便的事情,如果你也有这样的需要,可以做更多的相关了解。