比较TCP与UDP协议的异同

网络被用来在世界各地传输数据。有很多网络协议在使用。但是大多数已知和使用的协议是IP,TCP,UDP。IP住在不同的平面上,但TCP和UDP尝试住在同一平面上。所以他们操作相同的网络层,但是UDP和TCP有什么不同。为什么我应该使用TCP或不使用TCP?同样的问题也可以问UDP。在本文中,我们将了解这些协议的相同点和不同点。TCP代表传输控制协议。UDP代表用户数据报协议

null

OSI网络层

根据OSI参考模型,它们都生活在同一层。我们称之为传输层。在套接字之间的这一层中,数据被传输。他们在这方面没有区别。

数据包结构

UDP
UDP协议

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

TCP
传输控制协议

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
  • 电信网
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享