传输层的TCP和UDP
2021/5/21 10:30:06
本文主要是介绍传输层的TCP和UDP,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- TCP报文段
- TCP连接
- UDP协议
TCP(Transmission Control Protocol)传输控制协议 ——面向控制
TCP是面向连接的、可靠的进程到进程通信的协议,TCP提供全双工服务,即数据可在同一时间双向传输
TCP报文段
TCP将若干字节构成一个分组,叫报文段(Segment)TCP报文段封装在IP数据报中。
TCP报文段首部格式
序号:发送端为每个字节进行编号,便于接受端正确重组
确认号:用于确认发送端消息
窗口大小:用于说明本地可接收数据的数目,窗口大小是可变的
URG:紧急指针有效位
ACK:确认序号位,当该位为1时,用于确认发送方的数据
PSH:标志位为1时要求接收方尽快将数据段送达应用层
RST:当RST值为1时通知重新建立TCP连接
SYN:同步序号位,TCP需要建立连接时将该值设为1
FIN:当TCP断开连接时将该位置为1
TCP建立连接
*图中Sep表示请求序列号,Ack表示确认序列号
*可以用抓包软件看到网络数据的变化
半连接
发生在TCP三次握手中,如果A向B发起连接,B也按照正常情况响应了,但是A不进行三次握手,这就是半连接。
半连接攻击:利用半连接原理,造成B分配的内存资源就一直这么耗着,直到资源耗尽(SYN攻击)
TCP断开连接
用抓包软件可以看到数据断开连接的
半关闭:当TCP链接中A向B发送FIN请求关闭,另一端B回应ACK之后,并没有立即发送FIN给A,A方处于半连接状态(开开关),此时A可以接受B发送的数据,但是A已经不能再向发送数据。
常用TCP端口号及其功能
UDP(User Datagram Protocol)用户数据报协议——面向用户
无连接,不可靠的传输协议,花费的开销小,时间少
UDP报文的首部格式
UDP长度:用来指UDP的总长度,为首部加上数据
校验和:用来完成对UDP数据的差错校验,它是UDP协议提供的唯一的可靠机制
常用UDP端口号及功能(一般调成默认搭建)
这篇关于传输层的TCP和UDP的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升