- IP协议概述
- IP协议的核心功能
- 标识节点和链路:用唯一的IP地址标识每一个节点;用唯一的IP网络号标识每一个链路。
- 寻址和转发(路由):确定节点所在网络的位置,选择适当路径将IP包转发到目的节点。
- 适应各种数据链路:根据链路的MTU对IP包进行分片和重组;建立IP地址到数据链路层地址的映射(通过ARP)。
- IP网络构成
- IP网络有多个IP网段构成,每个网段对应一个链路
- 路由器负责将不同链路的网段连接起来,适配链路层协议,在网络之间转发数据包
- 广播域隔离:路由器默认不转发广播包,防止广播风暴
- 常见协议号(IP数据包头部字段,用于表示上层协议)
- 常见协议号(IP数据包头部字段,用于表示上层协议)
- IP地址
- IP地址格式:
- 长度:32个2进制位,通常使用点分十进制表示
- 结构:网络号(区分网段)+主机号(区分主机)
- 分类(有类编址方式)
- 全部IP地址(有类)
- 特殊IP地址
- 私有IP地址
- 全部IP地址(有类)
- IP子网划分
- 原因:
- 分类IP地址(A/B/C类)导致IP地址资源浪费严重。
- IP网络数量不敷使用。
- 业务扩展缺乏灵活性。
- 无法应对Internet的爆炸式增长。
- 子网划分的相关计算:
- 概念对应公式:
- 概念对应公式:
- VLSM--可变长子网掩码
- 允许在同一网络中使用多个不同的子网掩码,划分出不同大小的子网
- 优势:使得IP地址利用更加有效
- CIDR---无类域间路由
- CIDR---无类域间路由
- ARP协议(地址解析协议)
- 基本ARP
- 定义:在同一个广播域内,将IP地地址解析为MAC地址的协议(0__0)属于网络层协议
- 工作流程:
- 发送端广播ARP请求(Opcode=1),目标MAC为
FF-FF-FF-FF-FF-FF,询问目标IP对应的MAC。 - 目标主机收到后,单播回复ARP应答(Opcode=2),携带自己的MAC地址。
- 发送端将解析到的MAC存入ARP缓存表(
arp -a可查看)。
- 发送端广播ARP请求(Opcode=1),目标MAC为
- 无故Arp
- 请求型无故arp
- 发送者IP和目标IP都是自己的IP
- 作用:用于检测IP地址冲突,如果收到应答则说明该IP已经被占用
- 应答性无故arp
- 主动广播自己的IP-MAC映射
- 作用:用于更更新其他主机的ARP缓存表;刷新交换机的MAC地址表
- 代理Arp
- 原理:主机A需要解析另一个网段的主机的Mac地址时,路由器使用自己的mac地址回复主机A的arp请求
- 效果:路由器让主机A以为自己和主机B在同一网段,实际上数据包是先发给了路由器,然后路由器转发,收到回复之后,在有路由器转发回复,但是此时回复报文的源mac已经变成路由器的mac地址了
- 典型场景:实现在没有配置默认网关的主机也可以跨网段通信
- Rarp(逆地址解析协议)
- 根据一致的Mac地址表获取IP地址的过程。
- 典型场景:无盘工作站
- 无盘工作站(无硬盘)启动后,发送 RARP请求(广播),内容是其MAC地址。
- RARP服务器 在映射表中查找该MAC对应的IP地址。
- 服务器单播回复 RARP应答,把IP告诉工作站。
- 工作站获得IP后,再通过TFTP等协议从服务器下载操作系统启动。
- IP包的转发
- 主机转发IP单播包
- 若目的IP的网络号与本机网络号相同 → 目的处于直连网段,直接发送。
- 若目的IP的网络号与本机网络号不同 → 将IP包交给默认网关(路由器)处理。
- 路由器转发IP单播包
- 若目的网络号与路由器任一接口的网络号相同 → 目的在直连网段,直接交付。
- 否则 → 路由器通过查找路由表,判断下一跳路由器地址,继续转发
- 主机接受IP包的条件(任选其中1个)
- 目的IP地址等于自己的IP地址(单播)。
- 目的IP地址是一个广播地址。
- 目的IP地址是一个组播地址,且本机某个服务属于该组播组
- 否则就会丢弃
- 其余相关协议
- ICMP(互联网控制报文协议)
- 作用:定义了网络层控制、错误报告和传递消息的功能。
- 应用:可用于报告IP数据包传递过程中发生的错误、失败等信息。
- 分类:ICMP差错消息、ICMP查询消息(如Ping和Traceroute基于ICMP实现)。
- NAT(网络地址转换)
- 地址转换(NAT)技术通常用于解决私有IP地址访问公网的问题(讲义典型考题中提及)。