解析私有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是私有地址。