DNS

DNS 系统采用客户/服务器模型, 其协议运行在 UDP 之上, 使用 53 号端口

Q: DNS 协议运行在哪个传输层协议之上?
A: UDP

Q: DNS 协议使用的端口号是多少?
A: 53

Q: DNS 递归查询中,被查询的服务器承担什么责任?
A: 它必须返回最终资源记录或明确的失败结果;若没有缓存,就由它继续向其他 DNS 服务器查询。主机到本地 DNS 通常采用递归查询。

Q: DNS 迭代查询中,被查询的服务器返回什么?
A: 若不知道最终答案,它返回下一台更接近目标域名的 DNS 服务器地址,由查询方继续查询。本地 DNS 向根、顶级和权威服务器通常采用迭代查询。

Q: DNS 迭代查询 l4rk.cn 的过程是什么?
A:

  1. 客户端向{c1:本地 DNS 服务器}发起递归请求。
  2. 本地 DNS 检查缓存;未命中时向{c2:根域名服务器}查询。
  3. 根服务器返回{c3:.cn 顶级域名服务器}的地址。
  4. 本地 DNS 向{c4:.cn 顶级域名服务器}查询。
  5. 顶级域名服务器返回{c5:l4rk.cn 权威域名服务器}的地址。
  6. 本地 DNS 向{c6:l4rk.cn 权威域名服务器}查询。
  7. 权威域名服务器返回{c7:l4rk.cn 的资源记录(如 IP 地址)}。
  8. 本地 DNS 将结果返回客户端,并按 TTL {c8:缓存该记录}。

FTP

FTP 在**主动模式(active mode)**下
{c3:服务器}默认使用两个{c1: 并行}的 TCP 连接
{c2: 控制}连接, 端口号为: {c2:21}
{c2: 数据}连接, 端口号为: {c2:20}

邮件系统

Q: 传统 SMTP 如何承载非 ASCII 内容和附件?
A: MIME 描述内容类型和传输编码,并将非 ASCII 内容编码为传统 SMTP 可安全传输的 ASCII 形式(现代扩展也可支持 8-bit 内容)。

SMTP 在传输层使用 {TCP}协议, 端口号为 {25}

POP3 (邮局协议) 在传输层使用 {TCP}协议, 端口号为 {110}

Q: SMTP 协议的作用是什么?
A: 用于发送中转电子邮件, 是一种(Push) 协议.

Q: POP3 协议的作用是什么?
A: 用于接收读取电子邮件, 是一种(Pull) 协议.

万维网

Q: “统一资源定位符” (URL) 的一般形式
A: <协议>://<IP或域名>:<端口>/<路径>

Q: 访问一个网页 http://www.example.com/index.htm 时, 发生的主要事件顺序是什么?
A:

  1. 浏览器{c1:分析 URL}, 识别出协议、域名和路径.
  2. 浏览器向 DNS 请求解析域名 www.example.com 的 {c2:IP 地址}.
  3. DNS 返回对应的 IP 地址. ({c3:DNS 解析完成})
  4. 浏览器与服务器建立 {c4:TCP 连接} (HTTP 默认端口为 80).
  5. 浏览器发出 HTTP 请求, 例如 {c5:GET /index.htm}.
  6. 服务器返回 HTTP {c6:响应报文}, 其中包含 index.htm 文件内容.
  7. 浏览器接收并{c7:渲染页面}内容, 将其显示给用户.
  8. 根据 HTTP 版本、响应头和连接策略,{c8:复用或关闭 TCP 连接}。

http协议

Q: HTTP/1.0 和 HTTP/1.1 在连接管理上最核心的区别是什么?
A: - HTTP/1.0: 短连接 (Short-lived)
每个请求/响应都需要建立一个新的TCP连接,然后立即断开

  • HTTP/1.1: 长连接/持久连接 (Persistent Connection) 默认开启。
    一个TCP连接可以被复用, 以处理多个请求/响应

Q: 非流水线HTTP协议有什么特点?
A: 必须在收到确认之后,才能进行下一次发送