计算机网络:数据报与虚电路

简介: 计算机网络:数据报与虚电路

计算机网络:数据报与虚电路

分组交换根据其通信子网向端点系统提供的服务,还可进一步分为面向连接的虚电路方式和无连接的数据报方式。

这两种服务方式都由网络层提供

要注意数据报方式和虚电路方式是分组交换的两种方式

1.数据报

作为通信子网用户的端系统发送一个报文时,在端系统中实现的高层协议先把报文拆成若干带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层的 PDU)。中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。

数据报服务特点

  1. 发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接收分组。
  2. 网络尽最大努力交付,传输不保证可靠性,所以可能丢失;为每个分组独立地选择路由,转发的路径可能不同,因而分组不一定按序到达目的结点。
  3. 发送的分组中要包括发送端和接收端的完整地址,以便可以独立传输。
  4. 分组在交换结点存储转发时,需要排队等候处理,这会带来一定的时延。通过交换结点的通信量较大或网络发生拥塞时,这种时延会大大增加,交换结点还可根据情况丢弃部分分组。
  5. 网络具有冗余路径,当某个交换结点或一条链路出现故障时,可相应地更新转发表,寻找另一条路径转发分组,对故障的适应能力强
  6. 存储转发的延时一般较小,提高了网络的吞吐量。
  7. 收发双方不独占某条链路,资源利用率较高

2.虚电路

虚电路方式试图将数据报方式与电路交换方式结合起来。

在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,并且连接一旦建立,就固定了虚电路所对应的物理路径。通信过程分为三个阶段:虚电路建立(发送呼叫请求、呼叫应答分组)、数据传输与虚电路释放(发送释放请求、呼叫释放分组)。

端系统每次建立虚电路时,选择一个未用过的虚电路号分配给该虚电路,以区别于本系统中的其他虚电路。

在传送数据时,每个数据分组不仅要有分组号、校验和等控制信息,还要有它要通过的虚电路号,以区别于其他虚电路上的分组。

在虚电路网络中的每个结点上都维持一张虚电路表,表中的每项记录了一个打开的虚电路的信息,包括在接收链路和发送链路上的虚电路号、前一结点和下一结点的标识。数据的传输是双向进行的,上述信息是在虚电路的建立过程中确定的。

虚电路服务特点

  1. 虚电路通信链路的建立和拆除需要时间开销。
  2. 连接建立后,就确定了传输路径。
  3. 虚电路提供了可靠的通信功能,能保证每个分组正确且有序到达。此外,还可以对两个数据端点的流量进行控制,当接收方来不及接收数据时,可以通知发送方暂缓发送。
  4. 虚电路有一个致命的弱点,即当网络中的某个结点或某条链路出现故障而彻底失效时,所有经过该结点或该链路的虚电路将遭到破坏。
  5. 分组首部不包含目的地址,包含的是虚电路标识符,相对于数据报方式,其开销小。

每个结点到其他结点之间的链路可能同时有若干虚电路通过,也可能同时与多个结点之间建立虚电路。每条虚电路支持特定的两个端系统之间的数据传输,两个端系统之间也可以有多条虚电路为不同的进程服务,这些虚电路的实际路由可能相同也可能不同。

注意,数据传输过程是有确认的传输(由高层实现),主机收到分组后要发回相应分组的确认。 网络中的传输是否有确认与网络层提供的两种服务没有任何关系。

参考资料:

谢希仁.计算机网络(第8版)[M].北京:电子工业出版社,2021.

James F.Kurose,Keith W.Ross.计算机网络:自顶向下方法[M].北京:机械工业出版社,2019.

2023年王道计算机复习指导[M].北京:电子工业出版社,2021.

目录
相关文章
|
9月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
635 0
|
10月前
|
机器学习/深度学习 数据采集 传感器
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
【故障诊断】基于matlab BP神经网络电机数据特征提取与故障诊断研究(Matlab代码实现)
300 0
|
11月前
|
数据采集 存储 算法
MyEMS 开源能源管理系统:基于 4G 无线传感网络的能源数据闭环管理方案
MyEMS 是开源能源管理领域的标杆解决方案,采用 Python、Django 与 React 技术栈,具备模块化架构与跨平台兼容性。系统涵盖能源数据治理、设备管理、工单流转与智能控制四大核心功能,结合高精度 4G 无线计量仪表,实现高效数据采集与边缘计算。方案部署灵活、安全性高,助力企业实现能源数字化与碳减排目标。
392 0
|
12月前
|
Python
LBA-ECO CD-32 通量塔网络数据汇编,巴西亚马逊:1999-2006,V2
该数据集汇集了1999年至2006年间巴西亚马逊地区九座观测塔的碳和能量通量、气象、辐射等多类数据,涵盖小时至月度时间步长。作为第二版汇编,数据经过协调与质量控制,扩展了第一版内容,并新增生态系统呼吸等相关计算数据,支持综合研究与模型合成。数据以36个制表符分隔文本文件形式提供,配套PDF说明文件,适用于生态与气候研究。引用来源为Restrepo-Coupe等人(2021)。
491 1
|
8月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
323 0
|
9月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
11月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
279 4
|
12月前
|
开发者
鸿蒙仓颉语言开发教程:网络请求和数据解析
本文介绍了在仓颉开发语言中实现网络请求的方法,以购物应用的分类列表为例,详细讲解了从权限配置、发起请求到数据解析的全过程。通过示例代码,帮助开发者快速掌握如何在网络请求中处理数据并展示到页面上,减少开发中的摸索成本。
鸿蒙仓颉语言开发教程:网络请求和数据解析
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
388 22
|
存储 数据库 Python
利用Python获取网络数据的技巧
抓起你的Python魔杖,我们一起进入了网络之海,捕捉那些悠游在网络中的数据鱼,想一想不同的网络资源,是不是都像数不尽的海洋生物,我们要做的,就是像一个优秀的渔民一样,找到他们,把它们捕获,然后用他们制作出种种美味。 **1. 打开魔法之门:请求包** 要抓鱼,首先需要一个鱼网。在Python的世界里,我们就是通过所谓的“请求包”来发送“抓鱼”的请求。requests是Python中常用的发送HTTP请求的库,用它可以方便地与网络上的资源进行交互。所谓的GET,POST,DELETE,还有PUT,这些听起来像偶像歌曲一样的单词,其实就是我们鱼网的不同方式。 简单用法如下: ``` im
236 14

热门文章

最新文章