相同点:
1、OSI网络层
它们都根据OSI参考模型生活在同一层。我们称这层为传输层。在套接字之间的这一层中,传
输数据。他们在这方面没有区别。
2、安全
从安全角度来看,TCP和UDP都是相同的。实际上,TCP由于其会话管理而具有一些小优势,
但从总体上看,如果实现SSL,加密等安全机制,则存在安全性。除UDP之外,实现类似TCP
的协议的SSL / TLS非常容易。另一方面,像RTP这样的语音通信协议可以升级到SRTP,使底
层UDP更安全。
不同点:
1、数据包结构
UDP具有精简包结构。UDP在其标题部分中仅提供源,目标端口,长度,校验和。TCP在包中
有更多字段,因为TCP传输有更多的步骤和控件来进行包传递。TCP有12个头字段。
2、复杂程度
TCP绝对比UDP协议更复杂。正如我们在上侧看到的,TCP具有很多传输相关机制的区域。例
如,TCP提供了设置传输缓冲区相关内存的窗口机制。UDP只有校验和机制和数据包计数器,
有时候没有实现。
3、算法
要使用TCP传输数据,必须使用名为3次握手的方法创建会话。第一个客户端发送一个包含SYN
标志的数据包,服务器用ACK标志响应,最后一步客户端发送SYNC + ACK以完成与相关服务
器的TCP会话。UDP没有任何特殊算法。UDP包直接发送到服务器的端口。管理层通常在上层
应用程序层中执行。
4、速度
TCP协议的复杂性使TCP比UDP慢。至少要发送一个字节,需要进行会话初始化,并在数据传
输后关闭会话。这使TCP变慢。关于TCP的速度已经做了一些工作,但架构是有限的新增强功
能。如果您通过光纤传输UDP,则UDP 速度很快.UDP速度很快,因为没有会话或会话终止的
算法。
5、可靠性
TCP是一种可靠的协议,因为它运行机制来防止数据丢失或更改。TCP使用会话来提高数据传
输的可靠性。同样在数据传输中,在两侧之间检查传输的数据,并且如果发生一些丢失或改
变,则再次重新传输数据。UDP也不可靠。真的不是。但是,如果您希望它是可靠的上层应用
程序级别机制可以实现,但这些将使传输更复杂。
6、协议
在这部分中,列出使用UDP或TCP或两者的协议。
UDP以下协议使用UDP传输。
DHCP
DNS
流
RDP
TFTP
SNMP
VOIP
TCP以下协议使用TCP传输。
HTTP
HTTPS
FTP
SMTP
TELNET