IP地址相关解释应用及IP处理模块IPy

IP地址


IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。 
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。

IP地址相关解释应用及IP处理模块IPy

A类,B类,C类


概念 特征 网络范围 默认掩码
A类地址 第1个8位中的第1位始终为0 0-127.x.x.x 255.0.0.0/8
B类地址 第1个8位中的第1、2位始终为10 128-191.x.x.x 255.255.0.0/16
C类地址 第1个8位中的第1、2、3位始终为110 192-y.x.x.x 255.255.255.0/24

特殊


D类 以1110开始 用于组播 
E类 以11110开始 用于科研保留

范围上划分有些要注意的: 
A类 从1.0.0.0 到126.255.255.255 
B类 从128.0.0.0到191.255.255.255 
C类 从192.0.0.0到223.255.255.255 
其中127.x.x.x段地址空间是被保留的回环地址

IP地址包含 网络地址+主机地址,即IP地址=网络地址+主机地址

网络地址: 
1、如果是192的C段地址,那么,网络地址就是:192.168.1.0,地址掩码是:255.255.255.0。 
2、如果地址掩码是:255.255.0.0,那么网络地址就是:192.168.0.0。 
3、网络地址很大一部分是由地址掩码决定的。 
主机地址:

如IP地址是202.112.14.137,掩码是255.255.255.224 ,

网络地址是202.112.14.128,子网号是128。

主机地址是202.112.14.137 。

子网掩码


子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

  • 通过子网掩码,就可以判断两个IP在不在一个局域网内部。

  • 子网掩码可以看出有多少位是网络号,有多少位是主机号

网关


网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连

网关实质上是一个网络通向其他网络的IP地址。

比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

广播地址(Broadcast Address)


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

在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。

根据IP地址和子网掩码求 网络地址 和 广播地址


  • 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址,虚线前为网络地址,虚线后为主机地址

  • IP地址和子网掩码进行与运算,结果是网络地址(即主机号全0是网络地址)

  • 将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址

  • 地址范围就是含在本网段内的所有主机

网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址, 
由此可以看出地址范围是: 网络地址+1 至 广播地址-1

  • 主机的数量=2^二进制位数的主机-2

减2是因为主机不包括网络地址和广播地址。

示例 
一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址

根据子网掩码可以分割网络号+主机号


255.255.255.224 转二进制:

11111111 11111111 11111111 11100000

网络号有27位,主机号有5位

网络地址就是:把IP地址转成二进制和子网掩码进行与运算

11001010 01110000 00001110 10001001

IP地址 & 子网掩码

11001010 01110000 00001110 10001001
11111111 11111111 11111111 11100000
------------------------------------------------------
11001010 01110000 00001110 10000000

即:202.112.14.128

计算广播地址


广播地址:网络地址的主机位全部变成1 ,10011111 即159 即:202.112.14.159

主机数


主机号有5位,那么这个地址中,就只能有 2^5 -2 = 30 个主机

因为其中全0作为网络地址,全1作为广播地址

根据每个网络的主机数量进行子网地址的规划和计算子网掩码


这也可按上述原则进行计算。

比如一个子网有10台主机,那么对于这个子网需要的IP地址是 
10+1+1+1=13 
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。 
因为13小于16(16等于2的4次方),所以主机位为4位。

而 256-16=240 所以该子网掩码为255.255.255.240。

如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为: 
14+1+1+1=17 ,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224

5) 主机的数量

206.110.4.0/18被划分成16个子网,每个子网掩码?


(划分成16个子网,根据子网掩码/18就表示有18个1,就要从的IP地址的主机位借4位来用作网络位!)

子网掩码是255.255.252.0

每个子网可以容纳的主机数是1024台。

下面我来给你详细解答:

206.110.1.0 /18 由最后的那个/18,我们可以知道这个IP已经规定了它的网络位是18位,它默认的子网掩码就是11111111.11111111.11 | 000000.00000000(其中1代表网络位,0代表主机位)

