3.4 KiB
Raw Permalink Blame History

1. 网络层概述

  • 网络层中两个关键功能:
    • 转发:(数据平面)实际传输数据包。纳秒内操作
    • 路由控制平面规划路径。包括传统路由算法在路由器中实现计算转发表第5章和软件定义网络SDN服务器集中远程控制第5章。毫秒内操作

2. 路由器工作机理

  • 最长前缀匹配:转发表存地址范围到链路接口号的影射。查找给定目标地址的转发表条目时,使用与目标地址匹配的最长地址前缀

  • 交换

    • 经内存交换:数据包复制到系统内存然后再转发,速度受内存带宽限制
    • 经总线交换:数据报通过共享总线从输入端口存储器到输出端口存储器,速度受总线带宽限制
    • 经互连网络交换:连接多处理器,将数据报碎片化为固定长度的单元,通过交换结构交换单元
    路由器交换结构
  • 排队:到达速率超过线路速度时进行缓存

    • 输入端口排队:输入缓冲区溢出导致排队延迟和丢失;线路前部(HOL) 阻塞(队列前面的排队数据报阻塞,后面的数据报就堵住了,一个输出端口的阻塞可能导致多个输出端口阻塞)
    • 输出端口排队:可能输出缓存溢出导致丢失
  • 缓存量计算RTT * 链路容量C单流或少流适合或$\frac{RTT\times C}{\sqrt{N} }$N为流的数量适合多流

  • 调度:先进先出;设置优先级;分类,每个类轮流调度;加权的分类轮流调度

3. IP互联网协议

  • IP数据包格式

    IP报文结构
  • 分片网络链路具有最大可能的链路级帧所以要将IP数据报分片

    • e.g. 4000B20B报头+3980B数据的数据报拆成(20B+1480B)+(20B+1480B)+(20B+1020B)的形式。另外还需要设置offset=字节偏移量/8
  • 子网:具有相同子网部分 IP地址可以不靠中间路由器物理相互联系

    • 地址表示a.b.c.d/xx是子网掩码表示子网共同的IP有x位
    • 有限广播地址255.255.255.255该报文会交付给相同子网中的所有主机常用于DHCP定向广播地址将IP和子网掩码相与计算出网络号然后子网掩码取反后与网络号或运算即为广播地址用于向特定子网内的所有设备发送广播
  • DHCP动态主机配置协议

    1. 主机加入网络255.255.255.255广播寻找DHCP服务器
    2. DHCP服务器广播回复该主机提供一个IP
    3. 主机广播回复DHCP服务器确认占用该IP
    4. DHCP服务器广播回复主机同意主机占用该IP

    还会提供第一跳路由器的地址、DNS 服务器的名称和 IP 地址、网络掩码

  • NAT网络地址转换

    • 传出时将内网主机的源内网IPPort对外转换为路由器的源外网IP新Port
    • 传入时将外网主机的目的路由器外网IP新Port转换回内网主机内网IPPort
  • IPv6IP地址16字节。头部固定长度 40 字节,不允许分片

4. 通用转发和SDN

  • OpenFlow每个路由器都包含一个流表该流表由逻辑集中式路由控制器计算和分发
    • 流表:匹配+动作转发表e.g. 路由器匹配为最长的目标IP前缀动作为转发链接交换机匹配目标 MAC地址动作为转发或洪泛