【计算机网络笔记】传输层——TCP特点与段结构

news2024/11/28 22:43:55

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议


  • 系列文章目录
  • TCP特点概述
  • TCP段结构


TCP特点概述

更具体的内容可以查看RFCs-793, 1122, 1323, 2018, 2581。

TCP的特点是:

  • TCP提供的是一种点对点的通信机制。所以只能有一个发送方,一个接收方。

  • 提供可靠的、按序的字节流传输机制。

  • 使用流水线机制。这里面窗口尺寸的设置比较复杂,并不是简单设置一个常数就可以了。而是基于流水线机制进行动态的调整。

  • 在发送方和接受方都有缓存(从缓存的角度来看,TCP像SR)。

  • TCP是面向连接的协议。所以:

    • 通信双方在发送数据之前必须建立连接;
    • 这种连接是端-端的,所以连接状态只在连接的两端中维护(比如我们的计算机和百度的服务器) ,在沿途节点中并不维护状态;
    • TCP连接包括:两台主机上的缓存、连接状态变量、socket 等。
  • TCP是全双工(full-duplex)。即同一连接中能够传输双向数据流。

  • 提供流量控制机制和拥塞控制机制


TCP段结构

在这里插入图片描述

在这里插入图片描述

  • 序列号和ACK序列号不是段的编号,而是利用数据的字节数来计数。
  • U选项代表紧急数据,一般不使用
  • A是标志位,来指示ACK number那个字段是否有效
  • P是PUSH,要求立刻把数据推送给上层,一般来说也不用
  • RST、SYN和FIN是用来进行连接的建立、拆除等等的标志位

TCP段中的序列号指的是段(segment)中第一个字节的编号,而不是segment的编号。比如把1K的字节的数据,拆成了两个段,那么第二个段的序列号不是2也不是1,一般是500或501,即这个段中第一个字节的编号。此外,建立TCP连接时,双方随机选择序列号。

ACK number里面是希望接收到的下一个字节的序列号。并且TCP当中的ACK使用累积确认的机制(从确认的角度来看,TCP像GBN)。累计确认是该序列号之前的所有字节均已被正确接收到。

TCP中并没有规定如何处理乱序到达的段,需要由TCP的实现者做决策。

比如下面这张图,使用telnet远程登录到主机B,主机A这边输入一个字符,主机B那边收到会回传:建立连接后,当用户输入C这个字符后,会产生一个TCP段,段的序列号为42,ACK number是79,这两个数字是建立连接时随机选择的,意味着期望收到的下一个字节的序列号是79,主机B回传这个字符,返回的段的序列号是79,ACK number是43,43是因为前一个段的编号是42,而且装了一个字符,即一个字节,所以下一个希望收到的段的编号是43,并且意味着43号之前的段都收到了。这时主机A再发送一个确认,但没有装数据。

在这里插入图片描述

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

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

相关文章

Springboot JSP项目如何以war、jar方式运行

文章目录 一,序二,样例代码1,代码结构2,完整代码备份 三,准备工作1. pom.xml 引入组件2. application.yml 指定jsp配置 四,war方式运行1. 修改pom.xml文件2. mvn执行打包 五,jar方式运行1. 修改…

深入了解汽车级功率MOSFET NVMFS2D3P04M8LT1G P沟道数据表

汽车级功率MOSFET是一种专门用于汽车电子领域的功率MOSFET。它具有高电压、高电流、高温、高可靠性等特点,能够满足汽车电子领域对功率器件的严格要求。汽车级功率MOSFET广泛应用于汽车电机驱动、泵电机控制、车身控制等方面,能够提高汽车电子系统的效率…

sqlserver字符串拼接

本文主要介绍了sqlserver字符串拼接的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。 1. 概 在SQL语句中经常需要进行字符串拼接,以sqlserver,oracle,mysql三种数据库为例&#…

Flink源码解析四之任务调度和负载均衡

源码概览 jobmanager scheduler:这部分与 Flink 的任务调度有关。 CoLocationConstraint:这是一个约束类,用于确保某些算子的不同子任务在同一个 TaskManager 上运行。这通常用于状态共享或算子链的情况。CoLocationGroup & CoLocationGroupImpl:这些与 CoLocationCon…

10月发布的5篇人工智能论文推荐

JudgeLM: Fine-tuned Large Language Models are Scalable Judges https://arxiv.org/pdf/2310.17631.pdf 由于现有基准和指标的限制,在开放式环境中评估大型语言模型(llm)是一项具有挑战性的任务。为了克服这一挑战,本文引入了微调llm作为可扩展“法官…

解决Couldn‘t find meta-data for provider with authority

今天在复用之前写的安装APK的相关代码时发生了报错&#xff0c;那是因为安卓高版本需要新增FileProvider 新增file_paths <?xml version"1.0" encoding"utf-8"?> <paths xmlns:android"http://schemas.android.com/apk/res/android"…

一文读懂以太坊坎昆升级后 Danksharding 扩容路线

以太坊 EIP-4844 是坎昆升级的核心内容&#xff0c;它引入了一种全新的交易类型&#xff08;blob 携带交易&#xff09;以减少以太坊交易费用。blob 携带交易与常规以太坊交易一样&#xff0c;但有一些额外数据被称为 blob。与当前 calldata 存储交易数据不可变和内存只读相比而…

