【计网】网络交换技术之报文交换(复习自用,了解,重要3)

news2025/4/15 18:00:57

复习自用的,处理得比较草率,复习的同学或者想看基础的同学可以看看,大佬的话可以不用浪费时间在我的水文上了

另外两种交换技术可以直接点击链接访问相关笔记:

电路交换

分组交换

一、报文交换的定义

报文交换(Message Switching) 是一种网络通信方式,在这种方式下,整个消息在传输过程中会被视为一个整体,而不是分割成小的分组。报文交换技术最早应用于电报、传真等通信系统。在报文交换中,整个报文作为一个单元被传输,在每一个交换节点(如路由器)进行存储,然后转发给下一个节点,直到到达目标主机。


二、报文交换的工作原理

1. 整体传输
  • 与分组交换不同,报文交换将发送的整个报文作为一个单独的数据单元。这意味着,报文在发送之前不会被拆分成更小的单元,而是保持为一个完整的消息。报文的大小可以非常大,因此报文交换的网络通常会面临较高的传输延迟和带宽占用。

2. 存储转发机制
  • 报文交换的工作流程基于存储转发机制。每当一个交换节点接收到一个报文时,它会将整个报文存储在缓冲区中,直到它的下一跳(即下一个交换节点)准备好接收报文。这就意味着在每个交换节点上,报文会被暂存(存储)并检查,然后根据目标地址决定是否转发到下一个节点。

  • 报文在每一个交换节点的存储时间取决于当前网络的负载和节点的处理能力,通常会造成较长的延迟。

3. 路径选择
  • 路由器在报文交换中不需要事先建立连接。每当一个报文到达交换节点时,路由器会查看目标地址,并选择一条路径将其转发到下一节点。这种路径选择通常是基于静态路由表,但它也可以动态调整,尤其是在复杂的网络中。

4. 顺序处理
  • 报文交换的特点之一是先到先发,即先到达交换节点的报文会先被处理和转发。交换节点不立即转发所有报文,而是将它们存储在缓冲区,按顺序逐个转发。


三、报文交换的工作过程

我们可以通过一个例子来更具体地理解报文交换的工作过程。假设有一个从主机A发送到主机B的通信过程,传输的单元是报文

步骤1:用户A发起通信

用户A将一条完整的消息(即报文)准备好并发送给它连接的第一个交换节点。报文大小可能非常大,比如1MB。此时,整个报文作为一个整体被发送,而不会被分割成多个小块。

步骤2:交换节点1存储并转发

交换节点1接收到报文后,将其存储在自己的缓冲区中。然后,交换节点1查看报文中的目标地址信息,决定将该报文转发到下一个交换节点(交换节点2)。这时,报文仍然保持完整,不会拆分成小的数据包。

步骤3:交换节点2继续存储转发

当交换节点2接收到报文时,它再次存储检查该报文,确认没有错误后,再决定是否将其转发给最终目的地(目标主机B)。如果目标主机B就在交换节点2上,报文直接送达目标;如果目标主机B不在此节点,报文继续通过其他交换节点转发,直到最终到达目标。

步骤4:目标主机接收

最终,报文到达目标主机B时,主机B接收到完整的报文,可以立即开始处理该信息。整个过程中,报文没有被拆分或重组,而是作为一个单独的单位经过每一个节点转发。


四、报文交换的特点

  1. 简单但效率低
    报文交换的设计较为简单,每个报文在交换节点间传输时都保持完整。然而,由于没有将报文分成更小的分组,报文交换的传输效率不高。特别是在面对大量并发通信时,报文交换容易造成网络拥塞,因为每个节点必须等待整个报文传输完毕才能处理下一个报文。

  2. 存储时间较长
    由于交换节点必须存储整个报文并等待下一跳节点准备好接收,因此报文交换的延迟较大。在网络负载高时,报文在每个节点的存储时间会进一步增加,导致整体传输时延增加。

  3. 路径选择灵活
    每个交换节点可以根据目标地址选择最佳路径来转发报文,而不需要事先建立一个固定的连接路径。这使得报文交换具有一定的灵活性。

  4. 不适合实时通信
    报文交换不适合像语音通话、视频会议等对时延要求严格的实时通信应用,因为报文的存储转发机制可能引入较长的延迟。

  5. 容错性差
    如果在报文传输过程中出现任何故障或丢失,整个报文都会丢失,而不是丢失其中的一部分数据。缺乏分割和独立传输的机制,导致网络出现问题时恢复较慢。


