为什么需要 IP 地址?
– IP地址用于标识设备在网络中的具体位置.
– 每个主机 (计算机, 网络设备, 外围设备) 都有独一无二的IP地址
– 主机 ID:
• 标识每个独立的主机
• 由组织分配给各设备
形式为:网络.主机
标准IP分类:
公共IP范围
私有IP范围
特殊IP地址:
0.0.0.0
0.0.0.0不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主
机和目的网络。
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
127.0.0.1~127.255.255.254
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为
“ 127.0.0.1”的 数据包。
224.0.0.0~239.255.255.255
组播地址, 224.0.0.1特指所有主机, 224.0.0.2特指所有路由器。
224.0.0.5指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序
169.254.x.x
如果Windows主机使用了DHCP自动分配IP地址,而又无法从DHCP服务器获
取地址,系统会为主机分配这样地址。
十进制与二进制换算都是以2的幂次方进行的
IP地址及子网掩码计算
我们先来理解以下概念:
子网:
IP地址均分为网络位和主机位两段,假设一个网络中的主机为450台,那么分配一个C类地址不够用,分配一个B类地址又显得太浪费,在这种情况下,就提出了子网化的概念,子网的定义就是把主机地址中的一部分主机位借用为网络位。如在一个B类地址172.16/16,可以借用7位做为网络地址,一个形如172.16.2/23的地址段就可以满足该网络的需求。其中172.16/16称为主网,172.16.2/23称为子网。
超网:
子网化一定程度上减轻了IP地址空间紧张的压力,但是由于在IP地址分配初期的考虑不周全,导致A类、B类地址在初其大量分配,资源相当紧张,而一些中型网络又需要超过一个C的地址,这进只能分配几个连续的C类地址块。为了减小Internet路由表的数量,就提出了超网的概念,超网和子网的定义刚好相反,就是借用一部份网络位作为主机位。从而达到减小Internet路由表的目的。如192.168.0/24-192.168.3/24四个C类地址段,就是可超网化为192.168.0/22这样一个超网。
CIDR(无类型域间路由):
随着子网和超网概念的深入,IANA在分配IP地址过程中类别的概念越来越淡化,一般情况下就直接以地址块的形式分配地址段,配合路由设备的支持,就出现了无类型域间路由的概念。它是一种工业标准,与IP地址一起使用的,用来显示子网位数。例,172.16.10.1/24就表示32位子网掩码中有24个1。
简单的说凡是借了位就用到了CIDR,
借少了位叫超网,比如:192.168.1.0/22 因为默认的C类是24,22比24少
借多了位叫VLSM(可变长子网掩码),比如:192.168.1.0/28 因为默认的C类是24,26比24大
我们都知道,IPV4是由四段数字组成,在此,我们先来了解一下3类常用的IP段
A类IP段 0.0.0.0 到127.255.255.255
B类IP段 128.0.0.0 到191.255.255.255
C类IP段 192.0.0.0 到223.255.255.255
默认分配的子网掩码
A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳16777214台电脑
B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳65534台电脑
C类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254台电脑
同一网段中的主机可以直接通讯,要想在同一网段,只要网络ID相同就可以了,那么如何区分网络ID与主机ID呢?
比如A类的默认子网掩码 255.0.0.0
有没有注意到,子网掩码一共是32位,以8位为一段,一共分成4段。
11111111 00000000 00000000 00000000 换算成十进制255.0.0.0,用CIDS表示法就是/8
11111111 11110000 00000000 00000000 换算成十进制255.240.0.0,用CIDS表示法就是/12
格式都是前面的位为连续的1,后面的位为连续的0,1的位对应表示网络位,0对应的位表示主机ID位
IP地址必须配合子网掩码才能区分网络ID和主机ID
公式:
一个网段中主机数=2^主机ID位数-2
网络ID=IP 与运算 子网掩码
0与0=0
0与1=0
1与0=0
1与1=1
0与任何数相与结果为0
1与任何数相与结果为保留原值
那么以下的表记好了,就是快速计算了。
子网掩码速记表
练习1
210.222.123.20/26
1求网络ID?
2写出十进制子网掩码?
3.求出此网络中可用主机数
解题思路:
1,有IP地址了,并且用CIDR表示法,那就先求同十进制的子网掩码
/26表示32位中前26位是1,那么就是下表,用速记表换算
二进制 |
11111111 |
11111111 |
11111111 |
11000000 |
十进制 |
255 |
255 |
255 |
192 |
得出了第二小题中的答案了
2.将Ip换算成二进制 与运算 子网掩码,这里套用下结论
0与任何数相与结果为0
1与任何数相与结果为保留原值,
既然产前面的24位都是1了,那就是保留原值:210.222.123,剩下的后8位就可以与运算了
十进制 |
20 |
二进制 |
00010100 |
子网掩码的二进制 |
11000000 |
与运算结果 |
00000000 |
与运算结果十进制 |
0 |
那么最终的的网络ID结果就是210.222.123.0
3.一个网段中主机数=2^主机ID位数-2=2^(32-26=6)-2=62台
练习2
100.200.250.123/19
1求网络ID?
2写出十进制子网掩码?
3.此网络中可用主机数
解题思路:
1,有IP地址了,并且用CIDR表示法,那就先求出十进制的子网掩码
/19表示32位中前19位是1,那么就是下表,用速记表换算
二进制 |
11111111 |
11111111 |
11100000 |
00000000 |
十进制 |
255 |
255 |
224 |
0 |
得出了第二小题中的答案了
2.将Ip换算成二进制 与运算 子网掩码,这里套用下结论
0与任何数相与结果为0
1与任何数相与结果为保留原值,
既然前面的19位都是1了,那前16位就是保留原值:100.200,剩下的后13位就可以与运算了,但是,这13位里面,只有前3位是网络ID,因此,只需要把第三段的8位进行运算即可
十进制 |
250 |
二进制 |
11111010 |
子网掩码的二进制 |
11100000 |
与运算结果 |
11100000 |
与运算结果十进制 |
224 |
那么最终的的网络ID结果就是100.200.224.0
3.一个网段中主机数=2^主机ID位数-2=2^(32-19=13)-2=8190台
子网划分
正如上面的概念讲的子网的定义就是把主机位中的一部分主机位借用为网络位。
这里以一个A类的地址来说明
10.0.0.0/8 ,默认情况下,前8位是网络位,现在向主机位借1位,那么将表现为
红色的为网络位
主机数最小值 |
00000000 |
00000000 |
00000000 |
主机数最大值 |
11111111 |
11111111 |
11111111 |
此网络IP起始值 |
0 |
0 |
1 |
此网络IP最大值 |
255 |
255 |
254 |
ip数去掉全0,和全1的
以此类推,得出以下公式:
子网划分公式
网段数=2^可变的网络ID位
划分子网的数量=2^网络ID向主机ID借位的位数
练习
10.0.0.0/8 中国移动给全国32省划分独立的子网
1 新的子网的netmask
2 新的子网主机数
3 最小和最大的子网的网络ID
4 最大的子网的IP范围
解题思路:
1. 32省划分独立的子网,也就是说有32个子网,套用公式:子网数=2^网络ID向主机借位的位数
那么如何知道要向主机位借几位呢? 2的多少次方等于32? 32=2^5次方,就是借5位咯
借了5位,那么网络位就是8+5=13位,新的子网掩码就是255.248.0.0
2.前13位是网络位,剩下的就是19位的主机位了,主机数=2^(32-13=19)-2=524286台
3.最小的子网的网络ID是10.00000000.0.0/13=10.0.0.0/13,
最大的子网的网络ID是10.11111000.0.0/13=10.248.0.0/13
4.最小的IP是10.11111000.0.1=10.248.0.1,最大的IP是10.255.255.254
练习
10.0.0.0/8 中国移动给全国32省划分独立的子网,第10个子网是河南,对河南各地市划分16个子网
1,河南新的子网的netmask
2 河南新的子网主机数
3 河南最小和最大的子网的网络ID
4 河南最大的子网的IP范围
解题思路:
1. 根据上一个练习题,第一个网络是10.0.0.0/13,那么第10个子网的网络ID是:借了5位嘛,因为0是第一个子网,那么第10个子网就是9,那么就把这5位网络位的数组合成数字9=01001,这样,第10个子网就是10.01001000.0.0/13=10.72.0.0/13
现在要对10.72.0.0/13进行划分出16个子网,套用公式:子网数=2^网络ID向主机借位的位数,
2的多少次方等于16? 16=2^4次方,就是借4位咯
借了4位,那么网络位就是13+4=17位,
新的子网掩码就是11111111.11111111.10000000.00000000=255.255.128.0
2. 前17位是网络ID了,那么就剩下15位是主机ID了,主机数=2^(32-17=15)-2=32766台
3.最小的子网的网络ID是10.01001000.00000000.0/17=10.72.0.0/17,
最大的子网的网络ID是10.01001111.10000000.0/17=10.79.128.0/17
4.最小的IP是10.01001111.10000000.1=10.79.128.1,
最大的IP是10.01001111.11111111.254=10.79.255.254
一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适?
首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万多台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。
2的几次方 >= 560
首先,我们确定2的9次方是512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面主机位有10位是0了,那前面的网络位就是32-10=22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。
超网
路由汇总的优点包括拥有更小的路由表,并能隔离拓扑更改。
比如说,有几个网络都需要经过路由去访问另一个网络地址220.78.168.1
220.78.168.0/24 220.78.169.0/24
220.78.170.0/24 220.78.171.0/24
220.78.172.0/24 220.78.173.0/24
220.78.174.0/24 220.78.175.0/24
此时的路由表就会有多条路由记录到达目标网络
220.78.168.0 255.255.255.0 220.78.168.1
220.78.169.0 255.255.255.0 220.78.168.1
220.78.170.0 255.255.255.0 220.78.168.1
220.78.171.0 255.255.255.0 220.78.168.1
220.78.172.0 255.255.255.0 220.78.168.1
220.78.173.0 255.255.255.0 220.78.168.1
220.78.174.0 255.255.255.0 220.78.168.1
220.78.175.0 255.255.255.0 220.78.168.1
如果网络数目多起来,那么路由器将是一个巨大的负担,那能不能简化这么多数目的路由呢?
那就需要进行路由汇总了
仔细观察这些子网,发现前16位都是一样的,也就是220.78都是一样的,那么只需要把第三段的数值进行比较即可。把这些网络先转换成二进制,先找出相同的。
十进制 |
二进制 |
相同的 |
168 |
10101000 |
10101000 |
169 |
10101001 |
10101001 |
170 |
10101010 |
10101010 |
171 |
10101011 |
10101011 |
172 |
10101100 |
10101100 |
173 |
10101101 |
10101101 |
174 |
10101110 |
10101110 |
175 |
10101111 |
10101111 |
看到了吧,根据前面学习的子网划分思想,这个第三段的有5位是相同的,也就是说,这5位也是网络位,加上前面的16位网络位,就是5+16=21位,因此,路由可以汇总为220.78.168.0/21
注意了,这些子网必须是连续的子网才可以进行路由汇总。