计算机网络 —— 一文搞懂TCP/UDP

传输层:TCP/UDP

    • 1. TCP
      • 1.1 TCP连接管理
      • 1.2 TCP首部格式
    • 2. UDP
      • UDP首部格式
    • 3. 其他传输层协议
      • 3.1 SCTP
      • 3.2 DCCP

传输层实现源端主机和目标端主机上对等实体间会话,TCP/IP中两个代表性的传输层协议分别是TCPUDP,两者均使用端口来标识传输数据对应的应用程序。

通常使用源IP、目的IP、源端口、目的端口、协议号5个信息来标识一个通信。

1. TCP

TCP(Tranmission Control Protocol) 是面向连接的可靠的流协议,实行“顺序控制”或“重发控制”机制,还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。

1.1 TCP连接管理

  • 建立一个TCP连接需要发送3个包,称作“三次握手”
  • 断开一个TCP连接需要发送4个包,称作“四次握手”

在这里插入图片描述

1.2 TCP首部格式

在这里插入图片描述

  • 源端口号(Source Port):发送端端口号,16位。
  • 目标端口号(Destination Port):接收端端口号,16位。
  • 序列号(Sequence Number):指发送数据的位置,每发送一次数据,就累加一次该数据字节数的大小,32 位。序列号在建立连接时由计算机生成的随机数作为其初始值,通过SYN包传给接收端主机。再将每转发过去的字节数累加到初始值上表示数据的位置。
  • 确认应答号(Acknowledgement Number):指下一次应该收到的数据的序列号,实际上是指已收到确认应答号减一为止的数据,发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常接收,32位。
  • 数据偏移(Data Offset):表示TCP所传输的数据部分应该从TCP包的哪个位开始计算,也可看作TCP首部的长度,4位。
  • 保留(Reserved):扩展时使用,4位,一般设置为0。
  • 控制位(Control Flag):8位,每一位从左至右分别为CWR(Congestion Window Reduced)、ECE(ECN-Echo)、URG(Urgent Flag)、ACK(Acknowledgement Flag)、PSH(Push Flag)、 RST(Reset Flag)、SYN(Synchronize Flag)、FIN(Fin Flag)。

在这里插入图片描述

  • 窗口大小(Window Size):用于通知从相同TCP首部的确认应答号所指位置开始能够接收的数据大小,16位。TCP不允许发送超过此处所示大小的数据。
  • 校验和(Checksum):用于校验和计算TCP的伪首部。接收端在收到TCP数据段以后,从IP首部获取IP地址信息构造TCP伪首部,再进行校验和计算。由于校验和字段里保存着除本字段以外其他部分的和的补码值,因此算校验和字段在内的所有数据的16位和以后,得出的结果是“16位全部为1”说明所收到的数据是正确的。
    在这里插入图片描述
  • 紧急指针(Urgent Pointer):表示本报文段中紧急数据的指针,16 位,只有在URG控制位为1时有效。
    - 选项(Options):用于提高TCP的传输性能,长度可变。由于根据数据偏移(首部长度)进行控制,因此其长度最大为40字节。

2. UDP

UDP (User Datagram Protocol)提供面向无连接的通信服务,是不具有可靠性的数据报协议,不能保证消息一定会到达。传输细节处理由上层应用完成,因此,应用会根据自己的需要进行重发处理。

由于 UDP面向无连接,它可以随时发送数据,主要用于那些对高速传输和实时性有较高要求的场景:

  • 包总量较少的通信(DNS、SNMP等)
  • 视频、音频等多媒体通信(即时通信)
  • 限定于 LAN 等特定网络中的应用通信
  • 广播通信(广播、多播)

UDP首部格式

在这里插入图片描述

  • 源端口号(Source Port):发送端端口号,16位。该字段是可选项,有时可能不会设置源端口号,无源端口号时该字段的值设置为0,可用于不需要返回的通信中▼。
  • 目标端口号(Destination Port):接收端端口号,16位。
  • 包长度(Length):保存UDP首部的长度跟数据的长度之和。
  • 校验和(Checksum):为提供可靠的UDP首部和数据而设计。接收主机在收到UDP数据报以后,从IP首部获知IP地址信息构造UDP 伪首部,再进行校验和计算。校验和字段的值是校验和字段以外剩下部分的1的补码和。因此,包括校验和字段在内的所有数据之和结果为“16位全部为1”时,会被认为所收到的数据是正确的。另外,UDP中也有可能不用校验和。此时,校验和字段中填入0。

