传输方式的分类【图解TCP/IP(笔记五)】

news2024/9/20 10:47:44

文章目录

    • 传输方式的分类
      • 面向有连接型和无连接型
        • 面向有连接型
        • 面向无连接型
      • 电路交换与分组交换
      • 根据接收端数量分类
        • 单播(Unicast)
        • 广播(Broadcast)
        • 多播(Multicast)
        • 任播(Anycast)

传输方式的分类

网络与通信中可以根据其数据发送方法进行多种分类。分类方法也有很多,以下我们介绍其中的几种。

面向有连接型和无连接型

通过网络发送数据,大致可以分为面向有连接与面向无连接两种类型(面向无连接型包括以太网、IP、UDP等协议。面向有连接型包括ATM、帧中继、TCP等协议。) 。

请添加图片描述

面向有连接型

面向有连接型中,在发送数据之前,需要在收发主机之间连接一条通信线路(在不同的分层协议中,连接的具体含义可能有所不同。在数据链路层中的连接,就是指物理的、通信线路的连接。而传输层则负责创建与管理逻辑上的连接。) 。

面向有连接型就好比人们平常打电话,输入完对方电话号码拨出之后,只有对端拿起电话才能真正通话,通话结束后将电话机扣上就如同切断电源。因此在面向有连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理。如果与对端之间无法通信,就可以避免发送无谓的数据。

面向无连接型

面向无连接型则不要求建立和断开连接。发送端可于任何时候自由发送数据。反之,接收端也永远不知道自己会在何时从哪里收到数据。因此,在面向无连接的情况下,接收端需要时常确认是否收到了数据。

这就如同人们去邮局寄包裹一样。负责处理邮递业务的营业员,不需要确认收件人的详细地址是否真的存在,也不需要确认收件人是否能收到包裹,只要发件人有一个寄件地址就可以办理邮寄包裹的业务。面向无连接通信与电话通信不同,它不需要拨打电话、挂掉电话之类的处理,而是全凭发送端自由地发送自己想要传递出去的数据。

因此,在面向无连接的通信中,不需要确认对端是否存在。即使接收端不存在或无法接收数据,发送端也能将数据发送出去。

电路交换与分组交换

网络通信方式大致分为两种——电路交换和分组交换。电路交换技术的历史相对久远,主要用于过去的电话网。而分组交换技术则是一种较新的通信方式,从20世纪60年代后半叶才开始逐渐被人们认可。我们所熟悉的TCP/IP,正是采用了分组交换技术。

在电路交换中,交换机主要负责数据的中转处理。计算机首先被连接到交换机上,而交换机与交换机之间则由众多通信线路再继续连接。因此计算机之间在发送数据时,需要通过交换机与目标主机建立通信电路。我们将连接电路称为建立连接。建立好连接以后,用户就可以一直使用这条电路,直到该连接被断开为止。

如果某条电路只是用来连接两台计算机的通信线路,就意味着只需在这两台计算机之间实现通信,因此这两台计算机是可以独占线路进行数据传输的。但是,如果一条电路上连接了多台计算机,而这些计算机之间需要相互传递数据,就会出现新的问题。鉴于一台计算机在收发信息时会独占整个电路,其他计算机只能等待这台计算机处理结束以后才有机会使用这条电路收发数据。并且在此过程中,谁也无法预测某一台计算机的数据传输从何时开始又在何时结束。如果并发用户数超过交换机之间的通信线路数,就意味着通信根本无法实现。

为此,人们想到了一个新的方法,即让连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定的顺序排列之后分别发送。这就是分组交换。有了分组交换,数据被细分后,所有的计算机就可以一齐收发数据,这样也就提高了通信线路的利用率。由于在分组的过程中,已经在每个分组的首部写入了发送端和接收端的地址,所以即使同一条线路同时为多个用户提供服务,也可以明确区分每个分组数据发往的目的地,以及它是与哪台计算机进行的通信。请添加图片描述
在分组交换中,由分组交换机(路由器)连接通信线路。分组交换的大致处理过程是:发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以后,缓存到自己的缓冲区,然后再转发给目标计算机。因此,分组交换也有另一个名称:蓄积交换。

路由器接收到数据以后会按照顺序缓存到相应的队列当中,再以先进先出的顺序将它们逐一发送出去(有时,也会优先发送目标地址比较特殊的数据。) 。

