本文目录
1 IP地址
互联网协议地址(Internet Protocol Address),缩写为IP地址(IP Address),是分配给网络上使用网际协议的设备的数字标签。
IP地址是一种逻辑地址,用于标识网络上的某个节点。在OSI模型中,属于第三层(网络层)。
2 MAC地址
MAC地址(Media Access Control Address),称为以太网络ID或物理地址,它是一个用来确认网络设备位置的地址。
MAC地址是一种物理地址,用于唯一标识某个物理设备(网卡)。在OSI模型中,属于第二层(数据链路层)。
3 关系与区别
为了更容易理解,类比快递过程。
在整个快递运送过程中,发货地址 和 收货地址 是不变的。
发货地址:某公司上海分部
收货地址:某公司北京分部
但是,在整个快递运送过程中,每一段运输过程的 出发地址 和 目标地址 是变化的。
第一段
出发地址:某公司上海分部
目标地址:区域快递仓库
第二段
出发地址:区域快递仓库
目标地址:上海集散中心
第三段
出发地址:上海集散中心
目标地址:北京集散中心
第四段
出发地址:北京集散中心
目标地址:区域快递仓库
第五段
出发地址:区域快递仓库
目标地址:某公司北京分部
收货地址 和 发货地址 相当于 源IP地址 和 目标IP地址
出发地址 和 目标地址 相当于 源MAC地址 和 目标MAC地址
假设两台主机不在同一个局域网中,通过互联网交换数据。当 主机A 发送数据 Data 给 主机B 时:
主机A:将 Data 封装为 Packet 并给出 源IP地址 和 目标IP地址,再将 Packet 封装为 Frame 并给出 源MAC地址 和 目标MAC地址;
(由于两台主机不在同一个局域网中,因此,目标MAC地址应该是指向默认网关地址,即指向路由器,假设为路由器1)
路由器1:提取出 Packet 并分析 目标IP地址,通过路由算法,决定数据下一步应该发给谁。然后,将 Packet 再次封装为 Frame 并给出新的 源MAC地址 和 目标MAC地址;
(此时,源MAC地址 为 路由器1 的地址,目标MAC地址 为要发往的下一个路由器的地址,假设为 路由器2)
路由器2:重复 路由器1 的操作,继续将数据转发给下一个路由器,直到某个路由器发现 目标IP地址 就连接在自己的某个端口上,将数据直接发往该端口即可。
在整个过程中,IP地址相当于一个全局的设置,因此,一直保持不变。而MAC地址,属于局部(或本地)的设置。每次变动,目标MAC地址 都是指向相邻的某个设备。可以想象,对于某个路由器,它只可能知道与其相连设备的 MAC地址,它也只能把数据发给某个相连的设备(通过网线传输)。当 路由器1 知道 路由器2 有办法将数据发送至 目标IP地址 时,就将数据发给 路由器2 (即设置新的 目标MAC地址 为 路由器2 的MAC地址)。但 路由器1 根本不知道 路由器2 怎么把数据发到最终目标,每个路由器只是决定数据的下一步怎么走。
路由器1 为什么知道 路由器2 能够把数据发到最终目标?这就要涉及路由机制的内容了。互联网中的路由器,可以通过某些方法,不断更新自己的路由表。当接收到数据时,根据 目标IP地址,匹配路由表数据,就能知道通过谁,可以把数据发往最终目标,从而决定了数据的下一步怎么走。
关于路由表的相关内容,将不在本文内介绍。