在这里插入图片描述

3. 其他传输层协议

3.1 SCTP

SCTP(Stream Control Transmission Protocol,流控制传输协议)与TCP一样,都是对一种提供数据到达与否相关可靠性检查的传输层协议。

主要特点:

  • 以消息为单位收发
  • 支持多重宿主
  • 支持多数据流通信
  • 可定义消息的生存期限

SCTP主要用于进行通信的应用之间发送众多较小消息的情况。这些较小的应用消息被称作数据块(Chunk),多个数据块组成一个数据包。

主要应用场景:

  • 电话信令方面:SCTP可以提供更加可靠的信令传输服务,适用于无线网络中的信令传输。
  • 流媒体传输方面,SCTP能够支持多流传输,可以提供更好的数据传输质量。

3.2 DCCP

DCCP(Datagram Congestion Control Protocol,数据报拥塞控制协议)是一个辅助 UDP 的传输层协议。UDP没有拥塞控制机制,当应用使用 UDP发送大量数据包时极容易出现问题,于是出现了DCCP。

主要特点:

  • 无法提供发送数据的可靠性传输。
  • 面向连接,具备建立连接与断开连接的处理。在建立和断开连接上是具有可靠性。
  • 能够根据网络拥堵情况进行拥塞控制。使用DCCP(RFC4340)应用可以根据自身特点选择两种方法进行拥塞控制,分别是“类似TCP(TCP- Like) 拥塞控制”和“TCP友好升级控制”(TCP-Friendly Rate Control)。
  • 为了进行拥塞控制,接收端收到包以后返回确认应答(ACK)。该确认应答将被用于重发与否的判断。

DCCP可用于实时应用,如视频会议,聊天,电子游戏等。

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

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

相关文章

商品搬家到抖店

使用的工具为 张飞搬家,登录上去 张飞搬家 1 复制商品的网址 商品链接复制过去后,点击下面的开始批量复制 2 检查修改商品信息 价格啊、图片啊、各种商品属性啊,检查下,不合适的修改和补充 3 开始搬家 4 查看商品 打开抖店后…

LogicFlow 学习笔记——1. 初步使用 LogicFlow

什么是 LogicFlow LogicFlow 是一个开源的前端流程图编辑器和工作流引擎,旨在帮助开发者和业务人员在网页端创建、编辑和管理复杂的业务流程和工作流。它提供了一个直观的界面和强大的功能,使得设计和管理工作流变得更加高效和便捷。 官网地址&#xff…

计算机网络:网络层 - IP数据报的转发

计算机网络:网络层 - IP数据报的转发 基于终点转发最长前缀匹配二叉线索树路由表特殊路由特定主机路由默认路由 IP多播 基于终点转发 路由器转发报文时,是通过报文中的目的地址字段来转发的,也即是说路由器只知道终点的IP地址,根…

GiantPandaCV | 提升分类模型acc(三):优化调参

本文来源公众号“GiantPandaCV”,仅用于学术分享,侵权删,干货满满。 原文链接:提升分类模型acc(三):优化调参 一、前言 这是本系列的第三篇文章,前两篇GiantPandaCV | 提升分类模型acc(一):B…

微服务feign组件学习

手写不易,对您有帮助。麻烦一键三连。也欢饮各位大料指正,交流。 微服务feign组件学习 1.概念1.1 feign 概念1.2 Ribbon概念 2.使用2.1 集成feign2.1.1 maven依赖2.1.2 项目结构 2.2 使用2.2.1 定义feign接口2.2.2 消费端服务调用2.2.3 消费端扫描feig…

单通道电容感应芯片XW01T用于水位检测、人体感应

概述 XW01T SOT23-6封装和丝印 XW01T 是一个单通道电容感应芯片,广泛应用于水位检测,人体感应等应用场合。 特点 做非接触式液位检测和长按功能检测 自动环境校准 内置按键消抖,无需软件再消抖 嵌入共模干扰去除电路 每秒按键反应速度可达 20 次 上电立刻判断按键有效状态 按…

【C++11】第一部分(一万六千多字)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 C11简介 统一的列表初始化 {}初始化 std::initializer_list 声明 auto decltype 右值引用和移动语义 左值引用和右值引用 左值引…

Docker|了解容器镜像层(2)

