ip 地址划分
ip 地址是用来标识网络中的一个通信实体,如一台主机,或着是路由器的某一个端口。而在基于 IP 协议网络中传输的数据包,也都必须使用 IP 地址来进行标识,如同写一封信,要标明收信人的通信地址,和发信人的地址,邮政工作人员通过该地址决定邮件的去向。
IP 地址主要由两部分组成:
一部分是用于标识该地址所从属的网络号;
另一部分用于指明该网络上某个特定的主机号;
网络号是由 internet权力机构分配的,主机地址是由各个网络的管理中统一分配。因此,网络地址的唯一性与网络内主机地址的唯一性确保了 IP 地址的全球唯一性(其中保留给私网使用的地址段除外,私网使用的地址段没有 10.0.0.0〜10.255.255.255、172.16.0.0〜172.31.255.255、192.168.0.0〜192.168.255.255)
ip 地址分为 5 个不同的类,A、B、C 三类最为常用,D类用于组播,E 类用于科研:
ip 地址类型 | 第一字节十进制范围 | 二进制固定最高位 | 二进制网络位 | 二进制主机位 | 单个网络中可容纳主机数 |
A | 0〜127 | 0 | 8位 | 24位 | 2^24-2 |
B | 128〜191 | 10 | 16位 | 16位 | 2^16-2 |
C | 192〜223 | 110 | 24位 | 8位 | 2^8-2 |
D | 224〜239 | 1110 | 组播地址 | ||
E | 240〜255 | 1111 | 保留实验使用 |
A 类地址中 0 不允许使用,127 作为测试 TCP/IP 的回环地址,也不可以使用,因此 A 类地址实际可用的地址是 1〜126 。
A 类地址的网络位是 8 位,在子网掩码的二进制格式中,前面的 8 位是 1 ,子网掩码中 1 表示的是网络位,0 表示的是主机位,所以 A 类地址的默认子网掩码是 255.0.0.0 。同理,B 类地址的默认子网掩码中,1 的位数是 16 位,转换成 十进制就是 255.255.0.0 ;C 类地址的默认子网掩码中,1 的位数是 24 位,换成十进制就是 255.255.255.0
子网的划分
x | x | x | x |
1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 |
128 64 32 16 8 4 2 1 | 128 64 32 16 8 4 2 1 | 128 64 32 16 8 4 2 1 | 128 64 32 16 8 4 2 1 |
如何判断计算机是否在同一个子网呢?
1.把IP地址和子网掩码换算成二进制,然后进行 “与” 运算,也就是二进制的按位取小运算,得出一台计算机所在的网络号,如何计算机网络号相同,则它们处在同一个子网。
192 168 1 0 /24 # ip 地址
11000000 10101000 00000001 00000000 # ip 地址对应的二进制
11111111 11111111 11111111 00000000 # 子网掩码
# 与结果:
192 168 2 0 /24 # ip 地址
11000000 10101000 00000010 00000000 # ip 地址对应的二进制
11111111 11111111 11111111 00000000 # 子网掩码
# 与结果:
子网划分的时候,主机位全 0 、全 1 的 IP 地址都不可以使用,全 0 是子网地址,全 1 是子网广播地址,如 192.168.1.0/24 是代表网络地址, 192.168.1.254/24 代表广播地址
子网计算
某台机器IP和子网掩码 172.16.2.160/26 ,计算出该机器所在的子网地址、子网广播地址、子网中第一个可用的IP 地址,子网中最后一个可用的IP 地址、子网中可用 IP 地址数?
172 | 16 | 2 | 160 | ||
---|---|---|---|---|---|
ip 地址 | 172.16.2.160 | 10101100 | 00010000 | 00000010 | 10100000 |
子网mask | 255.255.255.192 | 11111111 | 11111111 | 11111111 | 11000000 |
子网地址subnet | 172.16.2.128 | 10101100 | 00010000 | 00000010 | 10000000 |
广播地址broadcast | 172.16.2.191 | 10101100 | 00010000 | 00000010 | 10111111 |
first | 172.16.2.129 | 10101100 | 00010000 | 00000010 | 10000001 |
last | 172.16.2.190 | 10101100 | 00010000 | 00000010 | 10111110 |