怎样把IP地址与子网掩码进行与运算,并举例说明

来自:    更新日期:早些时候
计算机IP地址与子网掩码如何进行AND运算~

你的问题很简单,我回答过很多次,以下为复制 要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。
算法只要把IP和子网掩码的每位数AND就可以了。
AND方法:0和1=0 0和0=0 1和1=1
如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
IP 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
得出AND结果 11000000.10101000.00000000.00000000
转换为十进制192.168.0.0,这就是网络标识,
再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,
这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。

我们再来看看这个改为默认子网掩码的B类IP
如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
先将这些转换成二进制
188.188.0.111 10111100.10111100.00000000.01101111
188.188.5.222 10111100.10111100.00000101.11011010
255.255.254.0 11111111.11111111.11111110.00000000
分别AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
网络标识不一样,即不在同一网段。

一、子网掩码的计算

TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的。网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会带来两方面的负担:第一,巨大的网络地址管理开销;第二,网关寻径急剧膨胀。其中第二点尤为突出,寻径表的膨胀不仅会降低网关寻径效率(甚至可能使寻径表溢出,从而造成寻径故障),更重要的是将增加内外部路径刷新时的开销,从而加重网络负担。

因此,迫切需要寻求新的技术,以应付网间网规模增长带来的问题。仔细分析发现,网间网规模的增长在内部主要表现为网络地址的增减,因此解决问题的思路集中在:如何减少网络地址。于是IP网络地址的多重复用技术应运而生。通过复用技术,使若干物理网络共享同一IP网络地址,无疑将减少网络地址数。

子网编址(subnet addressing)技术,又叫子网寻径(subnet routing),英文简称subnetting,是最广泛使用的IP网络地址复用方式,目前已经标准化,并成为IP地址模式的一部分。

32位的IP地址分为两部分,即网络号和主机号,分别把他们叫做IP地址的“网间网部分”和“本地部分”。子网编址技术将“本地部分”进一步划分为“物理网络”部分和“主机”两部分,其中“物理网络”部分用于标识同一IP网络地址下的不同物理网络,常称为“掩码位”、“子网掩码号”,或者“子网掩码ID”,不同子网就是依据这个掩码ID来识别的。

按IP协议的子网标准规定,每一个使用子网的网点都选择一个32位的位模式,若位模式中的某位置1,则对应IP地址中的某位为网络地址(包括网络部分和子网掩码号)中的一位;若位模式中的某位置0,则对应IP地址中的某位为主机地址中的一位。

例如二进制位模式:11111111 11111111 11111111 00000000中,前三个字节全1,代表对应IP地址中最高的三个字节为网络地址;后一个字节全0,代表对应IP地址中最后的一个字节为主机地址。为了使用的方便,常常使用“点分整数表示法”来表示一个IP地址和子网掩码,例如B类地址子网掩码(11111111 11111111 1111111100000000)为:255.255.25.0。

IP协议关于子网掩码的定义提供一定的灵活性,允许子网掩码中的“0”和“1”位不连续。但是,这样的子网掩码给分配主机地址和理解寻径表都带来一定困难,并且,极少的路由器支持在子网中使用低序或无序的位,因此在实际应用中通常各网点采用连续方式的子网掩码。像255.255.255.64和255.255.255.160等一类的子网掩码不推荐使用

子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。例如:有一个C类地址为:192.9.200.13,按其IP地址类型,它的缺省子网掩码为:255.255.255.0,则它的网络号和主机号可按如下方法得到:

第1步,将IP地址192.9.200.13转换为二进制11000000 00001001 11001000 00001101

第2步,将子网掩码255.255.255.0转换为二进制11111111 11111111 11111111 00000000

第3步,将以上两个二进制数逻辑进行与(AND)运算,得出的结果即为网络部分。“11000000 00001001 11001000 00001101”与“11111111 11111111 11111111 00000000”进行“与”运算后得到“11000000 00001001 11001000 00000000”,即“192.9.200.0”,这就是这个IP地址的网络号,或者称“网络地址”。

