计算机网络传输层知识总结·

传输层提供的服务

传输层的功能
    ●传输层提供进程之间的逻辑通信,即端到端的通信
    ●复用和分用
    ●差错检测(首部和数据部分)
    ●面向连接的TCP和无连接的UDP

端口的作用
    ●端口标识的是主机中的进程
    ●硬件端口是不同硬件设备进行交互的接口(路由器,交换机上有)
    ●软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址

端口号

 
套接字
    ●套接字 Socket =( IP 地址:端口号)
    ●它唯一地标识网络中的一台主机和其上的一个应用(进程)

无服务连接和面向服务连接
TCP
UDP
注:
    1.网络层只提供首部的差错控制
    2.数据链路层的 SAP 是 MAC 地址,网络层的 SAP 是 IP 地址,传输层的 SAP 是端口。
    3.传输层使用的是软件端口
    4.用户应用程序使用 UDP 进行数据传输,那么必须在传输层的上层即应用层提供可靠性方面的全部工作
    5.一个 TCP 报文的首部长度是20B,一个 IP 数据报的首部长度也是20B
    6.熟知端口号是0—1023
    7.登记端口号是1024—49151
    8.短暂端口号是49152—65535
 

UDP

UDP数据报


UDP 仅在 IP 的数据报服务之上增加了两个最基本的服务:复用和分用以及差错检测。
UDP的优点:
    ●UDP无需建立连接
    ●无连接状态
    ●分组首部开销小(8B)
    ●应用层能更好地控制要发送的数据和发送时间
    ●UDP 支持一对一、一对多、多对一和多对多的交互通信。
UDP的首部格式
    ●源端口
    ●目的端口
    ●长度
    ●校验和
 

UDP校验

 
    ●校验时,若 UDP 数据报部分的长度不是偶数个字节,则需填入一个全0字节
    ●如果 UDP 校验和校验出 UDP 数据报是错误的,那么可以丢弃,也可以交付给上层,但是需要附上错误报告,即告诉上层这是错误的数据报
    ●通过伪首部,不仅可以检查源端口号、目的端口号和 UDP 用户数据报的数据部分,还可以检查 IP 数据报的源 IP 地址和目的地址。
注:
    1.UDP 数据报的格式包括 UDP 源端口号、 UDP 目的端口号、 UDP 报文长度和校验和,但不包括 UDP 数据报首部长度。因为 UDP 数据报首部长度是固定的8B,所以没有必要再设置首部长度字段。
    2.UDP 的校验和功能不是必需的,可以不使用
    3.如果 UDP 校验和计算结果为0,那么在校验和字段置为全1
    4.UDP 校验和字段的计算包括一个伪首部、 UDP 首部和携带的用户数据 
    5.UDP 校验和的计算方法是二进制反码运算求和再取反

TCP

TCP的特点:
    ●面向连接的,逻辑连接
    ●每条TCP连接是一对一的
    ●全双工通信
    ●可靠的
    ●面向字节流的

TCP报文段
    ●首部(其首部的前20B是固定的。 TCP 首部最短为20B,后面有4N字节是根据需要而增加的选项,长度为4B的整数倍。)
    ●数据

TCP连接管理
    ●连接建立
    ●数据传输
    ●连接释放

TCP的连接建立:
    ●三次握手
    ●服务器端的资源是在完成第二次握手时分配的
    ●而客户端的资源是在完成第三次握手时分配的

TCP连接的释放:
    ●四次握手

TCP的可靠传输
    ●校验(与UDP一致)
    ●序号 (保证数据有序提交给应用层)
    ●确认
    ●重传(超时和冗余ACK)

TCP流量控制
    ●TCP 提供流量控制服务来消除发送方(发送速率太快)使接收方缓存区溢出的可能性

TCP拥塞控制
    ●接收窗口rwnd
    ●拥塞窗口cwnd

注:
    1.TCP 伪首部与 UDP 伪首部一样,包括 IP 分组首部的一部分。 IP 首部中有一个协议字段,用指明上层协议是 TCP 还是 UDP 。17代表 UDP ,6代表 TCP
    2.报头长度是20~60B,由于数据偏移字段的单位是4B,也就是说当偏移取最大时 TCP 首部长度为15x4=60B
    3.TCP使用大小可变的滑动窗口进行流量控制
 

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

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

