网络被用来在世界各地传输数据。有很多网络协议在使用。但是大多数已知和使用的协议是IP,TCP,UDP。IP住在不同的平面上,但TCP和UDP尝试住在同一平面上。所以他们操作相同的网络层,但是UDP和TCP有什么不同。为什么我应该使用TCP或不使用TCP?同样的问题也可以问UDP。在本文中,我们将了解这些协议的相同点和不同点。TCP代表传输控制协议。UDP代表用户数据报协议
OSI网络层
根据OSI参考模型,它们都生活在同一层。我们称之为传输层。在套接字之间的这一层中,数据被传输。他们在这方面没有区别。
数据包结构

UDP有一个精简的包结构。UDP只提供源端口、目标端口、长度以及报头部分的校验和。

TCP在包中有更多的字段,因为TCP传输有更多的步骤和控件来传递包。TCP有12个头字段。
复杂性
TCP协议绝对比UDP协议复杂。正如我们在上面看到的,TCP有很多与传输相关的机制。例如,TCP提供了一个窗口机制来设置与传输缓冲区相关的内存。UDP只有校验和机制和数据包计数器,有时没有实现。
算法
要使用TCP传输数据,必须使用名为3-way handshake的方法创建会话。第一个客户端发送设置了SYN标志的数据包,服务器用ACK标志响应,最后一步客户端发送SYNC+ACK以完成与相关服务器的TCP会话。UDP没有任何特殊算法。UDP包直接发送到服务器的端口。管理通常在上层应用程序中进行。
相关文章: Nmap脚本和版本扫描
速度
TCP协议的复杂性使得TCP比UDP慢。至少要只发送一个字节,就需要进行会话初始化,并且在数据传输之后关闭会话。这会使TCP变慢。在速度方面做了一些工作 但该体系结构仅限于新的增强功能。如果您通过光纤传输UDP,它是快速的;)。UDP速度很快,因为没有用于会话或会话终止的算法。
可靠性
TCP是一种可靠的协议,因为它运行的机制可以防止数据丢失或更改。TCP使用会话来保证数据传输的可靠性。同样在数据传输中,传输的数据在双方之间进行检查,如果发生了某些丢失或更改,则重新传输数据。UDP也不可靠。真的不是。但是如果您希望它是可靠的,可以实现上层应用程序级别的机制,但是这些机制会使传输更加复杂。
安全
从安全的角度来看,TCP和UDP是相同的。实际上,TCP由于其会话管理而具有一些小的优势,但是从总体上看,如果实现SSL、加密等安全机制,则两者都是安全的。除了UDP之外,为TCP实现类似SSL/TLS的协议非常容易。另一方面,像RTP这样的语音通信协议可以升级到SRTP,使底层UDP更加安全。
协议
在本部分中,我们将列出使用UDP或TCP或两者的协议。
UDP协议
以下协议使用UDP传输。
- DHCP服务器
- 域名服务器
- 流动
- RDP公司
- TFTP公司
- SNMP协议
- 网络电话
相关文章: 如何找出哪个进程正在监听Windows的端口?
传输控制协议
以下协议使用TCP传输。
- 超文本传输协议
- HTTPS协议
- 文件传输协议
- SMTP
- 电信网