Java中的IP协议(如果想知道Java中有关IP协议的知识,那么只看这一篇就足够了!)

前言:在当今高度信息化的社会中,互联网已经深刻影响了人类的生活方式和交流方式,从电子邮件的收发到视频会议的举行,从社交媒体的互动到云计算的广泛应用,这一切的背后都离不开网络通信协议的支持。


Java中的IP协议(如果想知道Java中有关IP协议的知识,那么只看这一篇就足够了!)

✨✨ ✨这里是秋刀鱼不做梦的BLOG

✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客

在正式开始讲解之前,先让我们看一下本文大致的讲解内容:

Java中的IP协议(如果想知道Java中有关IP协议的知识,那么只看这一篇就足够了!)

目录

1.IP协议的基本概念

2.IP协议的结构与分类

(1)IP地址的结构

(2)IP地址的分类

3.子网划分与子网掩码

4.IP数据报格式与结构

5.IP数据的分片和重组机制

(1)分片

【1】分片触发时机

【2】分片流程

(2)重组

6.IPv6的简单介绍

(1)IPv6的地址表示方式

(2)IPv6的优势


1. IP协议的基本概念

首先先让我们学习一下什么是IP协议:

IP协议是TCP/IP协议簇中的核心协议之一,属于网络层协议,它的主要功能是实现网络中不同主机之间的寻址与数据传输,在TCP/IP模型中,IP协议作为中间层,承上启下,向上传递数据给传输层(如TCP、UDP),向下则将数据交由链路层处理。

当然我们要注意的是IP协议是一种不可靠协议,它不保证数据的可靠传输和顺序的一致性,至此,我们就粗略的了解了什么是IP协议了,那么接下来让我们看看IP协议是如何构成的和其都有哪些类型吧!

2.IP协议的结构与分类

(1)IP地址的结构

这里以IPv4为例,一个标准的IP地址由32位二进制数构成,通常用点分十进制表示,例如“192.168.1.1”这样,而IP地址可以划分为两部分: 网络号主机号, 网络号是用于标识一个特定的网络,而主机号则用于标识该网络中的某个设备。

(2)IP地址的分类

——通常IPv4地址被划分为五类:

  • A类地址 :适用于大型网络,范围从1.0.0.0到126.255.255.255,网络号占8位,主机号占24位。

  • B类地址 :适用于中等规模的网络,范围从128.0.0.0到191.255.255.255,网络号占16位,主机号占16位。

  • C类地址 :用于小型网络,范围从192.0.0.0到223.255.255.255,网络号占24位,主机号占8位。

  • D类地址 :用于多播通信,范围从224.0.0.0到239.255.255.255。

  • E类地址 :保留地址,范围从240.0.0.0到255.255.255.255。

——虽说是五类,但是其中A/B/C类地址才是最常用的。

以上就是IP协议的结构与分类的内容了!

3.子网划分与子网掩码

在日常应用中,我们为了实现更加灵活的网络管理与资源配置,会将单一网络进一步细分成更多个小型子网络,为此,IP协议引入了 子网划分 的机制。

那为什么要引入子网划分呢?

——子网划分的核心目的就是为了提高IP地址的利用率、提升网络安全性与可维护性,我们通过子网划分,将一个较大的网络拆分为若干逻辑上的子网络,从而避免资源浪费。

了解了为什么要引入子网划分,那它有什么作用呢?

——子网掩码是与IP地址配套使用的重要参数,它同样由32位二进制数构成,用于区分IP地址中的网络号与主机号,常见子网掩码如下:

  • 255.0.0.0(对应A类地址)

  • 255.255.0.0(对应B类地址)

  • 255.255.255.0(对应C类地址)

例如,IP地址“192.168.1.100”和子网掩码“255.255.255.0”结合使用时,其网络地址为“192.168.1.0”,主机号为“100”,这样一来,管理员可以更容易地管理网络资源,并提高通信效率。

——以上就是子网划分与子网掩码的知识了!

4.IP数据报格式与结构

学习完上述的内容之后,让我们进行本篇文章的重点,IP数据报格式与结构,IP协议传输数据的最小单位称为IP数据报,而每一个数据报都包含两个部分: 首部(Header) 数据部分(Payload)

