五、传输层
(一)TCP传输控制协议
可靠的、面向连接的字节流服务,全双工,有端口寻址功能
1、TCP的三种机制
1.使用序号对分段的数据进行标记,便于调整数据包
2.TCP使用确认、校验和和定时器系统提供可靠性
3.TCP使用可变大小的滑动窗口协议进行流量控制,在传输实体缓冲区进行排序和重传纠错
2、TCP报文首部格式
源端口 | 目的端口 | |||||||
序列号 | ||||||||
确认号 | ||||||||
报头长度 | 保留 | URG | ACK | PSH | RST | SYN | FIN | 窗口 |
校验和 | 紧急指针 | |||||||
选项 | ||||||||
数据 |
源端口、目的端口:长度为16位,端口用于标识应用程序,端口范围0-65535
序列号:长度为32位
确认号:长度为32位,如果确认号是N,则表示N-1之前(包括N-1)的所有数据都已正确收到
报头长度:即数据偏移字段,长度为4位
保留字段:长度为6位
紧急URG:紧急有效,需要尽快送达
确认ACK:建立连接后的报文回应,ACK设置为1
推送PSH:接收方应尽快将这个报文段交给上层协议,无需等缓存满
复位RST:复位为初始状态,重新连接
同步SYN:发起连接
终止FIN:释放连接
窗口:长度为16位,用来进行流量控制,这个值是本机期望下一次接收的字节数
校验和:长度为16位,对整个TCP报文首部进行校验,包括TCP头部和TCP数据
紧急指针:长度为16位
选项:长度可变到40字节,为保证报头长度是32位的倍数
3、TCP三次握手建立连接
SYN:已经发出了连接请求
ACK确认
SEQ自身序号
SYN-SENT:连接正处于已主动发出连接建立请求
LISTEN:处于连接监听状态
ESTABLISHED:连接已经建立
1表示同意建立连接,0表示拒绝
4、TCP四次挥手释放连接
FIN:已经发出了释放请求
5、TCP拥塞控制
TCP拥塞控制,每个源端判断当前网络中有多少可用容量,从而知道他可以安全完成传送的分组数。拥塞控制就是防止过多的数据注入网络,避免网络中间设备过载而发生拥塞。
TCP拥塞控制机制:
(1)超时重传计时器
重传是保证TCP可靠的重要措施。TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的时间到了,但还没有收到确认,就重传这一报文段。
重传时间与往返时间、平均时延、时间偏差等有关。
(2)慢启动
发送方在接收到确认之前逐步扩大窗口的大小,按1、2、4、8等指数规律翻倍,最后到达门限阈值。出现超时,将拥塞窗口回到1,再次开始慢启动。
(3)拥塞避免
窗口到达门限阈值以后,进入拥塞避免阶段,TCP采用线性增加方式放大窗口,按照+1递增。发生拥塞,门限阈值减半,再发生再减半,按指数规律成倍减半。
(4)快速重传
发送端一连收到3个重复的ACK,就开始重传,不等计时器。
(5)可变滑动窗口
(6)选择重发ARQ
(二)UDP用户数据报协议
不可靠的、无连接的数据报服务,无差错流控机制,有端口寻址功能,开销较小。
在传送数据较少且较小的情况下,UDP比TCP更加高效
1、UDP报文首部格式
源端口号(16位) | 目的端口号(16位) |
长度(16位) | 校验和(16位) |
数据 |
源端口号、目的端口号:0-65535
长度:标明UDP头部和UDP数据的总长度字节
校验和:对UDP头部和UDP数据进行校验,有错就丢弃,相当于TCP的有错重传机制,UDP的校验和是可选项,TCP的校验和是必选项
(三)TCP与UDP比较
同:TCP和UDP均提供端口寻址
异:TCP支持数据传输,UDP支持音视频传输
UDP:SNMP、“STDD”、TFTP、DHCP、DNS
TCP:SMTP、POP3、HTTP
(四)端口
端口用于标识主机进程,范围0-65535
分为:系统端口、登记端口、客户端使用端口
1、系统端口
范围0-1023
协议号 | 名称 | 功能 |
20 | FTP-DATA | FTP数据传输 |
21 | FTP | FTP控制 |
22 | SSH | SSH登录 |
23 | TELNET | 远程登录 |
25 | SMTP | 简单邮件传输协议 |
53 | DNS | 域名解析 |
67 | DHCP | DHCP服务器开启,用来监听和接收客户请求信息 |
68 | DHCP | 客户端开启,用于接收DHCP服务器的消息回复 |
69 | TFTP | 简单FTP |
80 | HTTP | 超文本传输协议 |
110 | POP3 | 邮局协议 |
143 | IMAP | 交互式邮件存取协议 |
161 | SNMP | 简单网管协议 |
162 | SNMP(trap) | SNMP trap报文 |
2、登记端口
范围1024-49151,为没有熟知端口号的应用程序使用,必须在IANA(互联网数字分配机构)登记避免重复
3、客户端使用端口
范围49152-65535,仅在客户进程运行时使用,使用完毕后,进程释放端口
相关文章:
五、传输层
(一)TCP传输控制协议 可靠的、面向连接的字节流服务,全双工,有端口寻址功能 1、TCP的三种机制 1.使用序号对分段的数据进行标记,便于调整数据包 2.TCP使用确认、校验和和定时器系统提供可靠性 3.TCP使用可变大小的…...
Thinkphp 6.0一对一关联查询
本节课我们来了解关联模型中,一对一关联查询的使用方法。 一.hasOne 模式 1. hasOne 模式,适合主表关联附表,具体设置方式如下: hasOne(关联模型,[外键,主键]); return $this->hasOne(Profile::class,user_id, id); 关联模型&…...
基于51单片机的自动打铃打鸣作息报时系统AT89C51数码管三极管时钟电路
wx供重浩:创享日记 对话框发送:单片机打铃 获取完整无水印论文报告说明(含源码程序、电路原理图和仿真图) 本次设计中的LED数码管电子时钟电路采用24小时制记时方式,本次设计采用AT89C51单片机的扩展芯片和6个PNP三极管做驱动&…...
算法详解-双指针算法的魅力-一种简单而高效的编程思想
文章目录双指针简介快慢指针快慢指针介绍快慢指针例题快慢指针优缺点:对撞指针对撞指针介绍:对撞指针例题对撞指针优缺点:更新中——未完总结更多宝藏双指针简介 😎🥳😎🤠😮&#x…...
网页审查元素
在讲解爬虫内容之前,我们需要先学习一项写爬虫的必备技能:审查元素(如果已掌握,可跳过此部分内容)。1、审查元素在浏览器的地址栏输入URL地址,在网页处右键单击,找到检查。(不同浏览器的叫法不同…...
gpt2 adapter finetune
1. 安装依赖: pip install -U adapter-transformers pip install datasets 2.训练代码: from datasets import load_dataset from transformers import AutoModelForCausalLM from transformers import GPT2Tokenizer from transformers import Adap…...
Day14_文件操作
一、数据存储 1.1 计算机数据存储 计算机内存分为运行内存和硬盘两种:保存在运行内存中的数据在程序运行结束后会自动释放,保存在硬盘中的数据会一直存在(除非手动删除或者硬盘损坏) 1)打开文件 open(文件路径, 文件打开方式‘r’, encod…...
leetcode 轮转数组 189
题目 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2…...
Leetcode.1849 将字符串拆分为递减的连续值
题目链接 Leetcode.1849 将字符串拆分为递减的连续值 Rating : 1747 题目描述 给你一个仅由数字组成的字符串 s。 请你判断能否将 s拆分成 两个或者多个 非空子字符串 ,使子字符串的 数值 按 降序 排列,且每两个 相邻子字符串 的数值之 差 …...
Android布局层级过深为什么会对性能有影响?为什么Compose没有布局嵌套问题?
做过布局性能优化的同学都知道,为了优化界面加载速度,要尽可能的减少布局的层级。这主要是因为布局层级的增加,可能会导致测量时间呈指数级增长。 而Compose却没有这个问题,它从根本上解决了布局层级对布局性能的影响: Compose界…...
【UR机械臂CB3 网络课程 】
【UR机械臂CB3 网络课程 】1. 前言2. 概览:特色与术语2.1 机器人组成2.1.1控制柜2.1.2 UR 机器人手臂2.2 接通机器人电源2.3 移动机械臂3. 机器人如何工作3.1 选择臂端工具3.2 输入有关臂端工具的信息3.3 连接外部装置3.4 机器人编程4. 设置工具4.1 末端执行器配置4.2 工具中心…...
dp-统计字典序元音字符串的数目
给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。 字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i1] 相同或在 s[i1] 之前。 示例 1: 输入&…...
LFM雷达实现及USRP验证【章节3:连续雷达测距测速】
第一章介绍了在相对速度为0时候的雷达测距原理 目录 1. LFM测速 1.1 雷达测速原理 1.2 Chrip信号测速 2. LFM测速代码实现 参数设置 仿真图像 matlab源码 代码分析 第一章介绍了在相对速度为0时候的雷达测距原理,第二章介绍了基于LFM的雷达测距原理及其实现…...
COLMAP多视角视图数据可视化
这篇博文主要介绍多视角三维重建的实用工具COLMAP。为了让读者更快确定此文是否为自己想找的内容,我先用简单几句话来描述此文做的事情: 假设我们针对一个物体(人)采集了多个(假设60个)视角的照片ÿ…...
2023年全国最新高校辅导员精选真题及答案36
百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 92.校园文化形成与发展的主要影响因素有() A.学校的领导与管理活…...
ThreeJS-全屏和退出全屏、自适应大小(五)
下载新得组件 npm install gsap -S 新引入 import gsap from gsap //动画控制 代码: <template> <div id"three_div"> </div> </template> <script> import * as THREE from "three"; import {OrbitControls } f…...
等级保护2.0要求及所需设备清单
等级保护的工作流程包括定级、备案、建设整改、等级测评,核心思想在于建立“可信、可控、可管”的安全防护体系,使得系统能够按照预期运行,免受信息安全攻击和破坏。 三级等保要求及所需设备 三级等级保护指标项: 物理访问控制…...
【大数据之Hadoop】六、HDFS之NameNode、Secondary NameNode和DataNode的内部工作原理
NN和2NN的内部工作原理 对于NameNode的存放位置: 内存中:好处:计算快 坏处:可靠性差,断电后元数据会丢失 磁盘中:好处:可靠性搞 坏处:计算慢 内存磁盘中:效率低 所以设…...
小黑子—Java从入门到入土过程:第四章
Java零基础入门4.0Java系列第四章1. 顺序结构2. if语句3. switch 语句3.1 default的位置和省略3.2 case 穿透3.3 switch 新特性 (jdk12开始)4. for 循环5. while 循环6.do...while 循环7. 无限循环8. 跳转控制语句9. 练习9.1 逢七过9.2 平方根9.3 求质数…...
数据库原理及应用(四)——SQL语句(2)SQL基础查询以及常见运算符
一、SELECT语句基础 数据库查询是数据库的核心操作,SELECT 语句用于从数据库中选取数据。 SELECT [ALL/DISTINCT] <列名>,<列名>...FROM <表名或视图名>,<表名或视图名>[WHERE <条件表达式>][GROUP BY <列名1> [HAVING <条…...
(算法基础)Floyd算法
适用情景Floyd算法适用于多源汇最短路,也就是他问你比如说从3号点到6号点的最短路距离,比如说从7号点到20号点的最短路距离,而不是单源最短路(从1号点到n号点的最短路距离)。在这个算法当中允许负权边的存在。但在求最…...
SQL语法:浅析select之七大子句
Mysql版本:8.0.26 可视化客户端:sql yog 目录一、七大子句顺序二、演示2.1 from语句2.2 on子句2.3 where子句2.4 group by子句2.4.1 WITHROLLUP,加在group by后面2.4.2 是否可以按照多个字段分组统计?2.4.3 分组统计时,…...
中国人民大学与加拿大女王大学金融硕士——去有光的地方,并成为自己的光
光是我们日常生活中一个重要的元素,试想一下如果没有光,世界将陷入一片昏暗。人生路亦是如此,我们从追逐光、靠近光、直到自己成为光。人民大学与加拿大女王大学金融硕士项目是你人生路上的一束光吗 渴望想要成为一个更好的人,就…...
Python数据结构与算法篇(五)-- 二分查找与二分答案
1 二分法介绍 1.1 定义 二分查找又称折半查找、二分搜索、折半搜索等,是一种在静态查找表中查找特定元素的算法。 所谓静态查找表,即只能对表内的元素做查找和读取操作,不允许插入或删除元素。 使用二分查找算法,必须保证查找表中…...
小游戏也要讲信用
当下,小游戏鱼龙混杂,官方为能更好地保护用户、开发者以及平台的权益,近日宣布7月1日起试行小游戏主体信用分机制。 主体信用分是什么呢?简单来说,这是针对小游戏主体下所有小游戏帐号行为,对开发者进行评…...
贪心算法11
1. 贪心算法的概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心…...
【并发编程】JUC并发编程(彻底搞懂JUC)
文章目录一、背景二、什么是JUC?三、JUC框架结构四、JUC框架概述五、JUC中常用类汇总六、相关名词进程和线程进程线程创建线程的几种常见的方式并发和并行用户线程和守护线程七、synchronized 作用范围:八、Lock锁(重点)什么是 Lock锁类型Lock接口lock()…...
Compose 动画 (七) : 高可定制性的动画 Animatable
1. Animatable和animateDpAsState的区别是什么 Animatable是Android Compose动画的底层API,如果我们查看源码,可以发现animateDpAsState内部是调用的animateValueAsState,而animateValueAsState内部调用的是Animatable animateDpAsState比A…...
vue3组件传值
1.父向子传值 父组件 引入子组件 import Son from ./components/Son.vue 设置响应式数据 const num ref(99) 绑定到子组件 <Son :num"num"></Son> 子组件 引入defineProps import { defineProps } from vue; 生成实例接收数据 type设置接收类…...
小白开发微信小程序00--文章目录
一个小白,一个老牛,空手能不能套白羊,能不能白嫖?我告诉你,一切都so easy,这个系列从0到106,屌到上天,盖过任何一个,试问,网上讲微信小程序开发的,…...
知名高端网站建设企业/深圳网站优化排名
pygame 图像的基本使用笛卡尔坐标系实际效果代码代码说明碰撞原理方法说明载入图片surface对象和Rect对象Rect对象属性移动我们会用到各种图片。来通过碰撞滑稽(小球实验)来了解一下吧 笛卡尔坐标系 游戏离不开坐标,我们来康康pygame中坐标…...
牌具网站广告怎么做/暴疯团队seo课程
1. STM32 ADC 简介STM32 拥有 1~3 个 ADC(STM32F101/102 系列只有 1 个 ADC),这些 ADC 可以独立使用,也可以使用双重模式(提高采样率)。STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源…...
手机网站图片自适应代码/关键词优化排名
文章目录一、对《青春有你2》的参赛选手区域进行可视化分析二、爬《青春有你2》的参赛选手体重进行可视化分析一、对《青春有你2》的参赛选手区域进行可视化分析 """ 对《青春有你2》的参赛选手区域进行可视化分析 """ import matplotlib.pyplo…...
武汉做网站的大公司有哪些/seo公司是做什么的
Page({data: {product: {name: ,price: ,stock: 1,state: true},files: []},handleChangeStock({detail}) {this.setData({[product.stock]: detail.value})} });...
做网站类型/缅甸新闻最新消息
满意答案chowjack推荐于 2019.10.23采纳率:57% 等级:10已帮助:3269人1、意思是:在 xxx 之前 应输入表达式。2、下面为C语言的错误大全及中文解释:1: Ambiguous operators need parentheses — 不明确的运算需要用括…...
陕西省交通建设公司网站/华为手机业务最新消息
文章目录一、IOTService工具下载二、IOTService工具安装1.根据自己的电脑选择对应的安装包进行安装(x64对应64位系统,x86对应32位系统,如下64bit系统则选择x64安装包进行安装)2.NEXT3.NEXT4.NEXT5.等待安装6.Close7.IOTService安装…...