MENU

网络层(六)MAC 地址与 IP 地址

November 20, 2018 • Read: 7118 • 计算机网络阅读设置

引言展开目录

前面三篇笔记中,我介绍了 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 地址的关系,才真正理解了虚拟互联的概念

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

Archives Tip
QR Code for this page
Tipping QR Code