引言 容器非常神奇。它们允许简单的进程表现得像虚拟机。在这种优雅的底层是一组模式和实践,最终使一切运作起来。在设计的根本是层。层是存储和分发容器化文件系统内容的基本方式。这种设计既出人意料地简单,同时又非常强大。在今天的帖子[1]中&#xf…

基于mybatis plus增加较复杂自定义查询以及分页

基于java技术,spring-boot和mybatis-plus搭建后台框架是现在非常流行的技术。 其中关于多表关联查询的实现相对比较复杂,在这里进行记录以供开发人员参考。 以一个系统中实际的实体类为查询为例, T3dMaterial实体其中的fileType属性及字段…

java安装并配置环境

安装前请确保本机没有java的残留,否则将会安装报错 1.安装java jdk:安装路径Java Downloads | Oracle 中国 百度网盘链接:https://pan.baidu.com/s/11-3f2QEquIG3JYw4syklmQ 提取码:518e 2.双击 按照流程直接点击下一步&#x…

618:带货短剧,阿里VS拼多多的新战场

霸道总裁爱上我、穿越回古代成为后宫之主...让人上头的短剧今年持续升温,成为不少人的“电子榨菜”。 今年618,短剧又变身火热的主角,成为各大平台和品牌的新战场。 淘宝早在“逛逛”板块的二级页面,增加了名为“剧场”的板块&a…

机器学习实验------PCA

目录 一、介绍 二、算法流程 (1)数据中心化 (2)计算协方差矩阵 (3)特征值分解 (4)选择特征 三、运行结果展示 四、实验中遇到的问题 五、PCA的优缺点 优点: 缺点…

联想正式发布全栈算力基础设施新品,加速筑基AI 2.0时代

6月14日,以“异构智算 稳定高效”为主题的联想算力基础设施新品发布会在北京成功举办。 据「TMT星球」了解,在与会嘉宾和合作伙伴的见证下,联想正式发布率先搭载英特尔至强 6能效核处理器的联想问天WR5220 G5、联想ThinkSystem SR630 V4、联…

前端传递bool型后端用int收不到

文章目录 背景模拟错误点解决方法 背景 我前几天遇到一个低级错误,就是我前端发一个请求,把参数送到后端,但是我参数里面无意间传的布尔型(刚开始一直没注意到,因为当时参数有十几个),但是我后…

“土猪拱白菜” 的学霸张锡峰,如今也苦于卷后端

大家好,我是程序员鱼皮,前几天在网上刷到了一个视频,是对几年前高考励志演讲的学霸张锡峰的采访。 不知道大家有没有看过他的演讲视频。在演讲中,衡水中学的学霸张锡峰表达了城乡孩子差距大、穷人家的孩子只想要努力成为父母的骄…

[C#]使用C#部署yolov10的目标检测tensorrt模型

【测试通过环境】 win10 x64vs2019 cuda11.7cudnn8.8.0 TensorRT-8.6.1.6 opencvsharp4.9.0 .NET Framework4.7.2 NVIDIA GeForce RTX 2070 Super cuda和tensorrt版本和上述环境版本不一样的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:T…

博客论坛系统java博客管理系统基于springboot+vue的前后端分离博客论坛系统

文章目录 博客论坛系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 博客论坛系统 一、项目演示 博客论坛系统 二、项目介绍 基于springbootvue的前后端分离博客论坛系统 系统角色&#xff1a…

【Qt】QT textBrowser 设置字体颜色和大小

1. 效果 2. 代码 {ui->methodText->append("<font size9 colorgreen> dddddddddd </font>");ui->methodText->append("<font size9 colorred> vvvvvvvvvv </font>"); }

局域网监控软件有哪些:五款好用的网络监控神器分享(收藏篇)

在日益复杂的企业网络环境中&#xff0c;有效地监控局域网内的活动对于确保网络安全、提高工作效率和维护企业资产至关重要。 为此&#xff0c;精选了五款市场上广受好评的局域网监控软件&#xff0c;它们各自具备独特的功能和优势&#xff0c;能够满足不同规模企业的需求&…

【七合一】字典词典成语古诗词造句英语单词文库

帝国CMS7.5 UTF-8 系统开源&#xff0c;不限域名 采用静态伪静态&#xff08;会缓存静态文件&#xff09; 一款7合一的字词句诗典籍模板&#xff0c;包含字典、词典、成语、名句、诗词、古籍、英语、作文、等等。是一款养站神器。 作文范文,作文范文可生成word文档下载能自由…