TCP与UDP的联系和区别

 TCP(Transport Control Protocol)传输控制协议

TCP的特点

  1. 面向连接:TCP在发送数据之前,必须先与对方建立连接。这种连接不是物理连接,而是一种逻辑连接,通过三次握手过程来建立,确保双方都已准备好进行数据交换。连接建立后,数据才能发送。

  2. 可靠性:TCP通过一系列机制来保证数据传输的可靠性。

  3. 基于字节流:TCP将应用层传下来的数据看成是一连串的无结构的字节流,它不关心应用程序的数据格式,只负责将数据从一端传输到另一端。

  4. 全双工通信:TCP连接是全双工的,即数据可以在同一时间双向传输。这意味着,TCP连接的双方都可以同时发送和接收数据。

  5. 灵活性:TCP支持多种类型的服务,包括面向连接的数据流服务、可靠性传输服务、流量控制、多路复用等。这使得TCP能够适用于多种应用场景,如文件传输、电子邮件、网页浏览等。

  6. 错误检测:TCP能够检测并处理一些类型的错误,如校验和错误、序列号错误等。这些错误通常会导致数据包被丢弃,并可能触发重传机制。

UDP(User Datagram Protocol)用户数据报协议

UDP的特点

1、无连接:在数据传输过程前不需要建立连接,找到对方的IP地址和端口号就可以直接传输。可以快速 的发送小量数据。

2、不保证可靠:udp没有任何的安全机制,发送端在发送数据之后,就不在进行任何操作,也不需要关心 接收端是否收到。不保证可靠,不是不可靠

3、面向数据报:应用层给udp给多长的数据报,udp就发送多长的数据报,不会进行拆分,也不会进行合并。

4、缓冲区:udp没有发送缓冲区,但是有接收缓冲区。意味着:使用UDP发送的数据就会直接交给系统内 核,由系统内核将数据交给网络层进行处理,udp具有接收缓冲区,但是这个缓冲区不能保证数据的顺 序。如果这个缓冲区满了,再到的数据报就直接丢弃。

5、UDP没有拥塞控制,很适合多媒体通信的要求;适用于游戏实时性和打微信视频等,对网速要求快的场景

拥塞控制:拥塞控制是作用于网络的,它是防止过多的数据注入到网络中,避免出现网络负载过大的情况;

避免拥塞控制常用的方法就是:

(1)慢开始、拥塞避免

(2)快重传、快恢复。

流量控制:流量控制是作用于接收者的,它是控制发送者的发送速度从而使接收者来得及接收,防止分组 丢失的。

TCP和UDP的区别

1. 连接性:

TCP是一种面向连接的协议,它要求在数据传输之前先建立一个连接。这意味着发送方和接收方必须先进行三次握手,建立连接后才能开始传输数据。而UDP是一种无连接的协议,发送方不需要提前与接收方建立连接,可以直接向接收方发送数据。

2. 可靠性:

TCP可以保证可靠性,UDP不保证可靠性。

3. 速度和效率:

由于TCP要求建立连接和使用确认重传机制,因此它通常比UDP的速度更慢。UDP没有连接建立和确认重传的开销,因此在数据传输速度方面通常比TCP更快。此外,由于TCP的拥塞控制机制,当网络拥堵时,TCP会减少发送速率,导致传输速度进一步下降,而UDP不受拥塞控制的限制。

4. 数据包大小:

TCP将数据划分为较小的数据包进行传输,并根据网络状况进行调整。而UDP允许发送方一次性将多个数据包打包成一个较大的数据报进行传输。

5. 适用场景:

TCP适用于对数据可靠性要求较高的应用场景,如文件传输、电子邮件和网页浏览。UDP适用于对数据实时性要求较高的应用场景,如音频和视频流传输、网络游戏和实时通信。

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值