计算机网络学习笔记(四)- 网络层(上)

网络层服务

网络层服务概述

  • 从发送主机向接收主机传送数据段(segment)
  • 发送主机:将数据段封装到数据报(datagram)中
  • 接收主机:向传输层交付数据段(segment)
  • 每个主机和路由器都运行网络层协议
  • 路由器检验所有穿越它的IP数据报的头部域,决策如何处理IP数据报

网络层核心功能

  1. 转发和路由
    • 转发(forwarding): 将分组从路由器的输入端口转移到合适的输出端口
    • 路由(routing): 确定分组从源到目的经过的路径
  2. 连接建立
    • 数据分组传输之前两端主机需要首先建立虚拟/逻辑连接
    网络设备(如路由器)参与连接的建立
    • 网络层连接与传输层连接的对比:
    网络层连接: 两个主机之间 (路径上的路由器等网络设备参与其中)
    传输层连接: 两个应用进程之间(对中间网络设备透明)

网络层服务模型

  1. 无连接服务(connection-less service)
    • 不事先为系列分组的传输确定传输路径
    • 每个分组独立确定传输路径
    • 不同分组可能传输路径不同
    • 数据报网络(datagram network )
  2. 连接服务(connection service)
    • 首先为系列分组的传输确定从源到目的经过的路径(建立连接)
    • 然后沿该路径(连接)传输系列分组
    • 系列分组传输路径相同
    • 传输结束后拆除连接
    • 虚电路网络(virtual-circuit network )

虚电路网络

虚电路网络概述

  1. 原理
    • 一条从源主机到目的主机,类似于电路的路径(逻辑连接)
    • 分组交换
    • 每个分组的传输利用链路的全部带宽
    • 源到目的路径经过的网络层设备共同完成虚电路功能
  2. 通信过程:
    呼叫建立(call setup)→数据传输→拆除呼叫
  3. 每个分组携带虚电路标识(VCID),而不是目的主机地址
  4. 虚电路经过的每个网络设备 (如路由器),维护每条经过它的虚电路连接状态
  5. 链路、网络设备资源(如带宽、缓存等)可以面向VC进行预分配
    • 预分配资源=可预期服务性能
    • 如ATM的电路仿真(CBR)

虚电路网络具体实现

  1. 每条虚电路包括:
    • 从源主机到目的主机的一条路径
    • 虚电路号(VCID), 沿路每段链路一个编号
    • 沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路
  2. 沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址
  3. 同一条VC ,在每段链路上的VCID通常不同,路由器转发分组时依据转发表改写/替换虚电路号,如下图所示

虚电路信令协议

  1. 用于VC的建立、维护与拆除
    路径选择
  2. 应用于虚电路网络
    如ATM、帧中继(frame-relay)网络等
  3. 目前的Internet不采用

数据报网络

数据报网络概述

  1. 网络层无连接
  2. 每个分组携带目的地址
  3. 路由器根据分组的目的地址转发分组
    • 基于路由协议/算法构建转发表
    • 检索转发表
    • 每个分组独立选路

最长前缀匹配优先策略

在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口(entry)

数据报网络与虚电路网络对比

  1. Internet (数据报网络)
    • 计算机之间的数据交换:“弹性”服务,没有严格时间需求
    • 链路类型众多:特点、性能各异,统一服务困难
    • “智能”端系统 (计算机):可以自适应、性能控制、差错恢复
    • 简化网络, 复杂“边缘”
  2. ATM (VC网络)
    • 电话网络演化而来
    • 核心业务是实时对话:严格的时间、可靠性需求,需要有保障的服务
    • “哑(dumb)” 端系统(非智能):电话机,传真机
    • 简化“边缘”, 复杂网络

IPV4协议

IP数据分组格式

  1. 版本号字段占4位:IP协议的版本号
    • E.g. 4→IPv4,6 → IPv6
  2. 首部长度字段占4位:IP分组首部长度
    • 以4字节为单位
    • E.g. 5→IP首部长度为20(5×4)字节
  3. 服务类型(TOS)字段占8位:指示期望获得哪种类型的服务
    • 1998 年这个字段改名为区分服务
    • 只有在网络提供区分服务(DiffServ)时使用
    • 一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H
  4. 总长度字段占16位:IP分组的总字节数(首部+数据)
    • 最大IP分组的总长度:65535B
    • 最小的IP分组首部:20B
    • IP分组可以封装的最大数据:65535-20=65515B
  5. 生存时间(TTL)字段占8位:IP分组在网络中可以通过的路由器数(或跳步数)
    • 路由器转发一次分组,TTL减1
    • 如果TTL=0,路由器则丢弃该IP分组
  6. 协议字段占8位:指示IP分组封装的是哪个协议的数据包
    • 实现复用/分解
    • E.g. 6为TCP,表示封装的为TCP段;17为UDP,表示封装的是UDP数据报
  7. 首部校验和字段占16位:实现对IP分组首部的差错检测
    • 计算校验和时,该字段置全0
    • 采用反码算数运算求和,和的反码作为首部校验和字段
    • 逐跳计算、逐跳校验
  8. 源IP地址、目的IP地址字段各占32位:分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址
  9. 选项字段占长度可变,范围在1~40B之间:携带安全、源选路径、时间戳和路由记录等内容,实际上很少被使用
  10. 填充字段占长度可变,范围在0~3B之间:目的是补齐整个首部,符合32位对齐,即保证首部长度是4字节的倍数

IP分片

  1. 最大传输单元(MTU)
    网络链路存在MTU (最大传输单元)—链路层数据帧可封装数据的上限,不同链路的MTU不同
  2. IP分片与重组
    • 大IP分组向较小MTU链路转发时,可以被“分片” (fragmented)
    1个IP分组分为多片IP分组
    IP分片到达目的主机后进行“重组” (reassembled)
    • IP首部的相关字段用于标识分片以及确定分片的相对顺序
    总长度、标识、标志位和片偏移
  3. IP分组格式
    • 标识字段占16位:标识一个IP分组,IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识
    • 标志位字段占3位:DF (Don’t Fragment),MF (More Fragment)
    DF =1:禁止分片;DF =0:允许分片;MF =1:非最后一片;MF =0:最后一片(或未分片)
    • 片偏移字段占13位:一个IP分组分片封装原IP分组数据的相对偏移量,片偏移字段以8字节为单位
  4. IP分片过程
    假设原IP分组总长度为L,待转发链路的MTU为M,若L>M,且DF=0,则可以/需要分片,分片时每个分片的标识复制原IP分组的标识,通常分片时,除最后一个分片,其他分片均分为MTU允
    许的最大分片,一个最大分片可封装的数据应该是8的倍数,因此,一个最大分片可封装的数据为:
    需要的总片数为:
    每片的片偏移字段取值为:
    每片的总长度字段为:
    每片的MF标志位为:

    示例如下:

IP编址

  1. IP地址:
    • 网络号(NetID) – 高位比特
    • 主机号(HostID) – 低位比特
  1. IP子网:
    • IP地址具有相同网络号的设备接口
    • 不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口
  2. 编址分类
  1. 特殊IP地址
  1. 私有IP地址
  1. 子网掩码
    • 形如IP地址:32位,点分十进制形式
    • 取值:NetID、SubID位全取1,HostID位全取0
    示例如下:
发布了14 篇原创文章 · 获赞 0 · 访问量 306

猜你喜欢

转载自blog.csdn.net/wanglizhi3733/article/details/105316236
今日推荐