IP协议及特性详解

网络层协议

网络层协议的工作主要就是 (1) 地址管理 (2) 路由选择 (也就是路径的规划)
而网络层中最常见的协议就是 IP 协议, 也是本文复习的重点

首先我们分析一下报头中的字段

IP协议及特性详解_第1张图片

4 位版本号

这个是关于 IP 协议的版本信息, 目前 IP 协议的版本号只有两个, IPv4 和 IPv6
IP 号, 是一个 32 位整数, 用来表示网络中唯一的一台计算机, 它由两部分组成, 即网络号 + 主机号
由于年代久远, 起初想用 32 位整数标识所有计算机, 但是现在已经不够用了。下面再详细讲讲这个问题

4 位首部长度

首部长度表示的是整个报头的大小, 虽然只有 4 位, 能表示 1 - 15, 但是这个字段的单位是 4 个字节, 也就是说这个 IP 报头的长度范围在 15 - 60 个字节之间

8 位服务类型 (TOS)

一共 8 个比特位, 其中只有 4 位有效, 其他 4 位是留给后续扩展所使用, 简单来说就是这 4 位目前不用。那么剩下的 4 位中, 只能有一位能是1, 其他位只能是 0 , 比如 0001, 0010… 用来表示各自的服务类型
服务类型总共有 4 种, 分别为 (1) 最小延时 (2) 最大吞吐量 (3) 最高可靠性 (4) 最小成本

16 位总长度

用来表示一个 IP 协议数据报有多大, 数据报包括报头和载荷, 载荷就是这个数据报装的内容, 对于 IP 协议来说, 载荷就是 TCP 数据报。

对于一个 IP 协议来说, 如果 TCP 协议太长装不下如何解决 ? IP 协议会对 TCP 进行拆分和组装, 再进行发送, 下面会讲

16 位标识, 3 位标志, 13 位片偏移

如果 IP 协议装不下 TCP 协议, 就会对这个 TCP 进行拆分。拆分的过程中就会用到这三个重要的字段, 下面我们结合例子来看一下这个过程

如下, 现在 IP 报文需要对这个 TCP 进行拆分, 然后由多个 IP 数据报来共同传输拆分后的 TCP 数据报, 我们假设拆分成 3 份。

IP协议及特性详解_第2张图片
如下, 这样一个 TCP 数据报被拆分成 3 份, 分开传输, 那等到数据送达之后, 怎么判断这三份数据原来属于同一份 TCP 数据报 ?

IP协议及特性详解_第3张图片

16 位标识符

这就是标识符的作用, 我们让传输同一份 TCP 数据的 IP 协议都有一样的标识符, 等到 TCP 数据报需要组装的时候就知道这些"片段"都是同一份

IP协议及特性详解_第4张图片

16 位片偏移

好, 标识符同等, 说明这共同组成一个 TCP 协议, 这个知道了, 那要按照什么样的顺序组装呢 ? 于是片偏移的作用就体现出来了。规定片偏移小的在前, 大的在后, 真正在组装 TCP 数据报的时候会根据 片偏移的升序 来进行组装
IP协议及特性详解_第5张图片

3 位标志

好, 现在也知道装的顺序了, 但是还是有点问题, 还要考虑这这些 TCP 片段到哪里结束, 也就是需要一个结束标志, 来保证 TCP 的完整性, 于是这 3 位标志中的一个比特位就是结束标志, 1 表示还没有结束, 0 表示结束了, 如下

IP协议及特性详解_第6张图片

3 位标志, 剩下 2 位, 一个是现在没有使用, 等待后续扩展, 另一个表示当前数据报有没有拆分包。

8 位生存时间

这个字段用来表示 IP 数据报目前还能传输多少次, 这里不是时间单位, 而是 TTL, 是一个整数, 表示经过中间设备转发的次数, 每经过一次中间设备的转发, TTL 就减一, 当 TTL 为 0 的时候, 就直接丢球这个包

8 位协议

用来表示传输层使用了什么协议

16 位首部校验和

这个校验和 TCP, UDP 的校验和也是一样的目的, 都是为了校验数据的准确性, 但是这个首部检验和只是校验 IP 报头, 并不校验数据, 数据的校验传输层自己会进行校验。

IPv4 问题

上面提到 IPv4 中的 IP 地址是完全不够用的, 为了解决这个问题, 就出现了 2 种改进方式
(1) 对 IP 地址进行动态分配
具体点, 就是只为上网的设备分配 IP 地址, 相反, 没有联网就不分配, 这个好理解

(2) 进行 IP 地址转换, 也就是 NAT
将 IP 地址分成两类, 一个是内网 IP(局域网), 一个是外网 IP(广域网), 一个外网中的 IP 不能重复, 不同内网中的 IP 可以重复。并且在传输过程中, 每一个路由器都有可能对当前数据报的源 IP 地址进行转换, 将当前的源 IP 地址转化成当前路由器的 IP 地址
IP协议及特性详解_第7张图片

举个例子, 假设现在在路由器 1 中的设备 1 中发送一个数据报给 路由器 S, 这时候就记录了现在的发送 IP 和 目的的 IP, 并且向上传输

IP协议及特性详解_第8张图片

数据报发送到路由器 1 后, 就会将源 IP 地址由 设备1的IP 改成 路由器1的IP, 并且会记录这个变化前后的 IP 地址

IP协议及特性详解_第9张图片还是一样, 当前路由器再次进行 IP 地址转换, 将数据报的源IP地址由 路由器1的IP 改成路由器A的IP, 再记录转换前后的 IP 地址, 再继续传输, 这里不再赘述

IP协议及特性详解_第10张图片而当数据往回传的时候, 又会经过相似的过程, 如下, 当数据从路由器 S开始往回发

IP协议及特性详解_第11张图片
因为刚刚会记录 IP 的转换过程, 例如从路由器 S 往回传经过路由器 A的时候, 源 IP 会由 路由器 S的IP 改回 路由器 A 的 IP …以此类推
IP协议及特性详解_第12张图片

你可能感兴趣的:(笔记,tcp/ip,网络,网络协议)