第4步,将子网掩码的二进制值取反后,再与IP地址进行与(AND)运算,得到的结果即为主机部分。如将“00000000 00000000 00000000 11111111(子网掩码的取值)反”与“11000000 00001001 11001000 00001101”进行与运算后得到“00000000 00000000 00000000 00001101”,即“0.0.0.13”,这就是这个IP地址主机号(可简化为“13”)。

二、子网掩码的划分

如果要将一个网络划分成多个子网,如何确定这些子网的子网掩码和IP地址中的网络号和主机号呢?本节就要向大家介绍。子网划分的步骤如下:

第1步,将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。如果不是愉好是2的多少次方,则取大为原则,如要划分为6个,则同样要考虑23。

第2步,将上一步确定的幂m按高序占用主机地址m位后,转换为十进制。如m为3表示主机位中有3位被划为“网络标识号”占用,因网络标识号应全为“1”,所以主机号对应的字节段为“11100000”。转换成十进制后为224,这就最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。

在这里,子网个数与占用主机地址位数有如下等式成立:2m≥n。其中,m表示占用主机地址的位数;n表示划分的子网个数。根据这些原则,将一个C类网络分成4个子网。

为了说明问题,现再举例。若我们用的网络号为192.9.200,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254,现将网络划分为4个子网,按照以上步骤:

4=22,则表示要占用主机地址的2个高序位,即为11000000,转换为十进制为192。这样就可确定该子网掩码为:192.9.200.192。4个子网的IP地址的划分是根据被网络号占住的两位排列进行的,这四个IP地址范围分别为:

(1)第1个子网的IP地址是从“11000000 00001001 11001000 00000001”到“11000000 00001001 11001000 00111110”,注意它们的最后8位中被网络号占住的两位都为“00”,因为主机号不能全为“0”和“1”,所以没有11000000 00001001 11001000 00000000和11000000 00001001 11001000 00111111这两个IP地址(下同)。注意实际上此时的主机号只有最后面的6位。对应的十进制IP地址范围为192.9.200.1~192.9.200.62。而这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 00000000,为192.9.200.0。

(2)第2个子网的IP地址是从“11000000 00001001 11001000 01000001”到“11000000 00001001 11001000 01111110” ,注意此时被网络号所占住的2位主机号为“01”。对应的十进制IP地址范围为192.9.200.65~192.9.200.126。对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 01000000,为192.9.200.64。

(3)第3个子网的IP地址是从“11000000 00001001 11001000 10000001”到“11000000 00001001 11001000 10111110” ,注意此时被网络号所占住的2位主机号为“10”。对应的十进制IP地址范围为192.9.200.129~192.9.200.190。对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 10000000,为192.9.200.128。

(4)第4个子网的IP地址是从“11000000 00001001 11001000 11000001”到“11000000 00001001 11001000 11111110” ,注意此时被网络号所占住的2位主机号为“11”。对应的十进制IP地址范围为192.9.200.193~192.9.200.254。对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 11000000,为192.9.200.192。

在此列出A、B、C三类网络子网数目与子网掩码的转换表,如表5.1所示,供参考。

表1 子网划分与子网掩码对应表

A类网络划分子网数与对应的子网掩码

子网数目 占用主机号位数 子网掩码 子网中可容纳的主机数

2 1 255.128.0.0 8388606

4 2 255.192.0.0 4194302

8 3 255.224.0.0 2097150

16 4 255.240.0.0 1048574

32 5 255.258.0.0 524286

64 6 255.253.0.0 262142

128 7 255.254.0.0 131070

256 8 255.255.0.0 65534

B类网络划分子网数与对应的子网掩码

子网数目 占用主机号位数 子网掩码 子网中可容纳的主机数

2 1 255.255.128.0 32766

4 2 255.255.192.0 16382

8 3 255.255.224.0 8190

16 4 255.255.240.0 4094

32 5 255.255.248.0 2046

64 6 255.255.252.0 1022

128 7 255.255.254.0 510

256 8 255.255.255.0 254

