【计算机网络】第四章、网络层:数据平面

  • Post author:
  • Post category:其他




一、网络层概述



转发和路由选择:数据平面和控制平面



  • 数据平面(转发)


    • 本地
    • 每个路由器

      自身

      的功能


  • 控制平面(路由)


    • 整个网络

    • 路由器之间通过交互

      来实现


SDN

:一个分离的(通常是远程的)

控制器

和路由器本地的

控制代理

交互



  • IP

    (

    Internet Protocol

    )

    • 数据报格式
    • 寻址
    • 网络地址转换

    • IPv6
  • 路由器


    • 检查

      通过它的所有

      IP

      数据报中的头部字段。
    • 沿着端到端的路径,将数据包从输入端口移动到输出端口。
  • 两个关键功能


    • 转发

      • 将数据包从路由器的输入链路

        移动

        到适当的路由器输出链路

    • 路由

      • 确定数据包

        从源到目标

        所采用的

        路由



网络层的服务模型

  • 可能保证

    • 确保交付
    • 具有

      时延上限

      的确保交付

    • 有序

      分组交付
    • 确保

      最小带宽
    • 确保

      最大时延抖动

    • 尽力而为

  • 尽力而为

    不保证


    • 成功

      传送

    • 定时

      或者

      按序
    • 端到端的可用带宽



二、路由器的工作原理

  • 输入端口

    • 终结入物理链路的物理层功能,与位于入链路远端的数据链路层交互来执行数据链路层功能,在输入端口还要执行查找功能。
  • 交换结构

    • 将路由器的输入端口连接到它的输出端口。
  • 输出端口

    • 存储分组,传输分组。
  • 路由选择处理器

    • 控制平面功能。



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

  • 路由器使用转发表来查找输出端口。
  • 最长前缀匹配



交换

  • 经内存交换



    • CPU

      的直接控制下完成的
    • 不能同时转发两个分组,即使他们有不同的目的端口
  • 经总线交换

    • 不需要理由选择处理器的干预
  • 经互联网络交换



输出端口处理

  • 取出已经存在输出端口内存中的分组并将其发送到输出链路上。



何处出现排队

  • 输入排队
  • 输出排队
  • 交换结构



分组调度

  • 先进先出
  • 优先权排队
  • 循环和加权公平排队



三、网际协议:IPv4、寻址、IPv6及其他



IPv4数据包格式

ipv4


  • 版本


    • 4

      比特

    • IP

      协议的版本

  • 首部长度


    • 4

      比特
    • 使用

      单位

      来表示,一个单位为四字节。
    • 故首部长度最大为

      15

      个单位,即

      60

      个字节。
  • 服务类型

  • 数据报总长度


    • 16

      比特
    • 指首部和数据之和的长度。
    • 故数据报最大可为

      65535

      字节。
    • 总长度不能超过

      MTU

  • 标识(计数器)
  • 标志
  • 片偏移

    • 分片后,某片在原分组中的相对位置。

  • 生存时间

    • 数据报在网络中可经过的路由器数的

      最大值

  • 上层协议

  • 首部检验和


    • 只检验数据报的首部

      不检验数据部分。

  • 源/目的IP

    • 各占

      4

      字节



IP数据报分片和重组

  • 一个

    大的分组

    可能在路由器中被分割为几个

    分片

  • 在最终的

    目的主机

    上,将这些分片

    重新组装

    成一个大的分组。

只针对

UDP



IPv4编址


  • IP

    地址

    • 分配给主机或路由器

      接口的标识符
  • 接口

    • 主机/路由器与物理链路之间的边界
    • 路由器有多个接口
    • 主机可以有多个接口

    • 每个接口有一个

      IP

      地址

  • IP

    地址有两种


    • IPv4


      • 32

        个二进制位长(

        4

        字节)
      • 常用点分十进制表示

    • IPv6


      • 128

        个二进制位长(

        16

        字节)
      • 常用冒号分隔表示
  • 地址分类

    分类
IP 作用
127.x.x.x 本地回环地址
10.x.x.x 私有地址
172.16.x.x-172.31.x.x 私有地址
192.168.x.x 私有地址
0.0.0.0 无法识别的网络和主机
255.255.255.255 受限的广播地址



IP地址获取

  • 手工指定

    • 在系统配置中设置


  • DHCP

    • 自动从一个

      DHCP

      服务器获得

      IP
    • 还可分配客户的

      第一跳路由器的地址

      (网关)、

      DNS

      服务器的

      IP

      或者域名、子网掩码。


    • 应用层协议



NAT:网络地址转换

nat

  • 外出的分组

    • 替换每个外出的分组的 (源

      IP

      地址, 端口号) 为 (

      NAT



      IP

      地址, 新端口号)
    • 远程客户/服务器用(

      NAT



      IP

      地址, 新端口号)作为目的地来响应。


  • NAT


    转换表

    中)

    • 记录每个(源

      IP

      地址, 端口号)到 (

      NAT



      IP

      地址, 新端口号) 转换配对。
  • 进来的分组

    • 对每个进来的分组,用保存在

      NAT

      表中的对应的 (源

      IP

      地址, 端口号) 替换分组中的目的域 (

      NAT



      IP

      地址, 新端口号)。

nat2



IPv6

  • 更大的地址空间


    • 32

      位到

      128

      位。
  • 扩展的地址层次结构
  • 灵活的首部格式


    • IPv6

      定义了许多可选的扩展首部。
  • 改进的选项


    • IPv6

      允许数据报包含有选项的控制信息,其选项放在有效载荷中。
  • 允许协议继续扩充。
  • 支持即插即用(即自动配置)。

    • 因此

      IPv6

      不需要使用

      DHCP

  • 支持资源的预分配


    • IPv6

      支持实时视像等要求,保证一定的带宽和时延的应用。

  • IPv6

    首部改为

    8

    字节对齐

    • 首部长度必须是

      8

      字节的整数倍。
    • 原来的

      IPv4

      首部是

      4

      字节对齐。

ipv6

  • 冒号十六进制记法

    • 每个

      16

      位的值用十六进制值表示,各值之间用冒号分隔。


      • 68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
    • 在十六进制记法中,允许把

      数字前面的 0 省略

      • 例如把

        0000

        中的前三个

        0

        省略,写成一个

        0

    • 冒号十六进制记法可以允许

      零压缩

      (

      zero compression

      ),即一连串连续的零可以为一对冒号所取代。


      • FF05:0:0:0:0:0:0:B3

        可压缩为:

        FF05::B3

注意:在任一地址中只能使用一次零压缩。



四、通用转发和SDN

  • 每个路由器都包含一个转发表 (

    forwarding table

    ),也称为流表 (

    flow table

    )
  • 匹配

    • 数据包头字段中的值。
  • 动作

    • 对于

      匹配的

      数据包:

      丢弃,转发,修改

      匹配的数据包或将匹配的数据包

      发送到控制器

  • 优先级

    • 消除重叠模式
  • 计数器

    • 计数

      byte



      packet

      数量。



版权声明:本文为qq_45969062原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。