什么是 IP 地址 什么 MAC 地址

P地址和mac地址可以类比生活中寄快递的过程 。
在整个网络中数据被封装成数据报文进行发送 , 就像我们生活中寄快递时将物品放进包裹中 。而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的交接 。

什么是 IP 地址 什么 MAC 地址

文章插图
 
IP地址
ip地址等价于快递包裹上的收件人地址 。
快递员通过收件人地址将包裹在出发地到目的地之间连出一条线 , 然后通过不同地区之间的物流中转最后将包裹送到收件人的手中 。
什么是 IP 地址 什么 MAC 地址

文章插图
 
从上图的粗箭头所描述的路径便可达到目的地址 , 陕西省-西安市-xx县-xx街道-… 。
同理 , ip地址也具备此功能 , 通过IP地址的网络位可以确定某个主机所在网络的位置 , 从而明确一条数据传送的路径 。例如目的地址为192.168.10.110/26 , 则该地址所在的网络为192.168.10.64
什么是 IP 地址 什么 MAC 地址

文章插图
 
用之前图示地址的寻址方式 , 我们可以模拟这一过程
什么是 IP 地址 什么 MAC 地址

文章插图
 
那么 , 还是那个问题 , 为什么还要MAC地址呢?
MAC地址
MAC地址等价于快递包裹上的收件人姓名 。
MAC地址更多是用于确认对方信息而存在的 。就如同快递跨越几个城市来到你面前 , 快递员需要和你确认一下收件人是否正确 , 才会把包裹交给你一样 。
什么是 IP 地址 什么 MAC 地址

文章插图
 
这里我们模拟一个场景 , 比如在学校里同一个班级的学生大家互相都认识 , 互相交流就不需要借助学号(这里抽象成ip地址) , 直接喊名字即可 。“喂 , 那个谁 , 把你作业让我抄一下” 。
什么是 IP 地址 什么 MAC 地址

文章插图
 
这个过程可对应网络中同一个交换机或集线器连接的局域网通信 。在局域网中通信需要通过MAC地址进行通信 。将数据封装成帧时会插入源mac地址和目的mac地址(如果不知道对方mac地址会发送arp广播报文获取对方mac地址) 。以太网帧结构:
什么是 IP 地址 什么 MAC 地址

文章插图
 
而后 , 帧结构再次添加IP头部信息 。
什么是 IP 地址 什么 MAC 地址

文章插图
 
【什么是 IP 地址 什么 MAC 地址】虽然这里有IP地址 , 但是它在局域网中不起作用 , 因为arp是用于网络中寻址的 , 而在局域网中所有主机互相可见 。(除此之外 , 局域网中ip地址最多是在arp广播时 , 作为收到包的主机解包时判定的依据 , 判定自己是否为目的主机 , 从而选择是否回应arp应答) 。
什么是 IP 地址 什么 MAC 地址

文章插图
 
而IP地址的使用条件 , 是在跨网络之后 。两个网络之间想要进行通信需要通过一个媒介 , 因为在网络内部的主机定位不到网络外的某个主机 , 即使他们只隔了一个网段也是一样 。而跨网段的媒介就是路由器 , 只要把ip地址告诉它 , 他就能找到对方所在的网络 。
这就像是我是2020届计算机科学专业1班学生xx(学号202015162 , 15代指专业计算机科学专业 , 62代指“我”在本班的学号) , 我现在想找2022届学弟yy(学号2022…) 。我们之间不认识 , 但是我可以找一个中间人 , 帮我送信 。
什么是 IP 地址 什么 MAC 地址

文章插图
 
这个中间人是局域网网关 , 是路由器 。他们的功能是 , 转述我的消息 , 并且按照目的ip地址将它发给下一个“中间人” , 最后送到“yy”手中 。
以下是关于mac地址与ip地址的爱恨纠缠… 以下内容有借鉴到文章:《闪客sun(低并发编程):如果让你来设计网络》
首先我们需要明确的是 , MAC地址的诞生早于IP地址 。在计算机设计之初 , 设备之间使用MAC地址互相确认身份 , 因为当时的网络拓扑并不大 , 我们完全可以让两台计算机之间两两互相发送数据 。如果有5个主机需要互通的话 , 那么它的拓扑结构可能是这样:


推荐阅读