网络初始:从 IP 端口到 TCP/IP 五层模型与数据封装分用
网络初始引言在动手写 Java 网络编程之前先搞清楚“网络到底是怎么工作的”至关重要。本文从网络的演进脉络讲起依次梳理 IP 地址与端口号、网络协议及其分层思想并重点剖析 TCP/IP 五层模型与数据收发的封装、分用流程帮助你建立起一张清晰的网络全景图为后续 Socket 编程打下扎实基础。一、网络的发展过程计算机网络的演进大致经历了以下阶段单机无网络-局域网LAN可实现初步通信-广域网WAN局域网的扩展-互联网Internet。二、IP 地址与端口号IP 地址用于标识网络中的一台主机。需要注意的是一台主机通常可以拥有多个 IP 地址。端口号用于标识主机上具体使用网络的哪一个应用程序。三、网络协议所谓“协议”就是通信双方对传输数据的格式与含义所达成的一种约定。3.1 协议分层分层的基本原则是上层调用下层下层为上层提供服务。这样做的好处是上层协议不必关心下层协议的实现细节直接调用即可本质上就是“封装”与“解耦”。同时上层与下层之间不能随意调换顺序——各层的职责与接口是固定的依靠标准化的层间接口来实现解耦而不是随意改变层级的排列。那么在网络中具体是如何分层的呢3.2 OSI 七层网络模型OSI 是教科书上的理论模型在实际工程中真正被广泛使用的是下面要介绍的 TCP/IP 五层模型。3.3 TCP/IP 五层网络模型注TCP/IP 模型也常被称作“四层模型”主要是把数据链路层与物理层合并为一层。从上层靠近用户到下层靠近硬件各层职责如下应用层第 5 层对应应用程序这一层关注的是“我自己应用程序要如何使用这些数据”与下面的各层无关。传输层第 4 层对应操作系统约定了通信起点与终点之间的规则不关心数据在中间是如何传输的。打个比方就像寄快递你只需要写清楚收件人地址和电话即可并不关心包裹具体是怎么运过去的。网络层第 3 层对应操作系统相当于快递公司不管起点和终点具体是谁只负责中间过程——即数据如何从起点到达终点、走哪条路由。数据链路层第 2 层对应硬件只关心“怎么把数据送到你的地址”类似于快递员最后一公里的工作。物理层第 1 层对应硬件关注网线、光纤等物理介质的电气/光信号结构。3.4 网络数据传输的基本流程网络数据传输的核心在于封装发送与分用接收。下面以 QQ 发送 “hello” 为例进行说明。发送方封装过程键盘输入 “hello”。QQ 读取到 “hello”并将其构造成一个应用层数据包其中包含“谁发的、发给谁、发了什么”。然后将该数据封装为传输层数据包。网络层继续封装添加网络层报头。数据链路层再次封装添加帧头与帧尾。物理层通过网卡将上述数据转换为电信号/光信号并传输出去。接收方分用过程物理层接收到信号将其转换为数据链路层的数据包。数据链路层读取帧头与帧尾解析出载荷部分并交给网络层。网络层解析 IP 报头交给传输层。传输层解析传输层报头交给应用层。应用层最终由应用程序解析并处理数据。术语在不同网络分层中数据单元有着不同的称谓包packet网络层的数据单元。段segment传输层 TCP 的数据单元。报datagram传输层 UDP 的数据单元。帧frame数据链路层的数据单元。小结本文梳理了网络基础的核心脉络网络从单机走向互联网每台主机通过IP 地址 端口号被唯一标识通信依赖协议这一“约定”而协议采用分层设计OSI 七层为理论模型工程上常用 TCP/IP 五层数据发送时逐层封装报头接收时逐层分用解析并由此引出包、段、报、帧等分层术语。理解这套体系是掌握 Java 网络编程的前提。

相关新闻

Linux操作系统-centos7如何离线安装桌面环境

Linux操作系统-centos7如何离线安装桌面环境

有的时候我们需要在服务器上使用桌面环境,但很多时候Linux服务器都是最小化安装的,而最小化安装的操作系统一般都是不带桌面环境的。遇到这种场景该如何解决呢?以下以离线的CentOS 7服务器安装CentOS 7桌面环境为例,介绍如何离线部…

