前面我们讲到了网络层,介绍了IP地址的概念以及标准的分类,在此基础上,我们进一步学习几种特殊的IP地址。
先来简单回顾一下上节的不同类的IP地址的范围:
A类地址:前8位是网络位,后24位是主机位,网络号范围是1~126,能容纳(2^24)-2台主机。
B类地址:前16位是网络位,后16位是主机位,网络号范围是128~191,能容纳 65534 台主机。
C类地址:前24位是网络位,后8位是主机位,网络号范围是192~223,能容纳 254 台主机。
D类地址:网络号范围224~239,专门用于组播。
E类地址:网络号范围240~254,保留不用。
上节我们以A类地址为例,解释了为什么网络号范围是从1~126,而不是从0~127,这是因为一个IP地址的网络号为全0、主机号为全0、网络号为全1、主机号为全1,以及特殊的127,这些情况都是有特殊作用的。
如果一个IP地址的网络号和主机号全为0,也就是0.0.0.0,这代表的是“本网络上的本主机”,也就是这台主机本身,全0的IP地址是在一开始申请DHCP的时候会用到,我们以后讲到DHCP会详细介绍,在这里只需简单知道一下。
本网广播也称为全向广播。如果一个IP地址的网络号和主机号全为1,也就是255.255.255.255,这代表“本网广播”,也就是向本网络上所有主机广播信息,本网络上所有主机都会收到。另外,在这需要补充的是,地址全为1代表本网广播这个规则,在MAC地址中也适用。也就是说,全向广播包括了二层广播和三层广播,二层广播MAC地址就是FF-FF-FF-FF-FF-FF。
如果一个IP地址只有主机号是全0,就代表的是一个网段,或者叫网络地址,比如192.168.1.0,观察网络号范围可以看出这是一个C类地址,当说到某某主机处在192.168.1.0网段,我们就应该直到此主机的IP地址应该是在192.168.1.1~192.168.1.254之间的一个IP地址。为什么不能包含192.168.1.255,是因为255的二进制是11111111,这样主机号就全为1了,主机号全为1是用于定向广播。
如果一个IP地址只有主机号是全1,代表的是在某网段内的定向广播,也叫广播地址,比如192.168.0.255,这是一个C类地址,最后的255是全1主机号,这就代表只在192.168.0.0这个网段上广播;再比如172.16.255.255,这是一个B类地址,最后的255.255是全1主机号,这就代表在172.16.0.0这个网段上广播。
我们了解到,全向广播和定向广播两者区分的方法,就是看目的IP地址是全为255,还是只有主机号为255。但是,有好多同学在实际看网络拓扑图的时候,还是分不清两者的区别。我们以下面这张拓扑图为例来解释:
在这张拓扑图中,路由器连接了两个局域网LAN1和LAN2,网络地址分别为192.168.1.0和192.168.2.0。
假设网络LAN1中,PC1发送了一个目的地址为255.255.255.255的全向广播包,那么在整个LAN中所有的网络接口都会收到这个包,包括PC2会收到,路由器也会收到。那么,如果PC1发送的是一个目的地址为192.168.1.255的定向广播包呢?其实结果还是一样的,还是PC2和路由器会收到。这样看来,全向和定向广播好像没有什么区别。这是因为,两者广播的对象恰好是同一个网络。
而如果是这样的情境:PC1发送一个目的地址为192.168.2.255的定向广播包时,这时候这个广播包将会由路由器发往LAN2网络,LAN2网络的PC3和PC4将会收到这个广播。这就是两者之间的区别,也就是说,全向广播包只在本网络里面进行广播,而定向广播包则可以指定往哪个网络进行广播。
经过了上面的解释,我们就能理解为什么每类IP地址的网络号和主机号范围都要掐头去尾了,因为全0代表网络地址,全1代表主机地址。
下面,我们再来看,A类地址最大开头是126,B类地址最大开头是128,中间隔了一个127,这个127开头在网络中是一个非常特殊的地址,127.0.0.1,它被称为“回环地址”,它的功能是用来做网络连通性测试的。
我们在进行网络测试的时候,如果发现网络不通,首先先要排除硬件的问题(看看电脑和网线的插口是不是有松动,网线是不是断裂,网线插头是否损坏等问题),排除了网线问题以后,如果网络还是不通,打开电脑的CMD命令窗口,使用ping 127.0.0.1命令测试本机网卡是否正常工作、测试本机的TCP/IP模块是否安装正确。(如果此时ping的结果正常,没有发现故障原因,那就还需找其他部分的原因)。
ping命令是网络测试常用的命令,测试网络的连通性,可以用ping 127.0.0.1来测试本机的网卡和TCP/IP模块是否正常工作,还可以ping一个具体的其他主机的IP地址,测试本机与其他主机是否是连通的, 还可以ping一些熟知的网站的域名,比如ping www.baidu.com,可用来测试本机与外网是否连通。
关于ping命令,也是一个需要详细学习的命令,可以说它是网络人员必会的一个工具,后面我们会单独学习一节命令,比如ping、netstat、tracert等等,但是这些必须要在学习了IP数据包结构之后再学习,此处只需要知道127.0.0.1这个特殊地址的作用是“回环测试”即可。
本节我们学习了这些特殊的IP地址,把IP地址的基础内容做了完善,下一节我们讲解IP地址与MAC地址的转换——ARP协议的相关内容。
参考资料:杨英鹏《计算机网络原理与实践》