在分组交换中,计算机与路由器之间以及路由器与路由器之间通常只有一条通信线路。因此,这条线路其实是一条共享线路。在电路交换中,计算机之间的传输速度不变。然而在分组交换中,通信线路的速度可能会有所不同。根据网络拥堵的情况,数据达到目标地址的时间有长有短。另外,路由器的缓存饱和或溢出时,甚至可能会发生分组数据丢失、无法发送到对端的情况。请添加图片描述

根据接收端数量分类

网络通信当中,也可以根据目标地址的个数及其后续的行为对通信进行分类。如广播、多播等就是这种分类的产物。

单播(Unicast)

字面上,“Uni”表示“1”,“Cast”意为“投掷”。组合起来就是指1对1通信。早先的固定电话就是单播通信的一个典型例子。

广播(Broadcast)

字面上具有“播放”之意。因此它指是将消息从1台主机发送给与之相连的所有其他主机。广播通信的一个典型例子就是电视播放,它将电视信号一齐发送给非特定的多个接收对象。

此外,我们知道电视信号一般都有自己的频段。只有在相应频段的可接收范围内才能收到电视信号。与之类似,进行广播通信的计算机也有它们的广播范围。只有在这个范围之内的计算机才能收到相应的广播消息。这个范围叫做广播域。

请添加图片描述

多播(Multicast)

多播与广播类似,也是将消息发给多个接收主机。不同之处在于多播要限定某一组主机作为接收端。多播通信 最典型的例子就是电视会议,这是由多组人在不同的地方参加的一种远程会议。在这种形式下,会由一台主机发送消息给特定的多台主机。电视会议通常不能使用广播方式。否则将无从掌握是谁在哪儿参与电视会议。

任播(Anycast)

任播是指在特定的多台主机中选出一台作为接收端的一种通信方式。虽然,这种方式与多播有相似之处,都是面向特定的一群主机,但是它的行为却与多播不同。任播通信从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。通常,所被选中的那台特定主机将返回一个单播信号,随后发送端主机会只跟这台主机进行通信。

任播在实际网络中的应用有DNS根域名解析服务器。

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

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

相关文章

ModaHub魔搭社区:Zilliz Cloud快速开始教程(一)

目录 前提条件 创建 Collection 查看 Collection 插入数据 本教程涵盖以下 Zilliz Cloud 集群操作指南: 创建 Collection查看 Collection插入数据向量搜索、向量查询、通过 ID 获取 Entity删除 Entity删除 Collection 前提条件 在本文档中,我们将使用 Milvus 的 SDK。…

FL Studio21中文版DAW宿主软件

FL Studio21让你的计算机就像是全功能的录音室,漂亮的大混音盘,先进的创作工具,让你的音乐突破想象力的限制。你有着满腔的音乐才华,想要自己在家里发片吗?还是听 MOBY 的电子舞曲不过瘾,要再帮他做做 REMI…

Mybatis-plus——增删改查相关+id生成策略+多数据操作(删除)+逻辑删除+乐观锁+代码生成器

项目文件总览 Dao层中 domain层中 测试类中含有三个测试方法,分别对应,插入删除和修改 id生成策略 针对不同的场景使用不同的id,用到提供的一个注解TableId 在实体类中使用Tablefiled注解时可以看见有如下的多种策略 使用第一个AUTO策略 运行插入方法得…

Nuxt3 loyouts公共页面布局

1.目录结构 2.在app.vue入口处添加代码 注意:Header首字母我是大写的,然而页面并没有显示头部,只显示尾部 改为首字母小写才会有效

SWAT模型18项典型案例实践、EFDC模型建模方法

SWAT模型“十八般武艺”高阶研修 以18项典型的案例为主线,不仅能够从技术层系统掌握,还能更好的拓展与相关学科的融合创新应用,解决实际的问题,内容讲解具有技术深度与系统、普遍需求、热点创新、实际问题解决等特点,…

计算机组成原理课程论文: Intel 80386/80486 的体系架构调研

摘要 本文以Intel 80386/80486体系架构为研究对象,详细介绍了该体系架构的基本概念、特点和优势,分析了其在不同领域的应用情况,并对其未来的发展做出一定的展望和评价。 首先,我们介绍了研究背景和目的,阐述了Intel 8…

40. 同时在线最多的人数

文章目录 题目需求思路一实现一题目来源 题目需求 根据用户登录明细表(user_login_detail),求出平台同时在线最多的人数。 期望结果如下(截取部分): cn7 需要用到的表: 用户登录明细表&…

接口性能优化技巧

背景 我负责的系统在去年初就完成了功能上的建设,然后开始进入到推广阶段。随着推广的逐步深入,收到了很多好评的同时也收到了很多对性能的吐槽。 刚刚收到吐槽的时候,我们的心情是这样的: 当越来越多对性能的吐槽反馈到我们这里的…

阿里云服务器架构X86_GPU_裸金属_超级计算集群详解

阿里云服务器架构有什么区别?X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别?阿里云服务器网分享云服务器ECS架构详细说明: 目录 阿里云服务器ECS架构说明 X86计算 ARM计算 GPU/FPGA/ASIC 弹性裸金属服务…

基于simulink使用SAD方法进行运动检测(附源码)

一、前言 此示例演示如何使用绝对差分总和 (SAD) 方法来检测视频序列中的运动。此示例将 SAD 独立应用于视频序列的四个象限。如果在象限中检测到运动,则示例会以红色突出显示该象限。 二、模型 下图显示了移动侦测示例模型: 三…

一文搞懂Java线程池执行原理核心参数

文章目录 前言一、为什么要使用线程池创建线程?二、线程池的核心参数(重点)1.核心线程数2.最大线程数3.救急线程的存活时间4.救急线程的时间单位5.任务队列6.线程工厂7.任务拒绝策略 三、线程池的执行原理四、一个小案例总结 前言 最近面试过…

CEC2018动态多目标优化算法:基于自适应启动策略的混合交叉动态约束多目标优化算法(MC-DCMOEA)求解CEC2018

一、动态多目标优化问题 1.1问题定义 1.2 动态支配关系定义 二、 基于自适应启动策略的混合交叉动态多目标优化算法 基于自适应启动策略的混合交叉动态多目标优化算法(Mixture Crossover Dynamic Constrained Multi-objective Evolutionary Algorithm Based on Se…

Blender基础入门(1):Blender建模系统简单介绍

文章目录 我个人的Blender专栏前言偏好设置推荐常用组合按键空格(需在偏好设置里面选择空格->工具)ShiftA(添加物体)右键:物体对象操作I:显示关键帧操作~(1左边的波浪号):视角选择…

【算法与数据结构】1047、LeetCode删除字符串中的所有相邻重复项

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题和【算法与数据结构】20、LeetCode有效的括号类似,本质上都是找一个字符的匹配字符。…

深入理解Linux网络——内核是如何接收到网络包的

文章目录 一、相关实际问题二、数据是如何从网卡到协议栈的1、Linux网络收包总览2、Linux启动1)创建ksotfirqd内核线程2)网络子系统初始化3)协议栈注册4)网卡驱动初始化5)网卡启动 3、迎接数据的到来1)硬中…

Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!

△点击上方“Python猫”关注 ,回复“1”领取电子书 你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,大部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题&#xff0c…

Vue+elementUI实现下拉框多选和反选

Vue代码如下&#xff1a; <el-form-item label"下拉框名称&#xff1a;"><el-select size"mini" v-model"testModelName" focus"getSelectInfo" :disabled"SelectStyle" filterable clearable placeholder"&…

SpringBoot实战(二十)集成Druid连接池

目录 一、简介1.定义2.特点3.竞品对比 二、搭建测试项目1.Maven依赖2.yaml配置2.1 JDBC配置2.2 连接池配置2.3 监控配置 三、测试1.查看监控页面2.单元测试 四、补充&#xff1a;1.如何打印慢SQL&#xff1f;2.去除广告3.如何手动获取监控内容 一、简介 1.定义 Druid数据库连…

简析电力系统网络靶场建设的价值、挑战与趋势

在当下已经演变为持久战的俄乌地区冲突中&#xff0c;通信、交通、能源供应等相关国家关键基础设施一直是双方互相攻击的重点目标。同时&#xff0c;“网络战”作为先行战场&#xff0c;也把关基设施作为主阵地&#xff0c;不断以相对轻量级成本制造比想象中更广泛的破坏和社会…

Haproxy搭建Web群集和脑裂的概念

目录 脑裂概念 脑裂如何生的: 解决方法 Haproxy概念 HAProxy的主要特性有&#xff1a; HAProxy负载均衡策略非常多&#xff0c;常见的有如下8种&#xff1a; CDN Nginx LVS haproxy haproxy服务器部署 关闭防火墙 编译安装 Haproxy Haproxy服务器配置 添加haprox…