计算机网络:运输层 - 概述
计算机网络:运输层 - 概述
- 运输层的任务
- 端口号
- 复用与分用
- UDP协议
- 首部格式
- TCP协议
- 面向字节流
运输层的任务
物理层
、数据链路层
以及网络层
,他们共同解决了将主机通过网络互联起来所面临的问题,实现了主机到主机的通信。
网络层的作用范围是主机到主机,但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。
AP1
和 AP2
是局域网LAN1
上主机A
中与网络通信相关的两个应用进程。
AP3
和 AP4
是局域网LAN2
上主机B
中的与网络通信相关的两个应用进程。
如何为运行在不同主机上的应用进程提供直接的通信服务?是运输层的任务。运输层协议又称为端到端协议
。运输层的作用范围是应用进程到应用进程,也称为端到端。
运输层最重要的两个协议是
TCP
与UDP
- 用户数据报协议
UDP
传输的协议数据单元是UDP报文
或者UDP用户数据报
。UDP
在传输数据之前不需要先建立连接,对方的运输层在收到UDP
报文后,不需要给出任何确认。
常见的使用UDP
的应用层协议:DNS
,DHCP
,TFTP
。
- 传输控制协议
TCP
传输的协议数据单元是TCP报文段
。TCP
提供面向连接的服务,在传输数据前必须先建立连接,数据传输结束后要释放连接,接收方收到TCP报文
后也要给出去确认。因此TCP
也只能提供一对一的服务。
常见的使用TCP
的应用层协议:HTTP
,SMTP
,FTP
,TELNET
。
端口号
如图,假设AP1
要和AP4
通信,那么当主机B
接收到了主机A
发来的报文后,主机B
怎么知道这个数据报要交给AP3
还是AP4
?也就是说运输层面临的第一个问题就是如何标识一个进程。
计算机上的进程是使用进程标识符 PID
来标志的。然而因特网上的计算机并不是使用统一的操作系统,不同操作系统使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程之间能够进行网络通信,就必须使用统一的方法对 TCP/IP
体系的应用进程进行标识。
运输层使用
端口号
来区分应用层的不同应用进程
端口号长度为16bit
,取值范围是 0-65535
,分为:熟知端口号
,登记端口号
,短暂端口号
。
熟知端口号:
取值范围是 0-1023
。因特网数字分配机构 IANA
把这些端口号指派给了 TCP/IP
体系中最重要的一些应用协议。常见的端口号如下:
协议 | 端口号 |
---|---|
DHCP | 67 和 68 |
DNS | 53 |
TFTP | 69 |
SNMP | 161 |
SNMP(trap) | 162 |
SMTP | 25 |
FTP | 21 和 20 |
TELNET | 23 |
HTTP | 80 |
HTTPS | 443 |
登记端口号:
取值范围是 1024-49151
,为没有熟知端口号的服务器所使用。这类端口号必须在 IANA 按照规定的手续登记,以防止重复。
例如,微软远程桌面应用程序使用的端口号是3389。
短暂端口号:
取值范围是 49152-65535
,留给客户进程选择,暂时使用当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。
复用与分用
接下来我们介绍发送方的复用和接收方的分用,如图所示:
这是收发双方的应用进程,发送方的某些应用进程所发送的不同应用报文在运输层使用 UDP
协议进行封装,这称为 UDP 复用
。而另一些应用进程所发送的不同应用报文在运输层使用 TCP
协议进行封装,这称为 TCP 复用
。
运输层使用端口号来区分不同的应用进程,不管是使用运输层的 UDP 协议封装成的 UDP
用户数据报,还是使用 TCP
协议封装成的 TCP
报文段。在网络层都需要使用 IP
协议封装成 IP
数据报,这称为 IP 复用
。
IP
数据报首部中协议字段的值,用来表明 IP 数据报的数据载荷部分封装的是何种协议数据单元:取值为6
,表示封装的是TCP
报文段;取值为17
,表示封装的是UDP
用户数据报。
接收方的网络层收到 IP
数据报后进行 IP 分用
。
若 IP
数据报首部中协议字段的值为17
,则把 IP
数据报的数据载荷部分所封装的 UDP
用户数据报上交运输层的 UDP
。若协议字段的值为6
,则把 IP
数据报的数据载荷部分所封装的 TCP
报文段上交运输层的 TCP
。
运输层对 UDP
用户数据报进行 UDP 分用
,对 TCP
报文段进行 TCP 分用
,也就是根据端口号将它们交付给上层相应的应用进程。
接下来我对TCP
和UDP
两个协议做一个简单讲解,只是了解它们的基本特点,不深入讲解,后续会有其它博客讲解具体细节。
UDP协议
UDP
协议具有一下特点:
UDP
是无连接的,即发送数据之前不需要建立连接UDP
使用尽最大努力交付,即不保证可靠交付UDP
是面向报文的,即一次发送和交付一个完整的报文UDP
没有拥塞控制,很适合实时通信,因为实时通信要求源主机以恒定的速率发送数据,并允许丢失部分数据UDP
支持一对一、一对多、多对一和多对多的交互通信UDP
的首部开销小,只有 8 个字节
首部格式
UDP数据报
的首部只要8 byte
,由四个字段组成,每个字段都是2 byte
,如图:
源端口
与目的端口
用与标识两个不同主机上的进程。长度
为整个UDP数据报
的长度校验和
用于检验数据报是否出错
在计算校验和
时,还会引入一个伪首部的概念:
伪首部
不是一个真实存在的首部,只有计算校验和
是,会把这个伪首部
也计算进来。
TCP协议
TCP
协议有以下特点:
TCP
是面向连接的运输层协议。TCP 在传送数据之前,必须先建立连接;在传送数据完毕后,必须释放已经建立的连接。- 每一条
TCP
连接只能有两个端点(endpoint),每一条TCP
连接只能是点对点的(一对一)。 TCP
提供可靠交付的服务。通过 TCP 连接传送的数据,无差错、不丢失、不重复,并且按序到达- TCP 提供全双工通信。TCP 连接的两端都设有发送缓存和接收缓存,用来临时存放双向通信的数据。
面向字节流
- 面向字节流,
流
指的是一连串的字节序列。
发送方的 TCP
把应用进程交付下来的数据块,仅仅看作是一连串的无结构的字节流,TCP
并不知道这些带传送的字节流的含义,仅将他们编号并存储在自己的发送缓存。
TCP
不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块,具有对应大小的关系。
接收方要具有还原字节流的能力,接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。
相关文章:
![](https://img-blog.csdnimg.cn/direct/f5e2bc858434484f831b3a12726a6e0e.png)
计算机网络:运输层 - 概述
计算机网络:运输层 - 概述 运输层的任务端口号复用与分用UDP协议首部格式 TCP协议面向字节流 运输层的任务 物理层、数据链路层以及网络层,他们共同解决了将主机通过网络互联起来所面临的问题,实现了主机到主机的通信。 网络层的作用范围是…...
![](https://img-blog.csdnimg.cn/direct/cccc5896f9c8406c818498d3e1ccb4cb.png)
使用阿里开源的Spring Cloud Alibaba AI开发第一个大模型应用
背景 前段时间看到Spring推出了SpringAI,可以方便快速的接入ChatGPT等国外的大模型,现在阿里巴巴也紧追脚步推出了Spring Cloud Alibaba AI,Spring Cloud Alibaba AI 目前基于 Spring AI 0.8.1 版本 API 完成通义系列大模型的接入。通义接入…...
![](https://img-blog.csdnimg.cn/img_convert/6586355a9a077935acf5687b8e01c768.png)
`THREE.PointsMaterial` 是 Three.js 中用于创建粒子系统材质的类。它允许你设置粒子系统的外观属性,比如颜色、大小和透明度。
demo案例 THREE.PointsMaterial 是 Three.js 中用于创建粒子系统材质的类。它允许你设置粒子系统的外观属性,比如颜色、大小和透明度。下面是对其构造函数的参数、属性和方法的详细讲解。 构造函数 const material new THREE.PointsMaterial(parameters);参数&am…...
![](https://img-blog.csdnimg.cn/direct/13c527e4b67f464e8a93942284ee91d8.png)
Android-Android Studio-FAQ
1 需求 2 接口 3 Android Studio xml布局代码补全功能失效问题 最终解决方案就是尝试修改compileSdk 为不同SDK版本来解决问题,将原本34修改为32测试会发现xml代码补全功能有效了! 参考资料 Android Studio xml布局代码补全功能失效问题_android studi…...
![](https://img-blog.csdnimg.cn/img_convert/bad2fa02379347fa66207cbf588984ea.png)
架构师指南:现代 Datalake 参考架构
这篇文章的缩写版本于 2024 年 3 月 26 日出现在 The New Stack 上。 旨在最大化其数据资产的企业正在采用可扩展、灵活和统一的数据存储和分析方法。这一趋势是由企业架构师推动的,他们的任务是制定符合不断变化的业务需求的基础设施。现代数据湖体系结构通过将数…...
![](https://img-blog.csdnimg.cn/direct/8c589475db644214b2630c4f6060dd79.png)
通讯协议大全(UART,RS485,SPI,IIC)
参考自: 常见的通讯协议总结(USART、IIC、SPI、485、CAN)-CSDN博客 UART那么好用,为什么单片机还需要I2C和SPI?_哔哩哔哩_bilibili 5分钟看懂!串口RS232 RS485最本质的区别!_哔哩哔哩_bilibili 喜欢几位…...
![](https://img-blog.csdnimg.cn/img_convert/6df94310095d83df5aaa6d25e3473a36.png)
基于EXCEL数据表格创建省份专题地图
1 数据源 随着西藏于5月1日发布2022年一季度经济运行情况,31省份一季度GDP数据已全部出炉。 总量方面,粤苏鲁稳居前三;增速方面,23省份高于“全国线”,新疆表现最佳,增速达到7.0%。 表格表现数据不够直观…...
![](https://img-blog.csdnimg.cn/direct/740d28adcc7040e8ae830adbebce8ac8.png)
基于java+springboot+vue实现的电商应用系统(文末源码+Lw)241
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本电商应用系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…...
![](https://www.ngui.cc/images/no-images.jpg)
好文!12个策略解决 Kafka 数据丢失问题
哥们儿!有遇到Kafka数据丢失问题的问题吗,你是如何解决的?今天的文章,V哥来详细解释一下,整理了12种解决策略,希望可以帮助你解决项目中的问题:以下是一些常见的解决方案和最佳实践。 生产者确认…...
![](https://www.ngui.cc/images/no-images.jpg)
Android 第三方框架:网络:OkHttp:源码分析:拦截器
文章目录 涉及到的设计模式 责任链模式:ArrayList策略模式:Interceptor和XXXInterceptor源码分析API总结涉及到的设计模式 责任链模式:ArrayList ArrayList 用ArrayList作为保存顺序的数据结构 把系统提供的各种Interceptor和自定义的Interceptor放入ArrayList中 RealI…...
![](https://img-blog.csdnimg.cn/direct/e13f8aaf7adf4495bcbb30a05f4c3562.png)
FlowUs AI的使用教程和使用体验
FlowUs AI 使用教程 FlowUs AI特点使其成为提升个人和团队生产力的有力工具,无论是在学术研究、内容创作、技术开发还是日常办公中都能发挥重要作用。现在来看看如何使用FlowUs AI吧! 注册与登录:首先,确保您已经注册并登录FlowU…...
![](https://img-blog.csdnimg.cn/direct/2332303197bf4d6ba2ba59e0664d9c07.gif#pic_center)
SwiftUI 6.0(iOS 18)ScrollView 全新的滚动位置(ScrollPosition)揭秘
概览 在只有方寸之间大小的手持设备上要想体面的向用户展示海量信息,滚动视图(ScrollView)无疑是绝佳的“东牀之选”。 在 SwiftUI 历史的长河中,总觉得苹果对于 ScrollView 视图功能的升级是在“挤牙膏”。这不,在本…...
![](https://img-blog.csdnimg.cn/direct/01abe3b651a948e2afddd3f6f2013f1e.png)
阿贝云免费虚拟主机和免费云服务器评测
阿贝云是一家提供免费虚拟主机和免费云服务器的服务商,为用户提供了一个便捷的搭建网站和应用的平台。他们的服务受到了很多用户的好评。用户可以轻松地在阿贝云上创建自己的网站,并享受免费的虚拟主机和云服务器。通过阿贝云的服务,用户可以…...
![](https://img-blog.csdnimg.cn/img_convert/ba2a6f1d26f5518c46226d494d8ca2fb.jpeg)
不懂就问,开通小程序地理位置接口有那么难吗?
小程序地理位置接口有什么功能? 若提审后被驳回,理由是“当前提审小程序代码包中地理位置相关接口( chooseAddress、getLocation )暂未开通,建议完成接口开通后或移除接口相关内容后再进行后续版本提审”,那么遇到这种情况&#x…...
![](https://www.ngui.cc/images/no-images.jpg)
Python 全栈系列256 异步任务与队列消息控制(填坑)
说明 每个创新都会伴随着一系列的改变。 在使用celery进行异步任务后,产生的一个问题恰好也是因为异步产生的。 内容 1 问题描述 我有一个队列 stream1, 对应的worker1需要周期性的获取数据,对输入的数据进行模式识别后分流。worker1我设施为10秒运行…...
![](https://img-blog.csdnimg.cn/direct/87d36c79a3cf4561ab0bf66dc02557a0.png)
从零开始的Ollama指南:部署私域大模型
大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模…...
![](https://www.ngui.cc/images/no-images.jpg)
C++类和对象总结
目录 总结 一、引言 二、类的定义 三、对象的创建与初始化 四、访问控制 五、封装 六、继承 七、多态 八、其他特性 九、总结 C类的定义 C对象的创建和初始化 C类的访问控制 总结 一、引言 C是一种面向对象的编程语言,其核心概念是类和对象。类是对现…...
![](https://img-blog.csdnimg.cn/direct/47c0a048e70e4ebab03d215d4b523cdf.png)
基于PHP的民宿管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的民宿管理系统 一 介绍 此民宿管理系统基于原生PHP开发,数据库mysql,前端jquery.js和echarts.js。系统角色分为用户和管理员。用户可以在线浏览和预订民宿,管理员登录后台进行相关管理等。(在系统…...
![](https://www.ngui.cc/images/no-images.jpg)
ROS中C++、Python完整的目录结构
文章目录 在ROS中,一个典型的C软件包目录结构通常包括以下几个主要目录: include:该目录包含C头文件(.hpp或者.h文件),用于声明类、函数、变量等。通常,这些头文件定义了ROS节点、消息类型、服务…...
![](https://img-blog.csdnimg.cn/direct/6966ca51b8804caa829635bf468cf78f.png)
Boosting原理代码实现
1.提升方法是将弱学习算法提升为强学习算法的统计学习方法。在分类学习中,提升方法通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强分类…...
![](https://www.ngui.cc/images/no-images.jpg)
【Qt基础教程】事件
文章目录 前言事件简介事件示例总结 前言 在开发复杂的图形用户界面(GUI)应用程序时,理解和掌握事件处理是至关重要的。Qt,作为一个强大的跨平台应用程序开发框架,提供了一套完整的事件处理系统。本教程旨在介绍Qt事件处理的基础知识&#x…...
![](https://img-blog.csdnimg.cn/direct/5bdef8d11d984f6885f156f2134aa4c7.jpeg)
外星人Alienware m15R7 原厂Windows11系统
装后恢复到您开箱的体验界面,包括所有原机所有驱动AWCC、Mydell、office、mcafee等所有预装软件。 最适合您电脑的系统,经厂家手调试最佳状态,性能与功耗直接拉满,体验最原汁原味的系统。 原厂系统下载网址:http://w…...
![](https://img-blog.csdnimg.cn/direct/0b2eca70332245d598605fe8c0589e85.png)
stata17中java installation not found或java not recognozed的问题
此问题在于stata不知道去哪里找java,因此需要手动的告诉他 方法1: 1.你得保证已经安装并配置好java环境 2.在stata中输入以下内容并重启stata即可 set java_home "D:\Develope\JDk17" 其中java_home后面的""里面的内容是你的jdk安装路径 我的…...
![](https://img-blog.csdnimg.cn/direct/56a17511ddef4866bf70e57c4bb8754c.png)
Harbor本地仓库搭建003_Harbor常见错误解决_以及各功能使用介绍_镜像推送和拉取---分布式云原生部署架构搭建003
首先我们去登录一下harbor,但是可以看到,用户名密码没有错,但是登录不上去 是因为,我们用了负债均衡,nginx会把,负载均衡进行,随机分配,访问的 是harbora,还是harborb机器. loadbalancer中 解决方案,去loadbalance那个机器中,然后 这里就是25机器,我们登录25机器 然后去配置…...
![](https://img-blog.csdnimg.cn/img_convert/573da07564bbd103bfbbd30d43c9ee2e.png)
怎样搭建serveru ftp个人服务器
首先说说什么是ftp? FTP协议是专门针对在两个系统之间传输大的文件这种应用开发出来的,它是TCP/IP协议的一部分。FTP的意思就是文件传输协议,用来管理TCP/IP网络上大型文件的快速传输。FTP早也是在Unix上开发出来的,并且很长一段…...
![](https://img-blog.csdnimg.cn/img_convert/709f8db657d457b155d7167bb7f214d2.webp?x-oss-process=image/format,png)
SEO是什么?SEO相关发展历史
一、SEO是什么意思? SEO(Search Engine Optimization),翻译成中文就是“搜索引擎优化”。简单来讲,seo是指自然搜索结果下获得的网站流量的技术,是可以不用花钱就可以让自己的网站有好的排名,也…...
![](https://www.ngui.cc/images/no-images.jpg)
android之WindowManager悬浮框
文章目录 阐述悬浮框的实现AndroidManifest配置使用方法 阐述 Window的类型大致分为三种: Application Window 应用程序窗口、Sub Window 子窗口、System Window 系统窗口 窗口类型图层值(type)Application Window1~99Sub Windo…...
![](https://www.ngui.cc/images/no-images.jpg)
注解详解系列 - @Scope:定义Bean的作用范围
注解简介 在今天的注解详解系列中,我们将探讨Scope注解。Scope是Spring框架中的一个重要注解,用于定义bean的作用范围。通过Scope注解,可以控制Spring容器中bean的生命周期和实例化方式。 注解定义 Scope注解用于定义Spring bean的作用范围…...
![](https://img-blog.csdnimg.cn/direct/5b8d28693e294b9380e4ad5c86e9c040.png)
仿中波本振电路的LC振荡器电路实验
手里正好有一套中波收音机套件的中周。用它来测试一下LC振荡器,电路如下: 用的是两只中频放大的中周,初步测试是用的中周自带的瓷管电容,他们应该都是谐振在465k附近。后续测试再更换电容测试。 静态电流,0.5到1mA。下…...
![](https://www.ngui.cc/images/no-images.jpg)
Java 面试题:谈谈 final、finally、 finalize 有什么不同?
在 Java 编程中,final、finally 和 finalize 是三个看似相似但用途截然不同的关键字和方法。理解它们的区别对于编写高质量和健壮的代码至关重要。 final 关键字可用于声明常量、方法和类。用在变量上表示变量不可变,用在方法上表示方法不能被重写&#…...
![](/images/no-images.jpg)
做平面vi网站/个人在线网站推广
目录前言NumPy一、NumPy库引用二、N维数组对象:ndarraynp.array()生成一个ndarray数组,np.array()输出成[]形式,元素由空格分割ndarray对象的属性ndarray数组的元素类型ndarray数组的创建ndarray数组的变换ndarray数组的操作1. 索引与切片2. 运算三、Num…...
![](https://img-blog.csdnimg.cn/img_convert/9d235a0a35557ba9256a82fb7bbe6241.png)
正规的培训行业网站制作/app推广方案
前言:中秋国庆假期快结束了,马上又要投入到工作或学习中了,可能有部分人已经投入工作或是学习了。 我们在未来会遇到很多的困难与麻烦,但是只要坚信自己不服输不断拼搏,那这些困难与麻烦终究要拜倒在我们脚下。嗒嗒嗒&…...
![](/images/no-images.jpg)
电子商务网站建设讯息/快速网站排名优化
tomcat超时解问题 在eclipse启动tomcat时遇到超时45秒的问题: 错误:Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds 错误提示就是我们限定了部署的时间导致的错误。改动 workspace\.metadata\.plugins\org.eclipse.wst.…...
![](http://s5.51cto.com/wyfs02/M01/8D/0E/wKiom1iEBSGioFsRAABoJPsaSFk006.jpg)
网站搜索系统/英文seo是什么
看到这个消息,我的第一反应是重新翻出尘封已久的ipad,装上炉石准备上线领补偿。等等,作为一个数据库行业从业人员,是不是还应该干点什么?恩,很有必要再重新审视一下我们的数据库有没有做好容灾,否则&#…...
![](/images/no-images.jpg)
做玉的网站/市场营销推广方案
废话不多说了,直接给大家贴代码了,具体代码如下所示:import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.Arrays;import …...
![](/images/no-images.jpg)
大淘客网站怎样做百度推广/软件网站排行榜
做一个小例子演示滤镜的动态效果 在舞台建两个元件或导入两张图片到舞台再转化为元件,分别取实例名apple01和apple02; var blurSpeed:Number 1;//首先使用动画滤镜 var bevelSpeed:Number 5;//为两个苹果添加MOUSE_OVER 事件侦听 apple01.addEventList…...