【计网】《计算机网络:自顶向下(第7版)》知识点汇总-第四、五章(网络层)-markdown版

  • 4.1网络层概述

    • 1.转发与路由选择
      • 网络层的两种重要功能
        • 转发
          • 路由器把分组移动到适当的输出链路
          • 数据平面的唯一功能
        • 选路/路由
          • 决定分组需要经过的路径
          • 路由选择算法:计算这些路径的算法
      • 转发与路由:
        • 转发:将分组转移到输出端口的动作
          • 时长:数纳秒
        • 路由选择:确定分组从源到目的地的路径的处理过程
          • 时长:数秒
      • 转发表
        • 路由器通过检查分组首部目的地址,使用转发表查询转发分组
        • 路由器通过选路协议配置转发表
        • 选路算法有集中式和分布式两种
      • SDN方法
        • 传统方法:每台路由器有路由选择组件,可通过这个组件与别的路由器通信
        • SDN方法:远程控制器计算和分发转发表给路由器
        • 远程控制器可实现在远程数据中心中,通过转发路由表及其他路由选择报文控制路由器的路由表
    • 2.网络服务模型
      • 概念:定义了分组在发送与接收端系统之间的端到端运输特性
      • 网络层能提供的服务
        • 确保交付
        • 具有时延上限的确保交付
        • 有序分组交付
        • 确保最小带宽
        • 确保最大时延抖动
        • 安全性
      • 各种网络能提供的网络层服务
        • Internet的网络层提供的服务:尽力而为服务
          • 网络层能提供的服务,Internet总是尽力而为的
        • ATM
          • 确保按序时延
          • 有界时延
          • 确保最小带宽
        • 集成服务体系结构
          • 端到端时延保证
          • 无拥塞通信
  • 4.2路由器工作原理

    • 路由器的转发功能
      • 路由器的组成部分
        • 输入端口
        • 交换结构
        • 输出端口
        • 选路/路由处理器
      • 路由器各部分的作用
        • 输入端口
          • 将输入链路接入路由器的物理层功能
          • 与接口交互的链路层功能
          • 完成转发表查找与转发的网络层功能
        • 交换 结构
          • 将输入端口连接到输出端口
          • 是一个网络路由器中的网络
        • 输出端口
          • 执行与输入端口相反的链路层和物理层功能
          • 当一条链路是双向链路时,输出端口与输入端口在同一线路卡上成对出现
        • 路由选择处理器
          • 执行选路协议
          • 维护选路信息与转发表
          • 执行网络管理功能
      • 转发的类型
        • 基于目的地转发:根据分组的目的地选择转发接口
        • 通用转发:根据分组本身的情况,如差错等选择转发接口
    • 1.出入端口处理与基于目的地转发
      • 转发表由路由选择处理器经独立总线复制到线路卡
      • 转发决策在每个输入端口做出,而不是调用集中式路由选择处理器
      • 最长匹配原则:当有多个匹配时,在表中寻找最长的匹配项,向最长匹配项相关联的链路接口转发分组
      • 出入端口的动作
        • 查找(最重要的动作)
        • 被物理层、链路层处理
        • 检查分组的版本号、检验和、寿命字段,并更新后两个字段
        • 更新网络管理的计数器,如接受到的IP数据报的数目
    • 2.交换
      • 三种交换方式
        • 经内存交换
          • 早期
            • 最简单、最早的路由器是传统的计算机
            • 交换是在CPU的控制下完成的
            • 输入输出端口就像操作系统中的I/O设备一样
          • 用内存交换的现代路由器
            • 许多现代路由器其也通过内存交换
            • 与早期路由器间的差别:输入线路卡
              • 处理目的地址的查找
              • 决定分组放入内存的位置
          • 吞吐量
            • 若内存带宽为每秒B个分组,则吞吐量小于每秒B/2
        • 经总线交换
          • 属于端口经共享总线到输出端口,无需路由选择处理器干预
          • 吞吐量:一次只有一个分组跨过总线,因此交换带宽收总线速率限制
          • 可用于小型网络、企业网
        • 经互联网络交换
          • 使用了一个比单一总线更复杂的网络
          • 纵横式网络可以并行转发多个分组,因此是非阻塞的
    • 3.输出端口处理
      • 取出内存中的分组并将其发送到输出链路上
    • 4.何处出现排队
      • 输入和输出端口都可能有排队现象

      • 排队的主要原因:交换结构不能及时转发数据报

      • 丢包:路由器缓存空间被耗尽,无内存处理分组

      • 线路前部HOL阻塞

        • Head-Of-the-Line
        • 因前一个分组阻塞,虽然本分组的输出端口无竞争却依然要等待
        • 分组到达速率变高→队列长度变大→丢包
      • 主动队列管理

        概念:为了防止拥塞而对队列进行的主动管理

        • 丢弃分组

          • 弃尾:丢弃到达的分组
          • 删除数个已排队的分组
        • 通常缓存满之前丢弃分组

        • 在首部加上标记,给发送方提供拥塞信号

        • 随机早期检测RED算法

          Random Early Detection算法

          • 最广泛研究和运用的算法
    • 5.分组调度
      • 含义:在排队分组中选择一个分组来传输
      • 1.先进先出FIFO
      • 2.优先权排队
      • 3.循环加权公平排队
  • 4.3IP协议

    • 1.IPv4数据报格式
      • 结构(每排4byte)
        • 版本号(4比特)、首部长度(4比特)、服务类型(1字节)、数据报长度(2字节)
        • 标识(2字节)、标志(3比特)、片偏移(13比特)
        • 寿命(1字节)、上层协议(1字节)、首部校验和(2字节)
        • 源IP地址
        • 目的IP地址
        • 选项
        • 数据
      • 各字段含义
        • 版本号
          • 规定了数据报的IP协议版本
        • 首部长度
          • 确定IP数据报中荷载实际开始的位置
          • 大多数IP数据报不包含选项,故IP数据报首部一般为20字节
        • 服务类型(TOS)
          • 区分不同类型的IP数据报
          • 例如要求低时延、高吞吐量或可靠性的数据报
        • 数据报长度
          • IP数据报的总长度(首部+数据)
          • 单位:字节
          • 因为该字段为16比特,而数据报很少超过1500字节
        • 标识、标志、片偏移
          • 与IP分片有关
        • 上层协议/协议号
          • 指明数据部分应交给那个运输层协议
          • 6表示为交给TCP,17表示为交给UDP
          • 协议号类似于端口号
            • 协议号是网络层与运输层的粘合剂
            • 端口号是运输层与应用层的粘合剂
        • 首部校验和
          • TCP/IP在网络层与运输层重复计算校验和的原因
            1. IP层只对首部进行了差错校验,而运输层对整个报文段进行了校验
            2. TCP/UDP与IP不一定属于同一个协议栈
              • IP可能把数据传递给不同的协议,如ATM上
        • 选项
          • 作用:允许IP首部被扩展
          • 很少被使用的原因:路由器处理IP数据报所需的时间变化很大
          • IPv6去掉了选项字段
    • 2.IPv4数据报分片
      • 最大传输传送单元:一个链路层帧能承载的最大数据量
        • 以太网:1500字节
        • 某些广域网:576字节
      • 分片:将IP数据报分为两个或多个较小的IP数据报
      • 片fragment:每个较小的数据报
      • 数据报的分片和组装是在端系统中进行而不是在路由器,因为要保证网络内核的简单原则,防止影响路由器性能
      • 标识:用来标识多个分片属于同一个大的数据报
      • 标志:
        • 第一位保留
        • DF(Don’t Fragment):不分片时置为1
        • MF(More Fragment):若发生分片则,最后一个片设为0,其他片为1
      • 片偏移:指明该片最初在数据报的哪个位置,单位为8字节
      • 分片可能引起DoS攻击
        • 如Jolt攻击:攻击者向目标主机发送偏移标志都不是0的片,使主机崩溃
    • 3.IPv4编址
      • 接口:主机或路由器与物理链路的边界
      • IPv4地址与与接口相关联的,而不是与拥有该接口的主机或路由器相关联
      • IP 地址长度为32 比特,共有2^32 个可能的IP 地址。
    • 4.网络地址转换
      • NAT对于外界行为如一个具有单一IP地址的单一设备
      • NAT违反了分层结构
    • 5.IPv6
      • IPv6数据报格式
        • 结构(每排4字节)
          • 版本(4比特)、流量类型(1字节)、流标签(20比特)
          • 有效荷载长度(2字节)、下一个首部、跳限制
          • 源地址
          • 目的地址
          • 数据
        • 版本
          • 表示IP版本号
          • 即使置为4也无法得到合法的IPv4数据报
        • 流量类型
          • 与IPv4服务类型相似
        • 流标签
          • IPv6的特色
          • 给特殊流的分组加上标签,给部分数据优先权
        • 有效荷载长度
          • 给出首部后面的字节数量
          • 因为IPv4报头是定长的,所以不同于IPv4,IPv6给出的不是整个数据报长度
        • 下一个首部
          • 标识数据字段需要交给哪个协议,与IPv4首部中协议字段相同的值
        • 跳限制
          • 类似于IPv4中的寿命
      • 新增内容
        • 扩大的地址容量
          • 地址长度:从地址长度由32比特扩充到了128比特
          • 任播地址:可将数据报交付给一组主机中的任意一个
        • 首部变化
          • 首部是定长的40字节,使得路由器能更快处理数据报
        • 流标签
          • 给特殊的分组加上标签,区分其优先权
      • 舍弃内容
        • 在中间路由器分片或组装
          • 不允许在中间路由器上分片和重组
          • 若IPv6数据报太大则路由器应丢弃该数据报,并向发送方发送ICMP差错报文
        • 首部校验和
          • 因为以太网和运输层中都有校验操作
        • 选项字段
      • 从IPv4 向IPv6 迁移
        • 广泛使用的方法:建立隧道
  • 4.4通用转发和SDN

    • 基于目的转发的两个步骤
      • 查找目的IP地址(匹配)
      • 将分组发送到特定的输出端口(动作)
    • 通用转发同样是匹配+动作
    • OpenFlow:一个被高度认可的标准,是SDN概念的先驱
    • 流表项:OpenFlow中的匹配加动作转发表
      • 首部字段值的集合:进入的分组会与之匹配
      • 计数器集合:流表匹配时更新计数器
      • 动作集合:丢弃、转发、重写等
    • 流表的匹配
      • 违反了分层原则,分配字段集合了链路层、网络层和运输层
      • 流表项可以有通配符,也就是可以匹配部分地址的部分比特位
      • 并非所有首部字段都能被匹配,如一些TTL字段或数据报长度字段无法被匹配
    • OpenFlow可以实现的一些例子
      • 简单转发
      • 负载均衡
      • 充当防火墙
  • 5.1网络层控制平面概述

    • 链接数据平面与控制平面
      • 转发表:基于目的地转发
      • 流表:基于通用转发
    • 控制代理CA
      • 功能:被集中式路由控制器控制,用于配置和管理转发表
      • 简化功能
        • 不能相互间直接交互
        • 不能主动参与计算转发表
  • 5.2路由选择算法

    • 路由选择算法的分类
      • 按集中/分散分
        • 集中式路由选择算法
          • 概念:拥有整个网络全部路由信息
          • 举例:链路状态算法/LS算法/Link State算法
        • 分布式路由选择算法
          • 概念:没有节点有整个网络的完整信息
          • 举例:距离向量算法/DV算法/Distance-Vector算法
      • 按静态/动态分
        • 静态路由选择算法
          • 路由变化缓慢,通常由人工手工配置
        • 动态路由选择算法
          • 周期性自动做出调整
      • 按负载是否敏感分
        • 负载敏感算法
          • 路由会根据负载动态变化以避免拥塞
          • 如早期ARPAnet的路由选择算法
        • 负载迟钝算法
          • 路由不会根据负载变化以避免拥塞
          • 当今因特网路由选择算法都是负载迟钝的
    • 1.链路状态路由选择算法/LS算法
      • (理解内容)
      • 特点:使用全局信息
    • 2.距离向量路由选择算法/DV算法
      • 特点:
        • 迭代的:交换过程要持续到邻居信息相同为止,但此算法无计算终止的信号
        • 异步的:不要求所有节点都步伐一致
        • 分布式的
        • 好消息传得快,坏消息传的慢
      • 使用的方程:Bellman-Ford方程(动态规划)
      • 避免坏消息传的慢的方法:增加毒性逆转
    • 3.LS与DV算法的比较
      • 报文复杂性
        • LS算法:发送O( |N| |E| )个报文
        • LS报文比DV报文更复杂
      • 收敛速度
        • LS算法:O(|N| |E|)个报文的O(|N|^2)的算法
        • DV算法收敛慢,收敛时会遇到选择环路和无穷计数的问题
      • 健壮性:LS健壮性强于DV,DV不正确节点的计算会扩散到整个网络
  • 5.3自治系统内部的路由选择:OSPF

    • 划分自治系统的原因
      • 规模大
      • 管理自治:ISP希望按照自己意愿管理网络
    • 特点:
      • 使用洪泛链路状态信息
      • Dijkstra路径算法
      • 是一种链路状态协议
      • 链路发生变化或周期性至少30分钟广播一次链路状态
      • OSPF报文由IP承载,对OSPF其上层协议的值为89
      • 要实现可靠报文传输、链路广播等功能
      • 通过使用HELLO报文,检查链路正在运行
    • 优点
      • 安全
        • 能够鉴别路由器之间的交换,用简单的MD5鉴别
      • 无需选择单一路径
        • 当多条路径有相同开销时,可以使用多条路径
      • 支持单播、多播路由选择
      • 支持在单个AS中的层次结构,能层次化配置多个区域
  • 5.4 ISP之间的路由选择:BGP

    BGP:Broder Gateway Protocol/边界网关协议

    • 1.BGP的作用
      • 分组并不是到达特定目的地址,而是路由到CIDR化的前缀,即子网或子网集合
    • 2.通告BGP路由信息
      • 每台路由器要么是一台网关路由器,要么是一台内部路由器
      • 网关路由器:位于AS边缘的路由器
      • 内部路由器:仅连接自己AS中的主机和路由器
      • BGP连接
        • 使用179端口的半永久TCP连接
        • 外部BGP连接/eBGP连接
          • 跨越两个AS的BGP连接
        • 内部BGP连接/iBGP连接
          • 在相同AS中的两台路由器的连接
    • 3.确定最好的路由
      • BGP属性
        • AS-PATH
          • 包含了通告已经通过的AS的列表
        • NEXT-HOP
          • AS-PATH起始的不属于此AS的路由器接口的IP地址
      • 热土豆路由选择:尽可能把分组送出AS,而不担心余下部分开销
      • 实际路由算法:优先级从高到低
        1. 根据管理员设置的本地偏好
        2. 选择最短AS-PATH路由,其中的跳数是AS的跳数而不是路由器的跳数
        3. 使用热土豆路由,即选择最靠近NEXT-HOP路由器的路由
        4. 使用BGP标识来选择
    • 4.IP任播
      • 作用:使具有相同内容的分布式服务器系统,接受响应时是离用户最近的服务器提供服务
      • IP任播被DNS广泛运用
    • 5.路由选择策略
      • 多宿接入ISP:一个同时接入多个提供商网络的客户网络
      • 为了防止ISP间的消息通过客户网络传递,客户AS的做法是不通告给提供商AS
      • 经验法则:只有源或目的地址在该ISP中的流量才被运行穿过这个ISP主干网,不然就会被认为是搭便车。
    • 6.总结
  • 5.5 SDN控制平面

    • SDN体系的4个关键特征
      • 基于流的转发
        • 不同于传统转发只依赖于目的IP地址,SDN控制的转发工作能基于三层首部任意数量的首部字段进行
        • 分组转发规则被规定在交换机的流表中
        • SDN控制平面的任务是计算、管理、安装所有网络交换机中的流表项
      • 数据平面与控制平面分离
        • 数据平面
          • 由网络交换机组成
          • 交换机简单且快速
          • 执行“匹配+动作”
        • 控制平面
          • 服务器
          • 决定和管理流表的软件
      • 网络控制功能
        • 软件在服务器上执行
        • 服务器与网络交换机远离
        • 控制平面有两个组成部分
          • 一个SDN控制器/网络操作系统
            • 维护网络状态信息
            • 为应用程序提供这些信息
          • 数个网络控制应用程序
            • 作用:提供可以控制数据平面网络设备的方法,使其能监视、编程和控制下面的网络设备
      • 可编程的网络
    • SDN导致的网络层再分层
      • 数据平面交换机
      • 控制平面SDN控制器
        • 与数据平面交互的接口层
        • 网络范围状态管理层
        • 与应用程序交互的接口层
      • 控制平面网络控制应用程序
    • 1.概述
      • SDN控制器的分层
        • 通信层/与数据平面的交互的接口
          • 传送控制器与数据平面设备的信息
        • 网络范围状态管理层
          • 做出最终的控制决定
        • 与网络控制应用程序的接口
      • SDN是由分布式服务器实现的
    • 2.OpenFlow协议
      • 运行在TCP上使用6653端口号
      • 控制器→交换机的重要报文
        • 配置:查询并修改交换机参数
        • 修改状态
          • 增删、修改流表项
          • 设置交换机端口特性
        • 读状态:收集交换机数据
        • 发送分组:控制器给交换机发报文(这不废话)
      • 交换机→控制器的重要报文
        • 流删除:通知控制器删除流表项
        • 端口状态:通知控制器端口状态的变化
        • 分组入:一个分组不能由任何流表项匹配时便交给控制器
    • 3.数据平面与控制平面的交互
      1. SDN的过去与未来
  • 5.6 ICMP:因特网控制报文协议

    Internet Control Message Protocol

    • 作用:主机和路由器间沟通网络层信息
      • 最典型用途:差错报告
    • 层次结构
      • 通常被认为是IP的一部分,因此属于网络层
      • 但从体系结构上来讲处于IP之上
        • 因为ICMP报文承载于IP分组中
        • 类似于TCP、UDP报文
        • IP报文中协议号:1
    • 报文结构
      • 一个类型字段
      • 一个编码字段
      • 包含IP数据报首部和前8个字节
    • 源抑制报文
      • 在实践中很少使用
      • 最初是为了拥塞控制
      • 但TCP有自己的拥塞控制机制
    • (ICMP报文类型)
    • Traceroute的实现
      • 是由ICMP报文实现的
      • 源主机向目的主机发送一系列IP数据报,各个数据报的TTL依次递增,由此可以知道传输路径
  • 5.7 网络管理与SNMP

    • 网络管理的定义
      • 网络管理包括了硬件、软件和人类元素的设置、综合和协调,以监视、测试、轮询、配置、分析、评价和控制网络及网元资源用合理的成本满足实时性、运营性能和服务质量的要求(原文)
      • 硬件、软件和人类元素的设置、综合和协调
      • 以监视、测试、轮询、配置、分析、评价
      • 控制网络及网元资源
      • 用合理的成本满足实时性、运营性能和服务质量的要求
    • 1.网络管理框架
      • 关键组件
        • 管理服务器
        • 被管设备
        • 管理信息库
        • 网络管理代理
        • 网络管理协议
      • 管理服务器managing server
        • 是一个程序
        • 通常有人的参与,人与网络设备打交道
        • 运行在网络运营中心/NOC/Network Operation Center
          • NOC是一个集中式网络管理工作站
        • 作用
          • 执行网络管理
          • 控制网络管理信息的收集、处理、分析、显示
      • 被管设备managed device
        • 位于被管网络中
        • 范围:主机、路由器、交换机、中间盒、调制解调器、温度计等其他联网设备
        • 一个被管设备有几个被管对象
      • 被管对象
        • 范围
          • 硬件中的实际部分(如网卡)
          • 软硬件中的配置参数(如OSPF协议)
      • 管理信息库/MIB
        • Management Information Base
        • 存储被管对象的信息
      • MIB对象
        • 被管对象的关联信息
        • 范围举例
          • 计数器(如数据报数量)
          • 软件上的版本描述信息
          • 设备功能是否正常的描述信息
        • 由描述语言SMI语言(StrucLure of Management Information)定义
      • 网络管理代理network management agent
        • 本质:是运行在被管设备上的一个进程
        • 作用:与管理服务器通信并被其控制
      • 网络管理协议network management protocol
        • 运行在管理服务器与被管设备间
        • 此协议不能自己管理网络
        • 而是提供了网络管理员管理网络的能力
    • 2.简单网络管理协议SNMP
      • Simple Network Management Protocol
      • 是应用层协议
      • 作用:在管理服务器与代理之间传递控制信息与报文
      • 两种模式
        • 请求响应模式
          • SNMP最常使用的模式
          • 过程:管理服务器向代理发送请求让代理执行动作,然后代理对管理服务器发送回答
          • 作用:查询、修改MIB对象的值
        • 发送陷阱报文
          • 这是一种非请求报文
          • 作用:用于通知管理服务器异常情况
      • 协议数据单元PDU
        • Protocol Data Unit
        • SNMPv2有7种类型的报文
          • 管理者到代理的获取数据请求
            • GetRequest
            • GetNextRequest
            • GetBulkRequest
          • InformRequest
          • SetRequest
          • Response
          • SNMPv2-Trap
        • 三种管理者到代理获取数据请求 的报文
          • 发送方向:管理→代理
          • 作用:管理服务器请求被管设备的一个或多个MIB对象值
          • 三者区别
            • GetRequest:请求MIB值的任意集合
            • GetNextRequest:使用多个能顺序读取MIB对象的列表或表格
            • GetBulkRequest:允许读取大块数据
              • 避免多个GetRequest或GetNextRequest导致的额外开销
        • InformRequest
          • 发送方向:管理→管理
          • 作用:通知一个远程的管理服务器,这个远程的管理服务器不能直接管理被管设备
        • SetRequest
          • 发送方向:管理→代理
          • 作用:设置被管设备中一个或多个MIB对象的值
          • 代理回复:noError
        • Response
          • 发送方向
            • 代理→管理(通常)
            • 管理→管理
          • 作用:对七种报文中除了自身和陷阱报文外所有报文进行响应
        • 陷阱报文/(SNMPv2-)Trap
          • 举例:
            • 找不到相邻设备
            • 鉴别失效
            • 链路故障
      • SNMP PDU在UDP数据报中传输
      • SNMP可以进行重传,但不是强制的
      • SNMPv3比v2增添了安全性功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值