2026/8/9 2:26:48 阅读更多 →
如何永久保存微信聊天记录?这个开源工具让你的数字记忆不再丢失

如何永久保存微信聊天记录?这个开源工具让你的数字记忆不再丢失

如何永久保存微信聊天记录?这个开源工具让你的数字记忆不再丢失 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending…

2026/8/9 2:26:48 阅读更多 →
Unity动画剪辑编辑与优化:从核心原理到移动端性能实战

Unity动画剪辑编辑与优化:从核心原理到移动端性能实战

1. 项目概述:从动画剪辑到流畅体验在Unity引擎里做角色动起来,这几乎是每个游戏开发者都会经历的一步。但很多人可能和我一样,最初只是把美术给的FBX文件拖进场景,挂上Animator Controller,看着角色能跑能跳就觉得大功…

2026/8/9 2:25:47 阅读更多 →

最新新闻

程序员想转AI的话,可以看下FDE这个新岗位。

程序员想转AI的话,可以看下FDE这个新岗位。

硅谷不少公司都在高薪招聘 FDE,比如 OpenAI、Anthropic、Scale AI,感觉这是程序员的一条新出路。 有人可能觉得,FDE 就是换汤不换药,和之前的售前工程师、解决方案架构师或者技术支持没什么区别。 其实不是。今天我想写一篇文章&a…

2026/8/9 3:16:11 阅读更多 →
Unity ECS高性能动画方案:Kinemation模块实现GPU蒙皮与万级角色渲染

Unity ECS高性能动画方案:Kinemation模块实现GPU蒙皮与万级角色渲染

1. 项目概述:当ECS遇见动画与渲染的挑战如果你正在用Unity的ECS(实体组件系统)架构做项目,尤其是涉及到大量角色动画和复杂渲染时,大概率会碰到一个头疼的问题:传统的Animator和SkinnedMeshRenderer在ECS世…

2026/8/9 3:16:11 阅读更多 →
激光雷达窄带滤光片:压制太阳光背景的技术原理与工程实践

激光雷达窄带滤光片:压制太阳光背景的技术原理与工程实践

一、问题背景:太阳背景辐射对激光雷达的挑战 激光雷达作为一种主动式光学探测技术,通过发射激光脉冲并接收目标回波信号来获取三维空间信息。然而,当激光雷达在白天工作时,太阳背景辐射构成了最主要的噪声来源。太阳光谱覆盖从紫外到远红外的宽广波段,且在近红外区辐射强…

2026/8/9 3:16:11 阅读更多 →
专业且高转化的投资公司网站建设方案详解与核心要素

专业且高转化的投资公司网站建设方案详解与核心要素

做投资公司网站建设方案,其实很多时候大家容易陷入一个误区,觉得只要代码写得漂亮,页面特效炫酷,这网站就成了。说实话,这种想法在十年前可能还站得住脚,但在今天这个信息爆炸、竞争极度内卷的环境下,光有“面子”是远远不够的,得要有“里子”,更要有能打动人心、建立…

2026/8/9 3:16:11 阅读更多 →
驾驭AI工具:构建抗混乱工作系统,从任务爆炸到高效流动

驾驭AI工具:构建抗混乱工作系统,从任务爆炸到高效流动

1. 项目概述:当AI工具从“解药”变成“负担”最近和不少同行、团队管理者聊天,发现一个挺普遍的现象:大家兴致勃勃地引入了各种AI工具,从写代码的Copilot、画图的Midjourney,到处理文档的ChatGPT、管理项目的AI助手&am…

2026/8/9 3:16:11 阅读更多 →
为什么我对照片的排序总是与Windows系统的不一样呢?

为什么我对照片的排序总是与Windows系统的不一样呢?

我们在文件夹中有一批图片,在进行查看的时候,当排序方式是 日期 的时候,到底是按照怎么样的顺序排列的呢?在 c# 里面,我们尝试把它认为是图片的 创建时间 (new FileInfo("F:\\1.png").CreationTime), 也尝试…

2026/8/9 3:15:11 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →