两种主要是基于有连接跟无连接的情况下进行传输数据的。
1:回答发送数据前是否存在建立连接。
2:TCP通过确认机制,丢包可以重发,保证数据的正确性;UDP不保证数据的正确性,只是单纯的负责发送数据包。
3:UDP是发送报文的。发送方的UDP对应用程序交下来的报文,在添加首部后,就向下交付给IP层,既不拆分的,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
4:UDP的头部,只有8字节,相对于TCP头部的20字节信息包的额外开销小。
总结:TCP保证数据的完整性和数据顺序,UDP可能丢包,不保证数据的完整性。但是UDP程序的结构相对简单,对系统的资源要求较低开销少,TCP信息包比较长,开销大。