news 2026/5/25 21:23:07

【Java EE】IP协议

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Java EE】IP协议

IP协议详解

  • IP协议基础
  • IP数据报格式
  • IP数据报分片机制
  • 地址管理
    • IP地址的表示与分类
    • 子网划分与子网掩码
    • 特殊IP地址
    • 私有IP地址与NAT
    • IPV6
  • 路由选择
    • 路由表与转发
  • 域名系统
    • DNS层次结构与解析过程
    • DNS记录类型

IP协议基础

IP协议工作在OSI模型的网络层(或TCP/IP模型的网际层),其主要特点是无连接、不可靠和尽力而为的数据传输服务。

  • 无连接:通信前无需建立连接,每个数据包(IP数据报)独立路由。
  • 不可靠:不保证数据包一定能送达目的地,也不保证按序到达,不提供确认和重传机制。可靠性由上层协议(如TCP)保障。
  • 尽力而为:尽最大努力交付数据包。

下面是 TCP/IP 协议栈的层次结构示意图,IP 协议位于网际层:

网络接口层

Ethernet

WiFi

PPP

网际层

IP

ICMP

ARP

传输层

TCP

UDP

应用层

HTTP

FTP

SMTP

DNS

IP数据报格式

一个IP数据报由首部数据两部分组成。首部包含了路由和交付所需的所有控制信息。

关键字段说明:

字段位数说明
版本4位标识IP协议版本(对于IPv4数据包,该字段的值固定为 4;对于IPv6数据包,其版本字段的值则为 6)
首部长度4位以4字节为单位,指示首部长度(可能包含可变长的选项字段(如时间戳、源路由等),因此首部长度是可变的)
服务类型8位用于指示数据报的优先级、延迟、吞吐量等要求
总长度16位定义整个IP数据报(首部+数据)的长度,最大65535字节
标识、标志、片偏移用于IP数据报分片与重组
生存时间8位数据报在网络中可经过的最大路由器跳数,每经过一个路由器减1,为0时被丢弃,防止数据报无限循环
协议8位指示上层协议(如下面的常见上层协议的标识号补充列表所示)
首部检验和16位用于校验首部在传输过程中是否出错
源IP地址和目的IP地址各32位数据报的发送方和接收方的逻辑地址

常见上层协议的标识号补充列表:

协议号协议名称说明
1ICMP互联网控制消息协议
2IGMP互联网组管理协议
6TCP传输控制协议
17UDP用户数据报协议
47GRE通用路由封装协议
50ESP封装安全载荷协议
51AH认证头协议
88EIGRP增强型内部网关路由协议
89OSPF开放最短路径优先协议
115L2TP第二层隧道协议

这些标识号在IP报文头部的「协议」字段中使用,用于指示IP数据包承载的上层协议类型。

IP数据报分片机制

由于不同物理网络的最大传输单元(MTU)各不相同(如以太网MTU为1500字节,而某些广域网链路MTU可能更小),当IP数据报的总长度超过下一跳链路的MTU时,IP协议会自动将数据报拆分成多个较小的数据报,这个过程称为分片。分片后的每个数据报都拥有与原数据报相同的标识字段,以便接收端识别它们属于同一个原始数据报。

分片相关的三个关键字段:

  • 标识:源主机为每个原始数据报分配的唯一编号,所有分片共享该标识,用于重组时归并。
  • 标志:3位标志位,其中:
    • DF(Don’t Fragment):置1表示不允许分片,若数据报超过MTU则直接丢弃并返回ICMP错误。
    • MF(More Fragments):置1表示后面还有更多分片,置0表示这是最后一个分片。
  • 片偏移:以8字节为单位,指示当前分片在原始数据报中的偏移位置,用于重组时按顺序拼接。

分片只在路由器上进行,重组则在目的主机完成。IP协议本身不提供重传机制,如果某个分片丢失,整个数据报都会被丢弃,可靠性由上层协议(如TCP)保障。

地址管理

IP地址是IP协议中用于唯一标识网络中设备的逻辑地址。

IP地址的表示与分类

IPv4地址是一个32位的二进制数,通常用点分十进制表示(如192.168.1.1)。


图:传统的IP地址分类(A、B、C、D、E类)

类别前缀二进制位网络号位数主机号位数用途
A类08位24位用于大型网络
B类1016位16位用于中型网络
C类11024位8位用于小型网络
D类1110--用于多播
E类1111--保留

子网划分与子网掩码

分类地址浪费严重,子网划分允许将一个大的网络号(A、B、C类)划分成多个更小的子网。

子网掩码是一个32位的数字,它由一串连续的1后跟一串连续的0组成。1对应网络号和子网号部分,0对应主机号部分。通过与IP地址进行“按位与”操作,可以提取出网络地址。

图:子网掩码用于区分IP地址中的网络部分和主机部分

例如,一个C类地址192.168.1.0/24,使用子网掩码255.255.255.224(或/27)可以将其划分为多个子网。

图:将一个C类网络划分为多个子网的计算过程

特殊IP地址

类型示例或格式用途
网络地址192.168.1.0(主机位全0)标识网络本身,不分配给具体主机。
直接广播地址192.168.1.255(主机位全1)向该网络内所有主机发送数据包。
受限广播地址255.255.255.255仅在本地网络内广播,路由器不转发。
本机环回地址127.0.0.1测试本机网络协议栈,数据不离开主机。
链路本地地址169.254.0.0/16DHCP失败时自动分配,用于本地通信(如Windows的APIPA地址)。

