一、IP

IP可以分为公网IP和私有IP,出现这种规划的原因在于,随着全球TCP / IP技术的普及,IPv4所能表示的IP太少而电脑太多以至于不够用。
需要明确的一点是,公网IP只能由企业或单位向IANA申请之后才能获得,公网IP可以在Internet中任意访问,而私有IP则在内部网络中使用,只有通过公网IP才能进行外网连接。
IP可以分为:A类、B类、C类、D类、E类等。每个IP地址都由4个字节共32位组成,其中包含两个标识:网络ID和主机ID。我们实际中一般只会遇到A、B、C三类IP,所以我针对这三类IP进行详细解释。
image.png

1.A类

A类地址第1字节为网络ID,其它3个字节为主机ID。理论可用IP地址范围:0.0.0.0~127.255.255.255,实际可用IP地址范围:1.0.0.1~126.255.255.254。

(1)网络数

A类地址第1个字节的第一位固定为0,加上剩余的7位组成网络ID,因此A类地址的最大网络数本应该是2^7=128个,即网段编号为0~127。但是因为还需要扣除2个保留地址,全是“0”的0号网段0.X.X.X用来标识A类网络本身、全是“1”的127号网段127.X.X.X用作广播地址,用于代表A类网络上的所有主机,作循环测试,所以A类地址实际的最大网络数是126个,即网段编号为1~126(其中10号网段是私有地址,即10.0.0.0~10.255.255.255)。

(2)主机数

A类地址有3个字节作为主机ID,因此A类地址每个网段下的最大主机数本应该是2^24=16777216,但因为还需要扣除主机位全“0“的子网标识地址和主机位全“1“的子网广播地址,所以A类地址每个网段下实际的最大主机数是16777214。

2.B类

B类地址前2个字节为网络ID,后2个字节为主机ID。理论可用IP地址范围:128.0.0.0~191.255.255.255,实际可用IP地址范围:128.1.0.1~191.254.255.254。

(1)网络数

B类地址第1个字节的前两位位固定为10,加上剩余的14位组成网络ID,因此B类地址的最大网络数本应该是2^14=16384个,即网段编号为0~16383。但是因为需要扣除2个保留地址,全是“0”的0号网段128.0.X.X用来标识B类网络本身,全是“1”的16383号网段191.255.X.X用作广播地址,用于代表B类网络上的所有主机,作循环测试,所以B类地址实际的最大网络数是16382个,即网段编号为1~16382(其中10750号网段是保留地址,即169.254.0.0~169.254.255.255,用于无可用的DHCP服务时获取其中一个IP;11280号~11295号网段是私有地址,即172.16.0.0~172.31.255.255)。)。

(2)主机数

B类地址有2个字节作为主机ID,因此B类地址每个网段下的最大主机数本应该是2^16=65536,但因为还需要扣除主机位全“0“的子网标识地址和主机位全“1“的子网广播地址,所以B类地址每个网段下实际的最大主机数是65534。

3.C类

C类地址前3个字节为网络ID,后1个字节为主机ID。理论可用IP地址范围:192.0.0.0~223.255.255.255,实际可用IP地址范围:192.0.1.1~223.255.254.254。

(1)网络数

C类地址第1个字节的前三位位固定为110,加上剩余的21位组成网络ID,因此C类地址的最大网络数本应该是2^21=2097152个,即网段编号为0~2097151。但是因为需要扣除2个保留地址,全是“0”的0号网段192.0.0.X用来标识C类网络本身,全是“1”的2097151号网段223.255.255.X用作广播地址,用于代表C类网络上的所有主机,作循环测试,所以C类地址实际的最大网络数是2097150个,即网段编号为1~2097150(其中21504号~21760号网段是私有地址,即192.168.0.0~192.168.255.255)。

(2)主机数

C类地址有1个字节作为主机ID,因此C类地址每个网段下的最大主机数本应该是2^8=256,但因为还需要扣除主机位全“0“的子网标识地址和主机位全“1“的子网广播地址,所以C类地址每个网段下实际的最大主机数是254。

二、子网划分

1.A类

案例:网络地址=10.0.0.0,子网掩码=255.255.240.0,求子网划分结果。
255.255.240.0中最后三个字节为1111,1111,1111,0000,0000,0000(二进制),所以12位用于子网划分,余下12位用于主机编址。子网个数为2^12=4096,主机个数2^12-2=4094,第二字节子网步长为256-255=1,第三字节子网步长为256-240=16,所以子网号为0.0.0、0.16.0、0.32.0、0.48.0、0.64.0、0.80.0…225.208.0、255.224.0、255.240.0。

子网 0.0.0 0.16.0 0.32.0 255.208.0 255.224.0 255.240.0
第一个主机地址 0.0.1 0.16.1 0.32.1 255.208.1 255.224.1 255.240.1
最后一个主机地址 0.15.254 0.31.254 0.47.254 255.223.254 255.239.254 255.255.254
广播地址 0.15.255 0.32.255 0.47.255 255.223.255 255.239.255 255.255.255

2.B类

案例:网络地址=172.16.0.0,子网掩码=255.255.255.128,求子网划分结果。
255.255.255.128中最后两个字节为1111,1111,1000,0000(二进制),所以9位用于子网划分,余下7位用于主机编址。子网个数为2^9=512,主机个数2^7-2=126,第三字节子网步长为256-255=1,第四字节子网步长为256-128=128,所以子网号为0.0、0.128、1.0、1.128、2.0、2.128…255.0、255.128。

子网 0.0 0.128 1.0 1.128 255.0 255.128
第一个主机地址 0.1 0.129 1.1 1.129 255.1 255.129
最后一个主机地址 0.126 0.254 1.126 1.254 255.126 255.254
广播地址 0.127 0.255 1.127 1.255 255.127 255.255

3.C类

案例:网络地址=192.168.10.0,子网掩码=255.255.255.224,求子网划分结果。
255.255.255.224中最个一个字节为1110,0000(二进制),所以3位用于子网划分,余下5位用于主机编址。子网个数为2^3=8,主机个数2^5-2=30,子网步长为256-224=32,所以子网号为0、32、64、96、128、160、192、224。

子网 0 32 64 96 128 160 192 224
第一个主机地址 1 33 65 97 129 161 193 225
最后一个主机地址 30 62 94 126 158 190 222 254
广播地址 31 63 95 127 159 191 223 255