欢迎光临
我们一直在努力

网络初始:从 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”,并将其构造成一个应用层数据包,其中包含“谁发的、发给谁、发了什么”。
  • 然后将该数据封装为传输层数据包。
  • image-20251022112840560

  • 网络层:继续封装,添加网络层报头。
  • image-20251022113049291

  • 数据链路层:再次封装,添加帧头与帧尾。
  • image-20251022113500879

  • 物理层:通过网卡将上述数据转换为电信号/光信号并传输出去。
  • 接收方(分用过程):

  • 物理层:接收到信号,将其转换为数据链路层的数据包。
  • 数据链路层:读取帧头与帧尾,解析出载荷部分,并交给网络层。
  • 网络层:解析 IP 报头,交给传输层。
  • 传输层:解析传输层报头,交给应用层。
  • image-20251022114025676

  • 应用层:最终由应用程序解析并处理数据。
  • image-20251022114038891

    术语

    在不同网络分层中,数据单元有着不同的称谓:

    • 包(packet):网络层的数据单元。
    • 段(segment):传输层 TCP 的数据单元。
    • 报(datagram):传输层 UDP 的数据单元。
    • 帧(frame):数据链路层的数据单元。

    小结

    本文梳理了网络基础的核心脉络:网络从单机走向互联网,每台主机通过 IP 地址 + 端口号 被唯一标识;通信依赖协议这一“约定”,而协议采用分层设计(OSI 七层为理论模型,工程上常用 TCP/IP 五层);数据发送时逐层封装报头,接收时逐层分用解析,并由此引出包、段、报、帧等分层术语。理解这套体系,是掌握 Java 网络编程的前提。

    赞(0)
    未经允许不得转载:171主机测评 » 网络初始:从 IP 端口到 TCP/IP 五层模型与数据封装分用
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址