概述
IPv4,全称Internet Protocol version 4,网际互联协议第四版。“the Internet”专指的互联网,而这里感觉internet翻译成“网络之间”、“网际”比较好,而不是“互联网”。
IP地址
IP地址是IP协议中重要的一个逻辑概念,它用来去定位、寻找网络的组成部分中的一个(单播)或一些(多播、组播)
IP地址的组成
一个IP地址由4组8位的二进制数组成,中间用“.”分隔,如:
1 | 11000000.10101000.00000001.00000010 |
二进制位数太多,为了记忆、表达方便,一般采用十进制方式表达,每一段取值区间为[0,255],上述IP地址可表示为
1 | 192.168.1.2 |
掩码(Mask)
一个IP地址共有4×8=32位组成,按照位来划分,可人为定义主机号和网络号,比如
1 | 192.168.1.2 |
我们定义前24位是网络位,后面8位是主机位。如此一来,我们可以很方便地根据前24位IP来定位一个网络,后8位来定位一台主机。其中192.168.1.0表示一个网络号,192.168.1.2表示192.168.1.0这个网络中的一台主机,24是192.168.1.0这个网络的掩码长度。
很容易发现192.168.1.0这个网络可用前24位唯一标识,而后8位主机位不能影响我们识别一个网络。那么我们将192.168.1.2化为二进制11000000.10101000.00000001.00000010,将它和由24个1和8个0组成的“IP”地址11111111.11111111.11111111.00000000进行’与’操作,得到的恰好就是它的网络号11000000.10101000.00000001.00000000(192.168.1.0)。把这个特殊的“IP”化为二进制得到255.255.255.0,这就是子网掩码。
IP地址分类、私有地址
有类划分
早期IP地址有一套有类划分方式,即根据一定则将IP地址根据子网掩码/8,/16,/24分为不同类。但是这种分类方案显然并不十分合理,浪费IP资源。比如一个固定20台终端的部门被分配了/24掩码的网段,那么有230多个地址没有被使用。
无类划分
后来有了VLSM(可变长子网掩码)的概念,即可任意指定子网掩码。早期的路由协议如ripv1,igrp等都是只支持有类路由的;而CIDR(无类域间路由),是基于VLSM的。
私有IP地址
IP地址是一个逻辑概念,用于定位互联的网络中一台终端。理论上一个网络中所有IP地址不能有重复,但是由于IPv4地址耗尽,必须复用一些IP地址。一些不接入互联网的组织、单位、机构等,只需内部网络IP地址保持唯一即可。私有IP就是为这种场景设计的,在IP地址的有类划分中,每一类都有一个私有地址段。当然这种场景下,如果有访问互联网的需求,在公网地址有限的情况下,可以通过NAT技术实现私有网络与互联网互通。
IPv4地址有类划分
A类地址
IP地址第一段首位固定为0,即
1 | 0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx |
由于第一位固定是0,第一段取值范围为0-127
A类私有地址为10.0.0.0/8
A类地址占总地址1/2
B类地址
首位固定10,
1 | 10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx |
第一段取值范围是128-191
私有地址172.16.16.0/12 (16-31) 16个B
C类地址
首位固定110
1 | 110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx |
第一段取值范围192-223
私有地址192.168.0.0/16 256个C
C类地址占总地址1/8
D类地址(组播,没有网络号和主机号)
首位固定1110
1 | 1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx |
首段取值224-239
私有地址239.0.0.0/8
D类地址占总地址1/16