补充说明

  • 网络地址直接广播地址的主机位规则适用于所有IPv4地址(如A/B/C类网络)。
  • 链路本地地址范围是169.254.0.1至169.254.255.254(RFC 3927)。

私有IP地址与NAT

为了缓解IPv4地址枯竭问题,RFC 1918规定了三类私有IP地址范围,这些地址不能在公网上路由,主要用于内部网络。

网络地址转换是使私有网络能够访问公网的关键技术。NAT路由器将内部私有IP地址和端口号,映射为公网IP地址和端口号。

NAT地址转换可视化网站

图:NAT(网络地址转换)工作流程示意图


IPV6

为了解决地址枯竭问题~
IPv6

路由选择

IP协议的核心功能之一是通过路由选择将数据包从源主机传递到目的主机。

路由表与转发

每个路由器或主机都维护一张路由表,表项通常包含:目的网络地址、子网掩码、下一跳地址、出接口等。

图:一个典型的路由表结构,包含网络地址、掩码、网关和接口

补充:转发过程+路由协议

域名系统

域名系统将人类可读的域名(如www.example.com)转换为机器可读的IP地址。

DNS层次结构与解析过程

DNS是一个分布式的、层次化的数据库系统。

根域名服务器
.

顶级域名服务器
.com

顶级域名服务器
.org

顶级域名服务器
.net

顶级域名服务器
.edu

顶级域名服务器
.cn

权威域名服务器
example.com

权威域名服务器
google.com

权威域名服务器
wikipedia.org

权威域名服务器
baidu.com.cn

子域名服务器
www.example.com

子域名服务器
mail.example.com

子域名服务器
www.google.com

子域名服务器
maps.google.com

子域名服务器
en.wikipedia.org

子域名服务器
www.baidu.com

递归/迭代查询过程

  1. 主机向本地DNS服务器发起递归查询。
  2. 本地DNS服务器代表主机向根域名服务器、顶级域名服务器、权威域名服务器进行迭代查询,最终获得IP地址。
  3. 本地DNS服务器将结果返回给主机,并可能缓存起来。

DNS记录类型

记录类型说明例子
A记录将域名映射到 IPv4 地址example.com93.184.216.34
AAAA记录将域名映射到 IPv6 地址example.com2606:2800:220:1:248:1893:25c8:1946
CNAME记录域名别名,将一个域名指向另一个域名www.example.comexample.com
MX记录邮件交换记录,指定负责接收邮件的服务器,并带有优先级example.commail.example.com(优先级 10)
NS记录指定该域名的权威域名服务器example.comns1.example.com
TXT记录存放任意文本信息,常用于 SPF、DKIM、DMARC 及域名验证example.com"v=spf1 include:_spf.google.com ~all"
SOA记录授权起始记录,包含管理信息(主DNS、管理员邮箱、序列号等)example.comns1.example.com admin@example.com 2024052401 3600 …
PTR记录指针记录,用于反向解析:IP 地址 → 域名34.216.184.93.in-addr.arpaexample.com
SRV记录服务定位记录,指定特定服务的主机名和端口_sip._tcp.example.comsip.example.com:5060
CAA记录证书颁发机构授权,限制谁能签发证书example.com0 issue "letsencrypt.org"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 21:22:37

从OpenClaw、Palantir、SpaceX,看颠覆式创新的四个层次(3)

接第二章《颠覆式创新的三个层次:OpenClaw→Palantir→SpaceX》。 ③ 这三家公司的创新层次 与OpenAI相比如何? 前面我们曾提出过工业革命的演进路径:基础技术突破→设备革新→产线&组织管理模式重构。OpenAI 2022年发布大模型ChatGPT&…

作者头像 李华
网站建设 2026/5/25 21:22:29

集成测试总是抽风失败?不是代码的锅,是测试数据在相互“投毒”

文章目录集成测试总是抽风失败?不是代码的锅,是测试数据在相互“投毒”一、数据污染:集成测试的头号隐形杀手二、污染源分析:脏数据从哪里来?三、传统方案为何频频“翻车”?3.1 Transactional 回滚不是银弹…

作者头像 李华
网站建设 2026/5/25 21:22:28

432个I/O+31×31mm FCBGA封装:XC2V1000-5FF896I在ASIC验证与通信基带中的集成设计

XC2V1000-5FF896I:Virtex-II系列百万门级FPGA的高性能架构解析在无线通信基带处理、ASIC原型验证、雷达信号处理以及医疗成像等对逻辑密度和I/O带宽有较高要求的应用中,现场可编程门阵列的逻辑资源规模和信号完整性直接影响系统设计的上限。当设计需要在…

作者头像 李华
网站建设 2026/5/25 21:20:16

PowerCLI连接vCenter报错Could not connect?一键搞定

在VMware自动化运维中,使用PowerCLI连接vCenter服务器时,经常出现报错“Could not connect to server”,很多人排查半天网络依旧无法解决。该报错不只是网络不通导致,**vCenter地址、端口异常、网络拦截,以及PowerCLI默…

作者头像 李华