计算机网络复习-传输层

概念

  • 传输层是进程与进程之间的通信
  • 使用端口(Port)来标记不同的网络进程
  • 端口(Port)使用16比特位表示(0~65535)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

UDP协议详解

  • UDP:用户数据报协议
  • 数据报:应用层传输过来的一个完整的数据
  • 不合并,不拆分
    在这里插入图片描述

UDP的头部

在这里插入图片描述

UDP特点

  • UDP是无连接协议
  • UDP不能保证可靠的交付数据
  • "想发就发’,"无法保证数据在网络中是否丢失
  • UDP是面向报文传输的,不会对报文进行任何处理
  • UDP没有拥塞控制
  • UDP的首部开销很小

TCP协议详解

  • TCP:传输控制协议
    在这里插入图片描述

特点

  • TCP是面向连接的协议
  • TCP的一个连接有两端(点对点通信)
  • TCP提供可靠的传输服务
  • TCP协议提供全双工的通信
  • TCP是面向字节流的协议
    在这里插入图片描述

TCP头部

在这里插入图片描述

在这里插入图片描述

  • 序号:
    0~2^32-1
    一个字节一个序号
    数据首字节序号
    在这里插入图片描述
  • 确认号:
    0~2^32-1
    一个字节一个序号
    期望收到数据的首字节序号,也就是下一次收到的数据报的首字节序号
    确认号为N,则表示N-1序号的数据都已经收到
    在这里插入图片描述
  • 数据偏移
    -占4位:0~15,单位为:32位字
    -数据偏离首部的距离
    -TCP 头部的数据偏移/Data Offset 字段是一个 4位的字段,该字段表示 TCP 头部的长度。数据偏移的值是以 32 位(也就是 4 字节)为单位来计算的。也就是偏移1个单位就是4个字节大小
    在这里插入图片描述
  • TCP标记
    占6位,每位各有不同意义
    在这里插入图片描述
  • 窗口
    占16位:0~2^16-1
    窗口指明允许对方发送的数据量
    在这里插入图片描述
  • 紧急指针
    紧急数据:(URG=1)
    指定紧急数据在报文的位置

可靠传输的基本原理

停止等待协议

  • 发送的消息在路上丢失了
  • 确认的消息在路上丢失了
  • 确认的消息很久才到
  • 停止等待协议是最简单的可靠传输协议
  • 停止等待协议对信道的利用效率不高
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

超时定时器

  • 每发送一个消息,都需要设置一个定时器

连续ARQ协议

  • ARQ:自动重传请求
    在这里插入图片描述
  • 累计确认
    -只要收到某个消息的确认,就代表前面的都接受到了,往后移动窗口
    在这里插入图片描述

TCP协议的可靠传输

  • TCP的可靠传输基于连续ARQ协议
  • TCP的滑动窗口以字节为单位
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    因为从头开始传效率很低,就会引入选择重传

选择重传

  • 因为一般传输字节都是成百上千个字节来传输,丢失也是丢失一段的,所以选择重传一般是对一段字节来重传的。

TCP协议的流量控制

  • 流量控制指让发送方发送速率不要太快
  • 流量控制是使用滑动窗口来实现的
    在这里插入图片描述
  • 如果发送给发送方的窗口大小调整为1000的消息丢失,则双方都会一直等待发生死锁,所以引出坚持定时器

坚持定时器

  • 当接收到窗口为0的消息,则启动坚持定时器
  • 坚持定时器每隔一段时间发送方发送一个窗口探测报文,询问接收方是否发送了窗口消息

TCP协议的拥塞控制

  • 一条数据链路经过非常多的设备
  • 数据链路中各个部分都有可能成为网路传输的瓶颈
    在这里插入图片描述
  • 流量控制考虑点对点的通信量的控制,通过窗口来控制
  • 拥塞控制考虑整个网络,是全局性的考虑
  • 报文超时则认为是拥塞

慢启动算法

  • 由小到大逐渐增加发送数据量
  • 每收到一个报文确认,就加一
  • 增长到慢启动阈值就不会增加了
    在这里插入图片描述

