网络其他

关注公众号 jb51net

关闭
网络 > 网络其他 >

计算机网络之IP地址和子网掩码的关系

尹煜

一、IP地址

了解IP地址扮演的角色有助于明白IP地址的含义乃至IP地址和子网掩码的关系

IP(Internet Protocol—网际互连协议),是TCP/IP体系中的网络层协议,它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层。他最大的作用是网际互连,因此它是统一的国际标准,大家都按这一套来,网际中传输的额资源只有通过IP识别才能找到网关(局域网内部负责人),再通过网卡(MAC地址)进而定位到电脑。简单来说,IP就是位于网络层的一个通用的用来标识网络主机进行通讯的协议。

TCP/IP体系涵盖很广,包括应用层:TelnetFTPSMTP等,传输层:UDP、TCP,数据链路层:ARP、RARP,网络层:ICMP、IP、IGMP,每个协议都发挥着重要的作用。

(1)IP地址分类

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”。

二进制表示

A类地址分配给规模特别大的网络使用,B类地址分配给一般的中型网络,C类地址分配给小型网络,如局域网,C类地址分配给小型网络,如局域网。

十进制表示及二进制IP地址特征

 很多情况下IP地址会以十进制表示,但是大家也不要忘了他的二进制表现形式

(2)IP地址构成

 IP地址 = 网络地址 + 主机地址

这儿的IP地址表现形式参考二进制,若从十进制表现形式(例1.0.0.0)来看,点隔开了每个字节(1字节8位),也就是说A类地址第一个字节是网络地址、后三个字节是主机地址。

 比如一个C类IP地址:192.168.1.1,那么网络地址:192.168.1.0主机地址:0.0.0.1

网络地址是子网中最小的地址,主机地址该网段中 主机的地址编号,大家把网络地址想象成街道地址,把主机地址想象成门牌号就容易理解了,两者结合的IP地址就是具体的家庭地址(电脑主机)。

二、子网掩码

子网掩码是一个32位的2进制数 ,它必须结合IP地址一起使用。

子网掩码只有一个作用,就是将某个IP地址划分成“网络地址”和“主机地址”两部分。

其实很多时候,你并不知道这个IP地址究竟是A类、B类还是C类地址,那么子网掩码的作用就出现了,子网掩码通过和IP地址的“与”运算,求出主机地址是多少。

位与()即如果两个位进行比较两位同时为1,结果才为1,否则结果为0。👇

125  &  7
二进制: 01111101 & 00000111

位与比较:    
0 1 1 1 1 1 0 1
---------------
0 0 0 0 0 1 1 1
 |  |  |  |  |  |  |  |
× × × × ×√ × √
 |  |  |  |  |  |  |  |
0 0 0 0 0 1 0 1

结果: 125&7 = 0000 0111 = 5

默认子网掩码

十进制255也就是二进制11111111,1的个数正是缩写的含义,假如子网掩码是254.0.0.0(二进制11111110),那么它的缩写就是/7

计算公式及案例

计算公式:网络地址 = IP & 子网掩码

案例1:

三、广播地址

广播地址是专门用于同时向网络中所有工作站进行发送的一个地址

广播地址是该子网主机地址全1的地址,即子网中最大的地址

比如案例1中的网络地址192.163.0.0(二进制11000000 10100011 00000000 00000000),将其主机地址位置都填上1(二进制11000000 10100011 11111111 11111111),那么他的网络地址就是192.163.255.255(十进制),举个例子,不一定符合现实~

计算方式:广播地址 = (~子网掩码) | 网络地址

这计算公式意思是(子网掩码位取反)或网络地址,需要相关知识,详情见此链接:位运算 看这篇就够了

个人建议形象理解吧,往网络地址的主机地址位置(都是0)填上1即可,下边的案例二算是进阶吧,有需求的同学可以学习下。

案例2:

 四、子网容量相关

(1)子网数

根据子网掩码可划分的最大子网数

计算方式:子网数 = 2^(实际子网掩码缩写 - 相应网络类型默认子网掩码缩写)

可想而知,如果实际子网掩码就是默认子网掩码(255.255.255.0—/24),子网数=2^(24-24),也就是说子网数为1(2的0次方);

如果实际子网掩码为255.255.240.0(11111111 11111111 11111110 00000000—/23) ,子网数=2 ^(24-23),相应的子网数为2 ....

(2)最大主机数

计算方式:最大主机数 = 2^(主机地址的位数)

这儿的位数是指二进制的位数,比如2的二进制为 10,占用2个二进制位,位数是2

假如一个IP地址的主机地址是0.0.0.1(00000000 00000000 00000000 00000001),那么位数是1,最大主机数就是2。

(3)可用主机数

计算方式:可用主机数 = 最大主机数 - 2

由于主机位全为0是网络地址,全为1是广播地址,所以要减2

总结

部分内容参考:详解IP与子网掩码的关系,大家如果有疑问都可以评论提出,有不足之处请大家批评指正,希望能多结识这方面的朋友,共同学习、共同进步。