Skip to content

IP地址

IP地址(internet protocol address)全称是互联网协议地址,也称为网际协议地址。IP地址使用IP协议为主机和网络提供统一格式的逻辑地址,其目的是屏蔽物理地址的差异

目前最常用的IP地址包括IPv4地址和IPv6地址

IPv4地址

IPv4(internet protocol version 4)表示IP协议的第4个版本,IP协议地址是目前最常用的地址格式

格式

IPv4地址长32位(4个字节),以点分十进制形式表示,即4个字节用点号隔开,以十进制表示

a.b.c.d

结构

IPv4地址结构经历过三个大的改变,一是设置两级IP地址,二是添加子网字段设置三级IP地址,三是无分类编址

设置两级IP地址

ipv4地址由两部分组成:

ipv4地址 = {<网络号>,<主机号>}

网络号标志主机(或路由器)所连接到的网络

主机号标志该主机(或路由器)

根据网络号的不同长度可分为A/B/C/D/E类网络

  • A类地址网络号长度为1个字节,前1位是类别位,规定为0
  • B类地址网络号长度为2个字节,前2位是类别位,规定为10
  • C类地址网络号长度为3个字节,前3位是类别位,规定为110
  • D类地址没有网络号,前4位是类别位,规定为1110
  • E类地址没有网络号,前4位为类别位,规定为1111

A/B/C类地址是单播地址,用于一对一通信

D类地址是多播地址,用于一对多通信

E类地址保留为以后使用

添加子网字段设置三级IP地址

IPv4地址由三部分组成:

IPv4地址 = {<网络号>,<子网号>,<主机号>}

网络号标志主机(或路由器)所连接到的网络

子网号标志主机(或路由器)所连接到的子网

主机号标志该主机(或路由器)

通过子网掩码区分子网号和主机号,子网掩码长32位,与ipv4地址一一对应,网络号和子网号的对应位置为1,主机号的对应位置为0

比如设置B类地址的子网号占3位,那么主机号占13位,子网掩码为

# 二进制
11111111 11111111 11100000 00000000
# 点分十进制
255.255.224.0

通过IPv4地址和子网掩码进行与运算,得到子网号和主机号

默认子网掩码

若网络不划分子网,就使用默认子网掩码

  • A类地址的默认子网掩码是255.0.0.0
  • B类地址的默认子网掩码是255.255.0.0
  • C类地址的默认子网掩码是255.255.255.0
子网个数

根据RFC 950文档,子网号不能为全1或全0(全0表示本网络,全1表示广播地址)

比如上例中B类地址的子网号占3位,子网掩码为255.255.224.0,其可划分子网数为2^3-2=6

主机号划分

主机号不能分配全1和全0地址

比如上例中B类地址的子网号占3位,那么主机号占13位,其可分配主机号个数为2^13-2=8190

无分类编址

无分类域间路由选择(Classles Inter-Domain Routing, CIDR)取消之前的A/B/C/D/E类地址和子网划分概念,将32IP地址划分为前后两个部分

IPv4地址 = {<网络前缀>,<主机号>}

其中网络前缀长度任意,通过斜线记法(slash notation),在ip地址后加上斜线,后面写上网络前缀的位数

xxx.xxx.xxx.xxx/22

在路由选择中使用32位的地址掩码,网络前缀的对应位数为1,主机号的对应位数为0

子网划分

各自单位在获取无分类编址后,仍旧可以划分子网,在原先的网络前缀中再加上子网位数

比如网络前缀长度为20,再继续划分8个子网(占3位),那么每个子网的网络前缀长度变成23

子网个数

根据RFC 1878文档,子网数可以为全1或者全0

IPv6地址

IPv6(internet protocol version 6)表示IP协议的第6个版本,其目的是提供更多的IP地址,解决IPv4地址资源有限的问题

IPv6地址长度为128位,采用16进制表示,使用冒分十六进制表示法

格式为X:X:X:X:X:X:X:X,每个X表示16位,用十六进制表示,比如ABCD:EF01:2345:6789:ABCD:EF01:2345:6789(每个X的前导0可以省略)

相关阅读