引言

前面三篇笔记中,我介绍了IP地址的三种编址方式,依次是分类的IP编址、划分子网(改进分类编址)及无分类IP地址。本篇笔记我们将介绍硬件地址与IP地址的关系,真正理解**“虚拟互连”**的含义

IP地址与硬件地址

使用层次不同

在学习IP地址时,很重要的一点就是清楚IP地址与硬件地址的区别,下图说明了这两种地址的区别。从层次的角度上,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。(说IP是逻辑地址,因为IP地址是用软件实现的)

在局域网中,由于硬件地址已固化在网卡的ROM中,因此常常将硬件地址称为物理地址。因为在局域网的MAC帧中源地址和目的地址都是硬件地址,因此硬件地址又称为MAC地址。因此,物理地址、硬件地址和MAC地址常常作为同义词


在发送数据时,数据从高层下到低层,然后才在数据链路上传输。使用IP地址的IP数据报一旦交付给了数据链路层,就被封装成MAC帧了。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个硬件地址都写在MAC帧的首部中

连接在通信链路上的设备(主机或者路由器)在接收MAC帧时,其根据的是MAC帧的首部中的硬件地址。在数据链路层中,看不到隐藏在MAC帧中的数据中的IP地址。只有在剥去MAC帧的首部和尾部后,把MAC层的数据报上交给网络后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址

实例


图中画的是三个局域网用两个路由器R1和R2互连起来,现在主机H1要和主机H2通信。这两个主机的IP地址分别是IP1和IP2,而它们的硬件地址分别是HA1和HA2(HA:Hardware Address)。通信的途径是:H1->经过R1转发->再经过R2转发->H2。路由器同时连接在两个局域网内,因此它有两个硬件地址,即HA3和HA4,同理,路由器R2也有两个硬件地址,HA5和HA6

从虚拟的IP层看IP数据报的流动


如上图所示,在IP层抽象的互联网上只能看到IP数据报。虽然IP数据报要经过路由器R1和R2的两次转发,但在它的首部中源地址和目的地址始终分别是IP1和IP2。数据报中间经过的两个路由器的IP地址并不出现在IP数据报的首部中。

虽然在IP数据报首部有源站IP地址,但路由器只根据目的站的IP地址的网络号进行路由选择

从数据链路层看MAC帧的流动


在局域网的链路层,只能看见MAC帧。IP数据报被封装在MAC帧中。MAC帧在不同的网络上传送时,其MAC帧首部中的源地址和目的地址要发生变化

