当前位置:   article > 正文

计算机网络——网络层:数据层面_网络层可以抽象角度划分为哪两个层面

网络层可以抽象角度划分为哪两个层面

计算机网络——网络层:数据层面

网络层概述

网络层的作用可以抽象为两个:

  1. 转发,当一个包交换器收到一个数据包时,需要将数据包在出口端进行发送。
  2. 路由,决定数据包的转发路径,其中,路由的方式由路由算法决定。

一个关键的组件就是路由表,一个路由表通过路由算法生成,指导数据包如何进行转发。

因此,我们将网络层分为两个层面,数据层和控制层。

网络层

其中,控制层由路由算法组成,负责维护转发表,而数据层则进行对数据包进行匹配、操作。

路由器

网络层最关键的设备就是路由器,一个路由器由下面的部分组成:

  • 入口:数据从入口输入到路由器。
  • 出口:数据从出口发送。
  • 转发结构:定义了如何从入口读取数据,从出口发出数据。
  • 路由处理器:维护转发表、执行转发算法。

路由器

转发

一般的,转发规则分为两种:

  • 基于目的地的转发:路由器只根据网络层的 IP 地址进行转发。
  • 一般化转发:路由器可以根据 5 层结构中所有数据进行转发。

基于目的地的转发使用掩码进行匹配,使用最长匹配算法进行匹配。

交换

交换一般通过三种方式:

  1. 通过内存交换,硬件将数据包拷贝到共享内存,出口通过读取共享内存中的内容进行读取数据包进行发送。
  2. 通过总线交换,各个端口连接到同一个总线,数据包在总线中移动,同一个时间总线只能传输一个数据包。
  3. 内联总线网络,将总线设计为交叉网络,这样同一个时间能够传输多个数据包。

交换

出口

无论是出口还是入口的缓冲区并不是越大越好,如果越大则会造成缓冲区臃肿,即每个数据包都必须进行排队。一般的通过公式 B = C × R T T B = C \times RTT B=C×RTT 计算缓冲区大小。

包调度

缓冲区队列分为三种类型:

  • FIFO 队列,即一般的队列。
  • 优先队列,路由器先对接收到的数据包进行分类,为每一个级别的数据包都创建一个 FIFO 队列。
  • 轮询权值公平队列(WFQ),与优先队列唯一不同的是,每一个数据包都有一个权值,它能够保证每个权值的数据包都能占用带宽的 w / W w / W w/W

IP 协议

IPv4 数据报格式

IPv4

  • 版本号:默认为 4。
  • 头部大小:根据 Options 部分而调整。
  • TOS : 用于网络拥堵控制。
  • 数据报大小。
  • 标识号、标志、段偏移:用于 IP 分段数据报。
  • TTL :每次经过一个路由器,数据报的 TTL 将会减 1,直到为 0 路由器丢弃。
  • 上层协议号:指明了传输层所使用的协议。
  • 校验和:检验数据。
  • 32 位的源和目标 IP 地址。
  • Options 可选头部分。
  • Data 载荷数据。

主机每一个物理端口都称为接口,每一个接口都有一个 IP 地址,在一个子网中,使用 “xxx.xxx.xxx.xxx/xxx” 的格式标记子网。

DHCP 协议

DHCP 是一个应用层协议,使用 67 的 UDP 端口进行传输,自动配置主机的网络地址。

DHCP 协议分为四个类型的数据包,发现、提供、请求、和 ACK 。

DHCP

NAT 网络地址转换协议

路由器一般具有网络地址转换协议,将输入或输出数据包的 IP 地址进行改写,链接两个不同的网络地址。

NAT

IPv6

IPv6

  • 版本号:一般为 6。
  • TC:拥堵控制。
  • Flow lable: 流控制。
  • 负载大小。
  • Next hdr : 上一层协议。
  • HL: 类似于 TTL.
  • 128 位的源和目的地址。
  • 负载数据。

SDN 网络与网络中间件

如果路由数量多,网络结构复杂,通常使用 SDN 网络,即将每一个路由器的转发表通过一个公共的控制器配置、下发。

SDN 网络

网络中间件是除了路由器的转发功能的其他网络设备,包括DHCP、NAT、IDS、防护墙等。

在数据层面,其核心的哲学思想就是“匹配-操作”,即先对数据包进行匹配,再根据匹配的结果做出操作,包括转发、改写、丢弃等等。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/400872
推荐阅读
相关标签
  

闽ICP备14008679号