Skip to content

📖 计算机网络:自顶向下方法

DNS

  • 层级:应用层协议

  • 服务:

    • 主机名(hostname)到 IP 地址转换的目录服务
    • 主机别名(host aliasing)
    • 邮件服务器别名(mail server aliasing)
    • 负载分配(load distribution),在冗余的服务器之间进行附在分配。一个 IP 地址集合与同一个规范主机名相联系。
  • 传输层协议:UDP
  • 端口:53
  • 定义:RFC 1034/1035

DNS 工作机理

应用程序角度:

  1. 应用程序:调用 DNS 客户端
  2. DNS 客户端:向网络发送 DNS 查询报文‘
  3. DNS 客户端:接收 DNS 回答报文
  4. DNS 客户端:映射结果到应用程序

DNS 采用了分布式的设计方案:

  • 分布式、层次数据库:DNS 使用大量 DNS 服务器,以层次方式组织。
    • 层次结构中有三类 DNS 服务器:根 DNS 服务器、顶级域(TLD)DNS 服务器、权威 DNS 服务器
    • 本地 DNS 服务器:每个 ISP 持有,DNS 请求首先发往该服务器,再转发至 DNS 层次结构
    • 查询方式:从请求主机到本地 DNS 服务器的查询是递归查询(recursive query),其余是迭代查询(iterative query)
  • DNS 缓存
    • 在请求链中,某个 DNS 服务器能将映射缓存在本地存储器中。
    • 这些缓存将在一定时间后被丢弃。

DNS 记录和报文

所有 DNS 服务器存储资源记录(RR),提供主机名到 IP 地址的映射。每个 DNS 回答报文包含一条或多条 RR。

  • 资源记录:包含四个字段 (Name, Value, Type, TTL)
    • Type=A 提供主机名到 IP 地址的映射
    • Type=NS 提供知道该域中主机 IP 地址的权威 DNS 服务器的主机名
      • (foo.com, dns.foo.com, NS)
    • Type=CNAME 提供别名到规范主机名的映射
    • Type=MX 提供简单别名到邮件服务器主机名的映射
      • (foo.com, mail.bar.foo.com, MX)

DNS 报文格式如下

  • 首部 12 字节
    • 标识符:16 bit,复制到对应回答报文中,以便匹配请求和回答
    • 标志位:4 bit
      • 查询(0)/回答(1)
      • 权威(1)
      • 希望递归(1)
      • 递归可用(1)
    • 4 个指出首部后 4 类数据区域数量的字段
  • 问题区域:正在进行的查询信息
    • 名字字段:正在查询的主机名字
    • 类型字段:正在查询的问题类型
  • 回答区域:包含对请求的名字的 RR
  • 权威区域:其他权威服务器的 RR
  • 附加区域:其他有帮助的记录

使用 nslookup 可以对 DNS 服务器发送查询报文

DNS 的安全性

目前还没有成功妨碍 DNS 服务的攻击。

  • DDoS:可以指向根服务器或顶级域名服务器。但通常被绕过,或通过缓存技术缓解。
  • 中间人攻击:截获 DNS 请求,伪造回答。
  • DNS 污染:向一台 DNS 服务器发送伪造的回答,诱使服务器在缓存中接收伪造的记录。

IP(Internet Protocol,网际协议)

  • 负责:将数据包发送给最终的目标计算机
  • 层次:第三层(网络层)
  • 通信类型:点对点

    • 想想:通信链路层的功能是什么?
  • 主机、路由器、节点是什么?

数据链路

物理层负责物理信号和二进制的转换,数据链路层把 01 序列的集合称为“帧",传输这样的数据块。数据链路层的协议定义通过通信媒介互联的各设备之间传输的规范

以下是几个概念:

  • 段:一个被分割的网络
  • 网络拓扑:网络的连接和构成形态,有总线型、环型、星型、网状型等

以下是数据链路技术:

  • MAC 地址
    • 识别数据链路中互连的节点
    • 长 48 比特:一般用十六进制表示 ii
      • 1:单播 0/多播 1
      • 2:全局 0/本地 1
      • 3~24:厂商识别码
      • 25~48:厂商内识别码
  • 共享介质型网络
    • 设备之间使用同一个载波信道进行发送和接收,基本采用半双工通信,应当对介质进行访问控制。
    • 争用方式(CSMA,载波监听多路访问):先到先得占用信道
    • 令牌传递方式:沿着令牌环发送一种叫做“令牌”的特殊报文,只有获得令牌的站才能发送数据。
  • 非共享介质网络
    • 每个站直连交换机,交换机负责转发数据帧,采用全双工通信方式
  • MAC 地址转发
    • 以太网交换机是持有多端口的网桥。根据数据链路层每个帧目标 MAC 地址决定从哪个端口发送数据。
    • 转发表(Forwarding Table):自学原理
    • 存储转发:检查帧末尾的 FCS 位再转发 > 直通转发:得知目标地址后立刻转发,不需要全部接收

  • 环路检测

半双工:只发送/接收(同轴电缆) 全双工:同时发送/接收数据(双绞线电缆/光纤电缆)