C类网络划分子网数与对应的子网掩码

子网数目 占用主机号位数 子网掩码 子网中可容纳的主机数

2 1 255.255.255.128 126

4 2 255.255.255.192 62

8 3 255.255.255.224 30

16 4 255.255.255.240 14

32 5 255.255.255.248 6

64 6 255.255.255.252 2

三、快速计算子网掩码的方法

最后介绍三种快速计算机子网掩码的方法。

1. 利用子网数来计算

在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。然后按以下基本步骤进行计算:

第1步,将子网数目转化为二进制来表示;

第2步,取得子网数二进制的位数(n);

第3步,取得该IP地址类的子网掩码,然后将其主机地址部分的的前n位置“1”,即得出该IP地址划分子网的子网掩码。

为了便于理解,现举例说明如下:现假如要将一B类IP地址168.195.0.0划分成27个子网,则它的子网掩码的计算机方法如下(对应以上各基本步骤):

第1步,首先要划分成27个子网,“27”的二进制为“11011”;

第2步,该子网数二进制为五位数,即n = 5;

第3步,将该B类地址的子网掩码255.255.0.0的主机号前5位全部置“1”,即可得到 255.255.248.0,这就是划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。

2. 利用主机数来计算

利用主机数来计算子网掩码的方法与上类似,基本步骤如下:

第1步,将子网中需容纳的主机数转化为二进制;

第2步,如果主机数小于或等于254(因为要去掉保留的两个IP地址),则取得该主机的二进制位数,为n,这里肯定 n8,这就是说主机地址将占据不止8位。

第3步,将255.255.255.255的主机地址位数全部置1,然后从后向前的将n位全部置为 0,即为子网掩码值。

举例如下。如要将一B类IP地址为168.195.0.0的网络划分成若干子网,要求每个子网内有主机数为700台,则该子网掩码的计算方法如下(也是对应以上各基本步骤):

第1步,首先将子网中要求容纳的主机数“700”转换成二进制,得到1010111100。

第2步,计算出该二进制的位数为10位,即n = 10

第3步,将255.255.255.255从后向前的10位全部置“0”,得到的二进制数为“11111111.11111111.11111100.00000000”,转换成十进制后即为255.255.252.0,这就是该要划分成主机数为700的B类IP地址 168.195.0.0的子网掩码。

3. 子网ID增量计算法

其基本计算步骤如下:

第1步,将所需的子网数转换为二进制,如所需划分的子网数为“4”,则转换成成二进制为00000100;

第2步,取子网数的二进制中有效位数,即为向缺省子网掩码中加入的位数(既向主机ID中借用的位数)。如前面的00000100,有效位为“100”,为3位;

第3步,决定子网掩码。如IP地址为B类1129.20.0.0网络,则缺省子网掩码为:255.255.0.0,借用主机ID的3位以后变为:255.255.224(11100000)0,即将所借的位全表示为1,用作子网掩码。

第4步,将所借位的主机ID的起始位段最右边的“1”转换为十进制,即为每个子网ID之间的增量,如前面的借位的主机ID起始位段为“11100000”,最右边的“1”,转换成十进制后为25=32。

第5步,产生的子网ID数为:2m-2 (m为向缺省子网掩码中加入的位数),如本例向子网掩码中添加的位数为3,则可用子网ID数为:23-2=6个;

第6步,将上面产生的子网ID增量附在原网络ID之后的第一个位段,便形成第一个子网网络ID 129.20.32.0;

