计网复习知识(16)传输层及其协议功能

目录

考研大纲

1.传输层概述

端口号

有连接/无连接传输

可靠/不可靠传输

2.UDP协议

2.1 udp数据报

2.2 udp检验

3.TCP协议

3.1 TCP协议的框架梳理

3.2 TCP报文段****

3.3 三次握手与四次挥手

三次握手

四次挥手

3.4 可靠传输与流量控制

流量控制:滑动窗口机制

可靠传输:确认机制,超时重传与快重传机制

3.5 拥塞控制

拥塞控制介绍

慢开始和拥塞避免算法

快重传与快恢复算法


考研大纲

1.传输层概述

端口号

有连接/无连接传输

可靠/不可靠传输


2.UDP协议

UDP是无连接,不可靠的,不支持拥塞控制,适用于即时性的场景,如直播等

UDP接收的是应用层完整的报文,因此说udp是面向报文的

2.1 udp数据报

UDP数据报理论最大长度为65535B,但受限于IP数据报的长度,所以实际上最大不能超过65515B

UDP数据报示例

总结


2.2 udp检验

首先介绍一个校验方法。发送方取每16bit数据的二进制进行相加(注意“高位回卷”),加完的结果取反,得到同样二进制数的16bit检验和。把原数据和检验和一起发送。那么接收方判断数据是否正确就是同样进行原数据每16bit相加,最后和校验和相加,如果全为1代表正确。

介绍完上面的校验方式,那么就来看看udp校验,其实也是这样的方式。

发送方:

接收方:

真题:


3.TCP协议

3.1 TCP协议的框架梳理

三次握手四次挥手的整体流程

TCP有最大段长限制,同时TCP可以分段,而不像UDP要求传输完整报文,因此TCP也称面向字节流

3.2 TCP报文段****

都是重点

ACK只有在握手阶段的第一次握手为0,之后的全为1.

起始序号不一定从0开始,如下图,可以从500开始

确认号ack-seq:按照教材定义,表示期望接收的下一个序列号是多少

确认后示例,如下图,当接收方已经成功接受了1号和2号这2个报文段,那么他可以返回的ack-seq = 2500,表示2500之前的字节都成功接收了,期望接收的下一个序列号从2500开始

数据偏移:其实就是TCP首部的长度;跟IP数据报的首部是一样的,回忆一下,418:首总偏,ip数据报的首部也是X 4B。

SYN只有在握手1和握手2时 == 1,表示请求连接和连接接受

FIN只有在挥手1和挥手3时 == 1,表示数据发送完毕,要求释放连接

示例

窗口字段

示例,例如主机B的TCP协议给进程2分配的接收缓冲区为2500B,现在他已经接收了1和2这两个报文段了,剩500B,那么返回的rcvwnd=500

校验和字段

选项字段和MSS


3.3 三次握手与四次挥手

三次握手

三次握手中的字段变化

注意下边左右连接的区别,主要是在握手3,握手3是可以不携带数据的

真题,题目求的是握手2服务端要发送的TCP段的值,SYN =1在握手1和2中,所以这里是SYN =1;ACK只在握手1里为0,所以这里ACK = 1;seq是服务器自己设置要发送的起始字节,随便都可以的,这里不能用来判断;ack = 11220+1=11221,这里能确定。所以选c

三次握手中TCP状态变化

三次握手中连接耗时


四次挥手

字段的变化

tcp状态变化

连接耗时计算

真题,就是上图算连接耗时,客户端进入close的时间= 1倍RTT + 2MSL = 50 + 1600 =1650,服务器进入close的时间 = 1.5倍RTT = 75。


3.4 可靠传输与流量控制

可靠传输在数据链路层也有,二者有很多相似之处。数据链路层是以帧为单位进行重传确认,而TCP是以TCP段进行重传确认。流量控制同样在数据链路层也有,也是滑动窗口机制。

流量控制:滑动窗口机制

确认号与接收窗口的大小会在TCP首部中。

发送窗口不能超过自己的发送缓冲区;也不能大于对方的接受窗口。

扩展:一个端口可以建立多个TCP连接


可靠传输:确认机制,超时重传与快重传机制

可靠传输依靠确认机制和重传机制实现,确认机制就是接收方返回ACK段。重传机制有超时重传与快重传,这二者的差别在于接收方是返回确认ACK段的时机,因为确认机制返回ACK的时机是“推迟确认”,快重传会让确认机制变为“立即确认”。

累计确认

捎带确认

超时重传场景:

情况1:客户端发出的报文段丢失

情况2:服务器返回的ACK段丢失

快重传机制

下面是推迟确认下的重传的场景,当发送方连续发送的4个报文段中有报文段丢了,那么由于推迟确认,最后发送方要重发一堆的报文段,这会导致浪费,毕竟只是丢失了其中某个报文段,没必要重传一堆报文段。

