TCP与UDP的区别与联系

来源:互联网 发布:网站编程 编辑:程序博客网 时间:2024/06/07 10:40

1.TCP

传输控制协议 提供面向连接 可靠地字节流服务 当客户与服务器端彼此交换数据前必须先在双方之间建立一个TCP连接 之后才能传输数据 TCP提供超时重发 丢弃重复数据 检验数据 流量控制等功能 保证数据能从一段传到另一端

TCP连接的三次握手

1/ 客户端发送syn包到服务器 并进入SYN_SEND状态 等待服务器的确认

2/ 服务器收到syn包 必须确认客户的SYN 同时自己也发送一个SYN包(即SYN+ACK包) 此时服务器进图SYN_RECV状态

3/ 客户端接受到服务器的SYN+ACK包 向服务器发送确认包ACK 此包发送完毕 客户端和服务期进入ESTABLISHED状态 完成三次握手


理想状态下 TCP连接一单间里 在通信双方中的任何一方主动关闭连接之前 TCP连接豆浆杯一直保持下去

 断开连接服务器和客户端均可以主动发起断开TCP连接的请求 

2.UDP

用户数据报协议 面向数据报的运输层协议(非面向连接的协议 不与对方建立连接 直接把数据包发送过去 只适用于一次传送少量的诗句 对可靠性要求不高的应用环境)

UDP不提供可靠性 只是把应用程序传给IP地址的数据报发送出去 并不能保证它们能到达目的地

由于UDP在传输数据报前不用再客户和服务器之间建立一个连接 且没有超时重发等机制 所以传输速度很快


TCP 和 UDP 协议的差别

1/ 面向连接 和 非面向连接

2/ 传输可靠性 和 传输不可靠性

3/ 传输大量数据 和 传输少量数据

0 0
原创粉丝点击