【计算机网络:自顶向下方法】Chapter4 网络层:数据平面

本文介绍了计算机网络中网络层的主要功能,包括转发、路由选择,以及控制平面和数据平面的传统与SDN方式。详细讨论了路由器的结构、转发机制和IP协议,如IPv4的分片与重组,IPv4和IPv6的地址编址,以及NAT的工作原理和争议。此外,还探讨了SDN中的通用转发和流表应用。

本系列文章为笔者在学习b站中科大郑烇老师的计算机网络课程时(郑老师讲得很清晰!!),结合课程PPT与《计算机网络:自顶向下方法》(第七版)所作的学习笔记,部分图片源自课程PPT或书中,如有侵权,请联系作者删除。

笔记汇总

4.1 网络层概述

4.1.1 网络层服务

网络层为上层(传输层)提供的服务为:在发送端,将报文段封装为数据报并交由下层(数据链路层),在接收端,将数据包解封装为段并交由上层的传输层实体,实现主机到主机的通讯。
不同于传输层协议(只存在于主机中),网络层的协议存在于每一个主机和路由器上,于是它在每一台路由器上都维护了主机与主机之间的通信,属于有连接的服务(与TCP面向连接不同,TCP只在两台端系统中维护通信信息)。

4.1.2 网络层的主要功能

转发(局部)

当一个分组到达某台路由器的输入链路时,该路由器必须将该分组转发到设当的输出链路中。(查转发表)

路由选择(全局)

使用路由算法来决定分组从发送主机到目标接收主机的路径。(计算出转发表)

4.1.3 控制平面和数据平面

控制平面主要的功能是利用路由选择算法计算转发表,决定端到端的路径,数据平面主要做转发工作。分为传统方式和SDN(Software-Defined Networking)方式。

传统方式

传统方式中的控制平面为每-路由器(Per-router)控制平面,每一个路由器单独运行路由选择算法,通过与其他路由器路由算法的通信,决定端到端的路径。

传统方式的数据平面所实现的转发基于目标ip地址和转发表。

SDN方式

SDN方式中的控制平面为逻辑集中的控制平面,使用一个远程控制服务器实现转发表的计算,并将转发表分发到各台路由器中。

SDN方式中的数据平面所实现的转发基于多个字段和转发表,且功能更多。

4.1.4 网络服务模型

网络服务模型定义了分组在发送与接收端系统之间的端到端运输特性。可能包括以下服务:

  • 对于单个数据报而言
    • 可靠传送
    • 延迟保证
  • 对于数据报流而言
    • 保证数据报传送
    • 保证流的最小带宽
    • 分组之间的延迟差

以下为不同网络架构的服务模型,因特网提供的是尽力而为的服务,说白了就是什么都不保证。
在这里插入图片描述

图片来源于课程PPT

4.2 路由器组成

4.2.1 路由器结构概况

路由器的大致组成如下图所示:
在这里插入图片描述

图片来源于课程PPT
  • 输入端口:功能为接收到来的物理层信号,通过链路层功能将物理层信号转换为链路层的帧(frame),再通过网络层提取帧中的数据报,最后根据转发表决定前往的输出端口。(这里的端口,指的是路由器的物理输入和输出接口,与第2、3章所讲的与套接字相关的软件端口不同)

  • 交换结构(high-seed switching fabric):将路由器的输入端口连接到其输出端口。

  • 输出端口:输出端口存储从交换结构中接收的分组,并经过链路层和物理层在输出链路上传输。

  • 路由选择处理器(routing processor):路由选择处理器执行控制平面功能。它运行路由选择协议,为路由器计算出转发表(传统方式),或者负责与远程控制器通信(SDN方式)。还进行网络管理功能。

其中,输入端口,输出端口与交换结构属于数据平面,它们通常使用硬件实现,并运行在纳秒级时间尺寸上;路由选择处理器属于控制平面,它通常使用软件实现,并运行在毫秒级时间尺寸上。

4.2.2 转发方式

转发方式大致分为两种,基于目的地转发通用转发

  • 基于目的地转发:仅依赖于IP数据报的目标IP地址(传统方式)
  • 通用转发: 基于头部字段的任意集合进行转发(SDN方式)

4.2.3 输入端口处理与基于目的地的转发

基于目的地的转发

转发表如果蛮力维护每一个IP地址到每一个端口的映射关系的话,那么表将会异常庞大(32位IP地址有 2 32 2^{32} 232个取值)。
于是,转发表所维护的表项是一个IP地址范围到端口的映射关系,如下图例子所示。
在这里插入图片描述

图片来源于《计算机网络:自顶向下方法》

由于IP地址范围可能有公共的前缀,故实际维护表项时只需要维护一个前缀即可,如下图所示。
在这里插入图片描述

图片来源于《计算机网络:自顶向下方法》

当某个IP地址与多个前缀相匹配时,路由器使用最长前缀匹配规则,即在该表中寻找最长的匹配项。例如地址:
11001000 00010011 00011000 10101010
的前24比特与上表中的第二项匹配

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值