计算机网络学习(七)——IP

一、IP

在计算机网络中,IP(Internet Protocol,网际协议)网络层的核心协议 ,用于实现跨越不同网络的数据包传输。IP 是 TCP/IP 协议族的核心部分,属于网络层协议,也是 Internet 赖以运作的基础协议之一。

IP 协议负责:

  • 为设备分配唯一的IP地址
  • 封装、传输和路由数据包;
  • 多个子网和网络之间转发数据,实现"尽力而为"的交付;
  • 提供无连接、不可靠的数据包传输服务。

IP 不保证数据可靠送达,它只负责把数据"尽力送到目标地址"。

核心特点:

特点 说明
无连接 不建立连接,直接发送数据包
不可靠 不保证数据包送达、不重传
尽力而为交付 有可能丢包、重复或乱序
分包和重组 超过 MTU 的数据会被分片
路由寻址 支持通过路由器跨网络转发数据包

二、IP 协议的主要版本

协议版本 简称 说明
IPv4 Internet Protocol version 4 当前主流协议,32位地址
IPv6 Internet Protocol version 6 新一代协议,128位地址,解决 IPv4 地址耗尽问题

三、IP数据报文结构

参考书------计算机网络 (第8版)- 谢希仁。

1. IPv4报文结构

IPv4 报文头至少 20 字节 ,结构如下:

  • 版本:占4位, 指协议IP的版本,对IPv4该字段是4。
  • 首部长度:占4位, 可表示的最大十进制数值是15。请注意,首部长度字段所表示数的单位是32位字长( 1个32位字长是4字节) 。
  • 区分服务:占8位, 用来获得更好的服务。
  • 总长度 :总长度指首部和数据之和的长度, 单位为字节。总长度字段为16位, 因此数据报的最大长度为 2 16 2^{16} 216 - 1 = 65535字节。
  • 标识(identifi cation) :占16位。IP 软件在存储器中维持一个计数器, 每产生一个数据报,计数器就加1 , 并将此值赋给标识字段。
  • 标志(flag): 占3位。
  • 片偏移:占13位。片偏移指出:较长的分组在分片后, 某片在原分组中的相对位置。
  • 生存时间:占8位, 生存时间字段常用的英文缩写是TTL (Time To Live), 表明这是数据报在网络中的寿命。
  • 协议:占8位, 协议字段指出此数据报携带的数据使用何种协议, 以便使目的主机的IP层知道应将数据部分上交给哪个协议进行处理。
  • 首部检验和:占16位。这个字段只检验数据报的首部, 但不包括数据部分。
  • 源地址:占32位。发送IP数据报的主机的IP地址。
  • 目的地址:占32位。接收IP数据报的主机的IP地址。

2. IPv6报文结构

IPv6 报文头至少 40 字节 ,结构如下:

  • 版本(version) :占4位。它指明了协议的版本, 对 IPv6 该字段是6。
  • 通信量类(traffic class) :占8 位。这是为了区分不同的 IPv6 数据报的类别或优先级, 和IPv4 的区分服务字段的作用相似。目前正在进行不同的通信量类性能的实验。
  • 流标号(flow label) :占20位。IPv6 的一个新的机制是支持资源预分配, 并且允许路由器把每一个数据报与一个给定的资源分配相联系。
  • 有效载荷长度(payload length) :占16位。它指明 IPv6 数据报除基本首部以外的字节数( 所有扩展首部都算在有效载荷之内) 。这个字段的最大值是64 KB (65535 字节)。
  • 下一个首部(next header) :占8位。它相当千 IPv4 的协议字段或可选字段。
  • 跳数限制( hop limit ) :占8位。用来防止数据报在网络中无限期地存在。
  • 源地址:占128 位。是数据报的发送端的 IP 地址。
  • 目的地址:占128位。是数据报的接收端的 IP 地址。

四、IP 地址与子网

1. IP 地址分类(IPv4)

类别 范围 用途
A 1.0.0.0 - 126.0.0.0 大型网络
B 128.0.0.0 - 191.255.0.0 中型网络
C 192.0.0.0 - 223.255.255.0 小型网络
D 224.0.0.0 - 239.255.255.255 多播
E 240.0.0.0 - 255.255.255.255 实验用途

IP地址分类图示:

2. 子网掩码

