公网IP和私有IP
- IP地址是为了区分网络中不同主机所分配的一个地址,通过IP地址可以访问到每一台主机。
- IP地址分为公有地址和私有地址,公有地址由Internet NIC负责(比如中国互联网信息中心http://ip.cnnic.cn/),公有IP地址分配给注册并向NIC提出申请的组织机构使用,公有地址IP可以直接访问internet,大家可以打开电脑或者手机的浏览器,登录百度,搜索“IP地址查询”,就可以看到目前电脑正在使用的公有IP地址。私有地址主要有A、B、C三类,属于局域网范畴内,也就是所谓的内网IP。内网IP只能在局域网内被访问,出了局域网是无法访问internet的,安卓4.0以上版本的用户在连上WIFI或者蜂窝数据的情况下,可以打开设定-关于设备-状态中,会看到IP地址为192.168.x.xxx或者10.0.xxx.xxx,这些IP地址都属于私有IP地址。
- DHCP协议,即动态主机配置协议,会通过协议算法分配给一台主机一个IP地址,简单说就是动态分配,比如我们的设备连入无线路由器,那么无线路由器通过DHCP协议就会自动给设备分配一个http://192.168.xxx.xxx的私有IP地址。通过这个私有IP地址,路由器可以在网络层中分辨出谁是谁。注:这里的网络层说的是OSI七层结构中的网络层。
- NAT协议,也就是网络地址转换协议。通过这个协议,我们可以让处于内网中的多个设备的内网IP对应到一个公有地址IP上去,从而实现对internet的访问。可以说NAT协议是对目前ipv4地址日渐枯竭起到一个缓解作用。
接下来就是主题了:
- ipv4地址是很有限的,如今家家户户都拥有多台可联网设备,给每台设备都分配一个固定的公有IP地址是很不现实的。因此我们可以采用这样的办法:首先建立一个内网,这个内网可大可小,小的可以是一台我们家里常用的无线路由器所形成的局域网,大了可以是某个片区内的“局域网”(比如多个住宅小区形成的一个内网)。对于这样的内网,我们并不需要分配给其稀缺的公有地址IP,只需要用私有地址IP就行了(比如上面提到的http://10.0.xxx.xxx),而一些网关设备,或者说运营商的设备由于数量并不是太多,因此可以分配一个公网IP地址,然后我们电脑所使用的内网IP地址通过NAT协议套用上一个公网地址IP,这样就可以实现一个稀缺的公网IP地址+多个内网IP地址来访问Internet了。其中DHCP协议则负责内网和公有IP地址的分配。

- 先声明:上这张图只是为了举例方便,帮助理解,现实中未必是这样的。图中的局域网可以理解为我们的无线路由器,用的是一个内网IP地址(由ADSL局端设备分配的一个内网IP),可以通过NAT转换成另外一个内网IP,也就是ADSL局端设备的内网IP地址(由宽带接入服务器给的内网IP地址),然后ADSL局端设备的内网地址又可以通过NAT转换成公有IP地址(即宽带接入服务器的IP地址),而宽带接入服务器则通过这个公有IP地址去连接internet。这样的话我们就可以不断复用内网IP地址来共享同一个公有IP地址,大大缓解了IP地址的稀缺性。
那么从物理链路拓扑上讲,交换机和路由器又有什么区别的?
路由器工作于网络层,用来隔离广播域(子网),连接的设备分属不同子网,工作范围是多个子网之间,负责网络与网络之间通信。
------------------------------------------------------
举个例子:
家用宽带路由器,其实是交换机和路由器的结合体,有两个网络层接口,一个连接运营商网络,物理上也就是wan口,IP地址由运营商分配。另一个连接家庭网络,没有物理接口,IP地址由自己通过路由器管理界面配置,一般默认是192.168.1.1
那另外几个Lan口干什么用的?这就是交换机接口,和家庭网络接口相连,负责家庭网络内部通信。
192.168.0.0--192.168.255.255
references:
https://www.zhihu.com/question/20465477/answer/31728857
https://www.zhihu.com/question/27186558/answer/35583897
公网IP和私有IP的更多相关文章
- 公有IP和私有IP的区别
什么是IP? 在网络中,每台计算机都有一个唯一的地址,方便别人找到它,这个地址称为IP地址 IP地址是一个网络编码,用来确定网络中的一个节点,是由32位的二进制组成 IP地址的组成? IP地址由网络部 ...
- 公网IP和私有IP的区别和用途
在Internet网络上有上千百万台主机,为了能够将这些主机区分开来,于是就给每台主机都分别配了一个专门的地址,称为IP地址. 通过IP地址就可以访问到每一台主机.IP地址由4部分数字组成,ghost ...
- 公有IP与私有IP
在 IPv4 里面就只有两种 IP 的类别,分别是: Public IP : 公共 IP ,经由 INTERNIC 所统一规划的 IP,有这种 IP 才可以连上 Internet : Private ...
- 【网络基础】【TCP/IP】私有IP地址段
私有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. ...
- 正式表达式判断私有 IP 地址
正式表达式判断私有 IP 地址 ^1(((0|27)(.(([1-9]?|1[0-9])[0-9]|2([0-4][0-9]|5[0-5])))|(72.(1[6-9]|2[0-9]|3[01]) ...
- 私有IP地址共有三个范围段
在现在的网络中,IP地址分为公网IP和私有IP地址.公网IP是在Internet使用的IP地址,而私有IP地址是在局域网中使用的IP地址. 由于我们目前使用的IP V4协议的限制,现在IP地址的数量是 ...
- 解析私有IP地址和公网IP地址
局域网私有IP地址上外网的原理 IP地址分为两部分,网络号和主机号,这种分法应用在私有和公有IP地址上.一个局域网中,为了该局域网的安全,我们应用了私有IP地址,为了和Internet中的其他主机进行 ...
- 公网,专用,共享独立IP介绍
什么是IP地址? IP地址也被称为InternetProtocol地址,IP地址被用于在互联网上确定不同的计算机和设备.你可以认为它像一个邮寄信封一个家庭返回地址,只在数字和时间使用.IP地址被用于在 ...
- oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)
结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...
随机推荐
- uploadify在struts2下的使用
1.首先准备uploadify上传插件包,拷贝到项目目录下 2.注意其中的特殊文件:uploadify-init.js文件,是包含了封装后的特殊函数: /** * uploadify上传插件相关JS ...
- Unity3D之MeleeWeaponTrail武器轨迹插件的使用
MeleeWeaponTrail是Unity Asset Store中的一个免费插件.主要是用于显示武器的轨迹. 首先,找到武器绑定的骨骼.并在骨骼以下加入轨迹显示的起点和终点. 接着,给该骨骼加入M ...
- ndroid网络(4):HttpClient必经之路----使用线程安全的单例模式HttpClient,及HttpClient和Application的融合
上文简 单介绍了HttpClient和Tomcat服务器的交互,主角是HttpClient,然后它跟服务器交互有两种方式即get和post.所以这个 HttpClient就类似于电脑上用的浏览器.当我 ...
- Java Numeric Formatting--reference
I can think of numerous times when I have seen others write unnecessary Java code and I have written ...
- 使用symbolicatecrash分析crash文件
对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug.一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还 ...
- Android 从清单配置文件元数据中获取值
最近在上班工作当中,也尝到了一些新的知识,现总结如下(1)从AndroidManifest.xml配置文件中获取meta数据 // 从Manifest.xml配置文件中获取数据 public stat ...
- poj 2823 Sliding Window(单调队列)
/* 裸地单调队列.. 第一次写 写的好丑.... */ #include<iostream> #include<cstdio> #include<cstring> ...
- 菜鸟学习Ado.net笔记一:Ado.net学习之SqlHelper类
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...
- POJ2449
#include<stdio.h> #include<iostream> #include<queue> #include<vector> using ...
- Maven 镜像
http://mvnrepository.com/http://search.maven.org/http://repository.sonatype.org/content/groups/publi ...