可以看出我们可以操作的位数就是后面的14个0,也就是说我们可以在地面划分出几位作为子网的网络位,进而来划分子网。要求是切分成16个子网,我们知道2的4次方刚好等于16,这就说明子网网络位的位数是4位,那14-4=10就是子网的主机位。所以上面我写的那串二进制就可以变成:11111111.11111111.111111 | 00.00000000(其中1代表网络位,0代表主机位)

ip段/数字-如192.168.0.1/24是什么意思?


后面这个数字标示了我们的网络号的位数,也就是子网掩码中前多少号为1

192.168.1.1 /24 这个24就是告诉我们网络号是24位

也就相当于告诉我们了

子网掩码是:11111111 11111111 11111111 00000000

即:255.255.255.0

172.16.10.33/27 中的/27

也就是说子网掩码是255.255.255.224 即27个全1

11111111 11111111 11111111 11100000

附录


16-30位网络号-掩码位数,IP总数,子网掩码查询表


ip段/27 /29 /30 网关,子网掩码,广播地址查询 
可用IP查询,IP段对应表

掩码位数 IP总数 子网掩码 C段个数
/30 4 255.255.255.252 1/64
/29 8 255.255.255.248 1/32
/28 16 255.255.255.240 1/16
/27 32 255.255.255.224 1/8
/26 64 255.255.255.192 1/4
/24 256 255.255.255.0 1
/23 512 255.255.254.0 2
/22 1024 255.255.252.0 4
/21 2048 255.255.248.0 8
/20 4096 255.255.240.0 16
/19 8192 255.255.224.0 32
/18 16384 255.255.192.0 64
/17 32768 255.255.128.0 128
/16 65536 255.255.0.0 256

24位网络号


24位网络号,8位主机号,可形成1个子网(C段总数),每个子网256-2台主机

网络地址 可用IP范围 广播地址
.0 .1-.254 .255

25位网络号


25位网络号,7位主机号,可形成2个子网,每个子网126台主机

网络地址 可用IP范围 广播地址
.0 .1-.126 .127
.128 .129-.254 .255

26位网络号


26位网络号,6位主机号,可形成4个子网,每个子网62台主机

网络地址 可用IP范围 广播地址
.0 .1-.62 .63
.64 .65-.126 .127
.128 .129-.190 .191
.192 .193-.254 .255

27位网络号


27位网络号,5位主机号,可形成8个子网,每个子网30台主机

网络地址 可用IP范围 广播地址
.0 .1-.30 .31
.32 .33-.62 .63
.64 .65-.94 .95
.96 .97-.126 .127
.128 .129-.158 .159
.160 .161-.190 .191
.192 .193-.222 .223
.224 .225-.254 .255

28位网络号


28位网络号,4位主机号,可形成16个子网,每个子网14台主机

网络地址 可用IP范围 广播地址
.0 .1-.14 .15
.16 .17-.30 .31
.32 .33-.46 .47
.48 .49-.62 .63
.64 .65-.78 .79
.80 .81-.94 .95
.96 .97-.110 .111
.112 .113-.126 .127
.128 .129-.142 .143
.144 .145-.158 .159
.160 .161-.174 .175
.176 .177-.190 .191
.192 .193-.206 .207
.208 .209-.222 .223
.224 .225-.238 .239
.240 .241-.254 .255

29位网络号


29位网络号,3位主机号,可形成32个子网,每个子网6台主机

