📭 IP
2022年10月10日
- 计算机网络
📭 IP
1. 是什么
- IP 属于网络层
- 用于实现主机与主机之间的通信,主机之间一般隔了多个路由器
2. IPv4 格式
1) 特点
- 占 32 位,每 8 位为一组,一共四组,每组数值区间 [0, 255]
- IP 可分为两部分,网络地址 & 主机地址
- 网络地址表示属于互联网的哪个网络
- 主机地址表示属于该网络的哪一台主机
- 有的设备有 2 个以上的网卡,也就有 2 个以上的 IP
2) 分类
- 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,如果路由器转发,则发到对应网络段后,该网段所有主机均可收到
- 由于存在安全问题,路由器多数情况下会被设置为不转发
- 本地广播
- B 类
[128.0.0.1, 191.255.255.255]
[172.16.0.0, 172.16.255.255]
为私有 IP 地址范围- 一般用于中等规模网络
- C 类
[192.0.0.0, 223.255.255.255]
[192.168.0.0, 192.168.255.255]
为私有 IP 地址范围- 一般用于小型网络
- 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] 本地管理组播地址,可供内部网络在内部使用,仅在特定的本地范围内有效
- E 类
[240.0.0.0, 255.255.255.255]
- 没有主机号
- 保留地址
3) CIDR 无分类地址
- 格式
- a.b.c.d/x
- x 表示前 x 位为网络号,x ∈ [0, 32]
- 子网掩码
- 将子网掩码 & IP 地址进行按位相与,即可得到网络号
- a.b.c.d/x
- 子网的划分
- 可以将主机号所在位数继续进行拆分,分为子网网络地址 + 子网主机地址
3. IPv6
- IPv6 为 128 位地址,与 IPv4 互不兼容
- 特点:
- 位数变长,可分配的地址增多
- 头部固定 40 字节,去掉了包头的校验和
- 可自动配置,即使没有 DHCP 服务器也可以实现自动分配 IP 地址
- 表示:
- 每 16 位为一组,一共 8 组,每组之间用
:
分隔 - 例如:
ABCD:DEGH:1111:2222:XXXX:YYYY:3333:4444
- 每 16 位为一组,一共 8 组,每组之间用
4. 有关协议
1) ARP 协议
- 作用:
- 路由解析,获取下一个目的地的 MAC 地址
- 流程:
- 主机通过路由表得到下一个目的地的 IP 地址后,主机首先查看自己的缓存中是否有该 MAC 地址,如果不知道对方的 MAC 地址,此时,
- 主机通过广播发送 ARP 请求,包中包含想要哪个 IP 地址的 MAC 地址
- 当同个链路中的设备收到该 ARP 请求后,会查看 ARP 请求的内容,并查看是否是自己的 IP 地址
- 如果是,则发送 ARP 响应给主机,里面包含自己的 MAC 地址,同时缓存该 IP 和 MAC 地址
- 主机收到后,将该 MAC 地址缓存起来,不过是有过期时间的,超过会被清除
- 特点:
- 只适用于 Ipv4
2) RARP 协议
- 作用:
- 已知 MAC 地址,获取对应的 IP 地址
- 流程:
- 架设一台 RARP 服务器,在这个服务器上注册设备的 MAC 地址 & IP 地址,
- 将想要获取 IP 地址的设备接入网络
- 该设备发送一个请求,包含自己的 MAC 地址,以及自己想要知道 IP 地址的意愿
- RARP 收到该请求后,返回对应的 IP 地址给该设备
3) DHCP
- 作用:
- 自动获取 IP 地址
- 流程:
- 如果本机使用了 DHCP,且未配置 IP 地址,则
- UDP 广播的方式发送 DHCP 请求报文,广播地址为 255.255.255.255:67
- DHCP 服务器发现该 DHCP 请求报文后,回复本机可以使用的 IP 地址、子网掩码、DNS 服务器、过期时间等
- 本机收到回复后,选取一个 DHCP 服务器,对其进行响应,获取具体参数
- DHCP 服务器对本机进行响应,回复具体参数
- 续约问题:
- 当获取的 IP 地址过期后,本机向 DHCP 服务器发送请求,询问是否能够继续使用
- 若能够继续使用,过期时间延长
- 若不能继续使用,则客户端停止该 IP,重新获取新的动态 IP
4) ICMP
- 概念:
- 互联网控制报文协议
- 作用:
- 确认 IP 包能否成功到达目的地址
- 报告发送过程中 IP 包被废弃的原因
- 使用:
ping
- 报文格式:
- 类型字段:
- 查询报文类型
- 回送应答 [0]
- 发送端主机成功到达接收端主机
- 回送请求 [8]
- 接收端主机成功到达发送端主机
- 回送应答 [0]
- 差错报文类型
- 目标不可达 [3]
- 网络不可达
- 主机不可达
- 协议不可达
- 端口不可达
- 需要分片但是设置了不分片
- 原点抑制 [4]
- 重定向 | 改变路由 [5]
- 超时 [11]
- 每经过一个路由器 TTL --,当 TTL == 0 时该 IP 包被丢弃
- 目标不可达 [3]
- 查询报文类型