1.TCP服务
TCP(Transmisson Control Protocol)服务模型包括面向连接的服务和可靠数据传输服务,当应用程序调用TCP协议作为它的运输层协议时,该应用程序就可以获得这两种服务。
- 面向连接的服务:
当使用TCP协议时,在应用层数据报文开始流动之前,客户机程序和服务器程序之间互相交换着运输层控制信息,所谓的握手过程是提示客户机和服务器做好传输分组的准备,在握手阶段,在两个进程的套接字之间建立了一个TCP连接,是全双工的(即发送双方可以同时进行发送和接收),当应用程序结束报文发送的时候必须拆除该连接,我们之所以称之为面向连接的服务,而不是连接,是因为两个进程以一种非常松散的方式来进行连接的。 - 可靠数据传输服务:
进行通信的进程依靠TCP协议,无差错,按适当的顺序交付发送的数据,当应用程序的一段通过套接字传送一个字节流的时候,它能够依靠TCP协议将相同的字节流交付给接收方的套接字,没有字节的丢失和冗余。
此外,TCP协议还有拥塞控制机制,这种服务不一定能为通信进程带来直接好处,但能为因特网带来整体好处,当发送方和接收方之间的网络出现拥塞时,会抑制发送进程。
2UDP服务
UDP服务时一种不提供不必要服务的轻量级运输层协议,仅仅提供最小服务,UDP是无连接的,因此无握手过程。提供的是不可靠的数据传输服务,也就是说进程通过UDP套接字发送报文时,UDP协议提供的是不可靠数据传输服务,也就是说进程通过UDP套接字发送报文的时候,UDP协议并不保证该报文能够被接收进程接收到。不仅如此,接收进程受到的报文也可能是乱序到达的。没有拥塞控制机制,发送方可以以任何速率向下层注入数据。
流行的因特网应用所使用的运输层协议
应用 | 应用层协议 | 支撑的运输层协议 |
---|---|---|
电子邮件 | SMTP[RFC 2821] | TCP |
远程终端访问 | Telnet[RFC 854] | TCP |
Web | HTTP[RFC 2616] | TCP |
文件传输 | FTP[RFC 959] | TCP |
流媒体 | HTTP,RTP | TCP/UDP |
因特网电话 | SIP,RTP | 通常用UDP |