TCP/UDP专栏

一、前言

对于TCP协议 和 UDP协议,大家应该都有所耳闻,我们常用的网络通讯,比如浏览网页、软件聊天、以及正在收看的视频都是通过这两种协议来进行数据传输的,到底他们是如何工作的?这两种协议又有什么区别呢?

二、TCP/UDP 异同

1. TCP/UDP 相同点

TCP协议 和 UDP协议都工作在传输层协议,目的是在程序之间传输数据,数据可以是文本文件,可以是视频,也可以是图片,对于二者来说以上都是一堆二进制数,并没有太大区别;

2. TCP/UDP 区别

2.1 最大的区别:

  • TCP:基于连接
  • UDP:基于非连接

2.2 如何理解?

如果把人与人之间的通信,比喻为进程与进程的通信,我们基本有两种方式:写信打电话,如果不考虑速度因素,这两种方式最大的区别是什么?

2.2.1 TCP是如何保证以上过程的?

分为三个步骤:三次握手,传输确认,四次挥手

三次握手

注意:TCP协议需要在不可靠的信道上,保证可靠的连接,现在就有几个问题需要去面对

  • 丢包问题

  • 乱序问题

四次挥手

2.2.2 UDP协议

首先UDP协议是基于非连接的, 发送数据就是简单的把数据包封装一下,然后从网卡发出去就可以了,数据包并没有状态上的联系,正因为UDP这种简单的协议处理方式,导致它的性能损耗非常少,对于CPU内存资源的占用也远小于TCP,但是对于网络传输过程中的丢包,udp协议并不能保证,所以udp在传输稳定性上要弱于tcp

2.3 总结

其中udp有一个重要的使用场景:隧道网络:VPN 、VXLAN

posted @ 2025-03-08 23:19  弗里德里希恩格hao  阅读(1061)  评论(0)    收藏  举报