Internet传输层能提供的服务只有两类:面向连接的可靠字节流传输服务和无连接的不可靠数据报传输服务,分别对应传输层的TCP和UDP.
这两类服务都不能提供时延保障和带宽保障服务。
需要特别注意的是,Internet传输层的TCP和UDP均不能提供端到端吞吐量以及时延保障服务。
TCP服务模型包括面向连接服务和可靠数据传输服务。当某个应用程序调用TCP作为其传输协议时,该应用程序就能获得来自TCP的这两种服务
(1)面向连接的服务:在应用层报文开始传送之前,TCP客户和服务器互相交换传输层控制信息,完成握手,在客户进程与服务器进程的套接字之间建立一套逻辑的TCP连接。
这条连接是全双工的,即连接双方的进程在此连接上同时进行报文收发。
(2)可靠的数据传送服务:应用进程能够依靠TCP,实现端到端的无差错、按顺序交付所有发数据的服务。
当应用程序的一端将字节流通过本地套接字传送时,它能够依靠TCP将相同的字节流交付给接收方的套接字,而没有字节的丢失和冗余。
UDP是一种不提供传输服务保障的轻量级传输层协议,仅提供最小的“尽力”服务。
UDP是无连接的,因此在两个进程通信前没有握手过程。
UDP提供一种不可靠的数据传输服务,也就是说,当进程将一个报文通过UDP套接字传送时,UDP并不保证该报文将到达接收进程。不仅如此,到达接收进程的报文也可能是乱序到达的。