IP地址由两部分组成:
网络 ID:标识网络,每个网段分配一个网络ID,处于高位
主机 ID:标识单个主机,由组织分配给各设备,处于低位
CIDR 无类域间路由表示法:IP/网络ID位数,如:172.16.0.100/16
netmask子网掩码:32位(IPv4)或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机ID,对应网络ID的位为1,对应主机ID的位为0
子网掩码的八位:
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
常用公式:
一个网络的最多的主机数=2^主机ID位数-2
网络(段)数=2^网络ID中可变的位数
网络ID=IP与netmask
网络ID+主机ID=32位
与运算:和0相与结果为0;和1相与结果保留原值
1、一个主机:203.101.123.163/28
子网掩码:255.255.255.240
主机数:2^(32-28)-2=14
网络ID=160,即203.101.123.160
IP范围:203.101.123.161~203.101.123.174
解析:
网络ID=IP与netmask
163转化为二进制为10100011
240转化为二进制为11110000
相与的结果为:10100000,转化为十进制为160
此网段的主机中最小的IP:203.101.123.161(160+1),最大的IP为:203.101.123.174(160+14)
2、一个主机:172.16.1.100/28
子网掩码:255.255.255.240
主机数=2^(32-28)-2=14
网络ID=96,即172.16.1.96
IP范围:172.16.1.97~172.16.1.110
解析:
IP和子网掩码相与
100转化为二进制为1100100
240转化为二进制为11110000
相与的结果为:1100000,转化为十进制为96
此网段的主机中最小的IP:172.16.1.97(96+1),最大的IP为:172.16.1.110(96+14)
判断对方主机是否在同一个网段:
判断方法:用自已的子网掩码分别和自已的IP及对方的IP相与,比较结果,相同则同一网络,不同则不同网段
判断A和B是否在同一个网段?
A:10.0.0.1/24
B:10.0.0.2/24
前24位一样,属于同一网段
A:10.0.1.1/24
B:10.0.2.2/24
前24位不一样,不在同一网段
A: 10.0.1.1/16
B: 10.0.2.2/24
A:(1)用自已的IP和自己的子网掩码相与
10.0.0.1和255.255.0.0相与,相与的结果为:10.0.0.0
(2)用对方的IP和自己的子网掩码相与
10.0.0.2和255.255.0.0相与,相与的结果为:10.0.0.0
(3)10.0.0.0=10.0.0.0
所以,A访问B,属于同一网段
B:(1)用自已的IP和自己的子网掩码相与
10.0.2.2和255.255.255.0相与,相与的结果为:10.0.2.0
(2)用对方的IP和自己的子网掩码相与
10.0.1.1和255.255.255.0相与,相与的结果为:10.0.1.0
(3)10.0.2.0 !=10.0.1.0
所以,B访问A,不属于同一网段
A: 210.123.222.100/20
B: 210.123.198.100/20
222转换成二进制为:11011110
198转换成二进制为:11000110
分别取前4位
1101 !=1100
所以,A和B,不属于同一网段
A: 172.18.0.100/24
B: 172.18.10.100/16
A和B相互不能通信,但可以上网,因为都在同一网关,都是172.18.0.1网段