📭 IP

吞佛童子2022年10月10日
  • 计算机网络
  • 网络层
  • ip
大约 5 分钟

📭 IP

1. 是什么

  • IP 属于网络层
  • 用于实现主机与主机之间的通信,主机之间一般隔了多个路由器

2. IPv4 格式

1) 特点

  • 占 32 位,每 8 位为一组,一共四组,每组数值区间 [0, 255]
  • IP 可分为两部分,网络地址 & 主机地址
    • 网络地址表示属于互联网的哪个网络
    • 主机地址表示属于该网络的哪一台主机
  • 有的设备有 2 个以上的网卡,也就有 2 个以上的 IP

2) 分类

img.png

  1. A 类
    • [0.0.0.0, 127.255.255.255]
    • [10.0.0.0, 10.255.255.255]私有 IP 地址范围
    • max 主机个数 = 2^24 - 2 [去掉主机号全 0 & 全 1]
    • 主机号全 1 表示某个网络下的所有主机,用于广播,不能作为特地主机
    • 主机号全 0 表示指定某个网络,不能作为特地主机
    • 一般用于大型网络
    • 广播
      • 本地广播
        • 广播地址为本网络地址,主机号全 1,被路由器屏蔽,无法到达其他网络段
      • 直接广播
        • 广播地址为其他网络段,主机号全 1,如果路由器转发,则发到对应网络段后,该网段所有主机均可收到
        • 由于存在安全问题,路由器多数情况下会被设置为不转发
  2. B 类
    • [128.0.0.1, 191.255.255.255]
    • [172.16.0.0, 172.16.255.255]私有 IP 地址范围
    • 一般用于中等规模网络
  3. C 类
    • [192.0.0.0, 223.255.255.255]
    • [192.168.0.0, 192.168.255.255]私有 IP 地址范围
    • 一般用于小型网络
  4. D 类
    • [224.0.0.0, 239.255.255.255]
    • 没有主机号
    • 一般用于多播
      • 将包发送给特定组内分所有主机,由于广播无法穿透路由,若想给其他网段发送包,则可以使用可以穿透路由的多播
      • [224.0.0.0, 224.0.0.255] 预留的组播地址,只能用于局域网,路由器不会进行转发
      • [224.0.1.0, 238.255.255.255] 用户可用的组播地址,可用于互联网上
      • [239.0.0.0, 239.255.255.255] 本地管理组播地址,可供内部网络在内部使用,仅在特定的本地范围内有效
  5. E 类
    • [240.0.0.0, 255.255.255.255]
    • 没有主机号
    • 保留地址

3) CIDR 无分类地址

  1. 格式
    • a.b.c.d/x
      • x 表示前 x 位为网络号,x ∈ [0, 32]
    • 子网掩码
      • 将子网掩码 & IP 地址进行按位相与,即可得到网络号
  2. 子网的划分
    • 可以将主机号所在位数继续进行拆分,分为子网网络地址 + 子网主机地址

3. IPv6

  1. IPv6 为 128 位地址,与 IPv4 互不兼容
  2. 特点:
    • 位数变长,可分配的地址增多
    • 头部固定 40 字节,去掉了包头的校验和
    • 可自动配置,即使没有 DHCP 服务器也可以实现自动分配 IP 地址
  3. 表示:
    • 每 16 位为一组,一共 8 组,每组之间用 : 分隔
    • 例如: ABCD:DEGH:1111:2222:XXXX:YYYY:3333:4444

4. 有关协议

1) ARP 协议

  1. 作用:
    • 路由解析,获取下一个目的地的 MAC 地址
  2. 流程:
    • 主机通过路由表得到下一个目的地的 IP 地址后,主机首先查看自己的缓存中是否有该 MAC 地址,如果不知道对方的 MAC 地址,此时,
    • 主机通过广播发送 ARP 请求,包中包含想要哪个 IP 地址的 MAC 地址
    • 当同个链路中的设备收到该 ARP 请求后,会查看 ARP 请求的内容,并查看是否是自己的 IP 地址
    • 如果是,则发送 ARP 响应给主机,里面包含自己的 MAC 地址,同时缓存该 IP 和 MAC 地址
    • 主机收到后,将该 MAC 地址缓存起来,不过是有过期时间的,超过会被清除
  3. 特点:
    • 只适用于 Ipv4

2) RARP 协议

  1. 作用:
    • 已知 MAC 地址,获取对应的 IP 地址
  2. 流程:
    • 架设一台 RARP 服务器,在这个服务器上注册设备的 MAC 地址 & IP 地址,
    • 将想要获取 IP 地址的设备接入网络
    • 该设备发送一个请求,包含自己的 MAC 地址,以及自己想要知道 IP 地址的意愿
    • RARP 收到该请求后,返回对应的 IP 地址给该设备

3) DHCP

  1. 作用:
    • 自动获取 IP 地址
  2. 流程:
    • 如果本机使用了 DHCP,且未配置 IP 地址,则
    • UDP 广播的方式发送 DHCP 请求报文,广播地址为 255.255.255.255:67
    • DHCP 服务器发现该 DHCP 请求报文后,回复本机可以使用的 IP 地址、子网掩码、DNS 服务器、过期时间等
    • 本机收到回复后,选取一个 DHCP 服务器,对其进行响应,获取具体参数
    • DHCP 服务器对本机进行响应,回复具体参数
  3. 续约问题:
    • 当获取的 IP 地址过期后,本机向 DHCP 服务器发送请求,询问是否能够继续使用
    • 若能够继续使用,过期时间延长
    • 若不能继续使用,则客户端停止该 IP,重新获取新的动态 IP

4) ICMP

  1. 概念:
    • 互联网控制报文协议
  2. 作用:
    • 确认 IP 包能否成功到达目的地址
    • 报告发送过程中 IP 包被废弃的原因
  3. 使用:
    • ping
  4. 报文格式:
    • img_1.png
  5. 类型字段:
    • 查询报文类型
      • 回送应答 [0]
        • 发送端主机成功到达接收端主机
      • 回送请求 [8]
        • 接收端主机成功到达发送端主机
    • 差错报文类型
      • 目标不可达 [3]
        • 网络不可达
        • 主机不可达
        • 协议不可达
        • 端口不可达
        • 需要分片但是设置了不分片
      • 原点抑制 [4]
      • 重定向 | 改变路由 [5]
      • 超时 [11]
        • 每经过一个路由器 TTL --,当 TTL == 0 时该 IP 包被丢弃
上次编辑于: 2022/10/10 下午8:43:48
贡献者: liuxianzhishou