计算机网络第四章复习:网络层 Data Plane 数据平面
### 文章目录
- [计算机网络第四章复习:网络层 Data Plane 数据平面](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [@toc](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [0. 本章先搭一条主线](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [1. 网络层的目标与总体路线](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [1.1 本章要解决什么问题](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [1.2 数据平面与控制平面](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [2. 网络层服务与协议](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [2.1 主机和路由器都运行网络层协议](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [2.2 网络层提供的是主机到主机的通信](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [3. Forwarding 和 Routing:一定要分清](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [3.1 Forwarding:转发](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [3.2 Routing:路由选择](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [3.3 类比:旅行规划](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [4. 网络服务模型:Internet 为什么是 best-effort](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [4.1 理论上网络层可以提供哪些服务](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [4.2 Internet 的服务模型:best effort](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [4.3 为什么 best-effort 反而成功了](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [5. 路由器内部结构](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [5.1 路由器的四个主要部分](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [5.2 环岛类比](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [6. 输入端口:接收、查表、排队](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [6.1 输入端口做什么](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [6.2 line speed:为什么查表必须很快](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [6.3 传统转发和广义转发](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [7. 最长前缀匹配 Longest Prefix Matching](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [7.1 为什么不能简单按范围查表](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [7.2 最长前缀匹配规则](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [7.3 TCAM](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [8.1 交换结构的作用](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [8.2 三种交换结构](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [8.3 通过内存交换](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [8.4 通过总线交换](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [8.5 通过互联网络交换](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [9. 输入排队、输出排队与 HOL 阻塞](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [9.1 输入端口排队](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [9.2 HOL blocking:队头阻塞](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [9.3 输出端口排队](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10. 缓存管理与分组调度](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.1 缓存不是越大越好](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.2 Drop policy:缓存满了丢哪个包](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.3 FCFS / FIFO](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.4 Priority scheduling:优先级调度](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.5 Round Robin:轮询调度](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.6 WFQ:加权公平队列](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [10.7 网络中立性](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [11. Internet 网络层:IP、ICMP、转发表](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12. IPv4 数据报格式](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12.1 IPv4 首部整体结构](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12.2 Header Length 字段](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12.3 Total Length 字段](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12.4 Protocol 字段](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12.5 TTL 字段](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [12.6 Header Checksum 字段](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [13. IP 分片与重组](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [13.1 为什么需要分片](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [13.2 分片的基本规则](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [13.3 DF 和 MF](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [13.4 Fragment Offset 的单位](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [13.5 例题:4000 字节数据报,MTU=1500](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [14. IPv4 首部抓包解析示例](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [15. IP 协议首部功能总结](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [16. IP 地址与接口](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [16.1 IP 地址绑定的是接口](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [16.2 点分十进制表示法](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [17. 子网 Subnet](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [17.1 什么是子网](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [17.2 如何判断一个网络有多少个子网](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [17.3 子网掩码](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [18. CIDR:无类别域间路由](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [19. 网络地址计算](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [19.1 基本方法](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [19.2 例题:141.14.72.24 / 255.255.192.0](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [19.3 可用主机地址数](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [20. 子网划分 Subnetting](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [20.1 两级地址变成三级地址](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [20.2 子网划分的核心步骤](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [20.3 例题 1:192.168.1.0/24 分给两个 LAN](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [20.4 例题 2:192.168.1.0/24 分给三个 LAN](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21. DHCP:主机如何自动获得 IP 地址](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.1 IP 地址从哪里来](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.2 DHCP 的目标](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.3 DHCP DORA 流程](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.4 DHCP 报文中的地址和端口](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.5 DHCP 不只分配 IP 地址](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.6 DHCP 的封装过程](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [21.7 DHCP Wireshark 输出怎么看](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [22. 网络前缀如何分配:ISP、ICANN 与地址聚合](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [22.1 网络如何获得地址块](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [22.2 层次化地址聚合](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [22.3 更具体路由和最长前缀匹配](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [22.4 ICANN 与 IPv4 地址耗尽](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23. NAT:网络地址转换](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23.1 NAT 的基本思想](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23.2 私有地址空间](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23.3 NAT 的优点](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23.4 NAT 如何工作](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23.5 NAT 的关键点:改的不只是 IP](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [23.6 NAT 的争议](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24. IPv6](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.1 IPv6 的动机](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.2 IPv6 数据报格式](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.3 IPv6 相比 IPv4 少了什么](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.4 IPv6 地址表示法](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.5 IPv4 到 IPv6 的过渡](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.6 Tunneling:隧道](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [24.7 IPv6 部署为什么很慢](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25. 广义转发:Match + Action](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25.1 从传统转发到广义转发](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25.2 Flow table 抽象](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25.3 OpenFlow 表项](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25.4 Match + Action 统一多种设备](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25.5 用流表编排全网行为](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [25.6 广义转发总结](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [26. Middleboxes:网络中间盒](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [26.1 什么是 Middlebox](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [26.2 常见 Middlebox](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [26.3 Middlebox 的演化](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [27. IP 沙漏模型与端到端原则](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [27.1 IP hourglass:IP 沙漏模型](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [27.2 IP 沙漏"中年发福"](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [27.3 Internet 架构原则](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [27.4 End-to-end argument:端到端原则](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [27.5 智能到底在哪里](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [28. 本章最后的问题:转发表怎么来的?](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [29. 第四章重点知识清单](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [29.1 概念类重点](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [29.2 计算类重点](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [1. 网络地址计算](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [2. 可用主机数](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [3. 子网划分](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [4. 分片偏移](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [5. 最长前缀匹配](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30. 常见易错点](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.1 IP 地址不是严格绑定主机,而是绑定接口](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.2 forwarding 和 routing 不是一回事](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.3 Fragment Offset 的单位不是字节](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.4 分片重组只在目的主机进行](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.5 NAT 不只是改 IP](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.6 IPv6 不是 IPv4 简单加长](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [30.7 Middlebox 会破坏纯粹端到端模型](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
- [31. 用一句话总结第四章](#文章目录 计算机网络第四章复习:网络层 Data Plane 数据平面 @[toc] 0. 本章先搭一条主线 1. 网络层的目标与总体路线 1.1 本章要解决什么问题 1.2 数据平面与控制平面 2. 网络层服务与协议 2.1 主机和路由器都运行网络层协议 2.2 网络层提供的是主机到主机的通信 3. Forwarding 和 Routing:一定要分清 3.1 Forwarding:转发 3.2 Routing:路由选择 3.3 类比:旅行规划 4. 网络服务模型:Internet 为什么是 best-effort 4.1 理论上网络层可以提供哪些服务 4.2 Internet 的服务模型:best effort 4.3 为什么 best-effort 反而成功了 5. 路由器内部结构 5.1 路由器的四个主要部分 5.2 环岛类比 6. 输入端口:接收、查表、排队 6.1 输入端口做什么 6.2 line speed:为什么查表必须很快 6.3 传统转发和广义转发 7. 最长前缀匹配 Longest Prefix Matching 7.1 为什么不能简单按范围查表 7.2 最长前缀匹配规则 7.3 TCAM 8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口 8.1 交换结构的作用 8.2 三种交换结构 8.3 通过内存交换 8.4 通过总线交换 8.5 通过互联网络交换 9. 输入排队、输出排队与 HOL 阻塞 9.1 输入端口排队 9.2 HOL blocking:队头阻塞 9.3 输出端口排队 10. 缓存管理与分组调度 10.1 缓存不是越大越好 10.2 Drop policy:缓存满了丢哪个包 10.3 FCFS / FIFO 10.4 Priority scheduling:优先级调度 10.5 Round Robin:轮询调度 10.6 WFQ:加权公平队列 10.7 网络中立性 11. Internet 网络层:IP、ICMP、转发表 12. IPv4 数据报格式 12.1 IPv4 首部整体结构 12.2 Header Length 字段 12.3 Total Length 字段 12.4 Protocol 字段 12.5 TTL 字段 12.6 Header Checksum 字段 13. IP 分片与重组 13.1 为什么需要分片 13.2 分片的基本规则 13.3 DF 和 MF 13.4 Fragment Offset 的单位 13.5 例题:4000 字节数据报,MTU=1500 14. IPv4 首部抓包解析示例 15. IP 协议首部功能总结 16. IP 地址与接口 16.1 IP 地址绑定的是接口 16.2 点分十进制表示法 17. 子网 Subnet 17.1 什么是子网 17.2 如何判断一个网络有多少个子网 17.3 子网掩码 18. CIDR:无类别域间路由 19. 网络地址计算 19.1 基本方法 19.2 例题:141.14.72.24 / 255.255.192.0 19.3 可用主机地址数 20. 子网划分 Subnetting 20.1 两级地址变成三级地址 20.2 子网划分的核心步骤 20.3 例题 1:192.168.1.0/24 分给两个 LAN 20.4 例题 2:192.168.1.0/24 分给三个 LAN 21. DHCP:主机如何自动获得 IP 地址 21.1 IP 地址从哪里来 21.2 DHCP 的目标 21.3 DHCP DORA 流程 21.4 DHCP 报文中的地址和端口 21.5 DHCP 不只分配 IP 地址 21.6 DHCP 的封装过程 21.7 DHCP Wireshark 输出怎么看 22. 网络前缀如何分配:ISP、ICANN 与地址聚合 22.1 网络如何获得地址块 22.2 层次化地址聚合 22.3 更具体路由和最长前缀匹配 22.4 ICANN 与 IPv4 地址耗尽 23. NAT:网络地址转换 23.1 NAT 的基本思想 23.2 私有地址空间 23.3 NAT 的优点 23.4 NAT 如何工作 23.5 NAT 的关键点:改的不只是 IP 23.6 NAT 的争议 24. IPv6 24.1 IPv6 的动机 24.2 IPv6 数据报格式 24.3 IPv6 相比 IPv4 少了什么 24.4 IPv6 地址表示法 24.5 IPv4 到 IPv6 的过渡 24.6 Tunneling:隧道 24.7 IPv6 部署为什么很慢 25. 广义转发:Match + Action 25.1 从传统转发到广义转发 25.2 Flow table 抽象 25.3 OpenFlow 表项 25.4 Match + Action 统一多种设备 25.5 用流表编排全网行为 25.6 广义转发总结 26. Middleboxes:网络中间盒 26.1 什么是 Middlebox 26.2 常见 Middlebox 26.3 Middlebox 的演化 27. IP 沙漏模型与端到端原则 27.1 IP hourglass:IP 沙漏模型 27.2 IP 沙漏“中年发福” 27.3 Internet 架构原则 27.4 End-to-end argument:端到端原则 27.5 智能到底在哪里 28. 本章最后的问题:转发表怎么来的? 29. 第四章重点知识清单 29.1 概念类重点 29.2 计算类重点 1. 网络地址计算 2. 可用主机数 3. 子网划分 4. 分片偏移 5. 最长前缀匹配 30. 常见易错点 30.1 IP 地址不是严格绑定主机,而是绑定接口 30.2 forwarding 和 routing 不是一回事 30.3 Fragment Offset 的单位不是字节 30.4 分片重组只在目的主机进行 30.5 NAT 不只是改 IP 30.6 IPv6 不是 IPv4 简单加长 30.7 Middlebox 会破坏纯粹端到端模型 31. 用一句话总结第四章)
0. 本章先搭一条主线
第四章讲的是 Network Layer: Data Plane(网络层:数据平面)。这一章不是重点讲"路由算法怎么求最短路径",那是第五章控制平面的内容;第四章更关心的是:
一个 IP 数据报已经来到了某台路由器,它会如何被检查、排队、查表、转发?IP 数据报本身长什么样?IP 地址如何组织?NAT、IPv6、SDN、OpenFlow、middlebox 又是怎么影响网络层转发的?
可以把这一章串成一条线:
text
网络层服务模型
↓
转发 forwarding vs 路由 routing
↓
路由器内部结构:输入端口、交换结构、输出端口
↓
队列、缓存、调度
↓
IP 数据报格式、分片、TTL、Protocol 字段
↓
IP 地址、子网、CIDR、子网划分、DHCP
↓
层次化地址聚合、NAT、IPv6
↓
广义转发 Match + Action、OpenFlow、SDN
↓
Middlebox、IP 沙漏、端到端原则
这一章的核心不是某一个协议,而是理解 网络层数据平面如何把"主机到主机"的通信真正落地为一个个数据报的逐跳转发。
1. 网络层的目标与总体路线
1.1 本章要解决什么问题
网络层位于运输层和链路层之间。发送端运输层产生 TCP/UDP segment 后,网络层会把 segment 封装成 IP datagram,然后交给链路层发送。接收端网络层则把 IP datagram 里的运输层 segment 取出来,交给 TCP 或 UDP。
本章的目标可以概括为两类:
第一类是理解网络层的一般原理:
- 网络层服务模型;
- forwarding 和 routing 的区别;
- 路由器内部如何工作;
- IP 地址与子网;
- 广义转发;
- Internet 架构原则。
第二类是理解这些原理在 Internet 中的具体实现:
- IP 协议;
- NAT;
- IPv6;
- middleboxes。
1.2 数据平面与控制平面
网络层可以分成两个平面:
| 平面 | 关心的问题 | 特点 | 典型内容 |
|---|---|---|---|
| 数据平面 data plane | 一个包到了路由器以后,从哪个端口出去 | 本地、逐包、快速 | 查转发表、转发、排队、丢包 |
| 控制平面 control plane | 从源到目的地应该走哪条路径 | 全局、较慢、生成转发表 | 路由算法、OSPF、BGP、SDN 控制器 |
第四章重点是 数据平面。第五章会继续讲控制平面。
2. 网络层服务与协议
2.1 主机和路由器都运行网络层协议
网络层协议存在于每一台 Internet 设备中:
- 主机有网络层,用于封装和解封装 IP 数据报;
- 路由器也有网络层,用于检查所有经过它的 IP 数据报首部,并把数据报从输入端口送到合适的输出端口。
发送端:
text
应用层数据 → 运输层 segment → 网络层 IP datagram → 链路层 frame
接收端:
text
链路层 frame → 网络层 IP datagram → 运输层 segment → 应用层数据
中间路由器通常只处理到网络层和链路层,不关心应用层内容。
2.2 网络层提供的是主机到主机的通信
前面第三章讲运输层时,我们强调:
- 网络层:主机到主机;
- 运输层:进程到进程。
也就是说,IP 层只负责把数据报送到目的主机;至于目的主机上的 Firefox、微信、QQ、SSH 哪个进程接收,则由运输层端口号决定。
3. Forwarding 和 Routing:一定要分清
3.1 Forwarding:转发
Forwarding 是局部动作。一个数据报到达某台路由器后,路由器查看数据报首部,查找转发表,然后决定从哪个输出端口发出去。
它发生在每一台路由器内部,是数据平面功能。
比如路由器收到一个目的地址为 200.23.18.9 的 IP 数据报,它查表发现应该走端口 2,于是把这个数据报从端口 2 送出去。这就是 forwarding。
3.2 Routing:路由选择
Routing 是全局动作。它决定从源主机到目的主机应该经过哪些路由器。
比如从 A 到 B 有三条路,哪条成本最低、拥塞最少、策略允许,这由路由算法决定。路由算法最终生成每台路由器的转发表。
3.3 类比:旅行规划
可以用旅行来理解:
- routing:出发前规划整条路线;
- forwarding:到了某一个路口,根据路标决定下一段走哪条路。
所以考试中看到下面这种说法要能判断:
text
forwarding 是 data plane,routing 是 control plane。
这是第四章最基础也最重要的概念。
4. 网络服务模型:Internet 为什么是 best-effort
4.1 理论上网络层可以提供哪些服务
网络层理论上可以提供很多种服务。
对单个数据报:
- 保证送达;
- 保证 40 ms 内送达。
对一串数据报 flow:
- 保证按序交付;
- 保证最小带宽;
- 限制分组间隔变化,也就是减少 jitter。
这些都属于 QoS(Quality of Service,服务质量)范畴。
4.2 Internet 的服务模型:best effort
Internet 的 IP 层采用的是 best-effort service(尽力而为服务)。
它不保证:
- 一定送达;
- 一定按序;
- 一定不丢;
- 一定延迟小于某个值;
- 一定有带宽保证。
IP 层的态度可以理解成:
我会尽力把数据报往目的地送,但不承诺一定成功。
如果需要可靠性,一般由 TCP 或应用层来补。
4.3 为什么 best-effort 反而成功了
best-effort 看起来很弱,但它让 Internet 的核心机制非常简单。网络核心只负责尽力转发,复杂功能尽量放在边缘主机和应用中。
Internet 能成功,靠的是多方面共同作用:
- 网络机制简单,容易部署和扩展;
- 带宽不断提升,使很多实时应用"多数时间够用";
- CDN、数据中心、应用层分布式服务让内容更靠近用户;
- TCP 拥塞控制让弹性流量自动适应网络状态。
所以 best-effort 不是"什么都不做",而是把网络核心做得足够简单,把复杂性留给端系统和应用层。
5. 路由器内部结构
5.1 路由器的四个主要部分
一个通用路由器可以看成由四部分组成:
- 输入端口 input ports;
- 交换结构 switching fabric;
- 输出端口 output ports;
- 路由处理器 routing processor。
其中:
- 数据平面通常由硬件完成,工作在纳秒级;
- 控制平面通常由软件完成,工作在毫秒级。
这说明高速路由器不能把每个包都交给 CPU 慢慢处理,而要靠硬件快速查表和转发。
5.2 环岛类比
PPT 用 roundabout 环岛来类比路由器:
| 路由器组件 | 类比 |
|---|---|
| 输入端口 | 入口道路和入口收费站 |
| 交换结构 | 环岛本身 |
| 输出端口 | 出口道路 |
| 路由处理器 | 站长/管理者 |
这个类比是为了理解瓶颈:
- 入口处理慢,输入端口会排队;
- 环岛容量不足,交换结构处会堵;
- 很多车都去同一个出口,输出端口会排队。
路由器内部的排队、缓存和调度就是围绕这些瓶颈展开的。
6. 输入端口:接收、查表、排队
6.1 输入端口做什么
输入端口大致做三层工作:
- 物理层处理:接收比特流;
- 链路层处理:把比特组织成链路层帧,例如 Ethernet frame;
- 网络层处理:取出 IP 数据报,查看首部,查转发表,决定输出端口。
输入端口最关键的动作是 lookup/forwarding,即查找转发表并决定输出端口。
6.2 line speed:为什么查表必须很快
输入端口的目标是 line speed,也就是处理速度要跟链路传输速度一样快。
如果一条 100 Gbps 链路不断有数据进来,但输入端口查表太慢,那么数据报就会在输入端口排队。队列满了以后,后续数据报就会被丢弃。
所以高速路由器里,查表通常需要硬件加速。
6.3 传统转发和广义转发
输入端口查表时,有两种思想:
Destination-based forwarding:只看目的 IP 地址。这是传统路由器的主要方式。
Generalized forwarding:可以看任意首部字段,例如源 IP、目的 IP、TCP 端口、MAC 地址等,然后执行动作。这是 SDN/OpenFlow 的核心思想。
7. 最长前缀匹配 Longest Prefix Matching
7.1 为什么不能简单按范围查表
路由表不可能为每个 IP 地址都存一项。IPv4 有 32 位地址,最多有 2^32 个地址,如果逐个存表完全不可行。
因此路由器通常按 地址前缀 存表项,例如:
text
200.23.16.0/20 → 接口 0
200.23.18.0/23 → 接口 1
otherwise → 接口 3
7.2 最长前缀匹配规则
当一个目的地址能够匹配多条表项时,选择前缀最长的那一条。
规则可以写成:
text
查找目的 IP 地址时,选择所有匹配前缀中最长的前缀。
举例,转发表如下:
| 目的地址前缀 | 输出接口 |
|---|---|
11001000 00010111 00010*** ******** |
0 |
11001000 00010111 00011000 ******** |
1 |
11001000 00010111 00011*** ******** |
2 |
| otherwise | 3 |
目的地址:
text
11001000 00010111 00011000 10101010
它能匹配第二条,并且第二条前缀更长,所以选择接口 1。
另一个目的地址:
text
11001000 00010111 00010110 10100001
它匹配第一条,所以选择接口 0。
7.3 TCAM
最长前缀匹配通常可以用 TCAM(Ternary Content Addressable Memory)实现。
TCAM 支持三态匹配:0、1、通配符 *。它的优点是可以在一个时钟周期内完成查找,不太受表规模影响,因此适合高速路由器。
8. Switching Fabric:路由器内部如何把包从输入端口送到输出端口
8.1 交换结构的作用
交换结构负责把数据报从输入端口转移到正确的输出端口。
如果有 N 个输入端口,每个端口速率为 R,那么理想情况下交换结构速率应该达到:
text
N × R
否则交换结构会成为瓶颈。
8.2 三种交换结构
PPT 介绍了三类 switching fabric:
- switching via memory,通过内存交换;
- switching via bus,通过总线交换;
- switching via interconnection network,通过互联网络交换。
8.3 通过内存交换
早期路由器类似普通计算机。数据报从输入端口被复制到系统内存,然后再从系统内存复制到输出端口。
缺点是一个数据报要经过内存总线两次,速度受内存带宽限制。
8.4 通过总线交换
数据报从输入端口通过一条共享总线传到输出端口。
缺点是多个输入端口会争用同一条总线,因此交换速率受总线带宽限制。
8.5 通过互联网络交换
高性能路由器使用 crossbar、Clos network、多级交换网络等结构。
它们的特点是可以并行传输多个数据报,比共享总线更容易扩展。高端路由器还会使用多个 switching planes 并行工作,通过并行化提高交换容量。
9. 输入排队、输出排队与 HOL 阻塞
9.1 输入端口排队
如果交换结构速度比所有输入端口加起来的速率慢,那么数据报会在输入端口排队。
输入队列满了,就会发生丢包。
9.2 HOL blocking:队头阻塞
Head-of-the-Line blocking,HOL 阻塞 是输入队列中的重要现象。
假设队列第一个数据报想去输出端口 A,但 A 忙着;队列第二个数据报想去输出端口 B,而 B 其实空闲。由于第一个数据报堵在队头,第二个数据报也不能前进。
这就是队头阻塞:
text
队头的数据报因为目标输出端口忙而无法转发,导致后面的数据报即使可以转发也被挡住。
9.3 输出端口排队
如果交换结构把数据报送到某个输出端口的速度超过了该输出链路发送速度,那么数据报会在输出端口排队。
输出端口需要解决三个问题:
- 缓存多少数据;
- 缓存满时丢哪个包;
- 多个包排队时先发哪个包。
这些分别对应 buffering、buffer management、packet scheduling。
10. 缓存管理与分组调度
10.1 缓存不是越大越好
传统经验认为路由器缓存大小可以取:
text
Buffer ≈ RTT × C
其中 C 是链路容量。
例如:
text
RTT = 250 ms
C = 10 Gbps
Buffer = 0.25 × 10 Gbps = 2.5 Gbit
但是缓存太大也有问题。过大的队列会增加排队时延,导致实时语音、视频、游戏等体验变差。这类问题常被称为 bufferbloat。
直观理解:
缓存像盐,太少不行,太多也不好。
10.2 Drop policy:缓存满了丢哪个包
常见策略有:
- tail drop:队列满了以后,直接丢弃新来的包;
- priority drop:根据优先级丢包;
- ECN / RED:队列还没完全满时就标记或提前丢弃,向端系统发出拥塞信号。
10.3 FCFS / FIFO
FCFS(First Come, First Served)也叫 FIFO(First In, First Out)。
规则很简单:谁先到,谁先发。
优点是简单,缺点是不能区分不同业务的重要性。
10.4 Priority scheduling:优先级调度
优先级调度会把流量分到不同队列中,例如高优先级队列和低优先级队列。
发送时总是优先发送最高优先级队列中的包。同一个优先级内部可以继续按 FIFO。
优点是可以保障关键流量,比如语音、视频、控制报文。缺点是低优先级流量可能长期得不到服务。
10.5 Round Robin:轮询调度
Round Robin 会循环扫描各个队列,每个队列有包就发一个。
它避免了单个队列长期独占链路,但每类流量获得的服务比例基本相同。
10.6 WFQ:加权公平队列
Weighted Fair Queuing 是加权版 Round Robin。
每类流量 i 有权重 w_i,它获得的服务比例大约为:
text
w_i / Σw_j
WFQ 可以为不同流量类别提供最低带宽保障,是 QoS 中常见思想。
10.7 网络中立性
PPT 在这里引入 Network Neutrality。技术上,网络中立性和路由器的调度、缓存管理有关。
如果 ISP 能根据应用、内容、服务商来决定哪些包优先、哪些包降速,就会涉及网络中立性问题。
PPT 提到美国 FCC 2015 年开放互联网规则中的三条原则:
- no blocking,不阻塞合法内容;
- no throttling,不故意降速合法流量;
- no paid prioritization,不搞付费优先。
这部分不是计算重点,但能帮助理解:调度和缓存管理不仅是技术问题,也可能变成社会、经济和法律问题。
11. Internet 网络层:IP、ICMP、转发表
Internet 的网络层主要包括:
- IP protocol:规定数据报格式、地址、处理规则;
- ICMP protocol:用于错误报告和路由器信令;
- routing protocols / SDN controller:生成转发表;
- forwarding table:数据平面查表转发的依据。
这里要注意:
- IP 是数据平面核心;
- 路由算法和路由协议属于控制平面;
- ICMP 是网络层辅助协议,用于报告差错和传递控制信息。
12. IPv4 数据报格式
12.1 IPv4 首部整体结构
IPv4 数据报由首部和 payload 组成。payload 通常是 TCP segment 或 UDP segment。
IPv4 首部最小 20 字节,最大 60 字节。字段包括:
| 字段 | 作用 |
|---|---|
| Version | IP 版本,IPv4 为 4 |
| Header Length | 首部长度,单位是 4 字节 |
| Type of Service / DSCP / ECN | 服务类型、差分服务、拥塞标记 |
| Total Length | 整个 IP 数据报长度,单位字节 |
| Identification | 分片标识 |
| Flags | 分片相关标志,如 DF、MF |
| Fragment Offset | 分片偏移 |
| TTL | 生存时间,每经过一个路由器减 1 |
| Protocol | 上层协议,如 TCP、UDP、ICMP |
| Header Checksum | IPv4 首部校验和 |
| Source IP Address | 源 IP 地址 |
| Destination IP Address | 目的 IP 地址 |
| Options | 可选字段,实际不常用 |
| Payload | 上层数据,一般是 TCP/UDP segment |
12.2 Header Length 字段
Header Length 的单位是 4 字节。
如果 Header Length = 5,说明首部长度是:
text
5 × 4 = 20 bytes
这是没有 options 时的最小 IPv4 首部长度。
如果 Header Length = 15,则首部长度是:
text
15 × 4 = 60 bytes
12.3 Total Length 字段
Total Length 表示整个 IP 数据报的长度,包括 IP 首部和数据部分。
它是 16 位字段,所以最大长度是:
text
2^16 - 1 = 65535 bytes
实际链路上常见数据报不会这么大,因为受 MTU 限制。以太网常见 MTU 是 1500 字节。
12.4 Protocol 字段
Protocol 字段用于告诉接收端网络层:这个 IP 数据报的数据部分应该交给哪个上层协议。
常见值:
| Protocol 值 | 上层协议 |
|---|---|
| 1 | ICMP |
| 6 | TCP |
| 17 | UDP |
这就是网络层的 demultiplexing。
12.5 TTL 字段
TTL 表示数据报还能经过多少跳。
每经过一个路由器,TTL 减 1。如果 TTL 变成 0,路由器丢弃该数据报,并通常通过 ICMP 向源主机报告。
TTL 的主要作用是防止路由错误或环路导致数据报在网络中无限循环。
12.6 Header Checksum 字段
IPv4 首部校验和只校验 IP 首部,不校验 payload。
由于 TTL 每经过一个路由器都会变化,所以 IPv4 首部校验和也需要在每跳重新计算。
IPv6 去掉了首部校验和,目的之一就是加速路由器转发。
13. IP 分片与重组
13.1 为什么需要分片
每条链路都有 MTU(Maximum Transmission Unit),表示链路层帧能够承载的最大数据量。
不同链路的 MTU 可能不同。如果一个 IP 数据报比下一跳链路 MTU 更大,就需要分片。
13.2 分片的基本规则
IP 分片的规则是:
- 一个大 IP 数据报被分成多个较小的数据报片;
- 每个分片都有自己的 IP 首部;
- 所有分片使用相同的 Identification;
- Fragment Offset 表示该分片数据在原始数据报中的位置;
- MF 标志表示后面是否还有更多分片;
- 重组只在最终目的主机完成,中间路由器不负责重组。
13.3 DF 和 MF
| 标志 | 含义 |
|---|---|
| DF | Don't Fragment,不允许分片 |
| MF | More Fragments,后面还有分片 |
如果 DF=1,而数据报又大于下一跳 MTU,那么路由器不能分片,只能丢弃,并通常通过 ICMP 报告。
MF=1 表示后面还有分片。最后一个分片 MF=0。
13.4 Fragment Offset 的单位
Fragment Offset 的单位不是字节,而是 8 字节。
公式:
text
Fragment Offset = 该分片数据起始字节 / 8
注意这里说的是原始数据报的数据部分偏移,不包括 IP 首部。
13.5 例题:4000 字节数据报,MTU=1500
假设一个 4000 字节 IP 数据报要经过 MTU=1500 的链路,并且 IP 首部为 20 字节。
每个非最后分片最多能携带的数据量是:
text
1500 - 20 = 1480 bytes
因此分片如下:
| 分片 | 数据长度 | Offset | MF |
|---|---|---|---|
| 第 1 片 | 1480 | 0 | 1 |
| 第 2 片 | 1480 | 1480/8 = 185 | 1 |
| 第 3 片 | 剩余数据 | 2960/8 = 370 | 0 |
PPT 中还给了另一个例子:数据部分共 3800 字节,每个分片数据部分取 1400 字节,则偏移分别为:
text
0 / 8 = 0
1400 / 8 = 175
2800 / 8 = 350
这类题考试非常常见。记住两点:
- offset 的单位是 8 字节;
- 计算分片数据长度时要扣掉每个分片自己的 IP 首部。
14. IPv4 首部抓包解析示例
PPT 给了一个十六进制 IP 报文片段:
text
45 00 00 30
82 fc 40 00
80 06 f5 a5
80 a8 b1 99
3b 40 6e d5
06 64 31 ba 22 68 b9 90 00 00 00 00 70 02 ff ff ec e2 00 00
前 20 字节是 IPv4 首部。可以这样解析:
text
45
4 表示 IPv4,5 表示首部长度为 5×4=20 字节。
text
00 30
总长度为 0x0030 = 48 字节。
text
82 fc
Identification 字段。
text
40 00
分片相关字段。这里通常可以看出 DF=1,offset=0,说明不分片。
text
80
TTL = 0x80 = 128。
text
06
Protocol = 6,表示上层是 TCP。
text
f5 a5
IPv4 首部校验和。
text
80 a8 b1 99
源 IP 地址:128.168.177.153。
text
3b 40 6e d5
目的 IP 地址:59.64.110.213。
这类题的技巧是:先从第一个字节读版本和首部长度,再根据固定字段顺序往后拆。
15. IP 协议首部功能总结
网络层基本功能可以从 IP 首部字段里看出来:
- 多跳寻路到目的端:靠目的 IP 地址;
- 标明发送端身份:靠源 IP 地址;
- 复用/分解到上层协议:靠 Protocol 字段;
- 处理 MTU 不匹配:靠 Identification、DF、MF、Fragment Offset;
- 防止循环转发浪费资源:靠 TTL;
- 检测 IP 首部错误:靠 Header Checksum。
所以 IP 首部不是孤立字段,而是围绕网络层的核心问题设计的。
16. IP 地址与接口
16.1 IP 地址绑定的是接口
IPv4 地址是 32 位标识符。严格来说,IP 地址关联的是 接口 interface,而不是整个主机。
接口是主机或路由器与物理链路之间的连接点。
- 普通主机通常有一个或两个接口,例如有线网卡、无线网卡;
- 路由器通常有多个接口,因为它要连接多个网络。
因此,路由器通常有多个 IP 地址,每个接口一个。
16.2 点分十进制表示法
IPv4 地址在机器中是 32 位二进制数。为了方便阅读,人们把它每 8 位分成一组,再转换成十进制,用点分隔。
例如:
text
10000000 00001011 00000011 00011111
转换成:
text
128.11.3.31
每一段范围是 0 到 255。
17. 子网 Subnet
17.1 什么是子网
子网可以这样定义:
一组设备接口,它们不经过路由器就能彼此物理到达。
同一子网中的 IP 地址有共同的高位前缀,剩下低位作为主机部分。
例如:
text
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
这三个就是不同子网。
17.2 如何判断一个网络有多少个子网
PPT 给出的判断方法是:
text
把每个主机或路由器接口拆开,形成一个个相互隔离的"岛"。每个岛就是一个子网。
如果两个接口之间不经过路由器就能通信,它们属于同一子网。只要经过路由器,就说明跨越了子网边界。
17.3 子网掩码
/24 表示前 24 位是网络/子网部分,后 8 位是主机部分。
例如:
text
223.1.1.0/24
表示前 24 位固定,主机部分有 8 位。
18. CIDR:无类别域间路由
CIDR 全称是 Classless InterDomain Routing,无类别域间路由。
格式:
text
a.b.c.d/x
其中 x 表示前 x 位是网络前缀。
例如:
text
200.23.16.0/23
表示前 23 位是网络部分,后 9 位是主机部分。
CIDR 的意义在于:
- 不再固定使用 A/B/C 类地址;
- 网络前缀长度可以灵活变化;
- 可以进行路由聚合,减少路由表规模。
19. 网络地址计算
19.1 基本方法
求网络地址的方法:
text
IP 地址 AND 子网掩码 = 网络地址
19.2 例题:141.14.72.24 / 255.255.192.0
已知:
text
IP 地址:141.14.72.24
子网掩码:255.255.192.0
255.255.192.0 中第三段 192 的二进制是:
text
192 = 11000000
第三段 72 的二进制是:
text
72 = 01001000
逐位 AND:
text
01001000
11000000
--------
01000000 = 64
所以网络地址是:
text
141.14.64.0
19.3 可用主机地址数
如果网络号有 m 位,主机号有 n 位,则该网络可分配的主机地址数通常是:
text
2^n - 2
减掉两个特殊地址:
- 主机号全 0:网络地址;
- 主机号全 1:广播地址。
例如 /24 有 8 位主机号,可用地址数是:
text
2^8 - 2 = 254
20. 子网划分 Subnetting
20.1 两级地址变成三级地址
原本 IP 地址可以看成:
text
网络号 + 主机号
子网划分后,在主机号中借出若干位作为子网号:
text
网络号 + 子网号 + 主机号
这样一个组织内部可以把一个大网络块划分成多个小网络,对外仍然可以表现为一个整体网络。
20.2 子网划分的核心步骤
做 VLSM 子网划分题时,一般按下面步骤:
- 按所需主机数从大到小排序;
- 对每个 LAN 找最小主机位 n,使得
2^n - 2 ≥ 主机数; - 得到前缀长度
32 - n; - 按网络地址递增顺序分配;
- 写出网络地址和子网掩码。
20.3 例题 1:192.168.1.0/24 分给两个 LAN
题目:
| 子网 | 需要地址数 |
|---|---|
| LAN1 | 95 |
| LAN2 | 76 |
LAN1 需要 95 个可用地址。找最小 n:
text
2^6 - 2 = 62,不够
2^7 - 2 = 126,够
所以 LAN1 用 7 位主机号,前缀为 /25,掩码为:
text
255.255.255.128
LAN2 需要 76 个可用地址,同样需要 /25。
分配结果:
| 子网 | 网络地址 | 子网掩码 | 可用主机范围 |
|---|---|---|---|
| LAN1 | 192.168.1.0/25 | 255.255.255.128 | 192.168.1.1 ~ 192.168.1.126 |
| LAN2 | 192.168.1.128/25 | 255.255.255.128 | 192.168.1.129 ~ 192.168.1.254 |
20.4 例题 2:192.168.1.0/24 分给三个 LAN
题目:
| 子网 | 需要地址数 |
|---|---|
| LAN1 | 95 |
| LAN2 | 56 |
| LAN3 | 60 |
先按需求从大到小:95、60、56。
LAN1:95 个主机,需要 /25。
LAN3:60 个主机:
text
2^5 - 2 = 30,不够
2^6 - 2 = 62,够
所以需要 /26。
LAN2:56 个主机,也需要 /26。
按网络地址递增分配:
| 子网 | 网络地址 | 子网掩码 | 可用主机范围 | 广播地址 |
|---|---|---|---|---|
| LAN1 | 192.168.1.0/25 | 255.255.255.128 | 192.168.1.1 ~ 192.168.1.126 | 192.168.1.127 |
| LAN2 | 192.168.1.128/26 | 255.255.255.192 | 192.168.1.129 ~ 192.168.1.190 | 192.168.1.191 |
| LAN3 | 192.168.1.192/26 | 255.255.255.192 | 192.168.1.193 ~ 192.168.1.254 | 192.168.1.255 |
注意:如果题目规定 LAN1~LAN3 按顺序分配,也可以按 LAN1、LAN2、LAN3 顺序,只要每个子网大小合法且网络地址递增即可。考试中要看题目是否强调"按 LAN 编号顺序"还是"按主机数从大到小"。
21. DHCP:主机如何自动获得 IP 地址
21.1 IP 地址从哪里来
这个问题其实有两层:
- 主机如何获得自己所在网络内的 IP 地址?
- 一个网络如何获得自己的网络前缀?
主机获得 IP 地址的方式有两种:
- 管理员手动配置;
- DHCP 动态获取。
DHCP 的特点是 plug-and-play,即插即用。
21.2 DHCP 的目标
DHCP,全称 Dynamic Host Configuration Protocol,动态主机配置协议。
它的目标是:
- 主机加入网络时自动获得 IP 地址;
- 地址有租约,可以续租;
- 主机离开后地址可以回收再利用;
- 支持移动用户频繁加入和离开网络。
21.3 DHCP DORA 流程
DHCP 经典流程可以记为 DORA:
text
Discover → Offer → Request → ACK
具体过程:
- DHCP Discover:客户端广播,问网络里有没有 DHCP 服务器;
- DHCP Offer:服务器广播,提供一个可用 IP 地址;
- DHCP Request:客户端广播,请求使用这个地址;
- DHCP ACK:服务器广播,确认分配。
21.4 DHCP 报文中的地址和端口
客户端刚加入网络时还没有 IP 地址,所以 Discover 或 Request 的源 IP 可以是:
text
0.0.0.0
广播目的 IP 是:
text
255.255.255.255
DHCP 使用 UDP:
| 角色 | UDP 端口 |
|---|---|
| DHCP server | 67 |
| DHCP client | 68 |
PPT 中的例子:
text
DHCP discover:
src: 0.0.0.0, 68
dest: 255.255.255.255, 67
transaction ID: 654
DHCP offer:
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddr: 223.1.2.4
transaction ID: 654
transaction ID 用来匹配请求和响应。
21.5 DHCP 不只分配 IP 地址
DHCP 返回的信息不只是 IP 地址,还包括:
- 默认网关,也就是 first-hop router;
- DNS 服务器地址;
- 子网掩码;
- 租约时间等。
所以电脑连上 WiFi 后,自动知道自己的 IP、网关、DNS,这背后就是 DHCP。
21.6 DHCP 的封装过程
DHCP 报文封装关系是:
text
DHCP → UDP → IP → Ethernet → Physical
客户端发送 DHCP Request 时,以太网目的 MAC 地址通常是广播地址:
text
FF:FF:FF:FF:FF:FF
路由器内置的 DHCP server 收到后,逐层解封装到 DHCP,生成 DHCP ACK,再封装发回客户端。
21.7 DHCP Wireshark 输出怎么看
补充页中的 Wireshark 输出展示了真实 DHCP 报文。
其中常见字段包括:
| 字段 | 含义 |
|---|---|
| Message type | Boot Request 或 Boot Reply |
| Transaction ID | 匹配一次 DHCP 交互 |
| Client MAC address | 客户端 MAC 地址 |
| Option 53 | DHCP Message Type,如 Request 或 ACK |
| Option 54 | DHCP Server Identifier |
| Option 1 | Subnet Mask |
| Option 3 | Router,也就是默认网关 |
| Option 6 | DNS Server |
| Option 50 | Requested IP Address |
| Option 55 | Parameter Request List |
这说明 DHCP 的很多配置信息都是通过 options 携带的。
22. 网络前缀如何分配:ISP、ICANN 与地址聚合
22.1 网络如何获得地址块
一个组织的网络前缀通常来自上级 ISP。
例如 ISP 拥有:
text
200.23.16.0/20
它可以把这个 /20 地址块分给 8 个组织,每个组织一个 /23:
text
200.23.16.0/23
200.23.18.0/23
200.23.20.0/23
...
200.23.30.0/23
为什么是 8 个?因为 /20 到 /23 多借了 3 位:
text
2^3 = 8
22.2 层次化地址聚合
层次化地址的好处是可以聚合路由。
如果一个 ISP 内部有多个组织地址块,对外不需要逐个宣布每个组织的小前缀,而可以宣布一个大前缀:
text
Send me anything beginning 200.23.16.0/20
这可以显著减少 Internet 路由表规模。
22.3 更具体路由和最长前缀匹配
如果 Organization 1 从原 ISP 迁移到新 ISP,新 ISP 可以对外宣布更具体前缀:
text
200.23.18.0/23
虽然旧 ISP 还宣布:
text
200.23.16.0/20
但是由于最长前缀匹配,目的地址属于 200.23.18.0/23 的流量会优先匹配 /23,从而走向新 ISP。
这就是最长前缀匹配和 CIDR 地址聚合之间的关系。
22.4 ICANN 与 IPv4 地址耗尽
ISP 的地址块来自 ICANN 及区域互联网注册机构。
ICANN 负责:
- 分配 IP 地址块;
- 通过区域注册机构继续分配;
- 管理 DNS root zone 和顶级域名委派。
IPv4 地址只有 32 位,地址空间有限。PPT 提到,ICANN 在 2011 年已经把最后一批 IPv4 地址分配给区域注册机构。
缓解 IPv4 地址耗尽的两个关键方法:
- NAT;
- IPv6。
23. NAT:网络地址转换
23.1 NAT 的基本思想
NAT,全称 Network Address Translation。
在家庭网络或机构网络中,内部设备使用私有 IP 地址,例如:
text
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
但对外部 Internet 来说,整个家庭网络可能只共享一个公网 IPv4 地址,例如:
text
138.76.29.7
也就是说:
内部很多设备,对外表现成一个公网地址。
23.2 私有地址空间
PPT 列出了三段保留私有地址:
| 私有地址范围 | 前缀 | 地址数量 |
|---|---|---|
| 10.0.0.0 ~ 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
| 172.16.0.0 ~ 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
| 192.168.0.0 ~ 192.168.255.255 | 192.168.0.0/16 | 65,536 |
这些地址只能在本地网络内部使用,不能在公网中直接路由。
23.3 NAT 的优点
NAT 的优点包括:
- 内网多个设备只需要一个公网 IP;
- 内网主机地址变化不需要通知外部世界;
- 更换 ISP 时,内网地址可以不变;
- 内网设备不直接暴露给公网,有一定隐藏效果。
但第四点不能简单理解为"绝对安全",NAT 不是完整的防火墙,只是让外部无法直接寻址内部主机。
23.4 NAT 如何工作
NAT 路由器要维护一张转换表。
假设内网主机:
text
10.0.0.1:3345
访问外部服务器。NAT 路由器会把源地址和端口改成:
text
138.76.29.7:5001
并在 NAT 表中记录:
text
WAN side addr LAN side addr
138.76.29.7:5001 10.0.0.1:3345
外部服务器回复时,目的地址是:
text
138.76.29.7:5001
NAT 路由器查表,把目的地址和端口改回:
text
10.0.0.1:3345
再转发给内网主机。
23.5 NAT 的关键点:改的不只是 IP
NAT 通常不仅改 IP 地址,还改端口号。
因为多个内网主机可能同时访问外部,如果只改 IP,不改端口,NAT 路由器无法区分返回包应该交给哪个内部主机。
所以 NAT 表项通常是:
text
内网 IP + 内网端口 ↔ 公网 IP + 新端口
23.6 NAT 的争议
NAT 很实用,但有争议:
- 路由器本来"应该"只处理到网络层,但 NAT 要查看和修改运输层端口号;
- IPv4 地址短缺理论上应该由 IPv6 解决;
- NAT 修改端口,破坏端到端原则;
- 外部客户端想主动连接 NAT 后面的服务器会比较困难,需要 NAT traversal。
不过 NAT 已经广泛存在于家庭网络、机构网络、4G/5G 蜂窝网络中。
24. IPv6
24.1 IPv6 的动机
IPv6 最初的动机是 IPv4 32 位地址空间即将耗尽。
除此之外,IPv6 还有两个重要目标:
- 简化首部,加快路由器处理和转发;
- 支持对 flow 进行不同网络层处理。
24.2 IPv6 数据报格式
IPv6 地址长度为 128 位。IPv6 基本首部固定 40 字节。
主要字段:
| 字段 | 作用 |
|---|---|
| Version | IP 版本,IPv6 为 6 |
| Priority / Traffic Class | 流量类别或优先级 |
| Flow Label | 标识一条流,便于特殊处理 |
| Payload Length | payload 长度 |
| Next Header | 下一个首部,相当于 IPv4 的 Protocol,也支持扩展首部 |
| Hop Limit | 类似 IPv4 TTL |
| Source Address | 128 位源地址 |
| Destination Address | 128 位目的地址 |
24.3 IPv6 相比 IPv4 少了什么
IPv6 去掉了:
- Header Checksum;
- 路由器分片与重组;
- Options 主首部字段。
原因:加快路由器处理速度。
IPv6 并不是完全没有扩展能力,而是通过 Next Header 指向扩展首部来实现。
24.4 IPv6 地址表示法
IPv6 地址通常写成 8 组 4 位十六进制数:
text
8000:0000:0000:0000:0123:4567:89AB:CDEF
可以省略每组前导 0:
text
8000:0:0:0:123:4567:89AB:CDEF
连续的 0 组可以用 :: 代替:
text
8000::123:4567:89AB:CDEF
注意:一个 IPv6 地址中 :: 只能出现一次,否则无法判断省略了多少组 0。
24.5 IPv4 到 IPv6 的过渡
不能要求全球所有路由器在同一天升级到 IPv6。因此过渡阶段会存在 IPv4 和 IPv6 混合网络。
解决方法之一是 tunneling,隧道。
24.6 Tunneling:隧道
隧道思想:
text
把 IPv6 数据报作为 IPv4 数据报的 payload,在 IPv4 网络中传输。
也就是 packet within a packet。
如果两个 IPv6 路由器之间隔着 IPv4 网络,它们可以建立 IPv4 tunnel。IPv6 数据报进入隧道时被封装进 IPv4 数据报,出隧道后再取出原始 IPv6 数据报。
隧道技术不仅用于 IPv6 过渡,在 4G/5G 网络中也大量使用。
24.7 IPv6 部署为什么很慢
PPT 提到,Google 约 40% 客户端通过 IPv6 访问服务,NIST 约三分之一美国政府域名支持 IPv6,但 IPv6 部署已经持续 25 年以上,仍然没有完全替代 IPv4。
原因大致包括:
- IPv4 + NAT 还能继续撑着;
- 升级路由器、系统、业务需要成本;
- 需要兼容大量旧设备;
- 应用层变化很快,但网络层基础设施更新很慢。
25. 广义转发:Match + Action
25.1 从传统转发到广义转发
传统路由器主要做:
text
match 目的 IP 前缀 → action 从某个端口转发
广义转发则更灵活:
text
match 多层首部字段 → action 执行某种动作
可匹配字段可以来自:
- 链路层,如 MAC 地址;
- 网络层,如 IP 地址;
- 运输层,如 TCP/UDP 端口号。
可执行动作包括:
- forward,转发;
- drop,丢弃;
- modify,修改首部;
- copy/log,复制或记录;
- send to controller,发送给控制器。
25.2 Flow table 抽象
广义转发中,flow table 表项通常包含:
| 项 | 作用 |
|---|---|
| Match | 匹配数据报首部字段模式 |
| Action | 匹配后执行的动作 |
| Priority | 多个规则同时匹配时决定优先级 |
| Counters / Stats | 统计匹配的包数、字节数 |
这里的 flow 不一定是 TCP 连接,而是由首部字段定义出来的一类数据包。
25.3 OpenFlow 表项
OpenFlow 使用 match、action、stats 这种表项结构。
PPT 中的例子包括:
- 目的 IP 为
51.6.0.8的 IP 数据报转发到端口 6; - 目的 TCP 端口为 22,也就是 SSH 的数据报全部阻塞;
- 来自主机
128.119.1.1的数据报全部阻塞; - 目的 MAC 地址为
22:A7:23:11:E1:02的二层帧转发到端口 3。
这说明 OpenFlow 不只做三层 IP 转发,还能覆盖二层、三层、四层。
25.4 Match + Action 统一多种设备
Match + Action 是一个统一抽象,可以表示很多网络设备的行为。
| 设备 | Match | Action |
|---|---|---|
| Router | 最长目的 IP 前缀 | 从某条链路转发 |
| Switch | 目的 MAC 地址 | 转发或泛洪 |
| Firewall | IP 地址、TCP/UDP 端口 | 允许或拒绝 |
| NAT | IP 地址和端口 | 改写地址和端口 |
所以 SDN 不是凭空出现的,它把各种网络设备的处理逻辑抽象成了统一的"匹配 + 动作"。
25.5 用流表编排全网行为
一台交换机上的流表只能控制局部行为。但如果 SDN 控制器统一给多台交换机下发表项,就能实现网络级行为。
PPT 中的例子是:
来自主机 h5、h6 的数据报如果要去 h3、h4,应先到 s1,再从 s1 到 s2。
这种行为不是某一台交换机单独决定的,而是多台交换机流表协同实现的。
25.6 广义转发总结
广义转发的核心是:
text
在任意层首部字段上匹配,然后执行本地动作。
它提供了一种简单形式的网络可编程能力。历史上可以追溯到 active networking,现代则发展到 OpenFlow、SDN、P4 等技术。
26. Middleboxes:网络中间盒
26.1 什么是 Middlebox
RFC 3234 中对 middlebox 的描述大意是:
在源主机和目的主机之间的数据路径上,执行非普通 IP 路由器标准功能的中间设备。
也就是说,middlebox 不只是查目的 IP 转发,而是会过滤、改写、缓存、均衡负载、检测入侵等。
26.2 常见 Middlebox
PPT 中列出的 middlebox 很多:
- NAT:家庭网络、蜂窝网络、机构网络;
- Firewalls:防火墙;
- IDS:入侵检测系统;
- Load balancers:负载均衡器;
- Caches:缓存、CDN;
- Application-specific middleboxes:面向特定应用的中间设备。
今天的 Internet 早已不是只有端系统和简单路由器,中间盒非常普遍。
26.3 Middlebox 的演化
Middlebox 最开始往往是专用封闭硬件。
后来逐渐转向:
- whitebox hardware,白盒硬件;
- open API,开放接口;
- software-defined control,软件定义控制;
- NFV,网络功能虚拟化。
NFV 的思想是把防火墙、负载均衡、NAT 等网络功能从专用硬件中抽出来,用软件运行在通用计算、存储、网络资源上。
27. IP 沙漏模型与端到端原则
27.1 IP hourglass:IP 沙漏模型
Internet 架构常被画成沙漏:
text
上层:HTTP、SMTP、DNS、QUIC、RTP、各种应用
↓
IP 协议
↓
下层:Ethernet、WiFi、光纤、蜂窝网络、PPP、蓝牙等
IP 是中间的细腰。
这个设计的好处是:
- 上面可以发展很多应用;
- 下面可以支持很多链路技术;
- 只要大家都支持 IP,就能互联。
27.2 IP 沙漏"中年发福"
随着 NAT、防火墙、负载均衡、缓存、IDS、CDN、NFV 等 middlebox 大量出现,Internet 的中间层不再只是简单 IP 转发。
这就是 PPT 中的 "IP hourglass, at middle age"。它想表达:
原来沙漏中间很细,只是 IP;后来中间盒越来越多,网络核心变复杂了。
27.3 Internet 架构原则
RFC 1958 中提到 Internet 社区的三个核心信念:
- 目标是 connectivity,连通性;
- 工具是 IP;
- 智能应该在端系统,而不是隐藏在网络内部。
这就是经典的 Internet 设计哲学:
text
网络核心简单,复杂性放在边缘。
27.4 End-to-end argument:端到端原则
端到端原则认为:
某些功能,比如可靠传输、拥塞控制、加密、应用语义检查,最终只有通信端点最清楚需求,因此应该主要在端系统实现。
网络内部可以做一些辅助优化,但不应该把所有复杂功能都塞进网络核心。
例如可靠传输:
- 可以让每一跳链路层做局部可靠;
- 但最终端到端是否成功,仍然需要发送端和接收端确认。
所以 TCP 这样的端到端可靠传输仍然必要。
27.5 智能到底在哪里
早期电话网中,智能主要在网络内部交换机中。
早期 Internet 中,智能主要在边缘主机和应用中。
现代 Internet 中,情况变复杂了:
- 端系统和应用仍然很重要;
- 云、CDN、数据中心也在边缘附近承载大量智能;
- middleboxes 又把一部分智能放回网络路径中;
- SDN/NFV 让网络设备可编程。
因此现代网络已经不再是非常纯粹的"傻网络 + 聪明端系统",而是在端、边缘、网络内部之间重新分配功能。
28. 本章最后的问题:转发表怎么来的?
第四章结束时提出一个问题:
destination-based forwarding 的 forwarding table,或者 generalized forwarding 的 flow table,是怎么计算出来的?
答案是:
text
由控制平面计算。
如果是传统网络,控制平面可能是 OSPF、BGP 等路由协议。
如果是 SDN 网络,控制平面可能是远程控制器,统一计算并下发流表。
这正好引出第五章:Network Layer Control Plane。
29. 第四章重点知识清单
29.1 概念类重点
- 网络层提供主机到主机通信;
- IP 层服务模型是 best-effort;
- forwarding 是数据平面,routing 是控制平面;
- 路由器包括输入端口、交换结构、输出端口、路由处理器;
- 输入端口要做到 line speed;
- 交换结构有 memory、bus、interconnection network 三类;
- 输入排队可能产生 HOL blocking;
- 输出排队涉及缓存、丢包策略、调度算法;
- FCFS、Priority、Round Robin、WFQ 各有特点;
- IPv4 首部字段要熟;
- IP 分片只在目的主机重组;
- IP 地址绑定接口,不是简单绑定主机;
- 子网是不经过路由器即可互通的一组接口;
- CIDR 用
a.b.c.d/x表示任意长度前缀; - DHCP 用 DORA 流程自动分配地址;
- NAT 通过改写 IP 和端口复用公网地址;
- IPv6 地址 128 位,基本首部固定 40 字节;
- IPv6 过渡常用 tunneling;
- OpenFlow 是 match + action;
- middlebox 让 Internet 核心变复杂;
- 端到端原则强调智能应尽量放在边缘。
29.2 计算类重点
1. 网络地址计算
text
网络地址 = IP 地址 AND 子网掩码
2. 可用主机数
主机位有 n 位:
text
可用主机数 = 2^n - 2
3. 子网划分
找最小 n,使得:
text
2^n - 2 ≥ 需要的主机数
前缀长度:
text
32 - n
4. 分片偏移
text
Fragment Offset = 分片数据起始字节 / 8
5. 最长前缀匹配
多个前缀都匹配时:
text
选择前缀最长的表项
30. 常见易错点
30.1 IP 地址不是严格绑定主机,而是绑定接口
一台路由器有多个接口,所以通常有多个 IP 地址。一台笔记本同时开有线网和无线网,也可能有多个 IP 地址。
30.2 forwarding 和 routing 不是一回事
forwarding 是查表转发,发生在每台路由器本地;routing 是计算路径,属于控制平面。
30.3 Fragment Offset 的单位不是字节
Fragment Offset 的单位是 8 字节。很多同学会直接写 1400,而正确是 1400/8=175。
30.4 分片重组只在目的主机进行
中间路由器可以分片,但通常不重组。所有分片最终到目的主机后再重组。
30.5 NAT 不只是改 IP
NAT 通常还要改端口号,并维护 NAT translation table。
30.6 IPv6 不是 IPv4 简单加长
IPv6 不只是地址从 32 位变成 128 位,还改变了首部结构:固定 40 字节、无首部校验和、路由器不做分片、options 变成扩展首部。
30.7 Middlebox 会破坏纯粹端到端模型
NAT、防火墙、缓存、负载均衡等 middlebox 都让路径中的网络设备参与更多处理,使 Internet 不再是完全"简单核心"。
31. 用一句话总结第四章
第四章讲的是:
IP 数据报在网络层如何被逐跳转发;路由器内部如何查表、交换、排队、调度;IPv4 地址和子网如何组织;NAT 和 IPv6 如何缓解地址问题;SDN/OpenFlow 如何把转发抽象成 match + action;middlebox 又如何改变了传统 Internet 的端到端架构。
如果你能把这句话展开成:
text
服务模型 → 转发/路由 → 路由器结构 → IP 首部 → 分片 → 地址/子网/CIDR/DHCP → NAT/IPv6 → Match+Action → Middlebox/端到端原则
那么第四章的知识框架就基本搭起来了。