五、报文交换的作用与好处

  1. 适合低流量通信
    报文交换适用于通信流量较低或不需要实时交互的场景。比如,一些传统的电报和传真系统使用报文交换技术,能够在保证数据传输完整性的同时,传输较为静态的数据(如文件)。

  2. 无须建立连接
    报文交换不需要事先建立一条专用的通信线路,较为灵活。每个报文可以根据网络状况选择不同的路径转发。

  3. 可靠性相对较高
    由于报文交换中的每个报文都是完整传输,交换节点会进行完整的错误检测,确保报文传输过程中没有数据丢失或损坏。


六、报文交换的应用

报文交换在现代网络中已经逐渐被分组交换所取代,但在一些传统的或特定的场合,仍然有其应用:

  1. 电报通信系统
    在20世纪,电报通信使用的就是报文交换技术。它允许人们通过长距离网络传输书面消息。

  2. 传真
    早期的传真技术也采用了报文交换,传输完整的图像文件作为报文。

  3. 传统的邮件系统
    在早期,传统邮件系统也使用报文交换的方式来传输整封邮件或包裹。每个邮件的内容会被作为一个完整的消息进行传输,直至最终到达目的地。

  4. 一些特定的文件传输应用
    在一些小规模或低延迟要求的网络环境中,报文交换技术仍然可用于一些简单的文件传输任务。


七、报文交换的局限性与缺点

  1. 低效率
    当网络负载增加时,报文交换的低效率会变得更加明显。因为每个报文都需要占用整个路径的带宽,而其他流量无法共享同一带宽资源。

  2. 延迟高
    在每个交换节点都需要存储报文并等待下一个节点处理,因此整体的通信延迟较高,不适合实时性要求强的应用(如视频、语音等)。

  3. 不适用于大规模网络
    对于大规模的网络,特别是互联网,报文交换难以应对海量的流量和高频的并发请求。相比之下,分组交换能更好地支持大规模、高频率的数据传输。


八、电路交换、分组交换、报文交换的对比

特性电路交换分组交换报文交换
定义在通信开始前,源和目的地之间建立一条专用的物理路径(电路),并在通信期间保持不变。数据被拆分成多个小分组,通过网络传输,每个分组独立传输,路径动态选择。整个消息作为一个单元传输,在每个节点存储并转发,路径选择动态。
路径预先建立并保持,通信期间不可更改。每个分组独立选择路径,路径动态。每个报文独立选择路径,路径动态。
连接方式需要建立一个专用连接。不需要事先建立连接。不需要事先建立连接。
数据单位比特流或连续数据。分组(Packet),每个分组携带控制信息和数据部分。整个报文,传输过程中报文作为一个完整的单元传输。
资源利用率低,通信期间专用路径不能共享。高,网络资源按需分配,网络带宽可动态使用。较低,整个报文占用带宽,其他流量不能共享。
延迟低,一旦建立连接,数据传输延迟很小。延迟较高,分组需要通过多个节点,且可能出现排队。延迟较高,报文在每个节点都需要存储并转发。
适用场景实时通信(如电话)。适用于大规模的通信,特别是互联网、电子邮件、网页浏览等。适用于低流量通信、早期的电报和传真系统。
可靠性高,通信过程中路径固定,不易出现丢包。高,采用重传机制确保数据可靠到达。可靠性较低,因每个节点都需要存储转发,丢包后可能无法恢复。
拥塞情况容易拥塞,若通信期间链路出现问题,其他用户无法使用该路径。可以动态选择路径,避免单一路径的拥塞。容易拥塞,尤其是在传输大报文时,节点缓冲区容易满。
带宽利用低,路径的带宽被独占,即使没有数据传输。高,网络带宽按需分配,不会因闲置时空闲带宽浪费。较低,传输时整个报文占用带宽,无法进行带宽共享。
应用示例传统电话、专用线路通信。互联网(网页浏览、视频流、文件传输等)、电子邮件。传统电报、传真、早期的邮件传输等。
  1. 路径和连接

    • 电路交换要求在通信开始前为通信双方预设一条固定的路径,并在通信过程中保持不变,这意味着网络中的这条路径在通信期间专属于通信双方,其他流量无法使用这条路径。

    • 分组交换报文交换的路径是动态选择的,不需要在通信开始时预先建立连接,每个数据单位(分组或报文)都可以根据网络的实时状况选择路径进行传输。

  2. 数据单位

    • 电路交换通常是连续的比特流,不会进行拆分,而分组交换将数据拆分为小的分组,每个分组有自己的头部和数据部分。报文交换则将整个报文作为一个单元进行传输,不会进行拆分。

  3. 延迟

    • 电路交换一旦建立连接,延迟较低,因为通信过程中路径已经固定,不需要经过中间处理。

    • 分组交换报文交换由于涉及多个中转节点,每个节点需要存储并转发数据,因此延迟较高。

  4. 带宽利用和资源利用

    • 电路交换的资源利用率较低,因为在通信过程中这条固定路径的带宽是专用的,即使没有数据传输,带宽也被占用。

    • 分组交换报文交换的资源利用效率较高,因为它们采用按需分配的机制,可以动态选择路径和带宽。

  5. 适用场景和应用

    • 电路交换最适合需要低延迟和高可靠性的实时通信场景,如传统的电话通信。

    • 分组交换适用于大规模网络通信,特别是互联网通信,它支持大量并发的、非实时的数据流。

    • 报文交换由于存在较大的传输延迟和低效率,主要用于早期的电报、传真等系统。

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

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

