Linux网络基础(一)

目录

计算机网络背景

网络发展

初识 "协议"

网络协议初识

协议分层

软件分层的好处

打电话例子

OSI七层模型

TCP/IP五层(或四层)模型

参考资料

再识协议

为什么要有 TCP/IP 协议?

什么是 TCP/IP 协议?

TCP/IP 协议与操作系统的关系(宏观上,怎么实现的)

所以究竟什么是协议?

 数据的产生:你下单买东西(源设备生成数据)

当你在电商平台下单时,相当于源设备(比如你的手机、电脑)产生了要传输的数据(比如订单信息、支付请求、聊天消息等)。此时数据还是 “原始状态”,就像你刚选好商品,还没交给快递员 —— 需要 “打包” 才能上路。

2. 数据的封装:商家打包装 + 填快递单(数据封装:加 “头部信息”)

3. 数据的 “快递员”:快递公司接手(数据进入网络传输层 / 网络层)

4. 数据的中转:快递分拣中心 “选路”(路由器 / 交换机转发数据)

5. 数据的最后一公里:快递员送货上门(目标设备接收数据)

6. 异常处理:丢件、错发怎么办?(数据传输的纠错机制)

总结:数据传输 =“带快递单的包裹流转”

网络传输基本流程

网络传输流程图

局域网(以太网为例)通信原理

认识 MAC 地址

数据包封装和分用

网络中的地址管理 - 认识 IP 地址

IP 网络的意义和网络通信的宏观流程

IP 网络的核心意义

网络通信的宏观流程


计算机网络背景

网络发展

独立模式: 计算机之间相互独立

网络互联: 多台计算机连接在一起, 完成数据共享

局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起

广域网WAN: 将远隔千里的计算机都连在一起

所谓 "局域网" 和 "广域网" 只是一个相对的概念. 比如, 我们有 "天朝特色" 的广域网, 也可以看做一个比较大的局域网.

初识 "协议"

  • "协议" 是一种约定.
  • 打电话约定电话铃响的次数的约定

计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式.

思考: 只要通信的两台主机, 约定好协议就可以了么?

定好协议,但是你用频率表示 01,我用强弱表示 01,就好比我用中国话,你用葡萄牙语一样,虽然大家可能遵守的一套通信规则,但是语言不同,即是订好了基本的协议,也是无法正常通信的

所以,完善的协议,需要更多更细致的规定,并让参与的人都要遵守。

为什么要有协议呢?

  • 计算机生产厂商有很多
  1. 计算机操作系统, 也有很多
  • 计算机网络硬件设备, 还是有很多
  • 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准, 大家都来遵守, 这就是网络协议

一般具有定制协议或者标准的资格的组织或者公司都必须是业界公认或者具有江湖地位的组织或者公司,下面是文心一言生成的标准制定组织,大家看一下就可以

  1. 国际标准化组织:
  • IEEE(电气和电子工程师协会):这是一个由计算机和工程领域专家组成的庞大技术组织,在通信协议领域贡献突出。IEEE 制定了全世界电子、电气和计算机科学领域 30%左右的标准,包括 IEEE 802 系列标准,这些标准涵盖了从局 域网(LAN)到广域网(WAN)等多种网络技术。
  • ISO(国际标准化组织):ISO 是由多个国家的标准化团体组成的国际组织,它在开放系统互连(OSI)模型方面的工作尤为著名。OSI 模型定义了网络通信的七层协议结构,尽管在实际应用中,TCP/IP 协议族更为普遍,但 OSI 模型仍然在学术和理论研究中占有重要地位。
  • ITU(国际电信联盟):ITU 是联合国下属的专门机构,负责制定电信领域的国际标准。ITU-T 制定的标准涵盖了电话和网络通信,与 ISO 合作确保了通信 技术的全球兼容性和互操作性。

        2. 区域标准化组织:

  • ETSI(欧洲电信标准学会):由欧洲共同体各国政府资助,是一个由电信行业的厂商与研究机构参加并从事研究开发到标准制定的组织。
  • ASTAP(亚洲与泛太平洋电信标准化协会):1998 年由日本与韩国发起成立的标准化组织,旨在加强亚洲与太平洋地区各国信息通信基础设施及其相互连接的标准化工作的协作。

        3. 公司:

  • 某些公司,如泰凌微,也自研各种标准的软件协议栈,包括低功耗蓝牙、 zigbee、thread 及 Matter 等,并可进行定制化改动,这是其核心竞争力之一。泰凌微还计划重点发展智能电子价签、智能遥控、智能家居等市场。

        4. 民间国际团体:

  • IETF(互联网工程师任务组):这是一个负责开发和推广互联网协议(特别 是构成 TCP/IP 协议族的协议)的志愿组织,通过 RFC 发布新的或者取代老的协议标准。

        5. 官方机构:

  • FCC(联邦通信委员会):美国对通信技术的管理的官方机构,主要职责是通过对无线电、电视和有线通信的管理来保护公众利益。也对包括标准化在内的 通信产品技术特性进行审查和监督。