拥塞避免算法

  • 维护一个拥塞窗口的变量
  • 只要网络不拥塞,就试探着拥塞窗口调大

TCP的三次握手

在这里插入图片描述

  • 为什么发送方要发出第三个确认报文呢?
    -已经失效的连接请求报文传送到对方,引起错误

在这里插入图片描述

TCP连接的4次挥手

在这里插入图片描述

在这里插入图片描述

等待计时器

在这里插入图片描述

2MSL

  • MSL:最长报文段寿命

  • MSL建议设置为2分钟

  • 为什么需要等待2MSL?
    -最后一个报文没有确认
    -确保发送方的ACK可以到达接收方
    -2MSL时间内没有收到,则接收方会重发
    -确保当前连接的所有报文都已经过期

套接字与套接字编程(socket)

  • 使用端口(Port)来标记不同的网络进程
  • 端口(Port)使用16比特位表示(0~65535)
    在这里插入图片描述
  • 套接字(Socket)是抽象概念,表示TCP连接的一端
  • 通过套接字可以进行数据发送或接收
    在这里插入图片描述
    在这里插入图片描述

网络套接字

在这里插入图片描述

域套接字

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【R语言篇】医学生福音,全球疾病负担数据库GBD 2021即将更新!!!

今天介绍即将于5月16日更新的全球疾病负担数据库GBD 2021,相信数据一经发表,过不了多久pubmed又将涌现一大波疾病负担相关文章。 Global Burden of Disease Study 2021 (GBD 2021) Data Resources | GHDx 在查找GBD相关文献方面,我个人还是比…

PS的文字点阵 文字边缘虚 为什么在Ps中打出来的字是带有锯齿状模糊的?

此方法主要针对低像素文字 关键部分 (4 封私信 / 80 条消息) 为什么在Ps中打出来的字是带有锯齿状模糊的? - 知乎 (zhihu.com)https://www.zhihu.com/question/54412515

【牛客】SQL211 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

1、描述 有一个薪水表salaries简况如下: 请你获取薪水第二多的员工的emp_no以及其对应的薪水salary, 若有多个员工的薪水为第二多的薪水,则将对应的员工的emp_no和salary全部输出,并按emp_no升序排序。 2、题目建表 drop table …

8个手机宝藏App,建议收藏!

AI故事视频生成,一站式生成小说漫画推文、儿童故事、民间故事等https://aitools.jurilu.com/ 1.地图车机版——百度地图 百度地图,作为新一代的人工智能地图,以其智能语音、智能导航系统、智能路线规划和智能推荐方案而著称。它不仅提供传统…

MATLAB模拟退火算法、遗传算法、蚁群算法、粒子群算法

概况 模拟退火算法、遗传算法、蚁群算法、粒子群算法等算法,都是属于概率算法,不绝对,不迅速,能用其它方式解决的问题,不要用这些相对复杂的算法,比如有明确的线性关系或者非线性对应关系。这里的概率算法…

IP跳变是什么,有什么作用?

IP跳变,简单来说,就是用户在使用网络时,不固定使用一个IP地址,而是定期或根据需求切换到另一个IP地址。这种技术为用户在网络环境中提供了一定的灵活性和安全性。 首先,我们来看看IP跳变的具体实现方式。当用户需要切…

CUDA-均值滤波算法

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 实现原理 均值滤波是一种常见的图像处理方法,用于去除图像中的噪声。其原理很简单:对图像中的每个像素&a…

高频电源模块TL22010-T2整流模块TL22010-T3用途

直流屏充电模块TL22010-T2电源模块TL22010-T3,整流模块TL11010-T3,其他TL系列型号有:TL11020-T3,TL11010-T2,TL11020-T2,TL22010-T,TL-22010-T,TL-11010-T,TL-22005-T&am…

排序-选择排序(selection sort)