相关文章

【动态规划】深入动态规划:背包问题

文章目录 前言01背包例题一、01背包二、分割等和子集三、目标和四、最后一块石头的重量|| 完全背包例题一、完全背包二、 零钱兑换三、零钱兑换||四、完全平方数 前言 什么是背包问题,怎么解决算法中的背包问题呢? 背包问题 (Knapsack problem) 是⼀种组…

BUUCTF-web刷题篇(25)

34.the mystery of ip 给出链接,输入得到首页: 有三个按钮,flag点击后发现页面窃取客户端的IP地址,通过给出的github代码中的php文件发现可以通过XFF或Client-IP传入值。使用hackbar或BP 使用XSS,通过github给出的目录…

StringBuilder类基本使用

文章目录 1. 基本介绍2. StringBuilder常用方法3. String、StringBuffer 和 StringBuilder 的比较4. String、StringBuffer 和 StringBuilder 的效率测试5. String、StringBuffer 和 StringBuilder 的选择 1. 基本介绍 一个可变的字符序列。此类提供一个与StringBuffer兼容的A…

设计模式 --- 访问者模式

访问者模式是一种行为设计模式,它允许在不改变对象结构的前提下,定义作用于这些对象元素的新操作。 优点: 1.​​符合开闭原则:新增操作只需添加新的访问者类,无需修改现有对象结构。 ​​2.操作逻辑集中管理​​&am…

HashTable,HashMap,ConcurrentHashMap之间的区别

文章目录 线程安全方面性能方面总结 线程安全方面 HashMap线程不安全,HashMap的方法没有进行同步,多个线程同时访问HashMap,并至少有一个线程修改了其内容,则必须手动同步。 HashTable是线程安全的,在HashMap的基础上…

LeetCode.225. 用队列实现栈

用队列实现栈 题目解题思路1. push2. pop3. empty CodeQueue.hQueue.cStack.c 题目 225. 用队列实现栈 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现…

LVGL AnalogClock控件和Dclock控件详解

LVGL AnalogClock控件和Dclock控件详解 一、AnalogClock控件详解1. 概述2. 创建模拟时钟2.1 函数2.2 参数2.3 返回值 3. 设置时间3.1 函数3.2 参数 4. 获取时间4.1 函数4.2 参数 5. 设置样式5.1 常用样式属性5.2 示例代码 6. 更新时间6.1 定时器回调示例6.2 创建定时器 7. 示例…

【C++初学】课后作业汇总复习(七) 指针-深浅copy

1、 HugeInt类:构造、、cout Description: 32位整数的计算机可以表示整数的范围近似为-20亿到+20亿。在这个范围内操作一般不会出现问题,但是有的应用程序可能需要使用超出上述范围的整数。C可以满足这个需求,创建功能强大的新的…

探索加密期权波动率交易的系统化实践——动态对冲工具使用

Trading Volatility – What Are My Options? 在本文中,我们将介绍一些如何交易资产波动性(而非资产价格)的示例。为了帮助理解,我们将使用 Deribit 上提供的几种不同产品,包括但不限于期权。我们将尽可能消除对标的价…

