TCP和UDP协议原理及理解1

您所在的位置:网站首页 tcp协议和udp协议有哪些区别和联系 TCP和UDP协议原理及理解1

TCP和UDP协议原理及理解1

2024-07-03 23:45| 来源: 网络整理| 查看: 265

TCP/UDP: 一、什么是TCP/UDP协议1、回顾一下IP和端口号:2、TCP/UDP协议是什么? 二、UDP协议1、UDP协议的特点2、UDP协议段格式3、UDP数据的封装:4、UDP数据的分用5、UDP数据的校验和机制(Checksum)6、UDP数据的缓冲区 三、TCP

一、什么是TCP/UDP协议 1、回顾一下IP和端口号: IP:标识网络上的唯一主机port端口号:标识主机上的唯一进程IP+port端口号:标识网络上的唯一主机上的唯一进程端(IP+port)对端(IP+port):四个信息标识唯一的一个端对端通信------->四元组四元组+协议(TCP/UDP协议)=五元组:在TCP/IP协议栈内部用来标识传输层上的唯一一个端对端通信 2、TCP/UDP协议是什么?

TCP和UDP协议是TCP/IP协议的核心。TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。

TCP协议: TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;UDP协议:UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。

接下来将对两大协议进行详细讲解。

二、UDP协议 1、UDP协议的特点 无连接: 知道对端的IP和端口号就直接进行传输,不需要建立连接;只是发送数据,具体发送到了没有或者时服务器是否有响应,一概不管。不可靠: 没有确认机制,没有重传机制:如果因为网络故障该段无法发到对方,UDP协议层也不会给应用层返回任何错误信息;面向数据报: 不能够灵活的控制读写数据的次数和数量。

针对无连接和不可靠的特点,我们主要对比TCP来理解。

2、UDP协议段格式

在这里插入图片描述 由上图可以看出,UDP数据由header(UDP首部)和UDP数据部分组成;Header部分为8字节,也就是64比特位。

3、UDP数据的封装:

在这里插入图片描述 由上图可以看出:UDP数据的封装就是应用层的数据+UDP的首部,就包装成了UDP数据。 Header中的数据主要作用是:1>解包; 2>分用; 3>内部使用

4、UDP数据的分用

在这里插入图片描述 当对UDP数据进行分用的时候,应该从什么地方进行切割呢?切割多大长度呢? 我们知道,UDP数据的Header部分是将应用层数据封装成UDP数据的,所以在解包的时候应该将Header和应用层数据之间切割。所以应该切割8字节(Header部分)。

在分用的时候,是谁对数据进行分用呢? 在UDP数据Header中,有四元组信息,其中的目的端口已经唯一确定了某一进程,所以目的端口对应的进程来分用数据。

5、UDP数据的校验和机制(Checksum)

校验和机制: 利用Hash做数据正确性验证,也叫数据签名。 在这里插入图片描述 校验和不对的情况下,就直接丢包。在我们用户的角度就可能是平时见到的卡(应用层)或者是没有接收到消息。

6、UDP数据的缓冲区

UDP没有发送缓冲区,但有接收缓冲区。

我们以发送包裹为例,阐述一下缓冲区问题,见下图。 在这里插入图片描述 UDP使用注意事项: 我们注意到, UDP协议首部中有一个16位的最大长度. 也就是说一个UDP能传输的数据最大长度是64K(包含UDP首部). 然而64K在当今的互联网环境下, 是一个非常小的数字。如果我们需要传输的数据超64K, 就需要在应用层手动的分包, 多次发送, 并在接收端手动拼装;

应用层分包: 比如:如果一个聊天应用使用的是UDP协议,UDP一个数据报文最多发送50个字,但是我却要发送180个字,这个时候应用层就需要把这180个字分四次发送。

三、TCP

有关TCP的介绍请看下一篇博客,文章链接: TCP.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3