网络地址 可用IP范围 广播地址
.0 .1-.6 .7
.8 .9-.14 .15
.16 .17-.22 .23
.24 .25-.30 .31
.32 .33-.38 .39
.40 .41-.46 .47
.48 .49-.54 .55
.56 .57-.62 .63
.64 .65-.70 .71
.72 .73-.78 .79
.80 .81-.86 .87
.88 .89-.94 .95
.96 .97-.102 .103
.104 .105-.110 .111
.112 .113-.118 .119
.120 .121-.126 .127
.128 .129-.134 .135
.136 .137-.142 .143
.144 .145-.150 .151
.152 .153-.158 .159
.160 .161-.166 .167
.168 .169-.174 .175
.176 .177-.182 .183
.184 .185-.190 .191
.192 .193-.198 .199
.200 .201-.206 .207
.208 .209-.214 .215
.216 .217-.222 .223
.224 .225-.230 .231
.232 .233-.238 .239
.240 .241-.246 .247
.248 .249-.254 .255

30位网络号


30位网络号,3位主机号,可形成64个子网,每个子网2台主机

网络地址 可用IP范围 广播地址
.0 .1-.2 .3
.4 .5-.6 .7
.8 .9-.10 .11
.12 .13-.14 .15
.16 .17-.18 .19
.20 .21-.22 .23
.24 .25-.26 .27
.28 .29-.30 .31
.32 .33-.34 .35
.36 .37-.38 .39
.40 .41-.42 .43
.44 .45-.46 .47
.48 .49-.50 .51
.52 .53-.54 .55
.56 .57-.58 .59
.60 .61-.62 .63
.64 .65-.66 .67
.68 .69-.70 .71
.72 .73-.74 .75
.76 .77-.78 .79
.80 .81-.82 .83
.84 .85-.86 .87
.88 .89-.90 .91
.92 .93-.94 .95
.96 .97-.98 .99
.100 .101-.102 .103
.104 .105-.106 .107
.108 .109-.110 .111
.112 .113-.114 .115
.116 .117-.118 .119
.120 .121-.122 .123
.124 .125-.126 .127
.128 .129-.130 .131
.132 .133-.134 .135
.136 .137-.138 .139
.140 .141-.142 .143
.144 .145-.146 .147
.148 .149-.150 .151
.152 .153-.154 .155
.156 .157-.158 .159
.160 .161-.162 .163
.164 .165-.166 .167
.168 .169-.170 .171
.172 .173-.174 .175
.176 .177-.178 .179
.180 .181-.182 .183
.184 .185-.186 .187
.188 .189-.190 .191
.192 .193-.194 .195
.196 .197-.198 .199
.200 .201-.202 .203
.204 .205-.206 .207
.208 .209-.210 .211
.212 .213-.214 .215
.216 .217-.218 .219
.220 .221-.222 .223
.224 .225-.226 .227
.228 .229-.230 .231
.232 .233-.234 .235
.236 .237-.238 .239
.240 .241-.242 .243
.244 .245-.246 .247
.248 .249-.250 .251
.252 .253-.254 .255

子网掩码与子网个数、主机地址个数的关系

IP地址:

  IP地址由网络号(Network ID)和主机号(Host ID)两部分组成。网络号标识的是Internet上的一个子网,而主机号标识的是子网中的某台主机。IP地址根据网络号和主机号的数量而分为A、B、C三类。

  A类IP地址:用可变的7位(bit)来标识网络号,可变的24位标识主机号,最前面一位为“0”,即A类地址的第一段取值介于1~126之间。A类地址通常为大型网络而提供,全世界总共只有126个A类网络,每个A类网络最多可以连接16777214台主机。

  B类IP地址:用可变的14位来标识网络号,可变的16位标识主机号,前面两位是“10”。B类地址的第一段取值介于128~191之间(网络号不能以数字127开头,数字127是专门保留给诊断用的,如127.0.0.1是会送地址,用于回路测试),第一段和第二段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可以连接65534台主机。

  C类IP地址:用可变的21位来标识网络号,可变的8位标识主机号,前面三位是“110”。C类地址的第一段取值介于192~223之间,第一段、第二段、第三段合在一起表示网络号。最后一段标识网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可以有254台主机。

