一、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进行详细解释。
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 |