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

一、网络层概述

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

  • 数据平面(转发)
    • 本地
    • 每个路由器自身的功能
  • 控制平面(路由)
    • 整个网络
    • 路由器之间通过交互来实现

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 地址, 端口号) 为 (NATIP 地址, 新端口号)
    • 远程客户/服务器用(NATIP地址, 新端口号)作为目的地来响应。
  • NAT转换表中)
    • 记录每个(源IP 地址, 端口号)到 (NATIP地址, 新端口号) 转换配对。
  • 进来的分组
    • 对每个进来的分组,用保存在NAT表中的对应的 (源IP 地址, 端口号) 替换分组中的目的域 (NATIP 地址, 新端口号)。

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)
  • 匹配
    • 数据包头字段中的值。
  • 动作
    • 对于匹配的数据包:丢弃,转发,修改匹配的数据包或将匹配的数据包发送到控制器
  • 优先级
    • 消除重叠模式
  • 计数器
    • 计数 bytepacket 数量。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值