网络学习笔记之IP地址

在 TCP/IP 体系中,IP 地址是一个基本概念。
每一个联网的设备都有一个自己的 IP 地址,类似于现实中快递单上的快递地址的作用。

IP地址的表示

一般情况下,我们讨论的 IP 地址是一串 32 位的二进制数字(IPv4 协议下的,IPv6 协议下的会更长128 位)。
比如:
10000000 00001011 00000011 00011111 表示一个 IP 地址。
通过计算,可以发现 32 位的 IP 地址有 2^32(大约是 43 亿)个。

为了方便人类记忆和交流,增强可读性,我们会每隔 8 位放一个点隔开(8 位等于 1 字节,因此这样分隔是很合理的),这样 32 位的 IP 地址就划分为 4 段。
再将每一段转化为我们人类习惯使用的十进制数字。最后的 IP 地址表示为 4 个十进制的数字以点隔开。
这就是 点分十进制记法(dotted decimal notation)。

例如,上述的数字可根据此转化成:128.11.3.31

进制转换计算:
懒人可以使用计算器大法
我们在电脑召唤计算器(win+r => cmd => calc),切换到程序员模式,使用方法举例如下:
DEC表示十进制,BIN表示二进制。在这里插入图片描述

每个都算完的结果:

10000000 => 128
00001011 => 11
00000011 => 3
00011111 => 31

目前通用的是IPv4协议,因此,一般我们讨论的 IP 地址按照 32 位(4个字节)。

网络号 子网号 主机号

除此以外,我们还会经常看到类似于 255.255.255.0 192.168.2.1/20等格式的数字,它们有何含义?
IP地址虽说是一串 32 位的数字,但根据其含义和作用,IP的组成可划分为两级结构。
IP ::={<网络号>,<主机号>}::=表示“定义为”)这是互联网发展早期采用的分类编址方式,IP地址划分成ABCDE五类。ABC是单播地址,A类地址网络号是前8位,B类地址网络号是前18位,C类地址的网络号是前24位。但这种编址方式造成IP地址分配不合理而浪费的结果。(0开头属于A类,10开头属于B类,110 开头属于C类)
后来就流行了无分类编址CIDR方式,他把<主机号>进一步划分成<子网号>+<主机号>,把<网络号>和<子网号>并在一块,合成<网络前缀>。

稍微详细一点的介绍可以参考下面的链接:
IP 地址和子网掩码(从分类编址到无分类编址CIDR)
更具体的知识可查找教材或搜索相关资料。

这样一来,就有了:IP ::={<网络前缀>,<主机号>}
而网络号,子网号,主机号之间的划分界限,则是通过子网掩码(或斜线记法斜线/后面的数字)以及各类 IP 定义得出的。
我们还需要知道的是,主机号全0表示该主机的网络地址,主机号全1表示该网络的广播地址,这两个地址都是保留的,不可指派使用。

例题

下面举个例子:
以 C类IP地址: 210.2.2.0,子网掩码:255.255.255.224 为例:
210.2.2.0 ============== 11010010.00000010.00000010.00000000
255.255.255.224 ======== 11111111.11111111.11111111.11100000
该IP地址是110 开头,因此它属于C类IP地址,前24位是网络号。通过子网掩码发现,它有27个1,因而其网络前缀是27位,子网号就是 27-24=3 位。剩余的5位就是主机号了。

按位AND进行运算(和1对齐的保留数字,和0对齐的变为0) 。
得到:
C 类网络地址==============11010010.00000010.00000010.00000000
但是其作为主网络地址,不可指派给用户使用,除此以外,主网络广播地址也不可指派。(容易引发二义性)

参考:子网号能不能为全0或全1

子网号有 3 位,减去主网络的网络地址和广播地址,可用子网数量为:2^3-2 =6 个。
主机号有 5 位,减去全 0 和全 1 的情况,每个子网可用主机数为:2^5-2 = 30 个。
我们讨论第一个和最后一个子网地址:
第一个(可用)子网:

网络地址 ============= 11010010.00000010.00000010.00100000
广播地址 ============= 11010010.00000010.00000010.00111111
第一可用IP地址 ======== 11010010.00000010.00000010.00100001
最后一个可用IP地址===== 11010010.00000010.00000010.00111110

最后一个(可用)子网:

网络地址 =============== 11010010.00000010.00000010.11000000
广播地址 =============== 11010010.00000010.00000010.11011111
第一可用IP地址 ========== 11010010.00000010.00000010.11000001
最后一个可用IP地址 =======11010010.00000010.00000010.11011110

总结:

  1. 主机号全0表示网络地址,全1表示广播地址。
  2. 分类编址下的可用子网数量需要舍去子网号全0和全1的情况。
  3. 无分类编址CIDR下的可用子网数量则无需考虑子网号全0和全1的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值