网络层

网络层功能概述

  • 主要任务是把分组从源端传到目的端, 为分组交换网络上的不同主机之间提供通信任务. 网络层的传输单位是数据报 (数据报进行分割, 成若干个分组)
  • 路由选择 和 分组转发 (最佳路径)
  • 异构网络互联 (4G, wifi, 手机, 电脑)
  • 拥塞控制 : 由于网络负荷过大, 分组迟迟到不了目标节点, 需要采取一定措施缓解网络负荷(全局性)
    • 开环控制 : 静态, 拥塞之前就做好防止拥塞的准备
    • 闭环控制 : 动态 拥塞发生时动态调整

数据交换方式

计算机网络 [系统学习四]

电路交换

  • eg : 电话网络
  • 电路交换的阶段 : 建立链接 , 通信, 释放连接
  • 如果电路带宽非常大, 却只有一个人打电话, 就会有浪费, 可以采用多路复用 (频分服用, 码分服用, 时分服用, 波分服用)的方法对电路进行划分, 就可以有多人同时电话. 但是是独占资源的
  • 优点 : 通信时延小, 有序传输, 没有冲突, 实时性强
  • 缺点 : 建立连接时间长; 线路独占, 使用率低; 灵活性差; 无差错控制能力

报文交换

  • 报文 : 源应用发送的信息整体(应用层的数据单元)
  • 交换设备 : 存储转发, 收到报文后并不是立即发送出去, 而是先存储, 等待电路空闲时选择最佳路径
  • 优点 :
    • 无需建立连接;
    • 存储转发, 动态分配线路;
    • 线路可靠性高;
    • 线路利用率高.
    • 多目标服务
  • 缺点
    • 有存储转发时延
    • 报文大小不定, 需要网络节点有较大缓存空间

分组交换

  • 分组 : 把大的数据块分割成小的数据块
  • 优点
    • 无需建立连接
    • 存储转发, 动态分配线路
    • 线路可靠性高
    • 线路利用率高
    • 相对报文交换, 存储管理更容易
  • 缺点
    • 存储转发时延
    • 需要传输额外的信息量
    • 乱序到目的主机时, 要对分组排序重组
  • 分组交换数独比报文交换更快, 一个是流水线并行传输, 一个是串行传输

计算机网络 [系统学习四]

三种数据交换

计算机网络 [系统学习四]

数据报方式 & 虚电路方式 (都属于分组交换)

  • 数据报方式 : 为网络层提供无连接服务
    • 不事先为分组确定传输路径, 每个分组独立确定传输路径, 不同分组传输路径不同
  • 虚电路方式 : 为网络层提供连接服务
    • 首先为分组的传输确定传输路径(建立连接), 然后沿该路径传输系列分组. 系列分组的传输路径相同, 传输结束后断开连接 (电路交换 + 分组交换)

几种传输单元名词

  • 应用层 : 报文
  • 传输层 : 报文段 (TCP协议对其分割)
  • 网络层 : 加上源IP和目的IP, 成为数据报 (如果过大, 进行切割, 分组)
  • 数据看路层 : 帧 (分组的基础上加头加尾, 帧检验序列和MAC地址)
  • 物理层 : 比特流

数据报 (为上层的UDP服务)

  • 无连接服务 : 不事先为分组的传输确定传输路径, 每个分组独立确定传输路径. 不同分组传输路径可能不同.
  • 每个分组都会携带源地址和目的地址
  • 路由器根据分组的目的地址转发分组 : 基于路由协议/算法构建转发表; 检索转发表; 每个分组独立选路

虚电路 (为上层的TCP服务)

  • 将数据报方式和电路方式结合, 发挥两者优点
  • 虚电路 : 从源主机到目的主机的一条逻辑连接(类似电路的路径), 路径上所有节点都要维持这条虚电路的建立, 都维持一张虚电路表, 每一项 记录了一个 打开的虚电路 的信息

计算机网络 [系统学习四]
计算机网络 [系统学习四]

路由算法和路由协议

  • 每个路由器都维护了一张路由表, 用来确定到达某个目的主机的分组应该转发给哪个一个路由设备

路由算法的分类

  • 静态路由算法(非自适应路由算法)

    • 管理员手工配置路由信息
    • 简便, 可靠, 在负荷稳定, 拓扑变化不大的网络中运行效果好
    • 路由更新慢, 不适用于大型网络
  • 动态路由算法(自适应路由算法)

    • 路由器间彼此交换信息, 按照路由算法优化出路由表项
    • 路由更新快, 适用于大型网络, 及时相应链路费用或网络拓扑变化
    • 算法复杂, 增加网络负担 (频繁交换)
  • 动态路由算法

    • 全局性: 链路状态路由算法 OSPF
      • 所有路由器掌握完整的网络拓扑和链路费用信息
    • 分散性 : 距离向量路由算法 RIP
      • 路由器只掌握物理相连的邻居及链路费用

分层次的路由选择协议

  • 因特网规模很大

  • 许多单位不想让外界直到自己的路由选择协议, 但还想连入互联网

  • 因此有了自治系统AS, 在单一的技术管理下的一组路由器, 这些路由器使用一种AS内部的路由选择协议和共同的度量确定分组在该AS内的路由. 同时还使用一种AS之间的路由协议确定AS之间的路由.

    • (AS内是一种路由协议, 对外界透明 AS间又是另一种路由协议, )
  • 路由选择协议

    • 内部网关协议 : 一个AS内使用的RIP, OSRF
    • 外部网管协议 : AS之间使用的 BGP

计算机网络 [系统学习四]

IP数据报格式