选择排序(selection sort)的工作原理非常简单:开启一个循环,每轮从未排序区间选择最小的元素,将其放到已排序区间的末尾。选择排序的主要特点包括: 时间复杂度: 无论最好、最坏还是平均情况&…

【图像增强(空域)】基于灰度变换的图像增强及Matlab仿真

1. 摘要: 空域内的图像增强就是调整灰度图像的明暗对比度,对图像中各个像素的灰度值直接进行处理。常用的方法包括:灰度变换增强和直方图增强。 2. 原理: 灰度变换增强是空域ne对图像进行增强的一种简单且直接的方法。灰度变换…

26版SPSS操作教程(高级教程第二十章)

目录 前言 粉丝及官方意见说明 第二十章一些学习笔记 第二十章一些操作方法 神经网络与支持向量机 人工神经网络(artificial neural network,ANN) 假设数据 具体操作 结果解释 对案例的进一步分析 结果解释 ​编辑 尝试将模型复…

Pikachu 靶场 XXE 通关解析

前言 Pikachu靶场是一种常见的网络安全训练平台,用于模拟真实世界中的网络攻击和防御场景。它提供了一系列的实验室环境,供安全专业人士、学生和爱好者练习和测试他们的技能。 Pikachu靶场的目的是帮助用户了解和掌握网络攻击的原理和技术,…

软件测评中心详细介绍

软件产品已成为企业和个人工作中不可或缺的一部分。然而,面对市场上琳琅满目的软件产品,用户如何判断其质量、性能及是否满足自身需求呢?这时,软件测评中心的作用就显得尤为重要。本文将详细介绍软件测评中心的定义、功能及其重要…

【全开源】商会招商项目系统基于FastAdmin+ThinkPHP+Uniapp(源码搭建/上线/运营/售后/维护更新)

一款基于FastAdminThinkPHPUniapp开发的商会招商项目系统,是一个集PC和移动端功能于一体的解决方案,线上线下进行服务,围绕 活动报名、在线课程、项目大厅、线下签到、会员系统等。为商会提供了更加便捷高效的管理方式,提升了商会…

令牌桶算法:如何优雅地处理突发流量?

令牌桶算法的介绍 在网络流量控制和请求限流中,令牌桶算法是一种常用的策略。那么,令牌桶算法到底是什么呢?它的工作原理又是怎样的呢?让我们一起来探索一下。 令牌桶算法,顾名思义,就是有一个存放令牌的…

【Redis】Redis数据类型

目录 Redis五种数据类型 String字符串类型 字符串中最常使用的命令 List列表类型 List命令 Set与Zset集合类型 Redis五种数据类型 String字符串类型 有效的字符串类型不仅可以是字符,还可以是数字,以上都是有效的字符串类型。 String最大容量为51…

革新中小学食堂体验:智能消费管理系统方案

背景挑战 中小学校园的食堂总是一幅熙熙攘攘的景象。每到用餐高峰期,不仅排队时间漫长,而且维护良好的就餐秩序也成为了一项挑战。针对这些问题,优化学校食堂的管理并提升师生的就餐体验显得尤为迫切。 痛点与需求分析 在现有的食堂管理模…

python微信小程序 uniapp高校打印店预约服务系统

本系统是针对校园自助打印开发的工作管理系统,包括到所有的工作内容。可以使自助打印的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和用户、店长三个身份。管理员可以管理系统里的所有信息。店长…

Colab微调LLaMA3模型(大模型的微调)

Colab微调LLaMA3模型 1.使用的数据集 在hugging face上搜索 kigner/ruozhiba-llama3 使用的是弱智吧的数据 2.打开Colab 选择Gpu版本T2就可以了,然后下载unsloth这个微调框架,使用该框架的主要原因在于对硬件要求比较低。 在安装这个前先看一下本文…

Python 运筹优化12 eps greedy 解读

说明 Epsilon-Greedy(ε-Greedy)是一种用于解决多臂LH机问题(Multi-Armed Bandit Problem)的策略,通常在强化学习中使用。在多臂LH机问题中,有多个选项(臂),每个选项都有…