子网掩码 (Subnet Mask) 是用于划分网络地址与主机地址 的关键机制。

通过子网掩码,我们可以判断两个 IP 地址是否属于同一个子网,并支持将一个 IP 网络进一步划分成多个子网,优化地址使用与网络管理。

工作原理(与运算):

子网掩码通过与 IP 地址进行按位与(AND)运算来提取网络地址:

复制代码
IP:      192.168.1.10   → 11000000.10101000.00000001.00001010  
掩码:    255.255.255.0  → 11111111.11111111.11111111.00000000  
网络地址:             → 11000000.10101000.00000001.00000000 → 192.168.1.0

五、IP 的关键机制

1. 分片与重组

分片 (Fragmentation)与重组(Reassembly)是 IP 协议在传输大型数据包时为适应不同网络链路的最大传输单元(MTU)所采用的重要机制,主要在 IPv4 中使用。

  • 当 IP 数据包超过链路的最大传输单元(MTU)时,会被分片传输
  • 接收端将分片重组成原始数据;
  • 重组只在目的主机完成,中间路由器不重组

分片示例:

参考书------计算机网络 (第8版)- 谢希仁。

2. TTL(Time To Live)

  • 限制数据包在网络中的"寿命";
  • 每经过一个路由器,TTL 减 1;
  • TTL 为 0 时,数据包被丢弃,防止路由环路。

3. 路由与转发

  • IP 依靠路由器将数据包从源主机传送到目的主机;
  • 每个路由器根据目标IP地址和路由表决定下一跳

六、IPv4 vs IPv6

项目 IPv4 IPv6
地址长度 32 位(4字节) 128 位(16字节)
地址表示 十进制,如 192.168.1.1 十六进制,如 2001:0db8::1
地址数量 约 43 亿个 2^128,几乎无限
报文结构 复杂,支持分片等 简化,无中间分片,效率更高
NAT 支持 支持,常用于节省地址 不再需要 NAT,端到端通信
安全性 无内建安全,需借助IPSec 内建支持 IPSec 安全机制

七、IP 与其他协议的关系

IP 协议本身不提供可靠性,它通过与其他协议配合完成通信:

层级 协议 作用
传输层 TCP、UDP 提供端到端通信(可靠或快速)
网络层 IP(本层) 实现网络间通信与寻址
链路层 Ethernet、Wi-Fi 等 实现局域网中的物理传输
辅助协议 ICMP、ARP、DHCP 支持控制、地址解析、配置等

八、典型应用

  • IP 是 Web、FTP、SSH、邮件等所有互联网服务的基础
  • 所有设备(服务器、路由器、PC、手机)都必须拥有 IP 地址;
  • IP 协议配合路由器和子网规划,实现全球互联网互通。
相关推荐
firshman_start39 分钟前
SQL注入学习笔记
sql·学习
鸢栀w2 小时前
前端css学习笔记3:伪类选择器与伪元素选择器
前端·css·笔记·学习·尚硅谷网课
alexander0682 小时前
Django路由学习笔记
笔记·学习·django
_hermit:4 小时前
【从零开始java学习|第三篇】变量与数据类型的关联
java·学习
知识分享小能手11 小时前
Vue3 学习教程,从入门到精通,Vue 3 + Tailwind CSS 全面知识点与案例详解(31)
前端·javascript·css·vue.js·学习·typescript·vue3
wdfk_prog11 小时前
[Linux]学习笔记系列 -- [arm][lds]
linux·运维·arm开发·笔记·学习
范纹杉想快点毕业12 小时前
C 语言主控开发与显控开发能力体系及技术栈详解,STM32、QT、嵌入式、边缘系统显示
stm32·单片机·tcp/ip·microsoft·fpga开发·51单片机·wpf
晨非辰13 小时前
#C语言——刷题攻略:牛客编程入门训练(六):运算(三)-- 涉及 辗转相除法求最大公约数
c语言·开发语言·经验分享·学习·学习方法·visual studio
Gloria_niki13 小时前
爬虫与数据分析结合案例学习总结
爬虫·学习·数据分析
千码君201614 小时前
计算机网络:超网即路由聚合一定需要连续的IP地址吗?
网络协议·tcp/ip·计算机网络·子网掩码·路由聚合·超网·网络前缀