TCP是运输层的协议向上层(应用層)提供面向连接的可靠的服务。而TCP的下层是网络层网络层提供的尽力而为的服务,也就是说不提供任何质量保证
那么TCP是如何在不可信信道上为上层服务提供可靠的服务呢?这里的可靠包括两方面:
- 传输的数据比特不会受到损坏或丢失
- 所有数据都是按照其发送顺序进荇交付的。
如上图所示运输层向应用层提供可靠数据传输服务。
运输层通过rdt_send()
函数调用数据传输协议,把数据交付给接收方的运输层發送方的运输层调用udt_send()
函数,将分组发送到不可靠的信道
在接收端,当分组从信道的接收端到达时将调用rdt_recv()
。当rdt
协议向较高层交付数据时调用deliver_data()
完成。
二、 构造可靠的数据传输协议
我们将一步步地研究一系列协议最后得到一个无错、可靠的数据传输协议。