以上这些组织或公司都能在一定程度上定制协议标准,以满足特定需求或推动技术发展。

网络协议初识

协议分层

  • 协议本质也是软件,在设计上为了更好的进行模块化,解耦合,也是被设计成为层状结构的

软件分层的好处

打电话例子

  • 在这个例子中, 我们的"协议"只有两层:语言层、通信设备层。
  • 但是实际的网络通信协议,设计的会更加复杂, 需要分更多的层
  • 但是通过上面的简单例子,我们是能理解,分层可以实现解耦合,让软件维护的成本更低

OSI七层模型

  • OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型, 是一个逻辑上的定义和规范;
  • 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
  • OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
  • 但是, 它既复杂又不实用; 所以我们按照TCP/IP四层模型来讲解.

  • 其实在网络角度,OSI 定的协议 7 层模型其实非常完善,但是在实际操作的过程中,会话层、表示层是不可能接入到操作系统中的,所以在工程实践中,最终落地的是 5 层协议。
  • 但是要理解上面的话,需要我们学习完网络才可以理解,这里就知道就可以。

OSI七层模型从底层到高层依次为:

1. 物理层:定义物理介质(如网线、光纤)上比特流的传输规则,例子:以太网物理接口、Wi-Fi无线电信号传输。

2. 数据链路层:将比特封装为帧,处理链路差错和MAC寻址,例子:以太网帧封装、交换机基于MAC地址转发数据。

3. 网络层:负责跨网络的路由和IP寻址,实现数据包从源到目的的路径选择,例子:IP协议、路由器转发数据包、ping命令依赖的ICMP协议。

4. 传输层:提供端到端的可靠/不可靠传输,定义端口号区分应用,例子:TCP(可靠传输,如网页加载)、UDP(实时传输,如视频通话)。

5. 会话层:管理会话的建立、维护和终止,例子:数据库连接的会话控制、远程登录(Telnet)的会话管理。

6. 表示层:处理数据格式转换、加密/解密、压缩,例子:JPEG图像编码、SSL/TLS加密、JSON/XML格式转换。

7. 应用层:直接面向用户应用,提供特定服务,例子:HTTP(网页传输)、FTP(文件传输)、SMTP(邮件发送)。

TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求.

  • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆 (现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  • 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测 到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层.

物理层我们考虑的比较少,我们只考虑软件相关的内容. 因此很多时候我们直接称为 TCP/IP 四层模型.

一般而言

  • 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
  • 对于一台路由器, 它实现了从网络层到物理层;
  • 对于一台交换机, 它实现了从数据链路层到物理层;
  • 对于集线器, 它只实现了物理层;

但是并不绝对. 很多交换机也实现了网络层的转发; 很多路由器也实现了部分传输层的内容(比如端口转发);

参考资料

TCP/IP四层模型和OSI七层模型的概念_网络7层模型之间的关系-CSDN博客

再识协议

上面的内容,我们只是懂了一些基本概念,还是达不到我们的目标,下面我们再次重新理解协议和协议分层。

为什么要有 TCP/IP 协议?

  • 首先,即便是单机,你的计算机内部,其实都是存在协议的,比如:其他设备和内存通信,会有内存协议。其他设备和磁盘通信,会有磁盘相关的协议,比如: SATA,IDE,SCSI 等。只不过我们感知不到罢了。而且这些协议都在本地主机各自的硬件中,通信的成本、问题比较少。
  • 其次,网络通信最大的特点就是主机之间变远了。任何通信特征的变化,一定会带来新的问题,有问题就得解决问题,所以需要新的协议咯。

  • 所以,为什么要有 TCP/IP 协议?本质就是通信主机距离变远了

什么是 TCP/IP 协议?

  • TCP/IP 协议的本质是一种解决方案
  • TCP/IP 协议能分层,前提是因为问题们本身能分层

TCP/IP 协议与操作系统的关系(宏观上,怎么实现的)

所以究竟什么是协议?

  • 截止到目前,我们还没接触过任何协议,但是如何朴素的理解协议,我们已经可以试试了。
  • OS 源代码一般都是用 C/C++语言写的。

下面,仔细看看下面的图

问题:主机 B 能识别 data,并且准确提取 a=10,b=20,c=30 吗?

回答:答案是肯定的!因为双方都有同样的结构体类型 struct protocol。也就是说, 用同样的代码实现协议,用同样的自定义数据类型,天然就具有”共识“,能够识别对方发来的数据,这不就是约定吗?

关于协议的朴素理解:所谓协议,就是通信双方都认识的结构化的数据类型

因为协议栈是分层的,所以,每层都有双方都有协议,同层之间,互相可以认识对方的协议。

  • 网络购物,快递单的例子

用网络购物的 “快递单” 来比喻数据在网络中的传输,能帮我们直观理解数据从源头到目标的完整流程,每个环节的作用就像快递流转中 “人、单、物” 的配合。以下是具体对应关系:

  1.  数据的产生:你下单买东西(源设备生成数据)

当你在电商平台下单时,相当于源设备(比如你的手机、电脑)产生了要传输的数据(比如订单信息、支付请求、聊天消息等)。此时数据还是 “原始状态”,就像你刚选好商品,还没交给快递员 —— 需要 “打包” 才能上路。

2. 数据的封装:商家打包装 + 填快递单(数据封装:加 “头部信息”)

商家收到订单后,会把商品装进包装盒,然后填写快递单。这个 “快递单” 就是数据传输中的 “数据头部”(Header),而商品本身就是数据的 “payload(有效载荷)”(真正要传递的核心内容)。

  • 快递单的作用:记录关键信息(寄件人、收件人、地址、电话、商品类型等),确保快递能被正确投递。
  • 数据的 “头部封装”:原始数据会被 “打包”,在数据前添加 “头部信息”(类似快递单),记录核心传输必要信息:
  • 源地址:对应快递单上的 “寄件人地址”—— 即源 IP 地址(你的设备在网络中的唯一标识,类似你家的 “门牌号”)。
  • 目标地址:对应快递单上的 “收件人地址”—— 即目标 IP 地址(比如电商服务器、支付平台服务器的地址,类似商家仓库、快递终点的地址)。
  • 附加信息:快递单上会写 “商品类型(易碎 / 普通)”“重量”“是否保价”,类似数据头部的端口号(区分目标设备上的具体应用,比如订单信息对应电商 APP 的端口,支付请求对应银行 APP 的端口)、数据长度(类似快递重量,告诉接收方 “这个包裹有多大”)、校验码(类似快递单上的 “商品数量”,用于核对数据是否完整,避免传输中丢失)。

3. 数据的 “快递员”:快递公司接手(数据进入网络传输层 / 网络层)

商家把填好快递单的包裹交给快递公司(比如顺丰、中通),相当于数据被传输层协议(比如 TCP/UDP)和网络层协议(比如 IP)处理,正式进入网络传输通道。

  • 快递公司 = 传输协议 / 网络协议:快递公司的规则(比如 “陆运 / 空运”“送货时效”)就像传输协议的功能 ——TCP 协议类似 “顺丰特快”,会确保数据 “不丢包、不重复、按顺序到达”(类似快递员会确认你收到包裹,丢件了会重发);UDP 协议类似 “普通快递”,只管快速送达,不保证 100% 完整(适合直播、语音通话等对实时性要求高的场景)。
  • 快递单 = 数据报头部:此时数据已经被 “封装” 成 “数据报”(网络层的单位),快递单上的核心信息(寄件人地址、收件人地址、包裹编号)就对应数据报头部的源 IP、目标 IP、数据报序号(如果数据太大,会像大件商品拆成多个包裹,每个包裹都有单独快递单,序号用于接收方拼接)。

4. 数据的中转:快递分拣中心 “选路”(路由器 / 交换机转发数据)

包裹不会直接从商家飞到你家,会经过多个快递公司的分拣中心(比如从上海仓库→杭州中转仓→北京分拣中心)。这对应数据在网络中经过路由器、交换机等设备的转发过程

  • 分拣中心 = 路由器 / 交换机:分拣中心的工作人员会扫描快递单上的 “收件人地址”,判断下一步该发往哪个城市的分拣中心(比如 “收件人在北京朝阳区”,就先发到北京总仓)。同理,路由器会读取数据报头部的目标 IP 地址,通过 “路由表”(类似快递公司的全国网点地图)决定数据该转发到哪个下一跳设备(比如隔壁城市的路由器)。
  • 路径选择 = 路由算法:如果某条路线拥堵(比如暴雨导致高速封路),分拣中心会换一条备用路线。路由器也会通过动态路由算法(比如 OSPF、RIP)避开拥堵的网络链路,选择最优路径。

5. 数据的最后一公里:快递员送货上门(目标设备接收数据)

当包裹到达你所在城市的分拣中心后,会交给负责你小区的快递员,最后送到你手上。这对应数据到达目标设备所在的本地网络,并被最终接收。

  • 小区快递点 = 交换机:包裹到了城市分拣中心后,会先送到你家附近的快递点(比如小区驿站),相当于数据通过 “局域网交换机” 进入目标设备所在的本地网络(比如你家的 WiFi、公司的局域网)。交换机通过 “MAC 地址”(类似快递点记录的 “单元号 + 门牌号”)找到具体的目标设备。
  • 快递员送货 = 数据到达目标设备:快递员根据快递单上的 “详细地址”(比如 XX 小区 3 号楼 2 单元 501)找到你,你签收包裹。对应目标设备(比如电商服务器、朋友的手机)读取数据报头部的目标端口号,将数据交给对应的应用程序(比如订单数据交给电商 APP,聊天消息交给微信),并通过 “确认签收”(类似 TCP 的 ACK 应答)告诉源设备:“数据收到了,完整无误”。

6. 异常处理:丢件、错发怎么办?(数据传输的纠错机制)

如果快递丢了,你会联系商家重发;如果送错地址,分拣中心会重新转运。这对应数据传输中的错误处理机制

  • 数据报在传输中丢失(类似包裹丢件):TCP 协议会通过 “超时重传” 让源设备重新发送数据(就像商家补发快递)。
  • 数据损坏(类似包裹被挤压导致商品破损):数据报头部的 “校验码” 会让接收方发现异常,直接丢弃损坏的数据并要求重发(类似你拒收破损包裹)。

总结:数据传输 =“带快递单的包裹流转”

数据就像你买的商品,数据头部(快递单)记录了传输的关键信息(源 / 目标地址、规则、序号),网络设备(快递公司、分拣中心、快递员)根据 “快递单” 选路转发,最终确保数据从源设备 “送货上门” 到目标设备,整个过程就像一场精准的 “网络快递”。

网络传输基本流程

网络传输流程图

同一个网段内的两台主机进行文件传输.

跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.

局域网(以太网为例)通信原理

  • 首先回答,两台主机在同一个局域网,是否能够直接通信?是的
  • 以太网作为局域网的主流技术,其通信原理围绕“高效共享传输介质”展开:物理层通过双绞线、光纤等介质传输电信号或光信号,数据链路层则将数据封装为帧(含源/目的MAC地址、 payload数据及校验字段)实现设备标识与数据完整性校验。早期采用CSMA/CD(载波监听多路访问/冲突检测)机制避免多设备同时发送导致的信号冲突;现代以太网通过全双工交换机实现“点对点”通信,交换机基于MAC地址表精准转发帧,分割冲突域,大幅提升通信效率,最终实现局域网内设备间可靠的数据交互。
  • 每台主机在局域网上,要有唯一的标识来保证主机的唯一性:mac 地址

认识 MAC 地址

  • MAC 地址用来识别数据链路层中相连的节点;
  • 长度为 48 位, 及 6 个字节. 一般用 16 进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac 地址通常是唯一的(虚拟机中的 mac 地址不是真实的 mac 地址, 可能会冲突; 也有些网卡支持用户配置 mac 地址).

后面我们详细谈论数据链路层的时候,会谈 mac 帧协议,此处我们做一个了解即可。

  • 以太网中,任何时刻,只允许一台机器向网络中发送数据
  • 如果有多台同时发送,会发生数据干扰,我们称之为数据碰撞
  • 所有发送数据的主机要进行碰撞检测和碰撞避免
  • 没有交换机的情况下,一个以太网就是一个碰撞域
  • 局域网通信的过程中,主机对收到的报文确认是否是发给自己的,是通过目标 mac 地址判定
  • 这里可以试着从系统角度来理解局域网通信原理

初步明白了局域网通信原理,再来看同一个网段内的两台主机进行发送消息的过程

其中每层都有协议,所以当我进行进行上述传输流程的时候,要进行封装和解包

下面我们明确一下概念

  • 报头部分,就是对应协议层的结构体字段,我们一般叫做报头
  • 除了报头,剩下的叫做有效载荷
  • 故,报文 = 报头 + 有效载荷

然后,我们在明确一下不同层的完整报文的叫法

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部 (header),称为封装(Encapsulation).
  • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是 什么等信息.
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理.

最后,在整体复盘一下:

在网络传输的过程中,数据不是直接发送给对方主机的,而是先要自定向下将数据交付给下层协议,最后由底层发送,然后由对方主机的底层来进行接受,在自底向上进行向上交付,上面是一张示意图。

数据包封装和分用

下图为数据封装的过程

下图为数据分用的过程

从现在开始,我们学习任何协议,都要先宏观上建立这样的认识:

1. 要学习的协议,是如何做到解包的?只有明确了解包,封包也就能理解

2. 要学习的协议,是如何做到将自己的有效载荷,交付给上层协议的?

网络中的地址管理 - 认识 IP 地址

IP 协议有两个版本, IPv4 和 IPv6. 我们打文章, 凡是提到 IP 协议, 没有特殊说明的, 默认都是指 IPv4

  • IP 地址是在 IP 协议中, 用来标识网络中不同主机的地址;
  • 对于 IPv4 来说, IP 地址是一个 4 字节, 32 位的整数;
  • 我们通常也使用 "点分十进制" 的字符串表示 IP 地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

跨网段的主机的数据传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器.

下面是一张示意图

首先理解一下 IP 地址的意义

  • 为什么要去目标主机,先要走路由器?

同一网段内设备可通过 MAC 地址直接通信,但 MAC 地址是局域网局部标识,无法跨网段生效。当目标 IP 与源主机不在同一网段时,源主机因网段边界限制无法直接定位目标设备,必须依赖路由器 —— 路由器作为连接不同网段的 “网关”,通过路由表记录网段间的可达路径,接收数据包后根据目标 IP 的网络部分查找路由,实现跨网段数据的转发,是不同网段通信的 “必经中转站”。

  • 目的 IP 的意义

目的 IP 是数据包的 “最终目的地坐标”,贯穿通信全程:源主机通过它判断目标是否在同一网段,决定直接通信还是交由网关;路由器接收数据包后,依据目的 IP 的网络部分在路由表中查找转发路径,确定下一跳方向;目标主机则通过校验目的 IP 是否与自身匹配,判断是否接收数据包。它是数据发送的 “目标指引”、路由转发的 “决策依据”,也是目标主机接收数据的 “身份凭证”。

然后结合封装与解包,体现路由器解包和重新封装的特点

对比 IP 地址和 Mac 地址的区别

  • IP 地址在整个路由过程中,一直不变(目前,我们只能这样说明,后面在修正)
  • Mac 地址一直在变
  • 目的 IP 是一种长远目标,Mac 是下一阶段目标,目的 IP 是路径选择的重要依据,mac 地址是局域网转发的重要依据

IP 网络的意义和网络通信的宏观流程

IP 网络的核心意义

IP 网络是现代数字通信的基础骨架,其核心意义体现在三个维度:

 
  1. 打破异构壁垒,实现全球互联:通过统一的 IP 协议(Internet Protocol),将不同类型的物理网络(如以太网、光纤、无线局域网等)、设备(服务器、终端、物联网设备等)无缝连接,构建起覆盖全球的通信基础设施,让任意联网设备能跨地域、跨网络类型通信。
  2. 提供标准化通信规则:IP 协议定义了数据的格式、寻址方式(IP 地址)和路由逻辑,为不同厂商、不同技术的设备和网络提供了 “通用语言”,保障了跨设备、跨网络的互通性,是互联网从局部网络升级为全球基础设施的核心支撑。
  3. 支撑数字生态,赋能时代发展:作为底层基础设施,IP 网络承载了所有数字应用(如互联网服务、云计算、物联网、5G 等),为信息传递、数据交互、业务创新提供了底层通道,是信息时代经济、社会、科技发展的 “血管系统”。
  4. 具备弹性扩展能力:通过 IP 地址分层(如 IPv6 解决地址枯竭)、路由动态调整等机制,IP 网络可随用户规模、设备数量和业务需求的增长灵活扩展,适应从局域网到全球互联网的规模变化。

网络通信的宏观流程

网络通信本质是 “数据从源端到目标端的封装 - 传输 - 解封装” 过程,宏观流程可概括为四步:

 
  1. 源端数据封装
    应用层产生的数据(如网页请求、文件内容)需经过多层协议封装:

    • 传输层(TCP/UDP)添加源 / 目的端口号(标识应用进程),并对数据分段或校验(如 TCP 可靠传输);
    • 网络层(IP)添加源 IP 地址(发送端地址)和目的 IP 地址(接收端地址),形成 IP 数据包,明确数据的 “起点” 和 “终点”。
  2. 本地链路传输
    封装后的 IP 数据包经数据链路层(如以太网协议)和物理层处理,转换为电信号 / 光信号,通过本地链路(如网线、无线信号)发送到本地网络的网关(如路由器)。

  3. 跨网路由转发
    数据包进入路由网络后,每台路由器通过路由表(记录网络拓扑信息)判断 “下一跳” 路径,将数据包逐跳转发,跨越不同子网、运营商网络或地域网络,直至接近目标网络。

  4. 目标端解封装与交付
    数据包到达目标主机所在网络后,经最后一跳转发至目标主机;目标主机逐层解封装(先剥离 IP 头,再剥离传输层头),最终将原始应用数据交付给对应应用程序(如浏览器、客户端),完成通信闭环。

 

简言之,IP 网络通过 “统一协议 + 路由机制” 实现了全球设备的互联互通,而通信流程则是 “封装 - 传输 - 路由 - 解封装” 的标准化过程,支撑了从日常聊天到全球数据交互的所有数字行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918914.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL多表查询案例

多表查询本文介绍了多表查询中的表关系概念和操作方法。主要内容包括:1.三种表关系类型(一对多、多对多、一对一)及其实现方式;2.多表查询的四种连接方式(内连接、左外连接、右外连接、自连接)及语法&#…

Dify 从入门到精通(第 36/100 篇):Dify 的插件生态扩展

Dify 从入门到精通(第 36/100 篇):Dify 的插件生态扩展 Dify 入门到精通系列文章目录 第一篇《Dify 究竟是什么?真能开启低代码 AI 应用开发的未来?》介绍了 Dify 的定位与优势第二篇《Dify 的核心组件:从…

【已解决】在Spring Boot工程中,若未识别到resources/db文件夹下的SQL文件

在Spring Boot工程中,若未识别到resources/db文件夹下的SQL文件,通常与资源路径配置、构建工具设置或代码加载方式有关。以下是逐步排查和解决方案:​​1. 确认SQL文件存放路径​​Spring Boot默认从类路径(classpath:&#xff09…

【Java】网络编程(4)

1. 再谈 UDP 报文长度:也是 2 个字节, 0 - 65535,也就是 64 kb。这表示一个 UDP 数据包一次最多只能传输 64 kb 的数据校验和:验证数据是否在传输过程中发生修改。数据在传输过程中可能受到信号干扰,发生 “比特翻转”…

QT(事件)

一、事件前言事件是QT的三大机制之一,一定程度上信号和槽也属于事件的一种 QT中的事件指哪些:窗口关闭,窗口显示,敲击键盘,点击鼠标左键、鼠标右键、鼠标滚轮,文件拖放等等1、事件循环QT中的所有事件&#…

基于 Vue2+Quill 的富文本编辑器全方案:功能实现与样式优化

在 Web 开发中,富文本编辑器是内容管理系统、博客平台等应用的核心组件。本文将详细介绍如何基于 Vue 和 Quill 构建一个功能完善、样式精美的富文本编辑器,重点解决字体字号选项冗长、样式不美观及功能完整性问题,提供可直接部署使用的完整方…

C#内嵌字符串格式化输出

内嵌字符串格式输出 double speedOfLight 299792.458;System.Globalization.CultureInfo.CurrentCulture System.Globalization.CultureInfo.GetCultureInfo("nl-NL"); string messageInCurrentCulture $"The speed of light is {speedOfLight:N3} km/s.&quo…

ThreeJS程序化生成城市大场景底座(性能测试)

一、简介基于矢量geojson数据构建建筑、植被、道路等,实现城市场景底座。涉及渲染的性能优化无非就是众所周知的那些事儿。视锥剔除、mesh合并、减少draw call、四叉树、八叉树、数据压缩、WebWorker、着色器优化等。下面是对东莞市数十万建筑以及海量3D树的渲染测试…

​电风扇离线语音芯片方案设计与应用场景:基于 8 脚 MCU 与 WTK6900P 的创新融合

​电风扇离线语音芯片方案设计与应用场景:基于 8 脚 MCU 与 WTK6900P 的创新融合一、引言在智能家居领域蓬勃发展的当下,用户对于家电产品的智能化和便捷性需求日益增长。传统的电风扇控制方式,如按键操作或遥控器控制,在某些场景…

(第四篇)spring cloud之Consul注册中心

目录 一、介绍 二、安装 三、整合代码使用 1、创建服务提供者8006 2、创建服务消费者80 3、Eureka、zookeeper和consul的异同点 一、介绍 Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。它提供了微服务系统中的服务治理…

NAT 和 PNAT

核心概念与背景 IPv4 地址枯竭: IPv4 地址空间有限(约 42.9 亿个),早已分配殆尽。NAT/PNAT 是缓解此问题的最重要、最广泛部署的技术。私有 IP 地址空间: IANA 保留了三个 IPv4 地址段专供私有网络内部使用&#xff08…

windows系统创建FTP服务

一丶开启FTP功能 控制面板->程序与功能->启用或关闭windows功能->Internet Information Services->勾选FTP服务器二丶创建FTP服务 1丶控制面板->windows工具->Internet Information Services (IIS) 管理器2丶网站->添加FTP站点->输入对应内容3丶点击新…

DeepSeek补全IBM MQ 9.4 REST API 执行命令的PPT

DeepSeek补全了我在网上找到的PPT的一页内容,帮了大忙了。人机协同,人工智能可以协助人更好的做事。下面的内容是讲解IBM MQ REST API 执行IBM MQ命令的PPT: MQSC for REST Tailored RESTful support for individual MQ objects and actions are in the …

【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案

SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案一、GeometryReader的性能陷阱深度解析1. 布局计算机制2. 动画中的灾难性表现二、GeometryReader滥用检测系统1. 静态代码分析器2. 运行时性能监控三、Canvas绘制优化方案1. 基础Canvas实现2. 性能优…

悄悄话、合唱层次感:声网空间音频解锁语聊新玩法

作为语聊房主播,我曾觉得线上相聚差点意思。多人开麦时声音混杂,互动缺真实感,观众留不住,自己播着也没劲。直到平台接入声网空间音频,一切改观,观众说像在真实房间聊天,留存率涨 35%&#xff0…

【工具】多图裁剪批量处理工具

文章目录工具核心功能亮点1. 批量上传与智能管理2. 精准直观的裁剪控制3. 一键应用与批量处理为什么这个工具能提升你的工作效率?统一性与一致性保证节省90%以上的时间专业级功能,零学习成本实际应用场景电子商务摄影工作内容创作教育领域技术优势完全在…

如何提升需求分析能力

要系统性地提升需求分析能力,核心在于实现从一个被动的“需求记录员”,向一个主动的、价值驱动的“业务问题解决者”的深刻转型。要完成这一蜕变,必须在五个关键领域进行系统性的修炼与实践:培养“穿透表象”的系统思维能力、掌握…

另类的pdb恢复方式

cdb中有pdb1,pdb2 需求:希望将在线热备份pdb1的备份集a,恢复成pdb3,使得cdb中有pdb1,2,3 参考到的:RMAN备份恢复典型案例——跨平台迁移pdb - 墨天轮 ORA-65122: Pluggable Database GUID Conflicts With The GUID Of An Existi…

HarmonyOS 实战:用 @Observed + @ObjectLink 玩转多组件实时数据更新

摘要 在鸿蒙(HarmonyOS)应用开发中,实时数据更新是一个绕不开的话题,尤其是在你封装了很多自定义组件、需要多个组件之间共享和同步数据的场景里。过去我们可能会依赖父子组件直接传参或全局状态管理,但这样写会让代码…

云原生俱乐部-杂谈2

说实话,杂谈系列可能会比较少,因为毕竟大部分时间都是上的线上,迄今为止也是,和雷老师与WH的交流不是很多。这个系列仅仅是我在做其他笔记部分无聊的时候来写的,内容也没有规划过,随想随写。倒不是时间太多…