传输层协议UDP和TCP

在计算机网络中,传输层的主要任务是:负责数据能够从发送端传输到接收端。

传输层中最有名的协议是 UDP 和 TCP。

UDP

报头格式

UDP的报头格式为:

后面可以跟数据。(注意 16 位指的是 bit 位,所以整个 UDP 报头大小为:16*4 / 8 == 8 字节)

其中:

1.源端口号和目的端口号不做解释。

2 .UDP长度表示的是 UDP首部+UDP数据 的总长度。

3.UDP校验和是判断该报文是否合法,不合法就丢弃。

特点

UDP 协议的特点是 无连接,不可靠,面向数据报。

无连接:通信双方不需要建立连接,只要知道对端的 IP 和 端口号,就能直接进行通信。

不可靠:UDP 没有确认机制,没有重传机制,如果因为网络故障导致传输失败,也不会返回任何错误信息。

面向数据报:不能灵活地控制读写数据的次数和数量。应用层交给 UDP 多长的报文,UDP 都会原封不动地发送,不拆分也不合并。

使用场景

UDP 是一个十分简单的协议,它通常被使用在 直播,视频通话,游戏实时对战等 可以 容忍少量丢包的场景中。

有一个值得注意的点是:UDP 没有真正意义上的发送缓冲区,它会调用 sendto 直接把数据交给内核,由内核执行后续动作。

TCP

报头格式

从报头就能看出 TCP 做的工作比 UDP 多不少。

其中:

1.源端口号和目的端口号不做解释。

2 .序号 和确认号 。TCP 的一个特点是面向字节流,它对每个字节的数据都进行编号,这就是序号 。与之对应的,确认号是接收端下一次期望接收到的数据序号。比如 发送端发送的数据序号为 1-1000,接收端回复的 ACK 就会带上确认号 1001。

3 . 头部长度。4位头部长度,范围是(0000,1111),转化十进制就是(0,15)。但图片中除了没有点明大小的 "选项" 字段,剩下的字段大小已经达到 20 字节,所以如果头部长度表示范围是(0,15)绝对是错的,实际上,算出的数字要 乘以4 才是表示长度,算上已经固定的 20字节,那么 4位头部长度表示的范围是(20,60)。

4 . 保留。为以后可能新增的 TCP控制标志 预留位置。目前已经新增了一些标志位,但并不常用,所以仍然只讲最常用的六个。

5 . 六个标志位。

URG: 紧急指针是否有效

ACK: 确认号是否有效

PSH: 提示接收端应用程序立刻从TCP缓冲区把数据读走

RST: 对方要求重新建立连接; 我们把携带RST标识的称为复位报文段

SYN: 请求建立连接; 我们把携带SYN标识的称为同步报文段

FIN: 通知对方, 本端要关闭了, 我们称携带FIN标识的为结束报文段

6 . 窗口大小。接收端的接收缓冲区大小。

7 . 校验和。由发送端填充,CRC校验,接收端进行 TCP首部 和 数据部分 的校验,如果校验不通过,则认为数据有问题。

8 . 紧急指针。标识紧急数据。紧急指针可以给数据开 "后门",让它被优先读取,比如上传很多数据,上传到一半你需要停止上传,按照发送区数据顺序,是 "上传内容->停止命令" ,也就是说接收端要接收所有上传的数据才能接收到读取命令。但如果让 "停止命令" 被紧急指针标识,那么在该数据进入到接收端缓冲区时,会被优先读取处理,在 "上传内容" 的数据被读取到一半时进行打断。

9 . 选项。用于扩展 TCP 头部功能。

特点

TCP协议的特点是 有连接,可靠,面向字节流。

有连接:通信双方通信前必须先建立连接(三次握手),协商参数,通信结束后正常释放连接(四次挥手)。

可靠:TCP 拥有确认、重传、校验、序号机制,丢包时会自动重传,保障数据可靠交付。

面向字节流:应用层交给 TCP 的数据会看作一串无边界的字节流,TCP 会根据情况拆分、合并报文段,读写次数和报文大小不一一对应。

使用场景

TCP 全称是 "传输控制协议",它会对数据传输进行详细的控制,它适用于 HTTP/HTTPS,SSH,文字聊天,文件发送 等要求数据完整、不错乱、不丢失,允许一定延迟的场景。

相关推荐
凯基迪科技1 小时前
瑞萨R5F100解密 R8C/RL78 MCU 固件读取与保护机制详解
服务器·网络·单片机
承渊政道1 小时前
Linux网络学习【五种IO模型与⾮阻塞IO】
linux·网络·学习·ubuntu·io模型·非阻塞io
未力忘2 小时前
S7-200 SMART Modbus TCP 通信实践
网络·网络协议·tcp/ip
Likeadust2 小时前
说开就开:临时发起的私有化音视频实时通信EasyDSS视频会议,让跨城协作不再“等排期”
网络·音视频·easydss
愤怒火龙果2 小时前
AI攻防 AIRT补充篇|侦察指纹 · 多模态越狱 · Agent 与 MCP 安全
网络·人工智能·ai安全
北邮刘老师2 小时前
智能体手机的成败关键——智能体互联生态
网络·人工智能·智能手机·智能体·智能体互联网
手可摘星陳×2 小时前
10-运维排障篇-无线排障框架与常见故障-诊断矩阵速查
运维·网络
半壶清水3 小时前
[软考网规考点笔记]-局域网之冗余网关技术
网络·笔记·智能路由器
fengci.3 小时前
CTF2困难部分
开发语言·网络·python·安全·php