如何计算IP地址的网络号和主机号?

如何计算IP地址的网络号和主机号?,第1张

IP地址的网络号和主机号是通过子网掩码来计算的。具体计算方法如下:

例如:

有一个C类地址为: 192.9.200.13 其缺省的子网掩码为:

255.255.255.0 

IP地址 192.9.200.13, 转换为二进制11000000 00001001 11001000 00001101,

子网掩码255.255.255.0,转换为二进制11111111 11111111 11111111 00000000,

它的网络号计算方法: 将两个二进制数做按位与(&)运算后得出的结果即为网络号,

11000000 00001001 11001000 00001101 

& 11111111 11111111 11111111 00000000

-------------------------------------------------------------

11000000 00001001 11001000 00000000=192.9.200.

0即网络号为192.9.200.0。

它的主机号计算方法:将子网掩码取反再与IP地址按位与(&)后得到的结果即为主机号,

11000000 00001001 11001000 00001101

&

00000000 00000000 00000000 11111111

------------------------------------------------------------

00000000 00000000 00000000 00001101 =0.0.0.13即主机号为13(或者0.0.0.13)。

扩展资料:

主机地址

IP地址是TCP/IP网络中用来唯一标识每台主机或设备的地址,IP地址由32位(共四个八位组)的二进制组成。IP地址分为两部分,左边网络编号部分用来标识主机所在的网络;右边部分用来标识主机本身,这部分称为主机地址。连接到同一网络的主机必须拥有相同的网络编号。

一个 IP地址的网络部分被称为网络号或者网络地址,主机可以与具有相同的网络号的设备直接通讯,在没有连接设备的情况下,即使共享相同的物理网段,网络号不同则无法进行通讯,IP

地址的网络地址使路由器可以将分组置于正确的网段上

IP

地址网络号后的主机号可以使路由器能够二层帧封装的分组传送到网络上的一台特定的主机,使主机号与

MAC

地址进行正确的映射中的关键问题在于使用子网掩码来确定或者获取远程主机的网络地址信息。网络地址之后的部分为主机地址。

参考资料:百度百科-主机地址

主机位全为1是广播地址。

特殊的网址:

每一个字节都为0的地址(“0.0.0.0”)对应于当前主机。

IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址。

IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用。

扩展资料:

TCP/IP协议规定,主机号部分各位全为1的IP地址用于广播。

广播地址的IP列举:

指向网络

指向网络的广播地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。

指向子网

指向子网的广播地址为主机号为全1且有特定子网号的地址。

参考资料来源:百度百科-广播地址

常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后即可得到网络地址。

其实大家只要仔细想想,可以得到另一个方法: 255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32的倍数。

而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128.而广播地址就是下一个网络的网络地址减1.而下一个32的倍数是160

扩展资料

要求得变量的地址,大致有两种方法。

运算符法

可以在变量前面冠以运算符&。

例如,设有int a;则可用&a来求得变量a的地址。一般说来,该值直到程序运行以前都是未定的。即使程序开始运行了,也未必就有一定的值。可能因运行时的环境不同而取不同的值。因此,几乎不可以究问一个地址实际上到底取什么值。

指针变量

有一种指针变量是专门用以表示各种数据的地址的。例如,指向字符型数据地址的指针变量P可以这样定义:

char *P

同样,指向整型数据地址的指针变量q可以这样定义:

int *q;

不用说,可以把表示数据存储区域的地址赋值给指针变量,此外,也可以考虑指针变量的地址,例如,可以用&q来求指针变量q的地址。

可以把该值赋给指针变量,例如,可以把它赋给定义为int **q_P;的指针变量q_P中去。由于指针变量q_P是一个指向一个指向int型数据的指针变量的指针变量,因而其定义中必须用两个*。

由指针变量所指向的数据(该数据的值被写在与赋到指针变量中的地址值相同的地址上)是用在指针变量之前冠以运算符*的方法来指定的。

参考资料来源:百度百科-地址计算


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/87376.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-06
下一篇2023-03-06

发表评论

登录后才能评论

评论列表(0条)

    保存