解析私有IP地址和公网IP地址
局域网私有IP地址上外网的原理
IP地址分为两部分,网络号和主机号,这种分法应用在私有和公有IP地址上。一个局域网中,为了该局域网的安全,我们应用了私有IP地址,为了和Internet中的其他主机进行通信,我们用的私有IP地址必须为: A级:10.0.0.0 - 10.255.255.255 B级:172.16.0.0 - 172.31.255.255 C级:192.168.0.0 - 192.168.255.255 中的一种,A类私有地址只有网络号为10的网段,B类私有地址占用了B类网络号中172.16——172.31,C类私有地址占用了C类网络号中192.168.0——192.168.255.
具体用哪种要根据该局域网的主机有多少来选择(这样便于后期的维护),这些私有IP地址是不用申请的,但是我们必须申请公有IP地址(一个局域网可以有一个公有IP地址,也可以有多个公有IP地址),公有IP地址在全球是唯一的,私有的不是,我们和Internet上的其他主机通信时,用的都是公有IP地址,但是,在局域网中的机子只配置了私有的IP地址,没关系,我们在网关那有一个应用程序,可以把私有地址转换为公有IP地址,该机制成为NAT(网络地址转换Network Address Translation)。
在局域网中通常使用的IP地址如192.168.0.1等是属于私有地址的。那么为什么要在局域网中使用私有地址呢?使用私有地址有什么好处呢?下面我们来看一下为什么在局域网中要使用私有地址。
我们现在使用的IP地址是IPv4,在现有的协议下,其只能提供大约40亿个IP地址,可是为什么IPv4协议只有40亿个IP地址呢?目前使用的IPv4是用4个字节(byte)来表示IP地址,1字节是8个位(bit),所以IPv4表示的IP地址是4X8=32位。如某人的IP地址是:221.137.148.209,实际上它表示:11011101.10001001.10010100.11010001数字中间的点并仅仅是为了看起来方便而已,可以认为我现在的IP地址是11011101100010011001010011010001。理论上,32位的二进数的个数是: 2^32 = 4294967296也就是:四十二亿九千四百九十六万七千二百九十六,IPv4能表示的地址总数也就这么多了。所以现在有了IPv6,IPv6的地址是128位的,所以个数为:2^128=340282366920938463463374607431768211456,肯定是够地球人用的啦!而本来只有40亿的IP地址都被大on
所以总结下,私有地址就是为解决在IPv4下IP地址不够用而产生的。
比如在一个网络中的主机为400台,那么分配一个C类地址不够用,分配一个B类地址又显得太浪费,在这种情况下,我们可以使用私有IP地址来解决这个问题。这个网络中的所有计算机共享一个公网地址。可以有效的缓解IP地址资源紧缺的问题。
私有IP地址,就是内网用的。10.0.0.0-10.255.255.255和192.168.0.0-192.168.255.255要连接互联网必须把私有IP转换成公网IP,使用NAT转换(下篇随笔将谈谈那NAT的原理),至于为什么会需要私有IP,这是因为IP地址有限,不能每个用户都分配一个IP,所以只能几个人甚至几十个人共用一个IP,很多内网都是一两个公网IP的。
A类地址
1. A类地址
⑴ A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节的最高位固定为0。
⑵ A类地址范围:1.0.0.1到126.255.255.254。
⑶ A类地址中的私有地址和保留地址:
①10.0.0.1到10.255.255.254是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
② 127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。
B类地址
2. B类地址
⑴ B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。另外第1个字节的前两位固定为10。
⑵ B类地址范围:128.0.0.1到191.255.255.254。
⑶ B类地址的私有地址和保留地址
① 172.16.0.1到172.31.255.254是私有地址
②169.254.0.0到169.254.255.255是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器,这时你将会从169.254.0.0到169.254.255.255中临时获得一个IP地址。
C类地址
3. C类地址
⑴C类地址第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110。
⑵ C类地址范围:192.0.0.1到223.255.255.254。
⑶ C类地址中的私有地址:192.168.0.1到192.168.255.254是私有地址。
解析私有IP地址和公网IP地址的更多相关文章
- 自拉ADSL网线搭建站点server,解决动态IP、无公网IP、80port被封、HTTP被屏蔽的方法
自己的server搭建站点应用,提供站点服务,能够不用备案,但可能会面对网络限制问题,如动态公网IP.无公网IP.80port被封.HTTP被屏蔽,这些复杂网络情况. 依据本地网络环境,能够针对不同的 ...
- 动态IP或无公网IP时外网訪问内网ORACLE数据库
ORACLE数据库是应用最多的一个数据库.一般项目应用.将ORACLE部署在内网,内网调用,及运维都仅仅能是内网完毕. 假设ORACLE主机或所在局域网没有固定公网IP,又想在外网对ORACLE进行訪 ...
- 阿里云Open API自动化脚本—ECS公网IP转化弹性公网IP
1.OpenAPI Explorer 记录一下使用阿里云 Open API 自动化/脚本化 “ECS 公网 IP 转化弹性公网 IP”的实现 全过程.原博客地址:https://www.markedi ...
- java获取客户端请求IP地址(公网ip)
之前写了一个获取ip地址的方法,但是放网上一查显示此Ip地址是局域网ip地址,要是想获取请求端的真实公网ip地址怎么样了,看了一些别人的博客后发现,想要获取客户端的公网ip必须借助第三方. packa ...
- 获取本地ip和获取公网ip
import socket def get_local_ip(): ''' 获取本地ip地址 :return: ''' s = socket.socket(socket.AF_INET, socket ...
- js获取设备公网ip + 服务器根据公网ip 获取IP信息
1.前言 本来呢,想实现js定位功能,最少定位到城市,一开始,使用的是搜狐的api直接获取数据,可是,有时候搜狐不可靠,只能得到 公网ip,其他信息无用,就像这样 2.既然这样,还不如我自己请求自己的 ...
- dd-wrt ddns更新失败由于电信提供的ip不是公网ip
由于电信提供的ip地址原来是公网的ip,后来电信通过nat提供一个内网ip,导致ddns更新失败.电话给电信客服10000号,让他们修改回来之后就可以了. 如果ddns更新失败,尤其是原本是正常的,后 ...
- 阿里云ecs配置辅助网卡绑定公网ip地址
EIP直通车 前置条件:1.大家的实例是从经典迁移到VPC里面的,上古时期,经典实例大家购买实例的时候都是买了带宽的.而这种带宽一般情况下都是包年包月的,而且这种绑定在实例上的IP,我们把它叫做公网I ...
- 内网ip/公网ip
ip地址初识: 现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址. IP地址类型 最初设计互 ...
随机推荐
- js日期格式化
<html> <head> <script> function test(){ //Js获取当前日期时间及其它操作 var myDate = new Date(); ...
- Eclipse中Ctrl+方法名发现无法进入到该方法中……
我现在的情况是,按住Ctrl点击该方法后,发现进入不到这个方法的定义. 后来我发现,是因为这个项目是在某个项目文件夹中,如下: 这时直接找到server这个项目就没有问题了,如图:
- asp.net权限控制配置web.config
项目下 有三个文件夹 A,B,C 验正方式是 Forms 验正 我要设置他们的访问权限为, A,匿名可访问 B,普通用户授权后才能访问 C,只允许管理员访问 <configuration> ...
- spring优化使用
1.bean由框架填充,避免手写优化代码. 2.view的展示通过配置或注解实现最优化使用架构. 待续...
- js常用函数陆续总结
1.each() 方法规定为每个匹配元素规定运行的函数. $.each(data,function(index,item){ sb.append(item.answerNum); } $(" ...
- sql 循环某段时间的每一天
create table #t1( 日期 datetime) declare @stime datetime;declare @etime datetime set @stime ='2015-01- ...
- css初始化样例代码
/* css reset www.admin10000.com */ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fields ...
- BZOJ2679 : [Usaco2012 Open]Balanced Cow Subsets
考虑折半搜索,每个数的系数只能是-1,0,1之中的一个,因此可以先通过$O(3^\frac{n}{2})$的搜索分别搜索出两边每个状态的和以及数字的选择情况. 然后将后一半的状态按照和排序,$O(2^ ...
- 【转】crontab定时任务中文乱码问题
转载:http://blog.163.com/rettar@126/blog/static/1216503422012135511740/ 手动执行都很正常的的脚步,添加到定时任务中一直执行失败,日志 ...
- Leetcode Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...