anchor.diff:  
   == 网络层
   === 转发表的使用
  -=== IP 头的内容、格式、标准大小
  +=== IP
  +==== 首部
  +* 版本
  +* 首部长度
  +* 服务类型
  +* 数据报长度
  +* 标识、标志、片偏移
  +* 寿命
  +* 协议
  +* 首部检验和
  +* 源和目的 IP 地址
  +* 选项
  +
   ==== 分类
   |===
   |类别 |网络号位数 |主机号位数 |网络个数 |主机个数 |地址范围
  
positive.code: 2. SMTP 的报文使用 7 比特 ASCII 码格式，HTTP 没有该限制
  3. 处理超文本文档时，HTTP 把每个对象封装到自身的响应报文中，SMTP 把所有报文对象封装到一个报文中
  
  === DNS、HTTP、IP 综合工作
  
  === HTTP 工作流程
  
  === DNS 工作流程
  
  == 传输层
  === 复用与分解
  
negative.code: |
  |===
  
  ==== 分片
  ===== 原因
  IP 数据报需封装在链路层帧中以从一个路由器传输到下一个路由器，而链路层协议的 MTU 限制了其大小。因此只能通过分片封装在不同的链路层帧中，使其小于链路层协议的 MTU。
  
  ===== 实现
  
  ==== IP 地址的计算
  === ICMP
  ==== 作用
  用于主机和路由器间彼此沟通网络层的消息。最典型用途是差错报告，除此之外还有：
  
  * 目标地址不可达
  * 网络拥塞
  * TTL 到期
  * IP 分组检验和失败
  * ...
  
  ==== ping 
  ping 发送一个 ICMP 类型8编码0的报文到指定主机。看到回显请求后，目的主机发回一个类型0编码0的 ICMP 回显回答。用于确认是否能与目的主机连通。
  
  === 距离矢量和链状路由以及比较
  === 距离矢量计算
  