TCP和UDP协议的区别

TCP和UDP都是传输层的协议

UDP协议的特色:
  • UDP协议是一种无链接的、不可靠的传输层协议(尽力而为的协议)
  • 为何说UDP是一种无链接、不可靠的协议呢?UDP协议在传输报文以前不须要在双方之间创建链接。
  • UDP协议对报文只提供了一种保证数据传输可靠性的措施——可选的校验和
  • 若是UDP协议检测出收到的分组出现错误,就丢弃分组,不会确认,也不会通知重传,这也是UDP最大的缺点,传输不可靠。当传递数据的时候,网络质量很差,就会发生丢包(数据丢失),没法保证数据的传输顺序。
  • 在传输上UDP的传输速度很是快,由于在传输以前不须要进行确认,传输中没有拥塞,重传。
    相似于一个广播的形式,无论你听不听,发送方一直在发送数据。UDP的效率高,处理速度快,对网络要求不高的的特色使他应用在P2P会话类。能够一对一,一对多,多对一的通讯。适用于实时的语音和视频传输。
TCP协议的特色:
  • 面向链接的传输服务,下面是一段形象的总结:css

    UDP像是你邮一封信,信邮丢了不知道,写信的一直觉得信已经邮到,以后还会邮信。而TCP像是打电话,若是对方不接电话,双方永远不能交流信息,对方接电话你知道,对方说了什么你知道,对方挂了电话你也会知道。
    因此TCP协议的传输不会出现差错,丢失,重复(双方会有确认)markdown

  • 因为是面向链接的协议,TCP协议提升了数据传输的可靠性,TCP会有三次握手来创建链接,在传输过程当中会有重传,确认,拥塞控制等机制,传输完成后还会断开链接释放资源。网络

  • 相比于UDP协议,TCP传输速度上会慢,效率低下,时间都浪费在保证数据传输的各类机制上。
  • TCP支持全双工通讯:第一次听到这个名词的时候是在单片机课上,老师详细的讲述了单工,半双工,全双工的区别。全双工就是双方能够同时在任什么时候候发送数据。
  • TCP协议是将数据当作一连串,无结构的字节流,UDP是面向报文传输的。
相关文章
相关标签/搜索