推迟后发送一个ACK如下

发送方接收到ACK后调整自己的窗口,可以看到23,24,25已经在之前发送了而且他们的计时器还没超时,所以这时候是得等待超时才能重发的。

而快重传就是来解决这种问题,每收到一个报文段就立即返回确认。如果发送方收到三个冗余确认号相同的ACK,就立即重传对应的报文段。按照图示,应当是收到1+3个确认后相同的ACK。

真题


3.5 拥塞控制

拥塞控制介绍

考题中假设接收方采用的确认机制都是“立即确认”。

引发超时重传--因为默认考题中的接收方采用的是“立即确认”,那么发出的报文未能按时收到ACK就表明网络拥塞严重了。

引发快重传--接收方“立即确认”能够按时发送冗余ACK给发送方,说明发送方有报文丢失,但网络情况没那么严重,因为发送方还能按时收到多个冗余ACK触发快重传。

上图中发送窗口的上限制 看做等于 拥塞窗口,也就是默认接收窗口一直大于拥塞窗口的情况。

慢开始和拥塞避免算法

按照上图和下图理解,很透彻。

慢开始阶段拥塞窗口(即发送窗口)是指数型增长,当到达阈值后每次只能+1。当发生超时重传(网络拥塞严重)就恢复慢开始(拥塞窗口重置为1,同时将阈值设为 此前的窗口值/2)。如此反复。

真题

注意:发送窗口 = min(拥塞窗口,接收窗口),题目中的乙的16KB接收缓存就是接收窗口,不被取走意味着接收窗口只会越来越小。


快重传与快恢复算法

我们说快重传是网络不那么拥塞的情况。快重传触发时阈值与拥塞窗口相等,等于发生时的拥塞窗口的一半,因此同样触发了拥塞避免(一次只能加1个拥塞窗口)。注意:拥塞窗口最小要大于等于2。

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

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

相关文章

每天一个前端小知识 Day 1

语义化 HTML&#xff08;Semantic HTML&#xff09; 1. 什么是语义化 HTML&#xff1f; 语义化 HTML 指的是使用符合内容含义的标签&#xff0c;而不仅仅为了布局或样式。例如&#xff1a; <article>…</article> <nav>…</nav> <header>…&l…

在docker中部署mysql

部署 MySQL&#xff08;端口 9006&#xff09; 1. 创建数据目录 mkdir -p ~/qihuang/mysql/data2. 启动 MySQL 容器 docker run -d \--name mysql-qihuang \-p 9006:3306 \-v ~/qihuang/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORDroot \-e MYSQL_DATABASEqihuangdb…

JavaScript基础-事件对象

一、前言 在前端开发中&#xff0c;用户与页面的交互行为&#xff08;如点击按钮、输入文本、滚动页面等&#xff09;都会触发相应的事件。而这些事件发生时&#xff0c;浏览器会自动创建一个 事件对象&#xff08;Event Object&#xff09;&#xff0c;它包含了当前事件的所有…

蓝桥杯_染色_bfs_Java

临时抱抱佛脚&#xff0c;太浮躁了&#xff0c;蓝桥杯已经快1个半月没做题了。 本人比较菜&#xff0c;感觉这个时间节点也只能把暴力题给尽量多做做&#xff0c;找找做题手感&#xff0c;其他就纯凭运气了吧。T-T。 题目 问题描述 小蓝有一个 n 行 m 列的白色棋盘, 棋盘的每一…

MySQL 究极奥义·动态乾坤大挪移·无敌行列转换术

导入大SQL文件 [mysqld] # 大批量导入优化 bulk_insert_buffer_size1G max_allowed_packet1G innodb_autoextend_increment512M innodb_buffer_pool_size4G innodb_log_buffer_size4G innodb_log_file_size4G动态行列转换 DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_sco…

Excel大厂自动化报表实战(互联网金融-数据分析周报制作中)

这是Excel大厂自动化报表实战第三期--互联网金融-数据分析周报制作中 数据资源已经与这篇博客捆绑&#xff0c;有需要者可以下载通过网盘分享的文件&#xff1a;2.4自动化报表-8月成交数据.xlsx&#xff0c;2.4自动化报表-8月获客数据.csv等2个文件 链接: https://pan.baidu.c…

langchain从入门到精通(七)——利用回调功能调试链应用 - 让过程更透明

1. Callback 功能介绍 Callback 是 LangChain 提供的回调机制&#xff0c;允许我们在 LLM 应用程序的各个阶段使用 hook &#xff08;钩子&#xff09;。钩子的含义也非常简单&#xff0c;我们把应用程序看成一个一个的处理逻辑&#xff0c;从开始到结束&#xff0c;钩子就是在…