第7步,重复上步操作,在原子网ID基础上加上一个子网ID增量,依次类推,直到子网ID中的最后位段为缺省子网掩码位用主机ID位之后的最后一个位段值,这样就可得到所有的子网网络ID。如缺省子网掩码位用主机ID位之后的子网ID为255.255.224.0,其中的“224”为借用主机ID后子网ID的最后一位段值,所以当子网ID通过以上增加增量的方法得到129.20.224.0时便终止,不要再添加了。

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。 最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。 请看以下示例: 运算演示之一:aa I P 地址 192.168.0.1 子网掩码 255.255.255.0 AND运算 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.00000001 子网掩码 11111111.11111111.11111111.00000000 AND运算 11000000.10101000.00000000.00000000 转化为十进制后为: 192.168.0.0 运算演示之二: I P 地址 192.168.0.254 子网掩码 255.255.255.0 AND运算 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.11111110 子网掩码 11111111.11111111.11111111.00000000 AND运算 11000000.10101000.00000000.00000000 转化为十进制后为: 192.168.0.0 运算演示之三: I P 地址 192.168.0.4 子网掩码 255.255.255.0 AND运算 转化为二进制进行运算: I P 地址 11010000.10101000.00000000.00000100 子网掩码 11111111.11111111.11111111.00000000 AND运算 11000000.10101000.00000000.00000000 转化为十进制后为: 192.168.0.0 通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0 所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。我现在单位使用的代理服务器,内部网络就是这样规划的。 也许你又要问,这样的子网掩码究竟有多少了IP地址可以用呢?你可以这样算。 根据上面我们可以看出,局域网内部的ip地址是我们自己规定的(当然和其他的ip地址是一样的),这个是由子网掩码决定的通过对255.255.255.0的分析。可得出: 前三位IP码由分配下来的数字就只能固定为192.168.0 所以就只剩下了最后的一位了,那么显而易见了,ip地址只能有(2的8次方-1),即256-1=255一般末位为0或者是255的都有其特殊的作用。 那么你可能要问了:如果我的子网掩码不是255.255.255.0呢?你也可以这样做啊假设你的子网掩码是255.255.128.0 那么你的局域网内的ip地址的前两位肯定是固定的了(什么,为什么是固定的?你看上边不就明白了吗?·#¥) 这样,你就可以按照下边的计算来看看同一个子网内到底能有多少台机器 1、十进制128 = 二进制1000 0000 2、IP码要和子网掩码进行AND运算 3、 I P 地址 00010000.01001001.1*******.******** 子网掩码 11111111.11111111.10000000.00000000 AND运算 00010000.01001001.10000000.00000000 转化为十进制后为: 16 . 73 . 128 . 0 4、可知我们内部网可用的IP地址为: 00010000.01001001.10000000.00000000 到 00010000.01001001.11111111.11111111 5、转化为十进制: 16.73.128.0 到 16.73.255.255 6、0和255通常作为网络的内部特殊用途。通常不使用。 7、于是最后的结果如下:我们单位所有可用的IP地址为: 192.168.128.1-192.168.128.254 192.168.129.1-192.168.129.254 192.168.130.1-192.168.130.254 192.168.131.1-192.168.131.254 . . . . . . . . . . . . . 192.168.139.1-192.168.139.254 192.168.140.1-192.168.140.254 192.168.141.1-192.168.141.254 192.168.142.1-192.168.142.254 192.168.143.1-192.168.143.254 . . . . . . . . . . . . . 192.168.254.1-192.168.254.254 192.168.255.1-192.168.255.254 8、总数为(255-128+1)*(254-1+1) =128 * 254 = 32512 FAINT!!!!@#!@把我们公司都买了还买不了这么多的机器呢!·¥!·# 9、看看的结果是否正确 (1)、设定IP地址为192.168.128.1 Ping 192.168.129.233通过测试 访问http://192.168.129.233可以显示出主页 (2)、设定IP地址为192.168.255.254 Ping 192.168.129.233通过测试 访问http://192.168.129.233可以显示出主页 10、结论 以上证明我们的结论是对的。 现在你就可以看你的子网中能有多少台机器了 255.255.255.128 分解: 11111111.11111111.11111111.1000000 所以你的内部网络的ip地址只能是 xxxxxxxx.xxxxxxxx.xxxxxxxx.0??????? 到 xxxxxxxx.xxxxxxxx.xxxxxxxx.01111111 怎么样,这下你知道多少了吧?


怎样把IP地址与子网掩码进行与运算,并举例说明视频

相关评论:
  • 18395777997知道IP地址和子网掩码怎么计算子网地址?
    通甄保将ip地址和子网掩码做“与”运算,就可以得到子网地址。示例ip地址为192·168·100·5 子网掩码是255·255·255·0.计算步骤如下:将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机地址:192·168·100·5转化为二进制 11000000101...

  • 18395777997如何获取IP地址和子网掩码?
    通甄保(1)IP地址与子网掩码进行“与"运算,得到网络地址。(2)子网掩码"取反”运算,然后与网络地址进行“或"运算,得到广播地址。所谓广播地址指同时向网上所有的主机发送报文,也就是说,不管物理网络特性如何,internet网支持广播传输。如136.78.255.255就是B类地址中的一个广播地址,你将信息送到此地址...

  • 18395777997怎样把IP地址与子网掩码进行与运算,并举例说明
    通甄保最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。 请看以下示例: 运算演示之一:aa I P 地址 192.168.0.1 子网掩码 255.255.255.0 AND运算 转化为二进制进行运算: ...

  • 18395777997子网掩码和IP地址是什么关系?
    通甄保1、两者结合,确定唯一地址的关系。2、把两者进行2进制换算进行and算法,就是你对外的唯一地址,比如一个局域网内,每个主机的IP与掩码进行and算法后,地址都是一样的。这就是你对外的唯一地址。3、子网地址包括网络地址,主机地址和广播地址。4、子网掩码是用来区分网络地址和主机地址的。举个例子来说...

  • 18395777997给出IP和子网掩码如何计算它的子网,子网地址,主机地址?
    通甄保步骤 2: 计算子网地址 子网地址是网络部分的IP地址。为了得到子网地址,我们将IP地址和子网掩码进行逻辑AND操作。将IP地址和子网掩码对应位进行AND操作:复制代码 11000000.10101000.00000001.01100100 (IP地址)AND 11111111.11111111.11111111.00000000 (子网掩码)--- 11000000.10101000.00000001.00000000 (...

  • 18395777997IP地址为193.69.28.55,子网掩码为255.255.255.224,求网络地址和主机地址...
    通甄保首先,我们需要将子网掩码转换为二进制形式:255.255.255.224 -> 11111111.11111111.11111111.11000000 接下来,我们将IP地址与子网掩码进行按位与操作:193.69.28.55 -> 00000000.00000000.00000000.11000000 网络地址:00000000.00000000.00000000.11000000 -> 193.69.28.224 主机地址可以通过将网络...

  • 18395777997ip地址与掩码怎么转换成网络地址?
    通甄保1、首先将网络的IP地址和子网掩码都转换成32位二进制字符。将转换后的二进制的IP地址和子网掩码进行“逻辑与”运算,得到新的32位二进制字符。把得到的新的32位二进制字符转换成十进制,就是主机的网络号了。2、把IP地址和子网掩码都用二进制表示,然后各位做相与运算,得到的结果就是网络地址。PS...

  • 18395777997如何划分子网及确定子网掩码
    通甄保若将它写成二进制的形式为:11111111.11111111.11111111.00000000,其中为“1”的位分离出网络ID,为0的位分离出主机ID,也就是通过将IP地址与子网掩码进行“与”逻辑操作,得出网络号。例如,假设IP地址为192.160.4.1,子网掩码为255.255.255.0,则网络ID为192.160.4.0,主机ID为0.0.0.1。

  • 18395777997子网掩码怎么转换成ip地址?
    通甄保1、首先将网络的IP地址和子网掩码都转换成32位二进制字符。2、将转换后的二进制的IP地址和子网掩码进行“逻辑与”运算,得到新的32位二进制字符。3、把得到的新的32位二进制字符转换成十进制,就是主机的网络号了。例如:本机IP为192.168.1.16 ,子网掩码为255.255.255.0 转换成二进制:本机...

  • 18395777997IP地址如何与子网掩码相对应
    通甄保子网掩码 11111111.11111111.11111111.00000000 AND运算 11000000.10101000.00000000.00000000 转化为十进制后为:192.168.0.0 通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0 所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。你要...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网