计算机网络4

网络层

概述

1. 网络层(数据报--datagram)向传输层(数据段---segment)提供服务
2. 端系统和路由器都运行网络层
3. 核心功能: 转发和路由, 连接建立(有些网络不需要建立)
       1. 网络层的链接是中间所有设备都参与的, **需要确立一条明确的路径**
       2. 传输层的连接是只有通信双方参与的

网络层服务模型

  1. 无连接服务
    1. 不事先确定系列分组的传输路径
    2. 每个分组独立确定路径
    3. 不同的分组路径可能不同
    4. eg:数据报网络
  2. 连接服务
    1. 首先为系列分组的传输确定从源到目的的路径
    2. 然后用该路径进行该系列分组的传输
    3. 传输结束后拆除连接
    4. eg:虚电路网络(ATM网络)

数据包网络

  1. 特征
    • 网络层无连接
    • 每个分组携带目的地址
    • 路由器根据分组的目的地址(范围)进行转发分组(internet)
      • 基于路由协议/算法构建转发表
      • 检索转发表
      • 每个分组独立选路
  2. 转发原则
    • 最长前缀匹配优先(优先选择与分组目的地址匹配前缀最长的入口)

简化网络,复杂“边缘”

internet网络层

网络层示意

  1. 网络链路层存在最大传输单元(MTU)——链路层数据帧可封装数据的上限

    1. 不同链路的MTU不同
    2. 大ip分组向较小的MTU链路转发时可以被“分片”, 若相关标志位(DF)不允许分片,则将起丢掉,并用ICMP回传控制信息
    3. ip分片到达目的主机才进行组装(路由器只进行拆分,不组装)
    4. 若有分片后的数据收不到,则丢弃整个分组(MF标志位:最后一片或未分片)
    5. ipv4 片偏移字段以8字节为单位
  2. ip编址(层次化编址

    1. ip地址与每个接口相关联

    2. 主机域不能全0也不能全1(广播地址)

    3. ip划分:某个组织的网络号(ip地址高位)相同,主机号不同

    4. ip子网:ip地址具有相同网络号的设备接口

      不跨越路由器(第三及以上层网络设备)可以彼此物理联通的设备

  3. 有类ip地址/有类编址

    ipv4分类

    • D类地址用作多播
    • E类保留做研究使用
    • A、B、C类也有部分地址不可以被分配
  4. ip子网的划分和子网掩码

    1. 将ip地址划分为网络号(NetID),子网号(SubID),和主机号(HostID)
    2. 子网掩码(用来确定是否分了子网和子网的大小)
      1. NetID,SubID全取1
      2. HostID全取0
    3. 子网划分中比不划分子网有更多的不能使用的地址
  5. 无类域间路由(CIDR: classless InterDomain Routing)

    1. 消除传统的A,B,C类地址界限

      将网络号和子网号统称为网络前缀

    2. 融合子网地址和子网掩码

      格式:a.b.c.d/x, x为前缀的长度

  6. DHCP

    1. 默认网关:若分组要送出/入该子网则应该先送给网关,再由网关进行转发

    2. 从服务器动态获取:

      1. ip地址
      2. 子网掩码
      3. 默认网管地址
      4. DNS服务器名称和ip地址
    3. “即插即用”

    4. 允许地址重用,在用地址续租

    5. 允许移动用户加入网络

    6. DHCP配置协议

      1. 需要接入网络的主机广播”DHCP discover”(发现报文)
      2. DHCP服务器(一个子网里面可能有多个也可能没有)利用“DHCP offer“(提供报文)进行响应
      3. 主机向回应offer的DHCP服务器请求ip地址:”DHCP request“(请求报文)
      4. DHCP服务器分配ip地址:“DHCP ack”(确认报文)
    7. DHCP配置过程示例

      DHCP

      • DHCP服务器端口67,客户机端口68
      • 第一次,第二次数据传输进行广播是因为相互不清楚对方的ip
      • 第三次数据传输进行广播是为了告诉其他DHCP服务器客户机已经分配了ip,免得占用其他资源
    8. DHCP在应用层实现,封装在UDP数据报中

  7. 网络地址转换(NAT)

    1. 实现步骤
      1. 替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
      2. 记录:将每对(NAT IP地址,新端口号)与(源IP地址,源端口号)的替换信息存储到NAT转换表中
      3. 替换:根据NAT转换表,利用(源IP地址,源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),即(NAT IP地址,新端口号)
    2. NAT穿透问题
      1. 方法1:静态配置NAT,将特定端口的连接请求转发给服务器
      2. 方法2:利用UPnp(互联网网管设备协议)自动配置
      3. 方法3:中继(代理)
        1. NAT内部的客户与中继服务器建立连接
        2. 外部客户也与中继服务器建立连接
        3. 中继服务器桥接两个连接的分组
  8. 互联网控制报文协议(ICMP)

    1. 主要功能:支持主机或者路由器进行差错报告网络探询
    2. 两类ICMP报文:差错报告报文(5种)和网络探询报文(2组)
    3. 不发送ICMp差错报告报文的特殊情况
      • 对ICMp差错报告报文不再发送ICMP差错报告报文
      • 除第一个ip数据报分片外,对所有后续分片均不发送ICMP差错报告报文
      • 对所有多播ip数据报均不发送
      • 对具有特殊IP的数据报不发送
    4. ICMP封装在IP数据报中传输
  9. IPv6

    1. IPv4相比的变化
      • 彻底移除首部的校验和字段,以减少每跳处理时间
      • 选项(options)字段从基本首部移出,定义多个选项首部,通过“下一个首部”字段指示
      • ICMPv6
        • 附加报文类型
        • 多播组管理功能