网络构架是一个复杂的结构。多种协议的相互配合使用才能完成复杂的工作。那么在传输层当中,我们主要介绍的是TCP协议和UDP协议的相关内容。尽管,两个协议的使用总是有交互,但是,本质上这两个协议却有着不可替代和明确的不同的定义。
传输层协议TCP和UDP
通过网络提供的每种服务都有应用层协议,这些协议是在服务器和客户端软件中实现的。除应用层协议外,所有常见Internet服务都使用IP地址在源主机和目标主机路由消息。
IP层指定了分组的结构、地址和路由选择,而没有指定传输分组的方式。传输层协议指定了如何在主机之间传输消息,最常用的两种传输层协议是传输控制协议(TCP)和用户数据报协议(UDP)。IP使用这些传输协议,让主机能够进行通信和传输数据。IP是Internet的基础协议,其他所有协议都依赖于它。传输层协议TCP和UDP运行在IP之上,而HTTP和FTP等应用层协议运行在TCP或UDP协议之上。IP是Internet的本机网络协议。
1.使用TCP
当应用程序需要确认消息已收到时,它将使用TCP。这类似于通过邮政系统邮寄挂号信,收信人必须通过签名来确认收到了信件。
TCP将消息分割成小块,这些小块被称为数据段。数据段按顺序编号,并传递给IP以组装为分组。TCP跟踪从特定应用程序发送到特定主机的数据段数量,它还发送确认以确保分组已收到。如果发送方在规定时间内未收到确认,它将认为数据段已丢失并重传它们。只重传丢失消息部分,而不是整条消息。
在接收主机上,TCP负责重组消息的数据段并将它们传递给应用程序。
FTP和HTTP使用TCP来确保数据得以传送。用户使用FTP客户端软件将一个文件发送给FTP服务器,该客户端软件使用TCP来保证传输。
2.使用UDP协议
在有些情况下,并不需要TCP确认协议,且该协议将降低信息的传输速度。在这些情况下,UDP可能是更适合的传输协议。
UDP是一种尽力而为的传输系统,不需要确认数据已收到。这类似于通过邮政系统邮寄平信,虽然不能担保信件肯定能收到,但收到的可能性极大。
UDP是流式音频、视频流和IP语音(VoIP)等应用程序的首选。确认机制将降低传输速度,且在这些情况下没有必要重传。
一种使用UDP协议的应用程序是Internet广播,它使用流式音频技术。如果消息在网络传输过程中丢失,将不会重传它。丢失少量分组时,听众将听到轻微的声音中断。如果使用TCP,将重传丢失的分组,这将暂停原来的传输,导致的中断更明显。