20211003计网IPv4
1.常见用的二进制数用十进制表示
- 参照表
- 有了上述的表可以快速得出十进制的二进制表示
- 例:255 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 0 = 2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 --> 11111111
- 例:50 = 32 + 16 + 2 --> 00110010
2.网络号和主机号
-
IPv4的结构
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
IPv4是由4组二进制的8位数字构成的每组8位数字之间使用
.
进行分割,共32位。每一组最低可以由8位0构成,最高可以用8位1构成,即0~11111111;用10进制表示刚好是0~255,256个数字
-
IP地址分别由两个部分组成:网络号和主机号
- 网络号:子网掩码与给定的IPV4地址做按位与(&)得到的就是网络号
- 主机号:使用网络号区分不同的地区,地区下面使用主机号来区分每一台确定的主机
3.分类
-
A类地址
(1)A类地址第1字节为网络地址,其它3个字节为主机地址。
(2)A类地址范围:1.0.0.1—126.255.255.254
(3)A类地址中的私有地址和保留地址: ① 10.X.X.X是私有地址范围(10.0.0.0-10.255.255.255) ② 127.X.X.X是保留地址,用做循环测试用的。
-
B类地址
(1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。
(2) B类地址范围:128.0.0.1—191.255.255.254。
(3) B类地址的私有地址和保留地址 :① 172.16.0.0—172.31.255.255是私有地址 ② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
-
C类地址
(1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110。
(2)C类地址范围:192.0.0.1—223.255.255.254。
(3) C类地址中的私有地址: 192.168.X.X是私有地址。(192.168.0.0-192.168.255.255)
-
D类地址
(1) D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
(2) D类地址范围:224.0.0.1—239.255.255.254
-
E类地址
(1) E类地址不分网络地址和主机地址,它的第1个字节的前五位固定为11110。
(2) E类地址范围:240.0.0.1—255.255.255.254
-
A~C类的范围网络数主机数如下表:
地址分类 范围 网络数 主机数 A 0.0.0.0 ~ 127.255.255.255.255 128 16777216 B 128.0.0.0 ~ 191.255.255.255 16384 65536 C 192.0.0.0 ~ 223.255.255.255 2097152 256
4.子网掩码
-
引例:
有4个主机,需要4个不同的IP,已知当前的网络号是192.168.0.x。x使用0~255表示主机号(不考虑特殊地址),则4个主机可以使用0~3这4个数字表示主机号,可以发现256个主机号中,有251个地址被浪费了。因此为了解决这个问题,才有了子网掩码。
-
使用子网掩码能够划分若干个IP地址同属于一个网络。即通过子网掩码划分网络号和主机号。
- 例:当下列3个IP地址同处于一个网络时,求他们的子网掩码
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
- 把需要放在同一个网路中的IP地址转换成二进制表示。
- 11000000.10101000.00000000.00000001
- 11000000.10101000.00000000.00000010
- 11000000.10101000.00000000.00000011
- 通过观察可以发现前面的192.168.0都是固定不变的,因此可以二进制的1进行锁定:
- 11111111.11111111.11111111来锁定
- 再次观察可以得知,最后一段二进制的8位中,前6位也是相同的,也可以通过1进行锁定
- 剩下的两位不能锁定。因为剩下的两位是用来表示主机号的。用0表示不锁定
- 综上得到锁定后的地址为:11111111.11111111.11111111.11111100
- 使用10进制表示上述的二进制地址:
- 255.255.255.252
- 那么可以判断IP:192.168.0.4和上述的3个IP地址不处于同一个网段
- 192.168.0.4 转换为二进制表示 11000000.10101000.00000000.00000100
- 可以发现使用255.255.255.252对当前这个二进制进行
&
运算得到的网络号与上述例子给出的三个IP地址的网络号不同 - 因此,可以下定结论说明,这个当前IP地址与上述例子给出的三个IP地址不属于同一个网络
- 例:当下列3个IP地址同处于一个网络时,求他们的子网掩码
-
通常来说对于子网掩码来说,使用全格式的4段10进制表示较于冗长,因此可以使用CIDR的方式进行表示
- 对于子网掩码255.255.255.252即11111111.11111111.11111111.11111100有30个1
- 因此可以使用192.168.0.0/30 表示 4 个主机号(192.168.0.0~3)同处于一个网络。最后一位通过起始的0进行表示,不是1,2或者3。
无限进步