图文并茂讲解TCP和UDP协议的原理以及区别

图文并茂讲解TCP和UDP协议的原理以及区别

今天我们通过图文形式来讲解一下TCP和UDP的原理以及区别,做一个简单的总结。

一、TCP和UDP的作用

首先:tcp和udp都是工作再传输层,用于程序之间传输数据的。数据一般包含:文件类型,视频类型,jpg图片等。

800_auto

二、TCP和UDP的区别

TCP是基于连接的,而UDP是基于非连接的。

tcp传输数据稳定可靠,适用于对网络通讯质量要求较高的场景,需要准确无误的传输给对方,比如,传输文件,发送邮件,浏览网页等等

udp的优点是速度快,但是可能产生丢包,所以适用于对实时性要求较高但是对少量丢包并没有太大要求的场景。比如:域名查询,语音通话,视屏直播等。udp还有一个非常重要的应用场景就是隧道网络,比如:vpn,VXLAN

以人与人之间的通信为例:UDP协议就相当于是写信给对方,寄出去信件之后不能知道对方是否收到信件,信件内容是否完整,也不能得到及时反馈,二TCP协议就像是打电话通信,在这一系列流程都能得到及时反馈,并能确保对方及时接收到。如下图:

800_auto

三、TCP通信的过程:

tcp是如何保证以上过程的:分为三个步骤,三次握手,传输确认,四次挥手。三次握手是建立连接的过程。

四、三次握手:

当客户端向服务端发起连接时,会先发一包连接请求数据,过去询问一下,能否与你建立连接?这包数据称之为SYN包,如果对端同意连接,则回复一包SYN+ACK包,客户端收到之后,发送一包ACK包,连接建立,因为这个过程中互相发送了三包数据,所以称之为三次握手。

800_auto

为什么要三次握手而不是两次握手?

这是为了防止,因为已失效的请求报文,突然又传到服务器,引起错误,这是什么意思?

假设采用两次握手建立连接,客户端...

点击查看剩余70%

{{collectdata}}

网友评论