网络原理---拿捏传输层:TCP/UDP协议

news/2024/5/18 12:59:38 标签: 网络, tcp/ip, udp

文章目录

  • UDP协议
    • 源端口、目的端口
    • UDP长度
    • 校验和
  • TCP协议
    • 源端口、目的端口
    • 4位首部长度、选项
    • 保留位:6位
    • 6个特殊标志位
    • 32位序号、32位确认序号:在确认应答机制中使用
    • 16位窗口大小:在流量控制机制中使用
    • 16位校验和
  • TCP协议 VS UDP协议

在本篇中会涉及到TCP实现的十大机制,为了避免与此篇内容混淆让大家的思维混乱,特地总结成专门的一篇。建议大家在阅读的时候,两篇结合起来看。 点此浏览:教你轻松掌握TCP十大机制

UDP协议

学习协议,很大程度上来说就是学习协议的报文格式。我们下面就来看一下UDP协议的报文格式:
在这里插入图片描述
在这里插入图片描述

说明:上面的两张图片都是在描述UDP的报文格式,图片2只是将图片1的每一行平铺罢了。下面介绍时,两张图片可能会交叉使用。

源端口、目的端口

传输层做的工作就是描述端到端的传输,源端口和目的端口就指明了传输的双方是谁。

端口号用2个字节来存储,表示它的范围在0-65535之间。
其中1-1023端口又称为“知名端口”,是被知名的程序使用的。

UDP长度

UDP长度也是用2个字节来存储,表示它的范围在0-65535之间,也就是64k。

64k算长呢? 还是算短呢?
对于当今来说,是算短的。因此,在使用UDP传输一个比较大的数据报的时候,就需要进行拆包。即:把一个大的数据报拆分成几个小的数据报,传输的时候传输这些小的数据报。

校验和

校验和:作用是为了检查数据是否出错了。保证接收方知道接收到的数据是正确的还是错误的。

因为,网络环境是非常复杂的,在数据传输的过程中容易受到一些干扰,就有可能使数据出错。比如:强电场、强磁场等

UDP的校验通常使用CRC算法(循环冗余算法)
CRC算法:把UDP报头中的每个字节都进行累加,得到的和也放到2个字节的空间中存储起来。如果溢出,就舍弃溢出部分。这个“和”就是校验和。当接收方收到数据的时候,也把UDP报头中的每个字节累加,把累加结果与校验和比对,就能知道数据是正确的还是错误的。

TCP协议

在这里插入图片描述

源端口、目的端口

和UDP一样,源端口和目的端口指明了传输的双方是谁。

4位首部长度、选项

4位首部长度:用来描述TCP报头的长度。
4个比特位能表示0-15,但是这里的单位是“4字节”,所以总共能表示0-60字节的大小。

选项:可有可无,在“有”的时候可以是一个也可以是多个。
因此,4位首部长度中存储的字节长度是可以变化的。

保留位:6位

保留位:作用是现在虽然没有使用但是先占个位置,等到将来有用处时可以直接使用。

防止以后想要使用时没有位置。

6个特殊标志位

ack:在确认应答机制中使用。
syn:在连接管理机制中建立连接时使用
fin:在连接管理机制中断开连接时使用
rst:在接收方断电时使用

32位序号、32位确认序号:在确认应答机制中使用

16位窗口大小:在流量控制机制中使用

16位校验和

和UDP的校验和一样,作用是为了检查数据是否出错了。保证接收方知道接收到的数据是正确的还是错误的。

TCP协议 VS UDP协议

在这里插入图片描述


http://www.niftyadmin.cn/n/5160997.html

相关文章

容联七陌携手岚时科技,解决医美机构回访3大痛点

近日,岚时科技研发中心联合容联七陌发布了全新的智能呼叫中心系统,5大功能模块解决了医美机构回访过程中的3大难题:客户资产保全困难、客户回访技术被卡脖子、回访人员(客服、咨询)效率管理困难。 “智能呼叫中心”通过…

Java GC机制 —— 个人笔记

文章目录 JVM内存区对象是否需要回收?1. 引用计数法2. 可达性分析法(根搜索算法)Java的引用 对象何时被回收?回收策略回收策略1:引用计数算法回收策略2:标记清除算法(Mark-Sweep)回收…

华为取消6000万订单影响在扩大,高通嘴硬强调不受影响

高通公布了2023年第三季度的业绩,业绩显示营收下滑24%,净利润下滑36%,不过高通强调预计今年四季度业绩将回升,意思是说华为取消订单带来的影响较小。 一、高通处境不利已延续4年时间 2019年美国对华为采取措施,众多中国…

蓝桥杯算法竞赛系列第十章·nSum问题的代码框架

你好,我是安然无虞。 文章目录 一、两数之和变形题 二、三数之和三、四数之和 首先,何为nSum问题呢? nSum问题其实就是给你一个数组nums和一个目标和target,让我们从nums数组中选择n个数,使得这些数字之和等于target。…

合肥工业大学数字逻辑实验三

** 数字逻辑 实验报告** ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验课设 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!…

Android Studio报错:connect refused

参考链接: https://blog.csdn.net/qq_43213783/article/details/113936012 参考文章中说报错主要是由于代理导致的,在文件->设置->外观与行为->系统设置->HTTP代理。 方法一: 查看打开代理(前提是代理可以通网&#x…

【教3妹学编程-算法题】最长平衡子字符串

3妹:呜呜,烦死了, 脸上长了一个痘 2哥 : 不要在意这些细节嘛,不用管它,过两天自然不就好了。 3妹:切,你不懂,影响这两天的心情哇。 2哥 : 我看你是不急着找工作了啊, 工作…

一个用python PyQT写的背单词小程序

主要用到了QGridLayout, QTableWidget import sys import os import pandas as pd from PyQt5.QtWidgets import *class DataFrameExample(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle(DataFrame Example)self.setGeom…