公网Ip和私网ip
IP可以分为Public IP 和 Private IP,出现这种规划的原因在于IPv4所能表示的IP太少而电脑太多以至于不够用,然而只有Public IP才能直接连接上网络,所以对于那些公司,学校,政府机构等场所,就可以集中使用私有的IP进行管理,而大家可以共用一个IP去连接上公网,这样,就省下了许多宝贵的Public IP。你有没有发现,你每次使用ipconfig查到的地址,要么就是172.开头的,要么就是192.开头的,为什么?难道没有其他开头的嘛,答:基本没有。因为一个Ip分给我们一个Pc端太不划算了,一般都是很多人共享一个ip,我们用ipconfig查询到的其实只是我们的局域网Ip,172.开头的意味着我们是B类型的局域网,以192.开头的意味着你是c类的局域网。所以我们一直都没有接触到正真的ip,我们一直打交道的都是私有ip又叫private ip.
ipconfig查出来的是你本机的IP地址,也就是内网私有地址,此类地址仅在局域网使用,不能联通外网。百度查出来的地址是你上网的共有地址,也许并不是你主机的地址,而是电信或联通分给你的地址,用于连接互联网。
- Public IP : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet ;
- Private IP : 私有 IP 或保留 IP,不能直接连上 Internet 的 IP ,主要用于局域网络内的主机联机规划。
早在 IPv4 规划的时候就担心 IP 会有不足的情况,而且为了应付某些企业内部的网络设定,于是就有了私有IP (Private IP) 的产生了。私有 IP 也分别在 A, B, C 三个 Class 当中各保留一段作为私有 IP 网段,那就是:
- Class A:10.0.0.0 - 10.255.255.255
- Class B:172.16.0.0 - 172.31.255.255
- Class C:192.168.0.0 - 192.168.255.255
由于这三段 Class 的 IP 是预留使用的,所以并不能直接作为Internet 上面的连接之用,不然的话,到处就都有相同的IP 啰!那怎么行!网络岂不混乱?所以啰,这三个 IP 网段就只做为内部私有网域的IP 沟通之用。一般说来,我们用Ipcofig是无法查到公网ip的,大多数时候,你使用ipconfig查到的一般就只是以172.开头的b类私有Ip,或者以192.168开头的c类私有Ip.简单的说,s私有ip有底下的几个限制:
- 私有 IP 的路由信息不能对外散播 (只能存在内部网络);
- 使用私有 IP 作为来源或目的地址的封包,不能透过 Internet 来转送 (不然网络会混乱);
- 关于私有 IP 的参考纪录(如 DNS),只能限于内部网络使用 (一样的原理啦)
这个私有 IP 有什么好处呢?由于他的私有路由不能对外直接提供信息,所以,你的内部网络将不会直接被 Internet 上面的 Cracker 所攻击!但是,你也就无法以私有 IP 来『直接上网』啰!因此相当适合一些尚未具有Public IP 的企业内部用来规划其网络之设定!否则当你随便指定一些可能是Public IP 的网段来规划你企业内部的网络设定时,万一哪一天真的连上Internet 了,那么岂不是可能会造成跟 Internet 上面的 Public IP 相同了吗?
只有公网ip是能够连接互联网的,私网IP 一般只用作局域网
| 类别 | IP范围 | 私有地址范围 | 保留地址 |
| A | 1.0.0.0~126.255.255.255 | 10.0.0.0~10.255.255.255 | 127.0.0.0~127.255.255.255 |
| B | 128.0.0.0~191.255.255.255 | 172.16.0.0~172.31.255.255 | 169.254.0.0~169.254.255.255 |
| C | 192.0.0.0~223.255.255.255 | 192.168.0.0~192.168.255.255 | 无 |
我们能够上网靠的是isp组织分给我们的Ip地址,但是这个ip地址一般不是给个人的,一般都是给一个单位,一个区域的,也就是说我们实际上能接触到的一般都是私有地址,即我们用ipconig查到的都是私有地址,也就相当于局域网内的ip地址,当我们真正联网时,会先把数据发送到路由,然后再由路由进行处理实现真正的联网操作,路由的地址才是真正联网的Ip地址,也就是pubilc ip,而我们在自己电脑上查到的都是私有ip
举个例子,我们在学校或者查到的Ip一般都是172.开头的,比如上图我的地址,那就是在学校里检测到的ip地址,通常是b类地址,而我们在家里一般用的都是c类地址。也就是一般是192.168开头的地址。这个大家可以自行去验证一下。
上网流程:
移动公司分给我们的ip是117.158.134.217,这是我们这一栋楼能连上网的公网Ip,那么如何让这一个ip使学校里面的所有人都能使用呢,我们开始重新划分局域网。上文中,我们知B类私有地址范围是:172.16.0.0~172.31.255.255,我们学校采取的就是这种划分方法,所以我的私网ip地址就是172.18.251.129.那么怎么连上网的呢,我们通过私网ip然后把我们的需求和要发送的数据发给路由器,然后路由器对接网络,再把数据发送给Internet.然后internet发送数据到我们学校的路由,然后路由在通过我的私网ip发送给我,这就是我们真实上网的流程。

