计算机网络学习(七)——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 协议配合路由器和子网规划,实现全球互联网互通。
相关推荐
刘俊辉个人博客31 分钟前
Agile Controller实现AAA示例
运维·网络·网络协议·tcp/ip·计算机网络·网络安全
xwz小王子42 分钟前
Science Robotics期刊论文:腿式机械臂学习羽毛球技能
学习·羽毛球
奕天者2 小时前
计算机基础(一)——设计模式
学习·设计模式·计算机基础
靡樊2 小时前
传输层协议UDP/TCP
linux·网络·网络协议·学习·tcp/ip·udp
@菜菜_达3 小时前
AgGrid学习笔记
笔记·学习·arcgis
程序员Xu3 小时前
Vulkan学习笔记10—统一缓冲区
服务器·笔记·学习
AgilityBaby4 小时前
UE5蓝图按键输入绑定学习笔记
笔记·学习·ue5·蓝图
萌新小码农‍4 小时前
SpringBoot新闻项目学习day3--后台权限的增删改查以及权限管理分配
spring boot·后端·学习
奈斯ing4 小时前
【MySQL篇】高效学习官方文档指南(基于MySQL8.0版本详解)
运维·数据库·学习·mysql
菠萝炒饭pineapple-boss5 小时前
Nginx-Ingress-Controller自定义端口实现TCP/UDP转发
tcp/ip·nginx·udp·ingress