IP地址

路由选择协议

散落的笔记

IP地址
  • IP地址不仅指明了一个主机,还指明了主机所连接到的网络

  • 分类的IP地址 | 分类 | 前缀 | 网络号位数 | 主机号位数 | | —- | —- | —- | —- | | A类 | 0 | 8 | 24 | | B类 | 10 | 16 | 16 | | C类 | 110 | 24 | 8 | | D类 | 1110 | ~ | ~ | | E类 | 1111 | ~ | ~ |

  • D类地址用于多播
  • E类地址保留为以后用
  • 网络号为全0地址:表示本网络
  • 网络号为127(01111111):用于测试主机进程间通信
  • 主机号为全0:表示本主机所在的网络地址
  • 主机号为全1:表示该网络上的所有主机

    • 网络号
  • 局域网上的IP地址网络号必须是一样的

  • 路由器总是具有两个或两个以上的IP地址,每一个接口都有一个不同的IP地址

    • ARP地址解析协议
  • 用于找到同一个局域网下,通信对方的硬件地址

  • 使用ARP高速缓存

    • 每个主机都有一个ARP高速缓存,里面有IP地址到硬件地址的映射
    • 映射表会动态更新,可以自动新增或者超时删除(10~20min)
  • 发送ARP请求

    • 无映射时,通过广播方式发起ARP请求
    • ARP请求包括了源主机的IP和地址,以及目标IP
    • 主机收到ARP请求后,如果发现自己正是目标主机,则通过单播方式返回ARP响应
    • ARP响应包括了目标IP和和目标硬件地址
  • 不同局域网下寻找硬件地址的方法

    • 源主机发起ARP请求,找到当前局域网的路由器并将剩余工作交由路由器
      • IP数据报
  • 首部固定部分:20字节

    • 版本:IP协议的版本,4位

      • 通信双方IP协议的版本必须一致
      • 目前广泛使用的版本是IPv4和IPv6
    • 首部长度:单位是每4字节,4位

      • 当IP分组的首部长度不是4字节的倍数时,使用填充字段凑数
    • 区分服务:8位
    • 总长度:首部和数据的长度和,16位

      • 因为数据链路层中规定了MTU,所以需要对数据报总长度有所限制
    • 标识:标识数据报,16位

      • 当数据报由于长度超过MTU而必须分片时,被分片的数据报会使用同一个标识字段
    • 标志:3位,但目前只有两位有意义

      • 标志位MF(More Fragment):为1时表示之后还有分片
      • 标志位DF(Don’t Fragment):为1时表示不能分片
    • 片偏移:数据报分片后,该片段在原来数据报的位置,13位

      • 以8字节为单位
    • 生存时间TTL(Time To Live):表示数据报在网络中的寿命,8位

      • 防止无法交付的数据报无限制地在因特网中兜圈子,消耗网络资源
      • 现阶段的TTL使用条数限制,路由器每转发一次数据报,TTL会减1
      • 当TTL为0时,丢弃数据报
    • 协议:指出数据报携带的数据是使用何种协议(包括了网络层和传输层),8位
    • 首部检验和:检验数据报的头部,16位

      • 为了减小计算量,不采用CRC
    • 源地址:32位
    • 目的地址:32位
  • 首部可变部分
  • 数据部分

    • 路由转发分组
  • 路由表

    • 记录目的网络地址和对应的下一跳地址
  • 默认路由

    • 路由表上没有对应网络信息时默认选择的下一跳地址
      • 划分子网
  • 目前IP地址存在的问题

    • IP地址空间的利用率有时很低:主机号未必能够完全利用
    • 两级IP地址不够灵活
  • 通过划分子网将IP地址转为3级IP地址

    • 划分后对外仍是一个网络
    • 使用子网掩码作为划分标识

      • 网络号/子网号/主机号
      • 网络号与子网号部分对应的子网掩码位置为全1