遗留问题:
大家可能也注意到了一个问题,就是我们在百度查到的ip是117开头的,也就是说其实是a类,但是我们这边私网Ip却是172开头的,是b类的私有ip地址,那么问题来了?117开头的IP地址是如何转换成172开头的私有ip的呢?他们之间一定有一个转换关系,构成了一个公网和私网之间的一个映射。这个关系是什么呢???
在查阅了多方资料之后,这个问题其实就是私网Ip和公网Ip的转换这个问题,其实利用到了nat转换技术,将172.16.xxx.xxx~172.31.xxx.xxx转换到公网ip,也就是我图中所示的那个郑州的117开头的ip。我们的私网ip是自成体系的,在合理的建设完私网ip后,我们只需利用nat技术将公网ip和私网ip做一个转换即可。大概就跟下图所示一样,二楼使用的是172.16.xx.xx开头的网址,三楼是172.17.xx.xx,四楼是172.18.xx.xx,从图中可以有一个很清晰地认识

随着学校换地方,我们的Ip也发生了一些微妙的变化。我们搬到了一个新的环境,还没搭建起服务器。当我使用Ipconfig命令来查询自己的ip地址的时候,我们发现了一个奇怪的事情,我们获取到的ip地址是一个以169开头的ip地址,上文已经提到过我们正常情况下获到的地址应该是一个以172.16~172.31这之间开头的,那么为什么会出现169开头的呢?
169开头的是一个保留地址,是本地连接受限时系统自动分配的ip没有什么实际的意义,出现这种情况可能是服务器还没搭建好。果然,等我们重新搭建好了代理服务器之后,我们的网址又变回了现在的172.18开头的网址。
公网Ip和私网ip的更多相关文章
- 公网IP、私网IP
公网.内网是两种Internet的接入方式.公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问. NAT(Networ ...
- python学习-判断是否是私网IP地址
判断是否是私网IP地址 私网IP地址范围如下: 192.168.0.0-192.168.255.255 172.16.0.0-172.31.255.255 10.0.0.0-10.255.255.25 ...
- IP地址分类及私网IP
5类IP地址: IP地址共有32位字节,其中A~C类IP地址由类标识号.网络地址和主机地址组成,A类标识最高位为0,网络地址为1字节,主机地址为3字节, B类标识最高位为10,网络地址为2字节,主机地 ...
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
- 什么是公网IP、内网IP和NAT转换?
搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么? 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地 ...
- 服务器的公网ip 和内网ip
原文地址:https://zhidao.baidu.com/question/814783729071869532.html 服务器公网ip 可以用于域名解析ip,服务器远程登录ip,是最主要的服务器 ...
- 为什么WAN口IP和外网IP不一样(不一致)?
正常的网络应该是动态公网ip,也就是路由器里面的WAN口IP与www.ip138.com上面显示的是一致的,不一致的话则说明该网络被电信或者联通做了NAT转发,导致您获取到了一个虚假的IP地址,无法用 ...
- 外网IP和内网IP的区别
这两天遇到一个bug,折腾的够呛,已经上线的项目,出现了个人登录不上的情况,瞬间整个人都不好了,首先找问题,在本地和测试服务器上都没问题,打包发布到正式环境就出现问题了,刚开始我看不了日志,日志要找别 ...
- 获取本机外网ip和内网ip
获取本机外网ip //获取本机的公网IP public static string GetIP() { string tempip = ""; try { WebRequest r ...
随机推荐
- Jmeter(四十二)Jmeter工作原理
“千举万变,其道一也.不离于宗,谓之天人” ----<荀子·儒效>和<庄子·天下> 作为接口测试工具 Jmeter只是作为发起请求的客户端(可以理解为前端),Jmeter是作为 ...
- [UE4]正交
一.如果两条直线是垂直的,那么就可以说这2条直线是正交的.既然有垂直,为什么还要有正交概念呢? 因为正交可以描述两个或者多个变量之间互不影响.互不干涉,而垂直是完全属于几何的术语. 二.具有正交关系的 ...
- [UE4]GameMode、GameInstance、GameState、PlayerState、PlayerController
一.只有PlayerController和Pawn/Character才有输入事件(键盘.鼠标等等),PlayerState没有输入事件. 二.对于需要跨域关卡的数据信息,根据上图所知需要放到Game ...
- 关于promise的几个认知
1. 为什么要有promise ···从代码上来说回避了回调嵌套的问题,其次promise可以保留异步请求的状态(即使得到结果不立刻执行回调,过一阵再执行仍然是可以的.) ···从思想上来说,我们设计 ...
- 关于-RegExp
// exec() exec() 查找并返回当前的匹配结果,并以数组的形式返回. // test() test() 方法检索字符串中的指定值.返回值是 true 或 false. // compile ...
- c# webBrowser全掌握
一.获取网页源代码 1.不含有框架 string s=WB1.DocumentText; //webbrowser1命名为WB1,下同 2.含有框架 引用mshtml; //位置C ...
- 09 shell脚本程序练习
练习1:写一个脚本程序,完成以下任务 1.添加五个用户,user1.user2.user3.user4.user5: 2.添加之前先判断是否存在该用户,如果存在则显示“某某用户已存在”: 3.每个用户 ...
- 限制EditText最多输入n位,设置EditText最大输入长度;
1.比较笨的方法: /** * 设置edittext最大的输入限制 * @param editText * @param length */ private void setMaxLength(Edi ...
- 「ZJOI2015」地震后的幻想乡
/* 难度最低的解法 钦定一个边集S作为前S小如果这个边集假如第|S|小这条边时加入时S恰好联通, 那么我们就能够算出他的贡献了 恰好联通 = 加了这条边之前不连通方案数 - 加了这条边之后不连通方案 ...
- 测试oracle数据库连接
1.ping 192.168.0.12.telnet 192.168.0.1 1521 按下ctrl+] 组合键出现命令回显才是端口连接成 3.tnsping 192.168.0.1:1521/db