tcp和udp的区别和关键知识点说课材料.pdfVIP

  • 2
  • 0
  • 约5.59千字
  • 约 7页
  • 2021-03-23 发布于浙江
  • 举报

tcp和udp的区别和关键知识点说课材料.pdf

TCP和 UDP 的区别和关键知识点 1. TCP 和 UDP 区别 TCP 传输控制协议 ,提供的是面向连接、可靠的字节流服务。当客户端和服务 器彼此交换数据前, 必须先在双方之间建立一个 TCP 连接,之后才能传输数据。 TCP 提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从 一端传到另一端。 UDP 用户数据报协议,是一个简单的面向数据报的运输层协议。 UDP 不提供 可靠性,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们 能到达目的地。由于 UDP 在传输数据报前不用在客户和服务器之间建立一个连 接,且没有超时重发等机制,故而传输速度很快。 TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠 会丢包,不可靠 应用场景 传输数据量大 传输量小 速度 慢 快 2 . TCP 与 UDP 的选择 当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时, TCP 协议是当然的选择。 当强调传输性能而不是传输的完整性时, 如:音频和多 媒体应用, UDP 是最好的选择。在数据传输时间很短,以至于此前的连接过程 成为整个流量主体的情况下, UDP 也是一个好的选择, 如:DNS 交换。把 SNMP 建立在 UDP 上的部分原因是设计者认为当发生网络阻塞时, UDP 较低的开销使 其有更好的机会去传送管理数据。 TCP 丰富的功能有时会导致不可预料的性能低 下,但是我们相信在不远的将来, TCP 可靠的点对点连接将会用于绝大多数的网 络应用。 3 . 为什么 UDP 有时比 TCP 更有优势 ? UDP 以其简单、传输快的优势,在越来越多场景下取代了 TCP,如实时游戏。 (1)网速的提升给 UDP 的稳定性提供可靠网络保障,丢包率很低,如果 使用应用层重传,能够确保传输的可靠性。 (2 )TCP 为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立 了繁琐的握手过程,由于 TCP 内置的系统协议栈中,极难对其进行改进。 采用 TCP,一旦发生丢包, TCP 会将后续的包缓存起来,等前面的包重传 并接收到后再继续发送,延时会越来越大,基于 UDP 对实时性要求较为严格的 情况下,采用自定义重传机制, 能够把丢包产生的延迟降到最低, 尽量减少网络 问题对游戏性造成影响。 在选择使用协议的时候,选择 UDP 必须要谨慎。在网络质量令人十分不满 意的环境下, UDP 协议数据包丢失会比较严重。 但是由于 UDP 的特性:它不属 于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频 和普通数据在传送时使用 UDP 较多,因为它们即使偶尔丢失一两个数据包,也 不会对接收结果产生太大影响。 比如我们聊天用的 ICQ 和 QQ 就是使用的 UDP 协议。 4 . UDP 和 TCP 编程步骤 1)TCP: TCP 编程的 服务器端 一般步骤是: 1 、 创 建 一 个 socket , 用 函 数 socket() ;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档