相关文章

3D WEB轻量化引擎HOOPS:促进CAD软件的创新与协作

CAD软件一直以来都在现代工程、建筑、制造和设计领域发挥着至关重要的作用。在数字时代,CAD软件的开发者不断追求提高软件性能、增加功能和改善用户体验,在这一努力中,HOOPS技术(高度优化的面向对象并行软件)滑块露头角…

IDEA启动报错Failed to create JVM. JVM path的解决办法

今天启动IDEA时IDEA报错,提示如下。 if you already hava a JDK installed, define a JAVA_HOME variable in Computer > Systen Properties > System Settings > Environment Variables.Failed to create JVM. JVM path:D:\ideaIU2023.2.3\IntelliJ IDE…

使用c++视觉处理----canny 边缘检测、sobel边缘检测、scharr 滤波边缘检测

使用c视觉处理canny 边缘检测、sobel边缘检测、scharr 滤波边缘检测 #include <opencv2/opencv.hpp>int main() {// 读取图像cv::Mat image cv::imread("1.jpg", cv::IMREAD_GRAYSCALE); // 转为灰度图像if (image.empty()) {std::cerr << "无法加…

Spring Boot 中常用的注解@RequestParam

Spring Boot 中常用的注解RequestParam RequestParam 是 Spring Framework 和 Spring Boot 中常用的注解之一&#xff0c;用于从请求中获取参数值。它通常用于处理 HTTP 请求中的查询参数&#xff08;query parameters&#xff09;或表单数据。下面详细解释 RequestParam 的用…

混凝土搅拌站预拌厂数字孪生可视化管理系统,三维可视化数据监控平台

本项目基于三维建模、数据融合等技术&#xff0c;构建一套实时的混凝土搅拌站厂区数字孪生可视化系统&#xff0c;提升混凝土搅拌站厂区信息化建设水平。 通过三维可视化项目的建设&#xff0c;实现搅拌站厂区展示和漫游、生产流程中设备的实时映射孪生、关键设备参数及指标图…

GPU如何统计显存占用

GPU统计显存占用有两种方法&#xff1a; 方法1&#xff1a; 使用 watch -n 1 nvidia-smi 这个会2秒刷新一次&#xff0c;可以在一个终端运行程序另外一个终端执行这个然后看具体的显存变化【很费劲&#xff0c;而且可能一闪而过】 方法2&#xff1a; 要统计程序的最大显存…

关于一篇什么是JWT的原理与实际应用

目录 一.介绍 1.1.什么是JWT 二.结构 三.Jwt的工具类的使用 3.1. 依赖 3.2.工具类 3.3.过滤器 3.4.控制器 3.5.配置 3.6. 测试类 用于生成JWT 解析Jwt 复制jwt&#xff0c;并延时30分钟 测试JWT的有效时间 测试过期JWT的解析 四.应用 今天就到这了&#xff0c;希…

NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道

一、说明 我的NLP项目在维基百科条目上下载、处理和应用机器学习算法。相关上一篇文章中&#xff0c;展示了项目大纲&#xff0c;并建立了它的基础。首先&#xff0c;一个 Wikipedia 爬网程序对象&#xff0c;它按名称搜索文章&#xff0c;提取标题、类别、内容和相关页面&…

@Mapper与@MapperScan注解

Mapper Mapper Mapper.xml文件 作用在dao&#xff08;mapper&#xff09;层上的一个注解&#xff0c;将接口生成一个动态代理类&#xff0c;有了这个注解就不用 再写Mapper.xml文件 如果缺少这个注解&#xff0c;运行项目就会报相应的错误 Field userMapper in com.example…

Docker 安装 MySQL5.7

Docker 安装 MySQL5.7 查看 docker 仓库中的 mysql 命令 docker search mysql 选择 pull 到系统中的数据库镜像 docker pull mysql:5.7 整个 pull 过程需要花费一些时间&#xff0c;耐心等待。 查看并启动Docker镜像 列出已下载的镜像 docker images 启动 Mysql容器 docker …

