tcp和udp的区别与联系「tcp和udp的工作原理」
TCP和UDP的区别与联系tcp是面向连接的,udp不是面向连接的,就相当于我们生活中打电话或者微信聊天,要先嘟嘟嘟连接,之后才可以打电话聊天,这个就是面向连接的,也是比较可靠的,udp是不用先去做连接的,所以叫做面向非连接,类似生活中发短信,直接发送过去 。
文章插图
- TCP协议面向连接,UDP协议面向非连接;(链接)
- TCP协议传输速度慢,UDP协议传输速度快;(速度)
- TCP有丢包重传机制,UDP没有;(重传)
- TCP协议保证数据正确性,UDP协议可能丢包;(正确性)
- TCP适合传递大量数据,UPD适合传递少量数据 。(数据量)
使用TCP/IP协议的应用程序通常采用应用编程接口:UNIX BSD的套接字(socket)和UNIX System V的TLI(已经被淘汰),来实现网络进程之间的通信 。就目前而言,几乎所有的应用程序都是采用socket,而现在又是网络时代,网络中进程通信是无处不在,这就是我为什么说“一切皆socket” 。
一、TCP工作原理TCP建立连接的过程
TCP是一种可靠的,面向连接的全双工传输层协议 。TCP连接的建立是一个三次握手的过程 。
文章插图
1、主机A(通常也称为客户端)发送一个标识了SYN的数据段,表示期望与服务器A建立连接,此数据段的序列号(seq)为a 。
2、服务器A回复标识了SYN+ ACK的数据段,此数据段的序列号(seq)为b,确认序列号为主机A的序列号加1(a+1),以此作为对主机A的SYN报文的确认 。
3、主机A发送一个标识了ACK的数据段,此数据段的序列号(seq)为a+1,确认序列号为服务器A的序列号加1(b+1),以此作为对服务器A的SYN报文的确认 。
TCP传输过程
TCP的可靠传输还体现在TCP使用了确认技术来确保目的设备收到了从源设备发来的数据并且是准确无误的 。
文章插图
确认技术的工作原理如下:
目的设备接收到源设备发送的数据段时,会向源端发送确认报文,源设备收到确认报文后继续发送数据段,如此重复 。
TCP流量控制
滑动窗口机制运用TCP报文段中的窗口大小字段来控制,发送方的发送窗口不可以大于接收方发回的窗口大小 。
文章插图
考虑一种特殊的情况,就是接收方若没有缓存足够使用,就会发送零窗口大小的报文,此时发送放将发送窗口设置为0,停止发送数据 。
TCP关闭连接
主机在关闭连接之前,要确认收到来自对方的ACK 。
文章插图
TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输 。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭 。TCP连接的建立是一个三次握手的过程,而TCP连接的终止则要经过四次握手 。
二、UDP工作原理UDP传输过程
使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、流量控制等功能 。
通常情况下,UDP采用实时传输机制和时间戳来传输语音和视频数据 。
文章插图
UDP不提供重传机制,占用资源小,处理效率高 。
文章插图
【tcp和udp的区别与联系「tcp和udp的工作原理」】
推荐阅读
- 格拉琪:活动隔墙有哪些种类和用途?
- 这款16核怪物在单线程和多线程性能方面均跃居主流处理器榜首
- 吸塑门板优点和缺点有哪些呢?吸塑门板怎么分辨真假
- 纯纸壁纸和无纺布壁纸哪个好
- 子母合页是什么 和平开合页的区别 和普通合页的区别
- 家居宝典 水曲柳家具的优缺点
- 怎样安装电动窗帘_电动窗帘安装过程和特点
- 隐形眼镜摘下来泡多久可以戴_隐形眼镜和眼镜哪个好
- 洗手一次和多次有区别吗_怎么正确洗手
- 实木床和软床的优缺点大比较