浅述传输层通信协议中的TCP和UDP


在网络通信协议中,我们的传输层通信协议包括TCP协议,UDP协议等等。那么针对这两方面的协议我们来进行一个说明。首先是对TCP协议的分析,相信这个协议大家是比较熟悉的。好了,不多赘述,还是请大家浏览下文吧。

传输层通信协议1:TCP协议的分析

传输控制协议TCP是TCP/IP协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与IP协议相结合,TCP组成了因特网协议的核心。它是一种面向连接的、可靠的传输层协议[4]。TCP协议是为了在主机实现高可靠性包交换的传输协议,在计算机网络中用途很广泛。
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源地址计算机能收到目的计算机正确的回复,这是通过使用TCP的“端口号"完成的。网络IP地址和端口号相结合成为唯一的标识,我们称之为“套接字"或“端点"。TCP在端点间建立连接或虚拟电路进行可靠通信[5]。

传输层通信协议2:UDP协议的分析

UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议[8]。与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。

UDP协议是一个简单的面向数据报的传输层协议,他不提供可靠性:即只把应用程序传给IP层的数据发送出去,但是并不能保证他们能到达目的广播和多播是基于UDP协议的两种消息发送机制。广播数据即从一个工作站发出,局域网内的其他所有工作站都能收到它。IP协议下,多播是广播的一种变形:IP多播要求将对收发数据感兴趣的所有主机加入到一个特定的组。

传输层通信协议3:UDP协议的应用

既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。

关于UDP协议的最早规范是RFC768,1980年发布。尽管时间已经很长,但是UDP协议仍然继续在主流应用中发挥着作用。包括视频电话会议系统在内的许多应用都证明了UDP协议的存在价值。因为相对于可靠性来说,这些应用更加注重实际性能,所以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往可以牺牲一定的可靠性(例如,会面质量)。这就是UDP和TCP两种协议的权衡之处。根据不同的环境和特点,两种传输协议都将在今后的网络世界中发挥更加重要的作用。

相关内容

    暂无相关文章