【1】首部

Java中的IP协议(如果想知道Java中有关IP协议的知识,那么只看这一篇就足够了!)

从上边的图片中我们可以看到,IP数据报的首部长度通常为20字节(在无选项字段的情况下),而其中包含如下字段:

  • 版本号(Version) :指明使用的是IPv4还是IPv6。

  • 首部长度(Header Length) :单位为4字节,用于标明首部占用字节长度。

  • 服务类型(TOS) :用于标记服务优先级。

  • 总长度(Total Length) :用于记录整个IP数据报的长度。

  • 标识(Identification)、标志位(Flags)与片偏移(Fragment Offset) :其时用于分片和重组机制。

  • 生存时间(TTL) :用于限制数据报在网络中存活的时间。

  • 协议(Protocol) :用于指定传输层使用的协议,比如TCP或UDP等。

  • 头部校验和(Header Checksum) :用于验证头部是否在传输中被破坏。

  • 源地址(Source IP Address)与目的地址(Destination IP Address) :指明通信双方的IP。

——当然,我相信如果读者只是看上述枯燥的定义可能不能很好的理解每个字段的意思,那么接下来,我们使用生活中的例子来解释一下每个字段:

  1. 版本号 :这就像你使用的操作系统版本,类似Windows 10或iOS。

  2. 首部长度 :它就像是一个信封的内容长度,告诉你信封里装了多少内容,通常是20字节,在有更多内容时会变长。

  3. 服务类型 :它就像快递的优先级标注,告诉网络如何处理这个包裹,是否要优先送达,还是可以延迟发送。

  4. 总长度 :这个就像快递单上的总重量,包括了包裹和信封的重量。

  5. 标识 :这就像每个快递包裹都有一个唯一的编号,用来在运输过程中追踪。

  6. 标志 :就像是快递包裹上的特殊标记,指示包裹是否可以拆分运输,或者它是不是最后一个包裹。

  7. 片偏移 :如果一个包裹被拆成多个部分,偏移就像是指示拆分后每部分在原始包裹中的位置。

  8. 生存时间 :类似快递的有效期,包裹只能在路上待一定时间,过期就会被退回。

  9. 协议 :它就想告诉你这个包裹到底要交给哪个部门处理,比如TCP或UDP就像是不同的快递公司。

  10. 首部校验和 :就像检查包裹是否损坏,确保送达的包裹没有在路上被搞坏。

  11. 源地址 :就是发件人的地址,告诉你包裹从哪里发出。

  12. 目的地址 :收件人的地址,告诉快递员包裹要送往哪里。

  13. 选项 :其就是一些附加的要求。

通过上边的解释之后,相信读者应该对每个字段都有了自己的理解了!

【2】数据部分

——数据部分承载来自传输层的有效负载,比如TCP段或UDP报文等。

5.IP数据的分片和重组机制

——在学习完了IP数据报格式与结构之后,接下来然我们学习一下IP数据的分片和重组机制:

(1)分片

首先先让我们学习一下分片的内容:

【1】分片触发时机

当IP层从上层接收到一个数据包,其大小超过下层链路的MTU时,就需要进行分片处理。

【2】分片流程

每个分片都会保留原始IP首部中的关键信息(例如标识字段、源/目标IP地址等),并更新相关字段:

  • 标识字段在每一个原始IP数据报中唯一,所有分片保持一致;

  • 标志中的MF位表示是否还有后续分片;

  • 片偏移指出该分片在原始数据中的偏移位置,单位为8字节。

通过上述晦涩难懂的解释,读者可能第一次无法进行理解,这里我们举个例子,我们假设原始数据报长4000字节,链路MTU为1500字节,扣除IP首部长度(假设为20字节),则每个分片可携带1480字节数据,那么数据会被分成3个分片:前两个携带1480字节,最后一个携带剩余的1040字节,希望通过上述的例子,读者可以更好的进行理解。

(2)重组

——了解完了分片,那么重置又是怎么实现的呢?

重组工作由接收端主机的IP层负责,IP层根据分片的标识字段和偏移值,将所有分片按顺序拼接成完整数据报,如果某个分片丢失或出错,那么整个数据报将被丢弃。