方案精读:51页 财政数据信息资源目录数据标准存储及大数据资产化规划方案【附全文阅读】

该方案聚焦财政数据信息资源管理,适用于财政部门工作人员、数据管理与分析人员以及关注财政大数据应用的相关人士。 方案旨在构建财政数据资源目录,推动大数据在财政领域的应用与落地。整体规划上,以 “金财工程” 应用支撑平台为基础,建立省、市、县三级目录体系,遵循相关…

开源实时语音交互大模型Ultravox-cn

一款为实时语音交互设计的快速多模态LLM 概述 Ultravox是一种新型的多模态LLM,能够理解文本和人类语音,无需单独的自动语音识别(ASR)阶段。基于AudioLM、SeamlessM4T、Gazelle、SpeechGPT等研究,Ultravox能够将任何…

基于web的民宿信息系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 随着信息时代的来临,民宿过去的民宿信息方式的缺点逐渐暴露,对过去的民宿信息的缺点进行分析,采取计算机方式构建民宿信息系统。本文通过阅读相关文献,研究国内外相关技术,提出了一种民宿信息管理、民宿信息管理…

04-微服务 面试题-mk

文章目录 1.Spring Cloud 常见的组件有哪些?2.服务注册和发现是什么意思?(Spring Cloud 如何实现服务注册发现)3.Nacos配置中心热加载实现原理及关键技术4.OpenFeign在微服务中的远程服务调用工作流程5.你们项目负载均衡如何实现的 ?6.什么是服务雪崩,怎么解决这个问题?…

【Linux篇】深入理解文件系统:从基础概念到 ext2 文件系统的应用与解析

文件系统的魔法:让计算机理解并存储你的数据 一. 文件系统1.1 块1.2 分区1.3 inode(索引节点) 二. ext2文件系统2.1 认识文件系统2.2 Block Group (块组)2.2.1 Block Group 的基本概念2.2.2 Block Group 的作用 2.3 块组内部结构2.3.1 超级块(Super Bloc…

C++STL——容器-list(含模拟实现,即底层原理)(含迭代器失效问题)(所有你不理解的问题,这里都有解答,最详细)

目录 1.迭代器的分类 2.list的使用 2.1 list的构造 2.2 list iterator 2.3 list capacity 2.4 list element access ​编辑 2.5 list modifiers ​编辑2.5.1 list插入和删除 2.5.2 insert /erase 2.5.3 resize/swap/clear ​编辑 2.6 list的一些其他接口…

计算机组成原理笔记(十五)——3.5指令系统的发展

不同类型的计算机有各具特色的指令系统,由于计算机的性能、机器结构和使用环境不同,指令系统的差异也是很大的。 3.5.1 x86架构的扩展指令集 x86架构的扩展指令集是为了增强处理器在多媒体、三维图形、并行计算等领域的性能而设计的。这些扩展指令集通…

基于时间序列分解与XGBoost的交通通行时间预测方法解析

一、问题背景与数据概览 在城市交通管理系统中,准确预测道路通行时间对于智能交通调度和路径规划具有重要意义。本文基于真实道路传感器数据,构建了一个结合时间序列分解与机器学习模型的预测框架。数据源包含三个核心部分: 道路通行数据(new_gy_contest_traveltime_train…

基于XGBoost的异烟酸生产收率预测:冠军解决方案解析

1. 引言 在化工生产领域,准确预测产品收率对优化工艺流程、降低生产成本具有重要意义。本文以异烟酸生产为研究对象,通过机器学习方法构建预测模型,在包含10个生产步骤、42个工艺参数的数据集上实现高精度收率预测。该方案在工业竞赛中斩获冠军,本文将深度解析其技术实现细…

计算机视觉算法实现——电梯禁止电瓶车进入检测:原理、实现与行业应用(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 1. 电梯安全检测领域概述 近年来,随着电动自行车(以下简称"电瓶车"&…

MOM成功实施分享(八)汽车活塞生产制造MOM建设方案(第二部分)

在制造业数字化转型的浪潮中,方案对活塞积极探索,通过实施一系列数字化举措,在生产管理、供应链协同、质量控制等多个方面取得显著成效,为行业提供了优秀范例。 1.转型背景与目标:活塞在数字化转型前面临诸多挑战&…