electron 升级 v22 遇到问题

Electron 漏洞 https://mp.weixin.qq.com/s/5LpSJb_5uV8EIDOl3fz9Tw 由于 23以上不在支持win 7 8 8.1 所以我选择安装 v22.3.24 electron 22.3.24 node-sass 6.0.1 sass-loader 10.4.1 对应的版本 npm i node-sass6.0.1 --sass_binary_sitehttps://npm.taobao.org/mirrors…

uni-app 实现图片上传添加水印操作

一、定义一个canvas标签&#xff0c;微信小程序的实现方式有所变动 <!-- #ifdef MP-WEIXIN --><canvas type"2d" id"upload-canvas" class"uploadCanvas" :style"{width:widthpx,height:heightpx,position:absolute,z-index:-999,…

深度学习基础知识 BatchNorm、LayerNorm、GroupNorm的用法解析

深度学习基础知识 BatchNorm、LayerNorm、GroupNorm的用法解析 1、BatchNorm2、LayerNorm3、GroupNorm用法&#xff1a; BatchNorm、LayerNorm 和 GroupNorm 都是深度学习中常用的归一化方式。 它们通过将输入归一化到均值为 0 和方差为 1 的分布中&#xff0c;来防止梯度消失和…

深度神经网络压缩与加速技术

// 深度神经网络是深度学习的一种框架&#xff0c;它是一种具备至少一个隐层的神经网络。与浅层神经网络类似&#xff0c;深度神经网络也能够为复杂非线性系统提供建模&#xff0c;但多出的层次为模型提供了更高的抽象层次&#xff0c;因而提高了模型的能力。深度神经网络是一…

链表(3):双链表

引入 我们之前学的单向链表有什么缺点呢&#xff1f; 缺点&#xff1a;后一个节点无法看到前一个节点的内容 那我们就多设置一个格子prev用来存放前面一个节点的地址&#xff0c;第一个节点的prev存最后一个节点的地址&#xff08;一般是null&#xff09; 这样一个无头双向…

VirtualBox Ubuntu扩展虚拟机磁盘空间

关于Orical VM VirtualBox虚拟机安装了ubuntu linux系统&#xff0c;由于需要&#xff0c;磁盘空间不足&#xff0c;需要扩展磁盘空间&#xff0c;最终找到了一个非常简单的方法&#xff0c;上干货。 1、关闭虚拟机 2、运用VBoxManage命令扩展vdi文件的空间 打开windows的命…

CSS 常用样式background背景属性

一、背景颜色 background-color CSS中的background-color是用来设置HTML元素的背景颜色的一个属性。它可以接受各种颜色值&#xff0c;包括具有名称的颜色和十六进制颜色值。 以下是一些示例代码&#xff1a; 设置元素的背景颜色为红色&#xff1a; background-color: red…

Golang 实现接口和继承

小猴子继承了老猴子&#xff0c;这样老猴子拥有的能力包括字段&#xff0c;方法就会自动的被老猴子继承。 小猴子不需要做任何处理就可以拿到老猴子的字段和它的方法&#xff0c;因为是继承关系。 但是小猴子还会其他的技能&#xff0c;比如还会像小鸟一样飞翔&#xff0c;希…

pytorch中的池化函数

PyTorch 提供了多种池化函数&#xff0c;用于对输入数据进行不同类型的池化操作。以下是一些常用的 PyTorch 池化函数&#xff1a; 平均池化&#xff08;Average Pooling&#xff09;: nn.AvgPool1d: 一维平均池化。nn.AvgPool2d: 二维平均池化。nn.AvgPool3d: 三维平均池化。 …

VR全景营销颠覆传统营销,让消费者身临其境

随着VR的普及&#xff0c;各种VR产品、功能开始层出不穷&#xff0c;并且在多个领域都有落地应用&#xff0c;例如文旅、景区、酒店、餐饮、工厂、地产、汽车等&#xff0c;在这个“内容为王”的时代&#xff0c;VR全景展示也是一种新的内容表达方式。 VR全景营销让消费者沉浸式…