跳转至

Chapter 4: The Network Player: Data Plane

4.1 网络层概述

每台路由器的数据平面的主要作用是从输入链路向其输出链路转发数据报控制平面的主要作用是协调这些本地的路由器转发动作

4.1.1 转发和路由选择

  • 转发:一个分组到达某路由器的一条输入链路时,路由器将该分组移动到适当地输出链路。发生的事件很短(ns),通常用硬件实现
  • 路由选择:分组从发送方流向接收方时,网络层决定这些分组所采用的路由或路径(路由选择算法),时间较长(s),通常用软件实现
  • 每个网络路由器的转发表:路由器检查到达分组首部,用这些首部的部分值在转发表中索引获取输出链路接口,进而转发分组。

4.1.2 网络服务模型

网络服务模型定义了分组在发送与接收端系统之间的端到端运输特性

网络层可能提供的服务:

  1. 确保交付
  2. 具有延时上界的确保交付
  3. 有序分组交付
  4. 确保最小带宽
  5. 安全性

因特网的网络层提供了单一的服务,尽力而为服务,即根本无服务

分组交换机:通用分组交换设备,根据分组首部字段的值,从输入链路接口到输出链路接口转移分组

某些分组交换机成为链路层交换机

其他分组交换机成为路由器

4.2 路由器工作原理

路由器的四个组件

  1. 输入端口
  2. 交换结构:完全包含在路由器之中
  3. 输出端口
  4. 路由选择处理器:执行控制平面功能

4.2.1 输入端口处理和基于目的地转发

4.3 网络协议

4.3.1 IPV4数据包格式

IP协议包含字段如下:

  • 4位版本号:指定IP协议的版本,对于IPv4来说就是4
  • 4位头部长度:IP头部长度有多少个4字节,所以头部最大长度就是15*4=60字节
  • 8位服务类型:3位优先权(已弃用),4位TOS字段,1位保留字段(必须设置为0)。4为TOS为:最小延时,最大吞吐量,最高可靠性,最小成本,这四个只能选择一个
  • 16位总长度:IP数据报整体占多少字节
  • 16位标识:**唯一的标识主机发送的报文,IP报文在数据链路层被分片,那么每一个片中的标识都是相同的
  • *3位标志字段:**第一位保留,第二位置1表示进制分片(报文长度超过MTU,丢弃报文),第三位更多分片,最后一个分片是1,其他是0
  • *13位分片偏移:**相对于原始IP报文开始处的偏移
  • *8位生存时间:**数据报到达目的地的最大报文跳数,每经过一个路由,TTL-=1,一直到0都没有到达目的地,报文丢弃。
  • *8位协议**:表示上层协议类型,把IP交给TCP还是UDP,其中ICMP是1,TCP是6,UDP是17
  • *16位头部校验和:**使用CRC校验,鉴别头部是否损坏
  • *32位源地址和32位目标地址:**表示发送端和接收端

4.3.2 IPv4数据包分片

一个链路层帧能承载的最大数据量才叫做最大传送单元(MTU),IP数据报受限于MTU。问题在于发送方与目的地路径上的每段链路可能使用不同的链路层协议,可能具有不同的MTU

片:链路层帧小于一个IP数据报,因此数据报被分割

最后一个片的标志比特被设为0,其他片的标志比特被设为1

4.3.3 IPv4编址

一台主机通常只有一条链路连接到网络

主机与物理链路之间的边界叫做接口,路由器与它的任意一条链路之间的边界也叫做接口,一台路由器有多个接口,IP要求每台主机和路由器接口有自己的IP地址

从技术上讲,一个IP地址与一个接口相关联,而不是与包括该接口的主机或路由器相关联

一个接口的IP地址的一部分需要由其连接的子网来决定

一个子网地址:223.1.1.0/24

其中的/24:子网掩码,指示32比特中的最左侧24比特定义了子网地址

2 获取主机地址:动态主机配置协议

DHCP又被称为即插即用协议或零配置协议

4.3.4 网络地址转换

具有专用地址的地域是指其地址仅对该网络中的设备有意义的网络

NAT使能路由器对外部世界来说不像一台路由器,而是如同一个具有单一IP地址的单一设备

NAT收到主机的数据报后为数据包生成一个新的端口,并发向web服务器,收到服务器的数据包后,根据主机的端口发给主机。

端口号字段为16比特长,因此NAT协议支持超过60000个并行使用路由器广域网一侧单个IP地址的连接

4.3.5 IPv6

2.IPv4到IPv6的迁移

IPv6可以向后兼容,但是IPv4不能处理IPv6数据包

网络层协议的引进相当困难,而应用层协议的引进相对来说要简单

4.4 通用转发和SDN