子网掩码:

  子网掩码是屏蔽一个IP地址的网络部分的“全1”比特模式。它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

  对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。利用子网掩码可以把大的网络划分成子网即VLSM(可变长子网掩码),也可以把小得网络归并成大的网络即超网。

  通过IP地址的二进制与子网掩码的二进制进行与运算,可以确定某个设备的网络地址和主机号,也就是说可以通过子网掩码分辨一个网络的网络部分和主机部分。子网一个最显著的特征就是具有子网掩码。划分子网时需要注意:主机ID为全0时表示网络ID,全1时表示广播地址。

通过子网个数或主机地址个数计算子网掩码:

  用一个简单的例子说明如下:

  假设有一个网络:192.168.0.0/24(即子网掩码的前24位为1,255.255.255.0),现在需要两个子网,那么需要将子网掩码中的主机部分的前2位置为1(虽然只将第1位置1即可获得2个子网,但是还要考虑去掉全0和全1的子网),即192.168.0.0/26,可得到两个可以使用的子网192.168.0.64(二进制表示后8位为01000000)和192.168.0.128(二进制的后8位表示为10000000)。

  对于192.168.0.0/24,网络地址是192.168.0.0,广播地址是192.168.0.255(后8位为11111111)。
  对于192.168.0.0/26,网络地址是192.168.0.0,广播地址是192.168.0.63(后8位为00111111)。
  对于192.168.0.64/26,网络地址是192.168.0.64,广播地址是192.168.0.127(后8位为01111111)。
  对于192.168.0.128/26,网络地址是192.168.0.128,广播地址是192.168.0.191(后8位为10111111)。 
  对于192.168.0.192/26,网络地址是192.168.0.192,广播地址是192.168.0.255(后8为为11111111)。

  1、根据子网数计算子网掩码的位数:

  (1)将子网数目-1(因为计算机从0开始,到26才是27个)转化为二进制来表示。

  (2)取得该二进制的位数,为N。

  (3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1即得出该IP地址划分子网的子网掩码。

  例如:欲将B类IP地址168.195.0.0划分为27个子网,计算其子网掩码:

  (1)27-1=26,转化为二进制为11010。

  (2)N=5。

  (3)B类地址的子网掩码255.255.0.0,将其主机地址前5位置1,即11111111.11111111.11111000.00000000=255.255.248.0。  

  实际上将主机地址前5位置1,可划分出25-2=30个子网,这里去掉了全0和全1的子网。

  2、根据主机数计算子网掩码的位数:

  (1)将主机数目转化为二进制来表示。

  (2)如果主机数小于或等于254(注意去掉保留的两个IP地址:主机号全为0表示该网络的网络号,主机号全为1表示该网络的广播地址),则取得该主机的二进制位数,为N,这里肯定N<8。如果大于254,则N>8,这就是说主机地址将占据不止8位。

  (3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置0,即为子网掩码值。

  例如:欲将B类地址168.195.0.0划分成若干个子网,每个子网内有主机700台,计算其子网掩码:

  (1)700转化为二进制为1010111100。

  (2)N=10。

  (3)子网掩码为11111111.11111111.11111100.00000000,即255.255.252.0。

通过子网掩码计算子网个数及每个子网中可使用的主机地址个数:

  若要把***.***.***.0/m划分为***.***.***.0/n(m<n<32),得到的子网个数为2(n-m),去掉全0和全1,可用子网个数为2(n-m)-2,每个子网中可使用的主机地址是2(32-n)-2。

  例如:把网络117.15.32.0/23划分为117.15.32.0/27,得到的子网是 16 个,可用子网个数为14个,每个子网中可使用的主机地址是 30 个。

转载自:

    http://blog.csdn.net/gatieme/article/details/50989257

    http://www.cnblogs.com/hibernation/p/3275279.html

    实用的IP地址处理模块IPy

    https://github.com/autocracy/python-ipy

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/2800.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注