书到用时方恨少,最初接触计算机网络时没有好好了解,导致现在苦逼地反基础,我也就整理一番,加深记忆:OSI模型网络层上IP地址就相当于快递单上填的收货地址,只要填好收货地址:按照所处的国家-州-市-xxx,层级来依次填写,再世界的任何地方都可以将货物发送给你.
网络世界中,收货地址就是IP地址。经典的为IPV4,其结构我随便找个网图:
IP地址分类
分成5类,A,B,C,D,E; 相当于5种套餐吧!服务器集群一般需要很多IP地址,高档的套餐就是A类,B类次之,依次…;
套餐种类主要由能够容纳的IP地址的数量来划分。
IPV4划分IP子群的技术都是相通的,只不过最高层划分被称为IP地址分类。
大的IP空间群划分成数个更小的IP子群,不过IPV4地址只有32位,这个划分的次数
是非常有限的!
IP地址分类采用如下技术:
(Network Index)-NI-代表网络子空间的编号
类别 | 0-7 | 8-15 | 16-23 | 24-31 |
---|---|---|---|---|
A类 | 0xxxxxxx(NI) | |||
B类 | 10xxxxxx | xxxxxxxx(NI) | ||
C类 | 110xxxxx | xxxxxxxx | xxxxxxxx(NI) | |
… |
这种划分规则就像划分扩展码一样,NI标记之前的所有位表示为IP子空间的编号,
也称网络地址,NI之后所有位组成一个连续的空间,这个空间就是该子IP空间中
主机可以用的IP地址,称为主机地址。
这种划分规则在划分子网的时候,又有了一些变化:
在IP地址分类划分的基础上,子网划分会在主机位中取几个位,作为子网(IP子空间)的编号。
比如一个A类地址:
0xxxxxxx.+++++++.+++++++.++++++++
'+'号表示的主机IP子空间中存在大约1600万个IP地址( 2 24 2^{24} 224),这样大的一个IP子空间太过庞大,以至于如果缺乏有效划分,管理将会变得一团糟。(想想一个国家的最小行政单位不是村,而是州…,寄快递的时候说我要寄给山东省的韩梅梅!)
比如按照要求:一个组织的一个部门只需要200个左右的IP,那么可以只留下8个主机位,剩下的24-8=16位都作为子网位,可以大致均分成
2
16
2^{16}
216个子网。
这个时候32位可以划分成以下三个:
A类地址 | 子网编码(subnet) | 主机位 |
---|---|---|
0-7 | 8-23 | 24-31 |
现在子网的编号位也成了网络位的一部分,将所有网络位上对应位都表示成1,主机位都表示成0
11111111.11111111.11111111.00000000
即采用点分十进制位255.255.255.0!这就是子网掩码。对于网络位不是8的整数位的情况,通常在后面加
/
n
/n
/n代表网络位位数。
比如 154.5.127.3/18
地址分类属于B类地址,B类网络位为16位,子网位位18-16=2位。子网数目为
2
2
2^2
22种。
上述子网切分都是均匀切割IP空间,但很多情况下,需求是不均匀的,即子网与子网之间的IP个数需求差别很大。此时采用的是一种称为VLSM(变长子网掩码)
的技术,将一个子网空间再次切割成多个更小的子网空间,但这些更小的
子网空间和其父原来的叔父子网级别是相同的。
概念和用途
网络地址和组播地址:
D类地址用于组播,E类地址用于科研。另外在合法的前三类地址中还有一些特殊的地址用于本地互联网(也就是专用网):
类别 | 起始IP | 结束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 |
网络地址使用子IP空间主机位全为0:
就拿154.5.64.3
,其154.5.64.0
可用作为路由IP.IP子空间主机位全1用于该子网中的广播地址:154.5.127.255
即10011010.00000101.01111111.11111111
保留的IP地址
另外
- 32位全0地址:
0.0.0.0
用做默认路由; - 32位全1:
255.255.255.255
用作泛洪地址 127.0.0.0
作为环回地址,特别地,127.0.0.1用作本机测试,环回测试地址可以- 用于本机进程间通信。在socket编程时接触到过,一个socket API要求输入
此进程的IP地址(代表服务器),另一个进程要与此进程进行通信,需要输入 IP地址和端口号(代表客户端)。 169.254.0.0
是废弃地址(简单的不能用就对了)