tcp udp流程图

1 面向连接的套接字的系统调用时序图

2 无连接协议的套接字调用时序图

3 面向连接的应用程序流程图

 

### TCPUDP 协议工作流程概述 #### TCP 协议工作流程 TCP 是一种面向连接的、可靠的传输层协议。其主要特点在于提供可靠的数据传输服务,确保数据按序无误地送达目的地。 - **三次握手建立连接** - 客户端向服务器发送带有 SYN 标志位的请求报文,表示希望发起连接。 - 服务器接收到该请求后回应一个带有 ACK 和 SYN 的响应报文给客户端。 - 客户端再次回传一个仅含 ACK 的确认报文至服务器,此时双方都准备好进行通信[^2]。 - **数据传输阶段** - 数据按照字节流的形式在已建立好的双向通道内流动。 - 发送方每发一段数据都会等待接收方发来的确认消息 (ACK),以此来验证数据是否成功抵达并保持顺序正确性。 - 如果某个分组丢失,则会触发重传机制直到所有部分都被安全接收为止[^3]。 - **四次挥手断开连接** - 连接终止过程涉及四个步骤:一方先主动关闭(FIN),另一方同意关闭(ACK),随后被动方也提结束请求(FIN),最后由最初提议者给最终确认(ACK)。 ```mermaid sequenceDiagram participant Client as C participant Server as S Note over Client,Server: 建立连接 Client->>Server: SYN Server-->>Client: SYN+ACK Client-->>Server: ACK Note over Client,Server: 数据交换 loop 正常操作期间 Client->>Server: DATA Server-->>Client: ACK end Note over Client,Server: 断开连接 Client->>Server: FIN Server-->>Client: ACK Server->>Client: FIN Client-->>Server: ACK ``` #### UDP 协议工作流程 相比之下,UDP 提供了一种更简单但不可靠的服务模型: - 不需要事先创建任何类型的长期关系;每次交互都是独立事件。 - 每条消息作为一个单独单位被封装在一个 IP 报文中直接送,而不会像 TCP 那样分成多个片段再逐个传送。 - 缺乏内置错误检测与纠正功能——这意味着如果某份报告未能到达目标地址则不会有自动补救措施[^1]。 ```mermaid sequenceDiagram participant Sender as A participant Receiver as B Sender->>+Receiver: Datagram with data and checksum opt If datagram arrives intact Receiver-->>Sender: Optional acknowledgment (not required by protocol) else Error occurs during transmission Receiver--)Sender: No response or error message may be sent depending on application level handling. end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值