计算机网络 (31)运输层协议概念

一、概述

       从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层的一个核心功能是提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。它向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就好像在两个运输层实体之间有一条端到端的逻辑通信信道。

二、主要功能

  1. 复用和分用:应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。运输层从网络层收到数据后,需要交付给指明的应用进程。
  2. 逻辑通信:运输层提供应用进程间的逻辑通信。这种逻辑通信好像是沿水平方向传送数据,但事实上这两个运输层之间并没有一条水平方向的物理连接。
  3. 端到端通信:运输层为应用进程之间提供端到端的逻辑通信,而网络层是为主机之间提供逻辑通信。
  4. 差错检测:运输层还需要对收到的报文进行差错检测。

三、两个主要协议

  1. 用户数据报协议(UDP)

    • 特点:UDP是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。UDP是面向报文的,对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。UDP支持一对一、一对多、多对一和多对多的交互通信。
    • 首部开销:UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。
    • 应用场景:UDP适用于那些对实时性要求较高,但对可靠性要求不高的应用场景,如多媒体通信、视频流媒体等。
  2. 传输控制协议(TCP)

    • 特点:TCP是面向连接的运输层协议,在无连接的、不可靠的IP网络服务基础之上提供可靠交付的服务。TCP提供全双工通信,面向字节流。TCP中的“流”指的是流入或流出进程的字节序列。虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流。
    • 连接管理:TCP的连接建立采用三报文握手的方式,连接释放则采用四报文握手的方式。这种连接管理方式确保了TCP连接的可靠性和稳定性。
    • 可靠传输:TCP通过一系列措施保证可靠传输,如超时重传、确认应答、滑动窗口协议等。这些措施使得TCP能够在不可靠的IP网络之上提供可靠的传输服务。
    • 拥塞控制:TCP还具备拥塞控制功能,通过慢开始、拥塞避免、快重传等算法来避免网络拥塞,提高网络传输效率。
    • 应用场景:TCP适用于那些对可靠性要求较高,如文件传输、电子邮件等应用场景。

四、协议与端口

       在运输层中,端口是实现复用和分用功能的关键。端口是运输层与应用层的服务接口,通过端口号可以唯一标识一个应用进程。不同的应用进程可以通过不同的端口号进行通信。

总结

       计算机网络中的运输层协议是网络通信的重要组成部分,它提供了从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输服务。UDP和TCP是运输层的两个主要协议,它们各自具有不同的特点和应用场景。通过了解这些协议的概念和工作原理,可以更好地理解计算机网络中的通信过程,并为网络通信的设计和优化提供有力支持。

 结语   

人生就像蒲公英

看似自由

却身不由己

!!!

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

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

相关文章

cache原理

理论基础 时间局部性空间局部性 存储结构 存储器 ROMRAM SRAM->CACHEDRAM->MEM CACHE与主存映射 直接映射 假定主存储器32位地址,cache行64B,cache容量512B,则cache有8行 全相联映射 假定主存储器32位地址,cache…

嵌入式入门Day38

C Day1 第一个C程序C中的输入输出输出操作coutcin练习 命名空间使用方法自定义命名空间冲突问题 C对字符串的扩充C风格字符串的使用定义以及初始化C风格字符串与C风格字符串的转换C风格的字符串的关系运算常用的成员变量输入方法 布尔类型C对堆区空间使用的扩充作业 第一个C程序…

流浪猫流浪狗领养PHP网站源码

源码介绍 流浪猫流浪狗领养PHP网站源码,适合做猫狗宠物类的发信息发布。当然其他信息发布也是可以的。 导入数据库,修改数据库配置/application/database.php 设置TP伪静态,设置运行目录, 后台:/abcd.php/dashboard?…

深度学习|表示学习|一个神经元可以干什么|02

如是我闻: 如果我们只有一个神经元(即一个单一的线性或非线性函数),仍然可以完成一些简单的任务。以下是一个神经元可以实现的功能和应用: 1. 实现简单的线性分类 输入:一组特征向量 x x x 输出&#xff…

【Vim Masterclass 笔记09】S06L22:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第一部分)

文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起,正向定位到当前行的首个字符 b2 从光标位置起,反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增…

使用 SQL 和表格数据进行问答和 RAG(7)—将表格数据(CSV 或 Excel 文件)加载到向量数据库(ChromaDB)中

将表格数据(CSV 或 Excel 文件)加载到向量数据库(ChromaDB)中。这里定义的类 PrepareVectorDBFromTabularData,它的主要功能是读取表格数据文件到DataFrame中、生成嵌入向量、并将这些数据存储在向量数据库的集合中&am…

【git】-2 分支管理

目录 一、分支的概念 二、查看、创建、切换分支 1、查看分支-git branch 2、创建分支- git branch 分支名 3、切换分支- git checkout 分支名 三、git指针 -实现分支和版本间的切换 四、普通合并分支 git merge 文件名 五、冲突分支合并 ​​​​​​【git】-初始gi…

搜广推面经五

饿了么推荐算法 一、介绍InfoNCE Loss、InfoNCE温度系数的作用 InfoNCE Loss(Information Noise Contrastive Estimation Loss)是一种常用于自监督学习和对比学习中的损失函数,特别是在信息论和无监督学习中有广泛应用。 它的核心思想是通过…

如何选择适合的证件照制作软件,让您的照片制作更轻松

在当今数字化的时代,制作证件照不再需要专门前往照相馆。选择一款合适的证件照制作软件,您可以在家中轻松完成标准证件照的拍摄与制作。然而,面对市面上琳琅满目的软件,找到最适合您需求的软件并不简单。本文将为您详细介绍选择证…

【数据库】一、数据库系统概述

文章目录 一、数据库系统概述1 基本概念2 现实世界的信息化过程3 数据库系统内部体系结构4 数据库系统外部体系结构5 数据管理方式 一、数据库系统概述 1 基本概念 数据:描述事物的符号记录 数据库(DB):长期存储在计算机内的、…

安卓硬件加速hwui

安卓硬件加速 本文基于安卓11。 从 Android 3.0 (API 级别 11) 开始,Android 2D 渲染管道支持硬件加速,这意味着在 View 的画布上执行的所有绘图操作都使用 GPU。由于启用硬件加速所需的资源增加,你的应用程序将消耗更多内存。 软件绘制&am…

第R4周:LSTM-火灾温度预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、代码流程1、导入包,设置GPU2、导入数据3、数据集可视化4、数据集预处理5、设置X,y6、划分数据集7、构建模型8、定义训练函…

Spring 设计模式:经典设计模式

Spring 设计模式:经典设计模式 引言 Spring 框架广泛使用了经典设计模式。 这些模式在 Spring 内部发挥着重要作用。 通过理解这些设计模式在 Spring 中的应用,开发者可以更深入地掌握 Spring 框架的设计哲学和实现细节。 经典设计模式 控制反转&am…

现代企业架构白皮书(可以在线阅读完整PDF文件)

数据架构元模型综述 数据架构的内容元模型包括“结构”、“端口”两个部分,如下图所示: 结构部分用来对数据模型、数据处理建模,其中包括数据对象、数据组件 端口部分用来对数据模型的边界建模,其中包括数据服务 数据架构元模型…

krpano 实现文字热点中的三角形和竖杆

krpano 实现文字热点中的三角形和竖杆 实现文字热点中的三角形和竖杆 一个后端写前端真的是脑阔疼 一个后端写前端真的是脑阔疼 一个后端写前端真的是脑阔疼 实现文字热点中的三角形和竖杆 上图看效果 v:2549789059

Win10本地部署大语言模型ChatGLM2-6B

鸣谢《ChatGLM2-6B|开源本地化语言模型》作者PhiltreX 作者显卡为英伟达4060 安装程序 打开CMD命令行,在D盘新建目录openai.wiki if not exist D:\openai.wiki mkdir D:\openai.wiki 强制切换工作路径为D盘的openai.wiki文件夹。 cd /d D:\openai.wik…

互联网架构变迁:从 TCP/IP “呼叫” 到 NDN “内容分发” 的逐浪之旅

本文将给出关于互联网架构演进的一个不同视角。回顾一下互联网的核心理论基础产生的背景: 左边是典型的集中控制通信网络,很容易被摧毁,而右边的网络则没有单点问题,换句话说它很难被全部摧毁,与此同时,分…

priority_queue优先队列

目录 1. 最短路径算法(Dijkstra算法) 应用场景: 优先队列的作用: 2. 最小生成树算法(Prim算法) 应用场景: 优先队列的作用: 3. 哈夫曼编码(Huffman Coding&#x…

vs2022编译webrtc步骤

1、主要步骤说明 概述:基础环境必须有,比如git,Powershell这些,就不写到下面了。 1.1 安装vs2022 1、选择使用C的桌面开发 2、 Windows 10 SDK安装10.0.20348.0 3、勾选MFC及ATL这两项 4、 安装完VS2022后,必须安…

如何评价deepseek-V3 VS OpenAI o1 自然语言处理成Sql的能力

DeepSeek-V3 介绍 在目前大模型主流榜单中,DeepSeek-V3 在开源模型中位列榜首,与世界上最先进的闭源模型不分伯仲。 准备工作: 笔者只演示实例o1 VS DeepSeek-V3两个模型,大家可以自行验证结果或者实验更多场景,同时…