1. 网络层概述
网络层能够被分解为两个相互作用的部分,即数据平面 和 控制平面。
数据平面
- 即网络层中每台路由器的功能,该数据平面功能决定到达路由器输入链路之一的数据报,如何转发到该路由器的输出链路之一。
控制平面
- 控制平面的功能是控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。
- 又分为传统方法和SDN方法。
网络层需要将分组从一台发送主机移动到一台接受主机,需要使用两种重要的网络层功能
转发
:属于数据平面。- 当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路。
- 每台网络路由器都维护一张转发表,通过检查到达分组首部的一些字段,转发分组。
路由选择
:属于控制平面。- 当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由或路径,计算这些路径的算法被称为路由选择算法( routing algorithm)。
网络服务模型 (network service model) 定义了分组在发送与接收端系统之间的端到端运输特性。
确保交付
- 该服务确保分组将最终达到目的地。
具有时延上界的确保交付
- 该服务不仅确保分组的交付,而且在特定的主机到主机时延上界内交付。
有序分组交付
- 该服务确保分组以它们发送的顺序到达目的地。
确保最小带宽
- 只要发送主机以低于特定比特率的速率传输比特(作为分组的组成部分) ,则所有分组最终会交付到目的主机。
安全性
- 网络层能够在源加密所有数据报并在目的地解密这些分组,从而对所有运输层报文段提供机密性。
网络层提供了单一的服务,称为尽力而为服务(best - effort service)。使用尽力而为服务,传送的分组既不能保证已它们的顺序被接收,也不能保证它们最终交付;既不能保证端到端实验,也不能保证有最小带宽。尽力而为服务看起来是根本无服务的一种委婉说法!
1.1 路由器工作原理
路由器包括4个组件
输入端口
:执行将一条输入的物理链路与路由器相连接的物理层功能。交换结构
:交换结构将路由器的输入端口与输出端口相连接。输出端口
:输出端口存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组。路由选择处理器
:执行路由选择协议,维护路由选择表以及连接的链路状态信息,并为路由器计算转发表。
2. IP:网际协议
IP 是 TCP/IP 协议族中最为核心的协议。所有的 TCP、UDP、ICMP 及 IGMP 数据都以 IP 数据报格式传输。
2.1 IPv4数据报格式
网络层分组被称为数据报。
- 版本号:四比特规定了数据报的IP协议版本,目前是4,称为IPv4。
- 首部长度:因为包含一些可变数量的选项,所以需要长度来标识。
- 服务类型:服务类型(TOS)用来区分不同类型的IP数据报,其中4 bit的TOS分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 bit中只能置其中1 bit。用来提供特定等级的服务。
- 总长度:总长度字段是指整个 I P数据报的长度,以字节为单位。
- 标识、标志。片偏移:和IP分片有关。
- 生存时间:(Time To Live,TTL)生存时间字段设置了数据报可以经过的最多路由器数。每经过一个处理它的路由器,它的值就会减1,值为0时则丢弃数据报。确保数据报不会永远在网络中循环。
- 协议:该字段通常仅当一个IP数据报达到其最终目的地才被用于将数据报分用给不同的传输层协议。
- 首部校验和:用于帮助路由器检测收到IP数据报中的比特错误。
- 源 IP 地址和目的 IP 地址:标识从哪里来要去哪里。
- 选项:选项字段允许IP首部被扩展,些选项很少被使用,并非所有的主机和路由器都支持这些选项。
- 数据:数据报传送的主要数据。
2.2 IP地址
在用TCP/IP通信时,用IP地址识别主机和路由器。为了保证正常通信,有必要为每个设备配置正确的IP地址。
IP地址(IPv4地址)由32位正整数来表示。IP地址在计算机内部以二进制方式被处理。然而,由于人类社会并不习惯于采用二进制方式,需要采用一种特殊的标记方式。那就是将32位的IP地址以每8位为一组,分成4组,每组以“.”隔开,再将每组数转换为十进制数(这种方法也叫做“十进制点符号”(Dotdecimal notation)。)
例如
IP地址由“网络标识(网络地址)”和“主机标识(主机地址)”两部分组成(192.168.128.10/24中的“/24”表示从第1位开始到多少位属于网络标识。在这个例子中,192.168.128之前的都是该IP的网络地址。
网络标识在数据链路的每个段配置不同的值。网络标识必须保证相互连接的每个段的地址不相重复。而相同段内相连的主机必须有相同的网络地址。IP地址的“主机标识”则不允许在同一个网段内重复出现。确保在相互连接的整个网络中每台主机的IP地址都不会相互重叠。即IP地址具有了唯一性。
2.2.1 IP地址的分类
IP地址分为四个级别,分别为A类、B类、C类、D类(还有一个一直未使用的E类。) 。它根据IP地址中从第1位到第4位的比特列对其网络标识和主机标识进行区分。
A类地址
- A类IP地址是首位以“0”开头的地址。从第1位到第8位(去掉分类位剩下7位。) 是它的网络标识。A类地址的后24位相当于主机标识。
- 一个网段内可容纳的主机地址上限为16,777,214个。
B类地址
- B类IP地址是前两位为“10”的地址。从第1位到第16位(去掉分类位剩下14位。) 是它的网络标识。B类地址的后16位相当于主机标识。
- 一个网段内 可容纳的主机地址上限为65,534个。
C类地址
- C类IP地址是前三位为“110”的地址。从第1位到第24位(去掉分类位剩下21位。) 是它的网络标识。C类地址的后8位相当于主机标识。
- 一个网段内可容纳的主机地址上限为254个。
D类地址
- D类IP地址是前四位为“1110”的地址。从第1位到第32位(去掉分类位剩下28位。) 是它的网络标识。D类地址没有主机标识,常被用于多播。
- 注意用比特位表示主机地址时,不可以全部为0或全部为1。因为全部为只有0在表示对应的网络地址或IP地址不可