IP 协议
地址分类
IP地址 = 网络地址+主机地址
| 分类 | 开头 | 第一个字节范围 | 总体范围 | 掩码地址 | 说明 |
|---|---|---|---|---|---|
| A类 | 0 | 1~126 | 1.0.0.0 - 126.255.255.255 | 255.0.0.0 | 给规模特别大的网络使用 |
| B类 | 10 | 128~191 | 128.0.0.0 - 191.255.255.255 | 255.255.0.0 | 给一般的中型网络 |
| C类 | 110 | 192~223 | 192.0.0.0 - 223.255.255.255 | 255.255.255.0 | 给小型网络 |
| D类 | 1110 | 224~239 | 224.0.0.0 - 239.255.255.255 | - | 用于多点广播(组播) |
| E类 | 11110 | 240~255 | 240.0.0.0 - 255.255.255.255 | - | 用于广播地址 |
特殊IP地址
- 127.0.0.1 - 本地回环地址(loopback),数据包不经过网卡
- 255.255.255.255 - 受限广播地址,路由器不转发
- 0.0.0.0 - 任意网络地址,匹配所有网络
- 169.254.x.x - 链路本地地址,DHCP获取失败时自动分配
私有地址范围
| 类别 | 范围 |
|---|---|
| A类 | 10.0.0.0 - 10.255.255.255 |
| B类 | 172.16.0.0 - 172.31.255.255 |
| C类 | 192.168.0.0 - 192.168.255.255 |
子网掩码与CIDR
子网掩码用于区分网络地址和主机地址。CIDR(无类别域间路由)使用斜线记法:
192.168.1.0/24 = 192.168.1.0 子网掩码 255.255.255.0/24 表示前24位为网络位,剩余8位为主机位,可容纳 2^8 - 2 = 254 台主机(减去网络地址和广播地址)。
IP头部结构
IPv4头部最小20字节,包含以下关键字段:
版本(4bit) | 头部长度(4bit) | 服务类型(8bit) | 总长度(16bit)
identification(16bit) | 标志(3bit) | 片偏移(13bit)
TTL(8bit) | 协议号(8bit) | 头部校验和(16bit)
源IP地址(32bit)
目标IP地址(32bit)关键字段说明:
- TTL - 生存时间,每经过一个路由减1,防止环路
- 协议号 - 标识上层协议:6=TCP,17=UDP,1=ICMP
- 片偏移 - 分片数据包的位置,用于重组
路由转发流程
- 检查目标地址是否在本地网络
- 若不在,查找路由表找到下一跳
- TTL减1,校验和重新计算
- 发送到下一跳或直接交付
练习题
【问题】为什么IP地址分为公有地址和私有地址?
【解答】IPv4地址空间有限(约43亿),公有地址由IANA统一分配,私有地址用于内部网络可重复使用。通过NAT技术,私有地址用户可以共享公有地址访问互联网,既解决了地址不足问题,又增加了网络安全性。