wordpress如何存储远程附件到fss

管理员登录wordpress ,插件---安装插件--搜索"Hacklog Remote Attachment",进行安装并启用 . 设置中找到 Hacklog远程附件.点击进入选项设置. 按照下图填写fss相关参数.这些信息可以在fss详情中查看.目录路径如果没有请先在fss中创建. 4.设置完毕保存,接下来就…

佳易王桌球室台球厅计时计费电脑收费管理系统软件试用版V18.0下载

佳易王桌球室台球厅计时计费电脑收费管理系统软件试用版V18.0下载 一、佳易王桌球棋牌计时计费软件部分功能简介&#xff1a; 1、计时计费功能 &#xff1a;开台时间和所用的时长直观显示&#xff0c;每3秒即可刷新一次时间。 2、销售商品功能 &#xff1a;商品可以绑定桌子…

天天都能买买买,但双11不凑热闹我浑身难受

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 姝琦、卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 有人说满足情绪需求是消费主义的一个重要特征&#xff0c;甚至堪称商家的消费升级歪招。 是吗&…

SpringSecurity+JWT+Redis实现前后端分离认证与授权

spring security的简单原理&#xff1a; SpringSecurity有很多很多的拦截器&#xff0c;在执行流程里面主要有两个核心的拦截器 登陆验证拦截器AuthenticationProcessingFilter 资源管理拦截器AbstractSecurityInterceptor 但拦截器里面的实现需要一些组件来实现&#xff0c;…

Windows系统搭建网盘神器filebrowser结合内网穿透实现公网访问

Windows系统搭建网盘神器filebrowser结合内网穿透实现公网访问 文章目录 Windows系统搭建网盘神器filebrowser结合内网穿透实现公网访问前言1.下载安装File Browser2.启动访问File Browser3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3…

基于安卓Android的校园快药APP-药店app

项目介绍 本文介绍了校园快药APP软件开发建设的意义和国内外发展现状&#xff0c;然后详细描述了所开发手机APP的可行性分析&#xff0c;并分析了手机APP所要实现的功能。因为校园快药设施较多&#xff0c;而且人口密集&#xff0c;不能更好的管理校园快药&#xff0c;造成需要…

[C++ ]:5.类和对象中(运算符重载补充)+ 类和对象下(初始化列表)

类和对象中&#xff08;运算符重载补充&#xff09; 类和对象下&#xff08;初始化列表&#xff09; 一.运算符重载补充&#xff1a;1.流插入运算符&#xff1a;1.考虑到隐含的参数指针&#xff1a;2.进行优化&#xff01;2-1&#xff1a;解决办法&#xff1a;友元2-2&#xff…

Redis 分片集群

目录 ​编辑一、搭建分片集群 1、集群结构 ​编辑 2、准备实例和配置 3、启动 4、创建集群 二、散列插槽 三、集群伸缩 四、故障转移 1、自动故障转移 2、手动故障转移 五、RedisTemplate 访问分片集群 一、搭建分片集群 1、集群结构 主从和哨兵可以解决高可用、高…

01-SDV全域OS研发思考

背景 近年来&#xff0c;随着汽车“新四化”浪潮的兴起&#xff0c;软件定义已成为产业共识&#xff0c;将深度参与到整个汽车的定义、开发验证销售以及服务全过程。一方面确保软件可升级&#xff0c;跨车型、软件甚至跨车企软件重用。另一方面对于硬来讲&#xff0c;要做到可…

PlantSimulation安装帮助文档端口被占用的解决办法

PlantSimulation安装帮助文档端口被占用的解决办法 从PlantSimulaiton&#xff08;TPS&#xff09;2201开始帮助文档开始使用在线&#xff0c;如果使用本地则需要安装本地文档服务器。但是在安装过程中你可能会遇到&#xff0c;5000断开被占用的情况。解决办法如下&#xff1a…

UTONMOS:元宇宙顺势而上,重构数字化发展新形态

元宇宙&#xff08;Metaverse&#xff09;是一个虚拟的、且与现实世界平行的虚拟世界&#xff0c;由一系列相互关联的技术组成。在这个虚拟世界中&#xff0c;人们可以通过 VR、 AR等设备进入其中&#xff0c;与虚拟人物进行互动。 随着新一代信息技术的飞速发展&#xff0c;元…

将函数模板作为拷贝构造函数

目录 前言 一.认识pair 二.创建一个mypair对象 二.用mypair对象去初始化另一个mypair对象 三.全局的函数模版make_pair 四.map中的insert函数 五.验证 ​​​​​​​前言 当一个类的成员变量有自定义类型时&#xff0c;我们可以考虑将构造函数设为模板&#xff0c;这…

北斗卫星显身手,铁路作业人员安全防护再升级

北斗卫星显身手&#xff01;铁路作业人员安全防护再升级 在铁轨上忙碌的铁路作业人员&#xff0c;承载着运输与交通的重任&#xff0c;他们的辛勤付出为我们的生活提供了便利。然而&#xff0c;背后也隐藏着一系列的安全隐患和风险。为了确保铁路作业人员的安全&#xff0c;保障…