网际协议IP简单总结
文章目录
网际协议IP
1. 与IP协议配套使用的三个协议
- 地址解析协议
ARP
(Addredd Resolution Protocol) - 网际控制报文协议
ICMP
(Internet Control Message Protocol) - 网际组管理协议
IGMP
(Internet Group Management Protocol)
2. 虚拟网络的中间设备
-
转发器
: 物理层使用的中间设备. -
桥接器
: 数据链路层使用的中间设备. -
路由器
: 网络层使用的中间设备. -
网关
: 在网络层以上使用的中间设备.
3. IP地址的编址方法
- 分类的IP地址 : 最基本的编址方法.
- 子网的划分 : 对分类IP的改进.
- 构成超网 : 无分类编址方法.
4. 分类的IP地址
IP地址 ::= { <网络号>,<主机号>}
-
::=
表示 定义为. 一共32位 - 一共分为A, B, C, D, E五类. A, B, C都是单播地址(一对一通信).
- A类: 8位(0+网络号7位) + 24位(主机号). 全为0 是本网路 全为1 是环回测试地址.
- B类: 16位(10+网络号14位) + 16位(主机号)
- C类: 24位(110+网络号22位) + 8位(主机号)
- D类: 1110 + 多播地址.
- E类: 1111 + 保留为今后使用.
将32位的二进制表示地址, 改为十进制的表示: 128.11.3.31, 容易记忆
5. IP地址和硬件地址
- IP地址(32位): 网络层和以上各层使用的地址, 是一种逻辑地址(由软件实现).
- 硬件地址(48位): 即物理地址, 是数据链路层和物理层使用的地址.
- TCP报文 + 首部(包含IP地址) 组成IP数据报.
- IP数据报 + 首部(包含硬件地址) + 尾部 组成MAC帧.
6. 地址解析协议ARP
作用
: 网络通信过程中, IP地址和对应的硬件地址之间的映射关系.
ARP高速缓存
作用
: 在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表, 并且这个映射表是d动态更新的.
主机A到主机B如何通信
- 同一个局域网中: A向B发送IP数据报时, 先在A自身的ARP高速缓存中查看有无对应的主机B的IP地址, 如果有就在缓存中查出对应的硬件地址, 把硬件地址写入MAC帧, 通过局域网把该MAC帧发往此硬件地址.
- 同一个局域网中: 若ARP高速缓存中无, 在本局域网广播发出一个ARP请求分组(A的主机号+硬件地址和B的IP地址), 如果存在主机B, B就相应.同时对ARP高速缓存更新.
- 非同一个局域网: 通过路由来处理, 路由也是通过广播发送ARP请求分组来查找.
7. IP数据报格式
-
IP数据报
:首部
+数据部分
. -
首部
:固定部分(20字节)
+可变部分
. (1字节=8位) -
可变部分
:可选字段
+填充
.
IP地址首部固定部分
-
版本
: 占4位, 分为IPv4和IPv6. -
首部长度
: 占4位, IP分组的首部长度是4的倍数, 不是就用填充字段填充. -
区分服务
: 占8位, 一直没有被用过. -
总长度
: 占16位, 首部和数据之和的长度. (MTU: 数据链路层的最大传输单元). -
标识
: 占16位, 分片时的总要标识, 同一数据报的不同分片标识一样, 方便接收后重装. -
标志
: 占3位, 最低位MF = 1,表示还有分片,为0表示当前是最后一个分片; DF = 1 不能分片, 为0时, 允许分片. -
片偏移
: 占13位, 分片在原分组中的相对位置, 偏移以8个字节为单位. -
生存时间
: 占8位, TTL功能的跳数限制, TTL减少到0就会被路由丢弃. -
协议
: 占8位, 协议类别(ICMP, ICMP, IP, TCP, UDP, IPv6等等). -
首部检验和
: 占16位, 检验数据报的首部, 不包含数据部分. 每经过一个路由都用重新计算(时间,标志等可能会变).把IP数据报首部划分为多个16位字的序列,把检验和字段置零,用反码算术运算求和后再将结果反码写入该字段, 如首部未变化,则结果必为0, 否则认为数据出错, 将数据报丢弃
. -
原地址
: 占32位. -
目的地址
: 占32位
IP地址首部可变部分
-
可选字段
: 用来支持排错, 测量以及安全等措施. -
填充
: 结合首部长度
使用.
8. 划分子网
将两级的分类IP编址改为三级的划分子网形式, 只是把IP地址的主机号这部分在进行划分.
IP地址 ::= { <网络号>,<子网号>,<主机号>}
子网掩码
方法
: 把子网掩码和IP地址进行逐位的与运算, 就得出网络地址.
- A类地址的默认子网掩码: 255.0.0.0或者0xFF000000.
- B类地址的默认子网掩码: 255.255.0.0或者0xFFFF0000.
- C类地址的默认子网掩码: 255.255.255.0或者0xFFFFFF00.