1. DNS 默认使用 UDP 的情况

    image.png

    image.png

    1. set vc 强制 DNS 使用 TCP 的情况

    image.png

    • 三次握手
    • 四次挥手

    image.png

    一些 TCP 参数:

    image.png

    • seq
      • seq_(i+1) = seq_i + len_i

    image.png

    • len
      • 不包括 tcp 头
    • ack
      • 比如甲发送 seq: x len: y, 那乙回复的 ack 是 x+y, 表示确认 x+y 之前的数据


    一些 TCP 标志位:

    • sync: 建立连接时用
    • fin: 断开连接时用
    • rst: 重置连接 (实际环境中收到该标志, 意味着大问题)

    image.png

    标准的连接建立过程:

    image.png

    • seq 不是从0开始, Wireshark 的配置

    image.png

    拒绝之前丢失的连接:

    image.png

    断开连接:

    image.png

    • 不存在100%可靠的通信机制