上QQ阅读APP看书,第一时间看更新
1.2.4 传输层
前面提到,网络层并不负责确保数据传输的过程和结果是可靠的,这就需要传输层(Transport Layer)来确保消息无错、有序、无损或无重复地传输。以快递公司为例:假设上海YESLAB的老师要把Cisco NCS 540路由器快递到北京YESLAB,他在快递单上写好地址,把设备交给快递人员。快递人员会在路由器外面添加一层快递公司的包装,一方面保证设备不会受损,另一方面会注明送到北京哪个快递投递站。
快递公司除了有一套标准的包装和运送流程,还可以针对特殊需求提供特殊服务。比如在运送易碎物品时,可能会对物品进行额外包装,并且这种包装服务有时还与路况相关,比如全程高速和全程山路的包装肯定不一样。像这种针对路况提供不同级别服务的情况,也适用于传输层。传输层会根据其下一层的特征提供不同的服务,并导致传输层协议的适用范围和复杂程度各不相同。
传输层有一些协议是面向连接的,也就是说它可以追踪数据的传输状态,并在传输失败后重新传递。它提供了一种成功传输数据后的确认机制,源端设备能够在目的端设备成功收到数据后,再发送下一个数据。传输层还提供流控功能,可以在一条逻辑链路上传输多条数据流(快递人员的电瓶车里装了多个人的包裹),并跟踪维护每条数据流的信息(把这些包裹正确送到目的地)。
传输层交换单元的名称是TPDU。尽管TCP和UDP并不是基于OSI参考模型开发的,也并没有严格遵从OSI对于传输层的定义,但我们在讨论OSI参考模型时,还是会把它们归类为传输层协议。