开始在H1到R1间传送时,MAC帧首部写的是从硬件地址HA1发送到硬件地址HA3,路由器R1收到此MAC帧后,在转发时要改变首部中的源地址和目的地址((HA4 -> HA5)。同理,路由器R2收到此帧后,再改变一次MAC帧的首部,写入新的硬件地址(HA6 -> HA2),然后在R2到H2之间传送。MAC帧的首部这种变化,在上面的IP层也是看不见的。因为,在IP层,已经剥去了MAC帧的首部和尾部,没有相关信息了

从协议栈的层次上看数据的流动


这是数据真实传输过程中的简单抽象。在整个传送过程中,不改变IP数据报的源IP地址与目的IP地址,路由器只根据目的站IP地址的网络号进行路由选择。但MAC帧在不同的网络上传输时,其MAC帧首部中的源地址和目的地址要发生改变。这样降低了异构网络进行硬件地址转换的难度,便于因特网上面的两台主机进行通信。学了硬件地址与IP地址的关系,才真正理解了虚拟互联的概念

不同层次、不同区间的源地址和目的地址

网络层(六)MAC地址与IP地址相关推荐

  1. 网络层笔记六、硬件地址与IP地址

    网络层笔记六.硬件地址与IP地址 引言:前面三篇笔记中,我们介绍了IP地址的三种编址方式,依次是分类的IP编址.划分子网(改进分类编址)及无分类IP地址.本篇笔记我们将介绍硬件地址与IP地址的关系,真 ...

  2. Mac 地址与 IP 地址有什么区别?

    Mac 地址和 IP 地址是两个不同的概念,它们分别代表了计算机网络中的不同层次和地址.Mac 地址是物理地址,是在计算机硬件中存储的地址,通常是以特定的六进制格式表示.每个设备都有一个唯一的 MAC ...

  3. MAC地址、IP地址以及ARP协议详细讲解

    MAC地址 MAC地址是以太网的MAC子层所使用的地址 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址. 在每一个主机发送的帧中必 ...

  4. 计网链路层mac地址和ip地址缺一不可

    在学习之途有个疑问,为什么要分链路层和网络层,链路层的帧还要包裹网络层的数据包,这难道不是既麻烦又浪费时间吗?随着这个疑问往下继续深究. 1.链路层中        我们知道链路层是MAC地址,网络层 ...

  5. MAC地址和IP地址的关系

    简单地说:ip地址是服务商给你的,mac地址是你的网卡物理地址. 一.IP地址 对于IP地址,相信大家都很熟悉,即指使用TCP/IP协议指定给主机的32位地址.IP地址由用点分隔开的4个8八位组构成, ...

  6. php 正则mac地址,正则表达式匹配MAC地址、邮箱地址、IP地址

    (1)匹配MAC地址 1)MAC地址由12个16进制的字母组成 2)16个字母是 0~9.a~f .不区分大小写,一般为大写 3)每两个字母为一组,共六组,每组间用冒号:隔开 匹配思路: 00:0C: ...

  7. 计算机网络(三)—— 数据链路层(7):MAC地址、IP地址以及数据链路层使用的ARP协议

    计算机网络系列内容的学习目录→\rightarrow→谢希仁计算机网络学习系列内容汇总. 7. MAC地址.IP地址以及数据链路层使用的ARP协议 7.1 MAC地址 7.1.1 课后练习 7.2 I ...

  8. 网络之mac地址和ip地址

    小白: 大牛,我有一个问题,我们在局域网里面都会用到 MAC 地址和 IP 地址,这两个地址的区别是什么? 大牛: 嗯,这是一个非常基础的问题,但是很重要.首先,MAC 地址和 IP 地址都是用于网络 ...

  9. Linux_网络_数据链路层协议 MAC帧/ARP协议 (以太网通信原理,MAC地址与IP地址的区分,MTU对IP/TCP/IP的影响,ARP协议及其通信过程)

    文章目录 1. 以太网(基于碰撞区与碰撞检测的局域网通信标准) 2. 以太网的帧格式(MAC帧) MAC地址,IP地址的区分 MTU MTU对IP协议的影响 MTU对TCP/UDP协议的影响 3.AR ...

  10. MAC地址、IP地址以及ARP协议

    文章目录 MAC地址.IP地址以及ARP协议 数据链路层 网际层 MAC地址 为什么要有MAC地址? MAC地址格式 单播和广播 单播: 广播: ip地址 ip地址和mac地址在网络体系结构中的应用: ...

最新文章

  1. C#托管代码是什么?非托管代码是什么?
  2. 可变数组NSMutableArray
  3. 如何让cloudflare缓存html,CloudFlareCDN页面规则缓存设置教程
  4. 《推荐系统实践》笔记(转)
  5. android怎么查看方法被谁调用,Android中查看布局文件中的控件(view,id)在哪里被调用(使用)...
  6. vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法...
  7. 支持向量机SVM推导
  8. P4145 上帝造题的七分钟2 / BZOJ3211花神游历各国
  9. 宏基aspire拆机触摸_宏基(acer)Aspire 4930G拆机教程
  10. 六种电平转换的优缺点
  11. win10修改git账号和密码
  12. 上海市青少年算法2022年6月月赛(丙组)
  13. SQL(07)_INSERT INTO SELECT
  14. matlab 通过矩阵变换使图像旋转平移_28. 图像扭曲
  15. MFC 控件类型和状态
  16. 横向越权与纵向越权区别
  17. LY3006A手电筒集成IC可充电多功能 LED 驱动控制芯片
  18. 对接微信公众号出现【invalid ip xxx.xxx.xxx.xxx 】
  19. Harris Corner
  20. UnityGUI简介

热门文章

  1. ShenYu 网关源码学习(1)- 简单介绍、编译和测试
  2. matlab中garchred是什么意思,garch模型matlab
  3. 【机器视觉】——焦距计算物体实际尺寸计算
  4. 通过web前端实现水印制作
  5. http协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么?列举常见错误码及含义
  6. 多源异构传感器时空校准
  7. sqlite库学习(7)sqlite读取
  8. 电商项目分析用户购买行为案例一
  9. 计算机中年级排名怎么操作,智学网年级排名查看方法规则介绍
  10. 77GHz雷达信号处理流程框图及应用方案