如何使用Postman做接口自动化测试

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 本文适合已经掌握 Postman 基本用法的读者&#xff0c;即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求等基本操作。 工作环境与版本&#xff1a; …

ELK日志文件分析系统——E(Elasticsearch)

目录 基本概念 一、架构设计 二、核心原理 三、关键特性 四、应用意义 部署步骤 ‌一、环境准备‌ ‌二、安装 Elasticsearch‌ ‌三、关键配置&#xff08;elasticsearch.yml&#xff09;‌ ‌四、启动与验证‌ ‌五、集群扩展&#xff08;新增节点&#xff09;‌ …

融智学教育观及其数学公式体系凝练汇总

摘要&#xff1a;本文系统阐述了邹晓辉教授的融智学教育观&#xff0c;通过原创数学公式体系构建了人机协同教育模型。核心内容包括&#xff1a;认知本体论&#xff08;文明智慧当量方程&#xff09;、方法论&#xff08;七遍通训练算子&#xff09;、生态位控制论&#xff08;…

互联网大厂Java求职面试:AI大模型应用实践中的架构挑战与实战

互联网大厂Java求职面试&#xff1a;AI大模型应用实践中的架构挑战与实战 引言 在当今技术飞速发展的时代&#xff0c;AI大模型已成为企业数字化转型的重要引擎。无论是内容生成、智能客服、个性化推荐&#xff0c;还是知识图谱构建和语义理解&#xff0c;大模型的应用场景正在…

龟兔赛跑算法(Floyd‘s Cycle-Finding Algorithm)寻找重复数

龟兔赛跑算法&#xff08;Floyd’s Cycle-Finding Algorithm&#xff09;寻找重复数 问题描述 给定一个长度为 N1 的数组 nums&#xff0c;其中每个元素的值都在 [1, N] 范围内。根据鸽巢原理&#xff0c;至少有一个数字是重复的。请找出这个重复的数字。 要求&#xff1a; …

紫光展锐T8300以创新音频技术重塑感知世界

数字化时代&#xff0c;从语音通话到智能交互&#xff0c;从聆听音乐到创作Vlog&#xff0c;声音已成为隐形的基础措施。日益发展的音频技术正在重构用户感知世界的方式&#xff0c;重塑用户的听觉体验。 T8300是紫光展锐专为全球主流用户打造的5G SoC&#xff0c;采用了紫光展…

写作词汇积累(A):颇有微词、微妙(“微”字的学习理解)

一、颇有微词 1、基本介绍 【颇有微词】指对某人或某事有轻微的批评、不满或不同意见&#xff0c;但表达得含蓄委婉 【颇】表示程度较深&#xff0c;【微词】表示隐晦的批评 【微】表示隐晦的、不直白的&#xff0c;强调批评的委婉性 2、使用实例 1、尽管公司的新考勤制度…

flowable工作流的学习demo

1.spring 部署流程 删除部署 查看历史信息 加载一个默认的配置文件 里面包含用户名和数据库信息 加载自定义的配置文件 flowable.cfg.xml <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance…

XCTF-misc-can_has_stdio?

下载得到一个文件 ┌──(kali㉿kali)-[~] └─$ file misc50 misc50: ASCII text, with very long lines (536)┌──(kali㉿kali)-[~] └─$ cat misc50 …

【编译工具】(自动化)AI 赋能的自动化测试工具:如何让测试效率提升 500% 并实现智能质检?

#『编程工具』提升效率征文挑战赛# 目录 引言&#xff1a;AI 如何重塑自动化测试格局 一、新一代 AI 测试工具核心能力解析 二、实战演示&#xff1a;Testim 智能测试平台 &#xff08;1&#xff09;智能录制测试流程 ① 步骤演示 ② AI 元素定位原理 &#xff08…

毛纪逆向分析

文章目录 毛纪逆向分析前言知识系统整体架构概述模块分析模块0模块1模块2模块3模块4模块5总结毛纪逆向分析 对爬虫、逆向感兴趣的同学可以查看文章,一对一小班教学(系统理论和实战教程)、提供接单兼职渠道:https://blog.csdn.net/weixin_35770067/article/details/142514698…

【力扣 简单 C】141. 环形链表

目录 题目 解法一&#xff1a;哈希 解法二&#xff1a;快慢指针 题目 解法一&#xff1a;哈希 struct node {struct ListNode* val;struct node* next; };struct hashSet {struct node** bucket;int size; };struct hashSet* hashSetInit(int size) {struct hashSet* hashS…

Eureka 服务注册与发现原理和使用

1.Eureka 基础概念 Eureka 是 Netflix 开发的服务注册与发现组件&#xff0c;是 Spring Cloud 微服务架构中的核心模块&#xff0c;用于解决微服务间的自动发现与通信问题。其核心功能包括&#xff1a; 服务注册&#xff1a;服务实例将自身信息&#xff08;IP、端口、健康状态等…