建议大家在看这篇博客之前,看一下我前面写的这篇博客:ARP协议及其日常应用
如果是从那篇文章过来的,直接往下看就行
本来之前是这两篇博客之前是写在一篇博客里的,但是后面我觉得放在一起有点乱,就分两篇写了
目录
问题①:为啥必须要知道对端的MAC地址,只知道IP地址就不能发消息给对端吗?
问题②:在跨网通信中,为啥必须要知道对端的IP地址,只知道MAC地址就不能发消息给对端吗?
两个问题
问题①:为啥必须要知道对端的MAC地址,只知道IP地址就不能发消息给对端吗?
问题②:在跨网通信中,为啥必须要知道对端的IP地址,只知道MAC地址就不能发消息给对端吗?
建议大家看完这两个问题后,不要急着去看下面的解答,先自己独立思考一下,如果你思考的结果和下面的解答一致的话,能够加深你对此的理解和印象
觉得下面的解答有不当之处的话,烦请大家指正
问题①:为啥必须要知道对端的MAC地址,只知道IP地址就不能发消息给对端吗?
想要理解为什么,我们可以对其做一个类比
我们可以把两台设备之间的数据通信理解为寄快递
IP地址可以理解为我们的收货地址,MAC地址可以理解为收取快递的人,也就是我们
我们最终的目的是要让快递到我们手里面,而不只是送到我们要求的的地方,就好像你买快递,快递到了快递驿站,而你不去取,那这个快递不是没有到你手里吗?
在这里就好像信息发到了对端要求收取的地方,也就是IP地址,但是这个信息没到对端手里面,也就是对端的MAC地址
这样我们就可以简单理解为什么发送信息必须要知道对端的MAC地址
问题②:在跨网通信中,为啥必须要知道对端的IP地址,只知道MAC地址就不能发消息给对端吗?
首先我们要了解网络划分这个概念,不知道大家有没有听过一句话——
IP地址才能划分网络,MAC地址不能够划分网络
如果你听过的话有没有想过这是为什么呢?
我们来了解一下IP地址与MAC地址
IP地址其实分为五类
类型 | 范围 | 作用 | 使用范围 |
A类 | 1.0.0.0~127.255.255.255 (0000 0001)——》1 | 可用的A类网络有126个,每个网络能容纳1亿多个主机 | 大量主机、公网 |
B类 | 128.0.0.0~191.255.255.255 (1000 0000)——》128 | 可用的B类网络有16382个,每个网络能容纳6万多个主机 | 国际大公司、政府 |
C类 | 192.0.0.0~223.255.255.255 (1100 0000)——》192 | 可用的C类网络有209万余个,每个网络能容纳254个主机 | 小公司、校园网、科研单位 |
D类 | 224.0.0.0~239.255.255.255 (1110 0000)——》224 | D类地址用于多点广播 | 组播 |
E类 | 240.0.0.0~255.255.255.255 (1111 0000)——》240 | E类地址为将来使用保留 | 保留 |
PS
- 数字0和127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送
- D类地址是专门保留的地址,并不指向特定的网络,多点广播用来一次寻址一组计算机,他标识共享一组使用同一协议的计算机
- 0.0.0.0对应于当前主机、255.255.255.255是当前子网的广播地址
- 10.0.0.0~10.255.255.255为政府预留,是私网,同为私网的还有B类IP地址:172.16.0.0~172.31.255.255、C类IP地址:192.168.0.0~198.162.255.255
我们做一个情景假设,来帮助大家理解MAC地址,同时让大家明白MAC地址为什么不能划分网络
情景假设:
假设一个小组有一百个人,代号分别从1--100,每个人也都有自己的名字(假设名字不会重复),这里的代号就好比IP地址,名字就好比MAC地址。
我们将这100个人分为了10组,1--10一组,11--20一组,以此类推。假设我们现在要找一个人,名字叫张三,代号007,你觉得是按照代号找更快还是按照名字找更快呢?
很显然是通过代号,而不是通过名字。
我们在问题①中就说过——
IP地址可以理解为我们的收货地址,MAC地址可以理解为收取快递的人,也就是我们
通过我们的收货地址,可以快速确定快递要送到哪个省哪个市哪个区哪条路,通过后续的在这片区域查找对应的人,也就是我们的MAC地址就能够将我们要的快递送到我们的手中,这样的方法简单易懂,省时省力
但是你想想,如果是通过我们的MAC地址,也就是通过我们的名字(在这里我们假设名字不会重复),你想想光是找一个人就得是多么大的工作量
上面的情景假设还只是一百个人,世界上可是有数以亿计的设备,如果按照MAC地址去找,可能一辈子也找不到你要找的对端设备,这也就是为什么MAC地址不具备网络划分功能的原因了。
IP地址分类严谨,可以通过层层递进查询目标IP地址,而MAC地址没有具体的分类,也就无法进行系统的查找
这就是IP地址才能划分网络,MAC地址不能够划分网络的原因
也是在跨网通信中,必须要知道对端的IP地址和MAC地址才能发消息给对端的缘故了
我们来对IP地址和MAC地址做一下简单的总结
作用 | MAC地址作为标识接收信息的具体设备 IP地址标识接收信息的地方 |
区别 | MAC地址具有唯一性,每个硬件出厂时候的MAC地址是固定的; IP地址不具备唯一性 |
关联 | 1、IP地址和MAC地址通过ARP协议联系到一起 2、IP地址和MAC地址结合起来传送数据帧。 3、IP地址可以和MAC地址进行绑定以此来确定网络上的唯一的一台设备。 |
今天的学习记录到此结束啦,咱们下篇文章见,ByeBye!