对网络操作的基本了解

网络工程 路由 ip MAC地址 第 2 层 第 3 层
2022-02-26 06:28:11

假设两个站 A 和 B 由两个中间路由器连接。

A----R1-----R2----B

现在,当 A 向 B 发送数据包时,OSI 模型就会出现。就像,A 的 TCP 层将添加 A 的端口地址(假设 x),然后网络层将源 IP 地址设置为 A,目标 IP 地址设置为 B。到目前为止我理解,但我对下一个有点困惑过程。我在下面列出它:

  1. 当 A 传输时,DLL 标头中的目标 MAC 地址是什么?是R1的地址还是B的地址?
  2. 如果 A 向 R1 发送了一个数据包,R1 会在此处更改网络标头,还是仅读取目标 IP 地址并按原样转发给 R2 而不做任何修改?
  3. 在 R1,将访问的 OSI 的唯一子层是物理层、DLL 和网络层?这是正确的理解吗?
  4. R1是否会更改DLL中的目的MAC地址,并将其设置为R2的地址,还是在整个通信过程中都是B在DLL中的MAC地址?

我觉得没有必要把它分成四个问题。如果这里不允许这样做,请告诉我。

2个回答

HostA 将查看目标网络地址并将其与自己的网络进行比较。它将意识到目标网络是一个不同的网络,因此它将创建一个帧到其配置的网关,该网关应该是 R1。

R1 将接收来自 HostA 的帧,剥离帧以获取数据包,检查数据包的目标地址,在其路由表中查找目标地址以发现它应该将数据包从其接口发送到 R2。它将为到 R2 的接口构建一个新帧,并将新帧转发到该接口。

R2 将做与 R1 相同的事情。

此外,请了解并非每个第 2 层协议都使用 MAC 地址。路由器之间的链接有可能使用 HDLC、PPP、帧中继或其他不使用 MAC 地址的 WAN 协议。路由器会剥离帧,因此如果帧中有 MAC 地址,它们就会丢失。路由器将为它们将转发帧的新接口构建新帧。路由器不会更改数据包上的 MAC 地址,但最终会得到具有新 MAC 地址的新帧,或者根本没有 MAC 地址,具体取决于新接口的第 2 层协议。

路由器可能会更改数据包标头。例如,对于 IPv4,TTL 会递减,这也需要重新计算和替换 Header Checksum。IPv6 将减少跳数,但它没有校验和。

当 A 向 B 发送数据包时

源 MAC 地址为 = 设备 MAC 地址

目的mac地址是=。

如果目标位于同一网络上,则目标 MAC 地址是目标 MAC 地址。

如果目标在不同的网络上,则目标 MAC 地址是源设备网关 MAC 地址。