计算机网络 [系统学习四]
计算机网络 [系统学习四]

  • 版本 : IP协议的版本
  • 首部长度 : 4b, 0-15, 单位是4B, 所以范围是0-60B. 由于IP数据报有20B的固定部分, 所以首部长度要从0101开始
  • 区分服务 : 表示期望获得哪种服务, 比如优先发送
  • 总长度 :首部长度 + 数据部分 (总长度 - 首部长度 = 数据长度) 2B, 16b, 单位1B, 范围是 0-65535B. 现实中永远不会到最大长度, 因为数据过大会进行分组, 以满足数据链路层MTU的要求
  • 生存时间(TTL, Time To Live) : 防止无法交付的数据报无限在网络中遗留.
  • 协议 : 数据部分使用的协议
    计算机网络 [系统学习四]
  • 首部检验和 : 检验首部是否有差错的字段. 因为数据传输过程中, 每经过一个路由器, IP数据报首部会有一些字段改变, 需要检验是否出差错.

IP数据报分片

  • 最大传送单元MTU : 数据链路层每一个数据帧都有可封装数据的上限, 以太网的MTU是1500字节
  • IP数据报到了链路层, 整体成了数据帧的数据部分, 它的长度不能超过1500字节
  • 如果超过了1500字节, 就要进行分片 (需要数据报的同意)

计算机网络 [系统学习四]

  • 标识 : 用来区别每个分片都是由哪一个数据报分割而来, 方便之后的组合
  • 标志 : 有3b, 第一位保留
    • 中间位 : DF(Don‘t Fragment)
      • DF = 1 : 禁止分片
      • DF = 0 : 允许分片
    • 最后一位 : MF (More Fragment)
      • MF = 1 : 不是最后一个分片, 之后还有分片
      • MF = 0 : 代表最后一片, 之后没有分片了
    • 只有DF=0, MF才有意义
  • 片偏移 : 指出分片在原来数据包中的位置, 方便之后的还原数据报. 8B为单位
    • 除了最后一个分片, 其余分片都应该是8B的整数倍
      计算机网络 [系统学习四]
      计算机网络 [系统学习四]

IPV4

  • IP地址 : 全世界唯一的32位/4字节标识符, 用来标识路由器和主机的接口
    • IP地址由 网络号 主机号 两部分组成
      • 网络号相同, 说明处于同一个网络
    • 一般采用点分十进制的方法表示一个IP地址, 每个字节用一个十进制数表示, 字节之间用点分割
    • 路由器每个接口都有一个不同的IP地址, 接入不同的网络

分类的IP地址

计算机网络 [系统学习四]

  • A类 : 第一个十进制数<=126 (2^7-1 127不能使用)
  • B类 : 第一个十进制数 >= 128
  • C类 : 第一个十进制数 >= 192
  • D类 : 第一个十进制数 >= 224
  • E类 : 第一个十进制数 >=240

特殊IP地址

计算机网络 [系统学习四]

  • 0.0.0.0: 只能作为源地址, 不能作为目的地址. 表示本主机的所有IPV4地址. (发送数据报时, 如果不知道源地址具体是多少, 就可以填充全0)
  • 0.0.0.x : 不能作为源地址, 可以作为目的地址, 表示本网内某个特定主机 (存疑)
  • 255.255.255.255 : 本网广播地址(路由器不会转发, 隔离广播域), 作为目的地址, 表示给本网内所有主机发送数据报
  • 主机号为0, 只用网络号表示的是一个网络
  • 网络号特定值, 主机号全1: 特定网络的广播地址
  • 127*, 主机号非全0或非全1, 比如127.0.0.1: 用于本地软件回还测试, 回还地址. 自己给自己发送数据, 自己接收.

主机号全1用于广播, 0用于本主机

私有IP地址

  • 这些IP地址放到互联网上, 路由器是不认识的. 只能在内部网络使用
    计算机网络 [系统学习四]
  • A类网络号只有10.*
  • B类网络号有16个 172.16* - 172.31
  • C类网络有256个 192.168.0* - 192.168.255*

分类的IP地址

计算机网络 [系统学习四]

网络地址转换(NAT)

  • 路由器对私有IP地址的数据报一律不转发
  • 那么私有IP地址如何和因特网上的主机进行通信呢?
  • 网络地址转换(Network Address Transform, NAT) : 在专有网连接到因特网的路由器上安装NAT软件, 安装了NAT软件的路由器叫NAT路由器, 它至少有一个有效的外部全球IP地址
    • NAT路由器有一个NAT转换表, 每一个表项有两个字段, WAN端(广域网端), LAN(局域网端)
    • 专有网网络中的设备和外界通信, 都需要使用这个NAT路由器提供的全球IP地址
    • 广域网中的设备想和专有网络中的设备通信, 填写的目标IP地址也是这个NAT路由器的IP地址
    • NAT转换表 广域网端使用的是不同的端口号 来对应 局域网端 特定主机上的特定端口 (端口映射)

计算机网络 [系统学习四]

子网划分, 子网掩码

计算机网络 [系统学习四]

  • 子网对外不透明, 子网之间也不透明

  • 如何确定IP地址属于哪个子网? 通过子网掩码来确定

    • IP地址&子网掩码, 得到的结果就是该IP地址属于的子网, 再加上主机号, 就能在这个子网中确定唯一的主机
    • 相同的IP地址, 子网掩码不同, 也会被划分到不同的子网.
    • 子网掩码网络号是1, 主机号是0. 点分十进制的表示方法只是方便人们易读而已, 本质上还是一连串的01, 所以不一定网络号都是8位的倍数, 也可能是22位, 后10位是主机号.
  • 同样的IP地址, 不同的子网掩码, 是可以获得相同的子网地址的
    计算机网络 [系统学习四]
    计算机网络 [系统学习四]

使用子网分组的转发

计算机网络 [系统学习四]

相关文章: