【网络通信基础与实践第三讲】传输层协议概述包括UDP协议和TCP协议

news2024/9/22 15:36:20

一、进程间的通信

通信的两端应当是两个主机中的应用进程,也就是说,端到端的通信是应用进程之间的通信

运输层有一个很重要的功能就是复用和分用,复用是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据,分用是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付给目的应用进程。

从上图可以知道,网络层为主机之间的通信提供服务,而运输层则在网络层的基础上,为应用进程之间的通信提供服务。

除此之外,运输层向高层用户屏蔽了下面网络的核心的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,而当采用TCP协议时,这条信道是全双工的可靠信道,但是当采取UDP协议时,这条信道是一条不可靠信道。 

二、运输层的两个主要协议

1、用户数据报协议UDP(User Datagram Protocol)

UDP协议在传输数据之前不需要先建立连接。远地主机的运输层在收到UDP报文后不需要给出任何的确认。虽然UDP不提供可靠的交付,但是UDP非常简单

2、传输控制协议TCP(Transmission Control Protocol)

TCP则提供面向连接的服务。在传输数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或者多播服务。

三、运输层的端口

1、端口的定义

在单个计算机中的进程是用进程标识符来标志的。但是由于计算机的操作系统的种类很多,而不同的操作系统又使用不同格式的进程标识符。为了使不同操作系统之间的进程可以进行通信,就不许采取一种统一的且与特定的操作系统无关的方法来对TCP/IP体系的应用进程来进行标志。

我们把这些门设置为通信的抽象终点,被命名为协议端口(protocol port)。TCP/IP的运输层用一个16位端口号来标志一个端口。但是请注意端口号只具有本地意义,不同的计算机中相同的端口号是没有关联的。 

2、端口的分类

(1)服务器使用的端口号

一类是熟知端口号或者全球通用端口号,数值位0~1023;另一类是登记端口号,数值为1024~49151。

(2)客户端使用的端口号

数值为49152~65535。这类端口仅在客户端运行时才动态显示。通信结束之后,刚才已使用过的客户端口号就会被系统收回,以便给其他的客户进程使用。

四、实例分析

工程代码见

https://github.com/daviddou2023/page

demo网页见

https://daviddou2023.github.io/page

 

 

 

 

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

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

相关文章

C++前后缀分解

相关知识点 C算法与数据结构 打开打包代码的方法兼述单元测试 这个算法很容易想到,学习了本文后,可以更快得想到。 前后缀分解 分治法的一种,将数组和字符串,拆分成前缀和后缀。字符串(数组)的前缀是字符串的前i个元…

QT模型视图结构2

文章目录 Qt 模型视图结构——模型类(二)1.基本概念1.1.模型的基本结构1.2.模型索引1.3.行号和列号1.4.父项1.5.项的角色 Qt 模型视图结构——模型类(二) ​ 模型/视图结构是一种将数据存储和界面展示分离的编程方法。模型存储数据,视图组件显示模型中的数据&#…

ChatGPT提示词-中文版(awesome-chatgpt-prompts中文版)

原是Github上110.6K星的项目:GitHub - f/awesome-chatgpt-prompts: This repo includes ChatGPT prompt curation to use ChatGPT better. 我翻译成了中文需要自提 我用夸克网盘分享了「Chat GPT提示词.csv」,点击链接即可保存。打开「夸克APP」在线查看…

Windows11 WSL2的ubuntu 22.04中拉取镜像报错

问题描述 在windows11 WSL2的ubuntu 22.04中拉取镜像报错。错误为: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting header…

深度学习的关键数据结构——张量解释

参考英文文章: https://deeplizard.com/learn/video/Csa5R12jYRghttps://deeplizard.com/learn/video/Csa5R12jYRg 什么是张量(Tensor) 神经网络中的输入、输出和变换都是用张量表示的,因此,神经网络编程大量使用张量。张量的概念…

【资料分析】特殊考点——拉动增长、贡献率、容斥问题

拉动增长和增量贡献率 第X产业增加值 是一个整体名称,例如张狗剩这是一个整体的名字 增量贡献率 部分增量/ 整体增量,已知增量贡献率80.6%,对应的部分增量可以求得(现期2632,增长率10.3%,可用假设分配)&a…

【Linux 20】进程控制

文章目录 🌈 一、创建线程⭐ 1. 线程创建函数⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID 🌈 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 🌈 三、等待线程⭐…

如何查看串口被哪个程序占用?截止目前最方便的方法

痛点:串口因为某种原因被占用,如何找到罪魁祸首? 做开发的小伙伴们,经常会遇到这样的问题:串口因为某种原因被占用,导致无法通讯,但是又找不到被哪个程序占用。只有重启电脑,才能解…

Python计算机视觉 第10章-OpenCV

Python计算机视觉 第10章-OpenCV OpenCV 是一个C 库,用于(实时)处理计算视觉问题。实时处理计算机视觉的 C 库,最初由英特尔公司开发,现由 Willow Garage 维护。OpenCV 是在 BSD 许可下发布的开源库,这意味…

[产品管理-20]:NPDP新产品开发 - 18 - 产品设计与开发工具 - 初始设计与规格定义

目录 前言: 一、什么是初始设计规格 二、初始设计与规格定义的工具 2.1 用户 - 功能性设计 1、定义与目的 2、主要内容 3、重要性 4、注意事项 2.2 用户 - 可用性设计 1、定义与目的 2、主要原则 3、实施步骤 4、重要性 2.3 生产 - 可生产性设计 1、…

Linux FTP服务问题排查

一、问题描述 最近linux虚拟机重启之后发现,FTP服务总是不正常,工具无法连接。 二、排查及处理过程 1、检查ftp服务是否正常安装:yes rpm -qa|grep vsftpd 2、检查ftp服务是否正常启动: systemctl status vsftpd 启动vsftpd sys…

Lnux-gcc/g++使用

目录 1.gcc/g介绍 1.什么是 gcc / g 2.gcc/g指令格式 2. gcc / g 实现程序翻译的过程 1.预处理(进行宏替换) 2.编译(生成汇编) 3.汇编(生成机器可识别代码) 4.连接(生成可执行文件或库文件) 1.gcc/g介绍 1.什么…

浪潮信息首推3秒智能控温!告别服务器开机噪音

在当前的数据中心运维实践中,运维人员在部署服务器时常被“飞机起飞”般的开机噪音所困扰。服务器刚刚接通电源,其内部元件尚处于预热待命状态,而风扇却已全速运转,这不仅加剧了噪音污染,还拖慢了启动速度,…

电子电气架构 --- 基于ISO 26262的车载电子软件开发流程

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…

kettle从入门到精通 第八十五课 ETL之kettle kettle中javascript步骤调用外部javascript/js文件

场景:交流学习群里面有小伙伴咨询kettle中的javascript代码步骤如何调用外部js文件中的函数,觉得有点意思的,于是就抽时间整理了一下。 1、外部js文件为test.js,代码如下: function test(param){return "接收到了…

2024CSP-J初赛全真模拟卷选择题篇(原创,难度偏简单)

注意,本卷由再临TSC原创,禁止转载! 本卷难度偏简单,若想要通过初赛本卷应拿80分左右 查看答案的方法: if(设备"PC") { 把光标移到答案上面,选中答案,就会显示(); } …

计算机的错误计算(九十四)

摘要 探讨 的计算精度问题。 正如其它许多函数或运算一样,以2为底的对数运算,也包含在 IEEE 754-2019 的列表中[1]。 例1. 已知 计算 不妨用Go代码计算: package mainimport ("fmt""math" )func main() {x : 0.…

Java网络编程 TCP通信(Socket 与 ServerSocket)

1.TCP通信原理 TCP通信涉及两个端点:客户端和服务器。服务器端使用 ServerSocket 监听特定端口,等待客户端的连接请求。客户端使用 Socket 连接到服务器的IP地址和端口。一旦连接建立,双方就可以通过输入输出流进行数据交换. ServerSocket是…

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍: 真正的好东西,搞网站优化seo从业必备。可以快速提升网站权重,带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…

福建科立讯通信 指挥调度管理平台 SQL注入漏洞

北峰通信-福建科立讯通信 指挥调度管理平台 SQL注入漏洞 厂商域名和信息收集 域名: 工具sqlmap python sqlmap.py -u "http://ip:端口/api/client/down_file.php?uuid1" --batch 数据包 GET /api/client/down_file.php?uuid1%27%20AND%20(SELECT%20…