2021 计算机网络 协议数据单元交换机 解答题
第 47 题

某网络拓扑如题 47 图所示,以太网交换机 S 通过路由器 R 与 Internet 互联。路由器部分接口、本地域名服务器、H1、H2 的 IP 地址和 MAC 地址如图中所示。在 t0 时刻 H1 的 ARP 表和 S 的交换表均为空,H1 在此刻利用浏览器通过域名 www.abc.com 请求访问 Web 服务器,在 t1 时刻(t1→t0)S 第一次收到了封装 HTTP 请求报文的以太网帧,假设从 t0 到 t1 期间网络未发生任何与此次 Web 访问无关的网络通信。

2018_Q7_3

请回答下列问题。

(1) 从 t0 到 t1 期间,H1 除了 HTTP 之外还运行了哪个应用层协议?从应用层到数据链路层,该应用层协议报文是通过哪些协议进行逐层封装的?

(2) 若 S 的交换表结构为 <MAC 地址,端口>,则 t1 时刻 S 交换表的内容是什么?

(3) 从 t0 到 t1 期间,H2 至少会接收到几个与此次 Web 访问相关的帧?接收到的是什么帧?帧的目的 MAC 地址是什么?

协议数据单元 交换机

[tag_link]

1)从t0到t1期间,除了 HTTP,H1 还运行了 DNS 应用层协议,以将域名转换为 IP 地址。DNS 运行在 UDP 之上,UDP 将应用层交下来的 DNS 报文添加首部后,向下交付给 IP层,IP 层使用 IP 数据报进行封装,封装好后,向下交付给数据链路层,数据链路层使用 CSMA/CD 帧进行封装。因此,逐层封装关系如下:DNS 报文→ UDP 数据报→ IP 数据报 → CSMA/CD 帧。

2)t0时刻,H1 的 ARP 表和 S 的交换表为空。H1 利用浏览器通过域名请求访问 Wb 服务器。由于要先解析域名,所以会发送 DS 报文到本地域名服务器,查询该域名对应的 P 地址,所以要先向本地域名服务器发送请求。ARP 表为空,所以需要先发送 ARP 请求分组,查询本地域名服务器对应的 MAC 地址。这些帧的目的 MAC 地址均是 FF-FF-FF-FF-FF-FF。S 接收到这个帧,在交换表中记录下 MAC 地址为 00-11-22-33-44-cc,位于端口 4,然后广播该帧。当本地域名服务器接收到 ARP 请求后,向 H1 发送响应 ARP 分组。S 接收到这个帧,在交换表中记录下 MAC 地址为 00-11-22-33-44-bb 位于端口 1,然后把该帧从端口 4发送出去。得到了域名对应的 P 地址,发现不在本局域网中,需要通过路由表转发。H1 的 ARP 表中并没有路由器对应的 MAC 地址,因此需要先发送 ARP 请求分组,查询路由器对应的 MAC 地址。这些帧的目的 MAC 地址均是 FF-FF-FF-FF-FF-FF。S 接收到这个帧,广播该帧。当路由器收到 ARP 请求后,向 H1 发送响应 ARP 分组。S 接收到这个帧,在交换表中记录下 MAC 地址为 00-11-22-33-44-aa,位于端口 2,然后把该帧从端口 4 发送出去。现在,H1 能把数据发送给路由器了。在整个过程中,并没有涉及 H2,H2 没有主动发送数据。所以 S 并不会记录下 H2 的 MAC 地址和端口,所以S 在t1时刻的交换表如下表所示。

MAC 地址端口
00-11-22-33-44-cc4
00-11-22-33-44-bb1
00-11-22-33-44-aa2

3)H2 至少会接收到 2 个和此次 Web 访问相关的帧。接收到的均是封装 ARP 查询报文的以太网帧;这些帧的目的 MAC 地址均是 FF-FF-FF-FF-FF-FF。