至此我们就了解了一个数据报是如何进行分片和重组的了!

6.IPv6的简单介绍

通过上文我们知道了,虽然IPv4为互联网奠定了基础,但其32位地址长度企业已难以满足当前海量设备接入的需求,因此,IETF推出了下一代互联网协议——IPv6

(1)IPv6的地址表示方式

——IPv6地址长度为128位,采用冒号十六进制格式表示。

例如:

2001:0db8:85a3:0000:0000:8a2e:0370:7334,这样的设计提供了约3.4 * 10^38个可用地址,这样就可以保证有足够的IP地址使用了!

(2)IPv6的优势

那么IPv6相较于IPv4有哪些优势呢?

  • 地址空间巨大 :彻底解决IPv4地址枯竭问题。

  • 无需NAT :每个设备都能拥有公网地址,实现端到端通信。

  • 更高效的路由机制 :引入了简化的首部结构。

  • 增强的安全性 :IPSec在IPv6中为强制要求,提升传输安全。

  • 支持自动配置 :通过无状态地址自动配置减少管理负担。

注意:在现代的生活中IPv4的使用还是远超于IPv6的!!!但随着物联网和5G的发展,它将在未来发挥越来越重要的作用。


以上就是本篇文章的全部内容了~~~

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/9232.html

(0)
LomuLomu
上一篇 2025 年 5 月 12 日 上午9:28
下一篇 2025 年 5 月 12 日 上午10:38

相关推荐

  • Mysql

    MySQL 学习整理 MySQL 基础架构 最上层的客户端所包含的服务并不是 MySQL 独有的,大多数基于网络的客户端/服务器工具或服务器都有类似的服务,包括连接处理、身份验证、确保安全性等。 第二层包含了大多数 MySQL 的核心功能,包括查询解析、分析、优化、以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能也都在这一层实现:…

    2024 年 12 月 28 日
    42700
  • Java与高德地图WebAPI整合开发指南——POI搜索2.0功能实现详解

    目录背景概述第一部分:高德地图搜索服务解析1.1 高德开发者平台概览1.2 搜索服务特性说明1.3 核心接口参数解析第二部分:Uniapi框架整合方案2.1 服务接入完整流程2.2 接口定义规范2.3 实际业务应用第三部分:疑难问题解决方案第四部分:技术总结 背景概述 在移动互联网蓬勃发展的今天,基于位置的服务(LBS)已成为各类应用不可或缺的功能模块。作为…

    2025 年 5 月 15 日
    42800
  • 架构-初识BFF

    引言 晚上公司开了一个技术分享会,主要内容就是公司的项目架构,会中讲解了项目整体架构是BFF架构,就是在微服务之上多加了一层。 除此之外,还讲解了DDD设计思想,主要用于各个业务中台,如订单中台、用户中台等。 这是我的架构第一课,听得有些似懂非懂,于是浅浅地整理一下。 BFF 是什么 BFF是服务于前端的后端,全称Backend For Frontend。B…

    2025 年 1 月 1 日
    37700
  • ChatGPT-Plus共享账号,全网最高性价比!

    系统界面展示,原汁原味的官方ChatGPT-Plus! 这可能不是我用过最便宜的ChatGPT共享账号,但绝对是性价比最高,用起来最稳定的平台,没有之一! 我们有专业的技术团队,已经稳定运营一年之久。我们的维护成本很大,基本大家下单的钱都用于账号购买和技术升级,基本没有多少的利润,只为给大家提供一个安全/稳定的GPT服务。如果网站体验好,请帮我们宣传,足够的…

    2024 年 7 月 10 日
    2.9K00
  • Java JDK 下载与版本解析(JDK 8 至 JDK 20)

    什么是 JDK? JDK(Java Development Kit,Java 开发工具包)是甲骨文 Oracle 推出的 Java 开发核心工具套件,包含: Java 运行环境(JRE) :支持运行 Java 程序。 开发工具 :如编译器和调试器,助力高效开发。 基础类库源代码 :提供标准 Java 类的实现。 JDK 的版本发展与选择 自 Java 9 发…

    未分类 2025 年 1 月 6 日
    98800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信