一、IP定义
当前唯一的网络层协议标准
定义数据网络层的封装方式、编址方式
二、IP头部封装格式
- version:版本,用于标识封装是IPv4还是IPv6
- IHL:头部长度,描述了数据包头的内容长度
- Type of service:服务类型,用于标识DSCP或IP的优先级,用于QOS识别
- Total length:数据包长度
- Identification:标识符,用于标识某个分片来自于哪个数据包
- Flags:标志,标识数据包是否禁止分片,标识是否为最后一个分片
- Fragment offset:分片偏移,用于描述分片在数据包中的位置
- Time to Live:TTL,生存时间,该数据包允许经过的路由器的最大跳数
- Protocol:协议,用于标识上层协议是TCP/UDP/ICMP
- Header Checksum:头部校验序列,用于头部信息差错校验
- Source Address:源IP
- Destination Address:目的IP
- Options:可选项
- Padding:填充
三、MTU
MTU是最大传输单元
接口收发数据支持的单个包的最大长度
以太网接口默认MTU1500Byte
PPPoE默认MTU1492Byte
四、IP地址
IP地址即网络层地址
格式为
32位长度,点分十进制
由网络位+主机位组成
网络位长度和数字完全一致的地址属于同于网段
IP地址通过分类来划分不同的网络规模
类别 | 地址范围 | 网络位划分 |
---|---|---|
A类 | 0.X.X.X-127.X.X.X | 前8位为网络位,后24位是主机位 |
B类 | 128.X.X.X-191.X.X.X | 前16位为网络位,后16位是主机位 |
C类 | 192.X.X.X-223.X.X.X | 前24位为网络位,后8位是主机位 |
D类 | 224.X.X.X-239.X.X.X | 组播地址,不可用于配置主机地址 |
E类 | 240.X.X.X-255.X.X.X | 科研用地址,不对公开放 |
特殊地址
- 127.X.X.X:本地环回地址,用于标识主机
- 主机位全0地址:网络地址,用来标识哪个网段
- 主机位全1地址:该网段的广播地址
- 255.255.255.255:全网广播地址
- 0.0.0.0:任意IP地址
公网/私网地址
公网地址:可以在互联网上寻址的地址,全球唯一,需要运营商分配
私网地址:本地随意使用,无法在互联网上寻址
地址范围
A类:10.X.X.X
B类:172.16.X.X-172.31.X.X
C类:192.168.X.X
自动私有地址:169.254.X.X
运营商私有地址:100.64.X.X
ARP协议
地址解析协议,把IP地址解析成MAC地址
工作原理:
- A主机以广播形式发送ARP查询请求,询问B主机的IP对应的MAC地址
- B主机以单播形式回复A主机本机的MAC地址
- A主机把B主机的IP地址和MAC地址的映射关系写入ARP缓存表
RARP 协议
RARP协议即逆向地址解析协议
用于根据本机自己的MAC地址,以广播的形式发送RARP请求查询本机的IP地址,其他主机若在其ARP表中记录了该机IP与MAC地址的映射关系就以单播的形式回传一个包
ICMP 协议
ICMP协议即互联网控制管理协议
主要是两个命令
- ping:测试网络连通性
- tracert:路由追踪
路由追踪可以帮助我们找到本机到目标主机的所有下一跳的IP
可以很清楚地看到本机到百度经过的路由,如:14.197.249.157经过查询发现相关运营商和物理地址的信息。因此该命令在某种程度上说也是一种溯源
IP 数据转发原理
一般根据网段的不同分为两种形式:
- 如果目的IP和本机IP属于同一个网段,会直接查询目的IP的MAC地址,并进行封装
- 如果目的IP和本机不属于同一个网段,会查询网关IP地址和MAC地址,并进行转发
其中网关即Gateway是本网段的出口设备
网关IP是本网段出口设备的接口IP
掩码
掩码是一串二进制代码对目标字段进行位与运算,屏蔽当前的输入位
其中二进制1对应的IP地址部分为网络位,二进制0对应的IP地址部分为主机位
如:
192.168.10.2–二进制
255.255.255.0–二进制
进行与操作可以得出该IP地址对应的网段
总结
IP原理主要要了解其头部封装格式各个字段的含义,清楚各自的功能;最主要的还是要熟练掌握IP地址的划分,牢记特殊地址的及其含义、不同类型IP地址的私网范围,这是学习网络的基础。同时本文还简单介绍了ARP协议、RARP协议、ICMP协议的工作原理以及应用,其中ARP协议可以为后续安全部分的ARP欺骗提供理论基础,路由追踪也是信息收集的一种方式。最后简要地分析了IP转发原理的两种情况