一、简介
IP地址由四段组成,每个字段是一个字节,即4个字节、 每个字节有8位,最大值是255(=256:0~255)。
全世界范围是唯一的 32 位(4个字节 * 8位)的标识符。
IP地址由两部分组成,即网络地址和主机地址,二者是主从关系:
1. 网络号 net-id,它标志主机(或路由器)所连接到的网络,网络地址表示其属于互联网的哪一个网络
2.主机号 host-id,它标志该主机(或路由器),主机地址表示其属于该网络中的哪一台主机。
两级的 IP 地址可以记为: IP 地址 ::= { <网络号>, <主机号>}
简而言之就是:IP地址 = 网络号+主机号
二、点分十进制记法:
IPv4的地址长度为32位,共4个字节,但实际中我们用点分十进制记法。
三、IP分类
IP地址 = 网络号+主机号。
分为A、B、C三类及特殊地址D、E。
全0和全1的都保留不用。
A类:
地址范围:1.0.0.1-126.255.255.254 (0000 0001.00000000.00000000.00000000~01111110.111111111.11111111.11111110)
地址范围:1.0.0.0-126.255.255.255 (这种写法是把全0全1都算进去了,其它几类类似)
网络号范围: 1~126 (0000 0001 ~ 0111 1110)
默认子网掩码:255.0.0.0 或 0xFF000000(十六进制)
私有号段:10.0.0.0-10.255.255.255
前1个字节(8位)为网络号,后3个字节(24位)为主机号。
A类第1位必须是0。
最大网络数: 126个
最大主机数:
全0全1的地址不可分配,作为保留地址。 上面减2也是这个原因。
一般用于大型网络。
B类:
地址范围:128.1.0.1-191.255.255.254
网络号范围:128.1 ~ 191.255
默认子网掩码:255.255.0.0 或 0xFFFF0000(十六进制)
私有号段:172.16.0.0-172.31.255.255
前2个字节(16位)为网络号,后2个字节(16位)为主机号。
前两位固定为10。
最大网络数:
最大主机数:
一般用于中等规模网络。
C类:
地址范围:192.0.1.1-223.255.255.254
网络号段范围:192.0.1 ~ 223.255.255
子网掩码:255.255.255.0 或 0xFFFFFF00 (十六进制)
私有号段:192.168.0.0-192.168.255.255
前3个字节(24位)为网络号,后1个字节(8位)为主机号。
前3位固定为110。
最大网络数:
最大主机数:
一般用于小型网络。
D类:
地址范围:224.0.0.1-239.255.255.254
是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。
一般用于多路广播用户 。
E类:
是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。
回送地址:
127.x.x.x 有的资料说,它属于A类。
如127.0.0.1 等效于localhost或本机IP。 一般用于测试使用。
例如:ping 127.0.0.1来测试本机TCP/IP是否正常。http://127.0.0.1:8080 等效 http://localhost:8080
#### 特殊说明
每一个字节都为0的地址(0.0.0.0)对应当前主机。
IP地址中的每一个字节都为1的IP地址(255.255.255.255)是当前子网的广播地址。
IP地址中凡是以11110开头的E类IP的地址,都保留用于将来和实验使用。
网络号的第一个8位不能全为0。
IP地址不能以127为开头,该类地址中数字127.0.0.1~127.255.255.254用于回路测试
四、无类域间路由
对于中小企业,假如有两千台机器,给他分个B类地址,6万多个,太浪费了,分个C类地址,一个C类地址254个,又不够,又得多申请几个,所以A,B,C类IP地址划分太过僵硬,很不灵活,因此又提出无类域间路(CIDR)由划分IP地址的方法。
将常规的子网掩码转换为二进制,将发现子网掩格式为连续的二进制1跟连续0,其中子网掩码中为1的部份表示网络ID,子网掩中为0的表示主机ID。比如255.255.0.0转换为二进制为11111111 11111111 00000000 00000000。
在前面所举的例子中为什么不用连续的1部份表示网络ID,连续的0部份表示主机ID呢?答案是肯定的,采用这种方案的IP寻址技术称之为无类域间路 由(CIDR)。CIDR技术用子网掩码中连续的1部份表示网络ID,连续的0部份表示主机ID。比如,网络中包含2000台计算机,只需要用11位表示 主机ID,用21位表网络ID,则子网掩码表示为11111111.11111111.11100000.00000000,转换为十进制则为 255.255.224.0。此时,该网络将包含2046台计算机,既不会造成IP地址的浪费,也不会利用路由器连接网络,增加额外的管理维护量。
CIDR表示方法:IP地址/网络ID的位数,比如192.168.23.35/21,其中用21位表示网络ID。
例1:192.168.23.35/21
子网掩码:11111111 11111111 11111000 00000000则为255.255.248.0
网络ID:192.168.00010111.0(其中第三个字节红色部分表示网络ID,其他表示主机ID,网络ID是表示网络ID部份保持不变主机ID全部变为0)则网络ID为192.168.16.0
起始IP地址:192.168.16.1(主机ID不能全为0,全为0表示网络ID最后一位为1)
结束IP地址:192.168.00010111.11111110(主机ID不能全为1,全为1表示本地广播)则结束IP地址为:192.168.23.254。
例2:将163.135.0.0划分为16个子网,计算前两个子网的网络ID、子网掩码、起止IP地址。
第1步:用CIDR表示163.135.0.0/20,则子网掩码为255.255.240(11110000).0。
第2步:第一网络ID(子网掩码与IP地址与运算):163.135.0.0
第一个IP地址:163.135.0.1 结束IP地址:163.135.15.254;
第3步:第二网络ID:163.135.16.0
第一个IP地址:163.135.16.1 结束IP地址:163.135.31.254。
五、子网掩码和网络ID的快速计算方法
CIDR的子网掩码都是连续的1跟连接的0表示,则子网掩码有以下几种表示方法:
0000 0000 0
1000 0000 128
1100 0000 128+64=192
1110 0000 128+64+32=224
1111 0000 255-15=240
1111 1000 255-7=248
1111 1100 255-3=252
1111 1110 255-1=254
1111 1111 255
大家都知道11111111的十进制数为255,那么我们怎么来快速计算子网掩码呢?二进制的1=1,11=3,111=7,1111=15;那么 1111 1110=255-1,1111 1100=255-3,1111 1000=255-8,1111 0000=255-15这样是不是就很快呢?只要我们一旦确定子网掩码中有多少位表示网络ID,那么我们马上就可以写出子网掩码了。那么,对于1000 0000,1100 0000和1110 0000 我们又该怎么计算呢?27=8则1000 0000=128,1100 0000=128+64,1110 0000=128+64+32,所以我们不需要去记住每一个为多少,只需要做做简单的加减法就搞定子网掩码的计算。
网络ID的结果大家都知道网络ID部份不变,主机ID部分全部变为0,那么在计算网络ID时,首先看子网掩码中有多少位用来表示网络,相应在将IP 地址转换为二进制时就只转换前面几位,比如192.168.176.15/19,网络ID一共19位,则网络ID前两个字节为192.168.X.0发生 变化的为第三个字节。那么怎样快速计算出这个变化的X的值呢?我们知道第三字节只有三位表示网络ID,转换时176>128,第1位为 1,176-128=48<64,第2位为0,48>32第3位为1,剩下的计算就没有意义了,全都要转换为0,则网络ID为10100000,则网络 ID为192.168.160.0,这样计算反而出错的可能性很小。
六、 本地和远程网络概念
网络ID相同的计算机称之为本地网络,本地网络中的计算机相互通信不需要路由器连接;网络ID不相同的计算机称之为远程网络,远程网络中的计算机要相互通信必须通过路由器连接。
例1:192.168.10.14/28,192.168.10.15/28,192.168.10.16/28,192.168.10.31/28哪些是合法IP,哪些是非法IP地址?
主机ID全为0和主机ID全为1的为非法IP地址:192.168.10.15/28、192.158.10.16/28、192.168.10.31/28都是非法IP地址。
例2:192.168.10.14/28,192.168.10.15/28,192.168.10.16/28哪个不是同一网段?
网络ID相同的就属于同一网段,则192.168.10.16/28不属于同一网段。
七、子网数和主机数的计算方法
例:172.168.34.56/20,一共划分为了多少个子网,各子网可以包含多少台主机。
172.168.34.56是一个B类地址,B类地址用16位表示网络ID,题目中20位表示网络ID,则子网位数为4位,那么子网就有24次个(即从0000、0001到1111的16种变化)。
由于IP地址是32位,用20位表示网络ID,则主机ID的位数为12位,则每个子网可以包含212-2个IP地址,即可以包含4096个IP地址。
注意:为什么计算IP地址时要减2,而计算子网数目时不减2呢?IP地址减2的原因是主机ID不能全为0也不能全为1;子网就不存在这个问题。
八、 公共IP和私有IP地址
IP地址由IANA(Internet地址分配机构)管理和分配,任何一个IP地址要能够在Internet上使用就必须由IANA分配,IANA 分配的能够在Internet上正常使用的IP地址称之为公共IP地址;IANA保留了一部份IP地址没有分配给任何机构和个人,这部份IP地址不能在 Internet上使用,此类IP地址就称之为私有IP地址。为什么私有IP地址不能在Internet上使用呢?因为Internet上没有私有IP地 址的路由。私有IP地址范围包括:
A类:10.0.0.0/8
B类:172.16.0.0/12 即172.16.0.1-172.31.255.254共16个B类网络
C类:192.168.0.0/16即192.168.0.1-192.168.255.254共256个C类网络
九、超网
划分超网:将多个小网合并一个大网,主机ID向网络ID借位