思科网络技术学院教程第三讲传输层介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三讲OSI传输层介绍
关键术语
流量控制
控制数据
互联网编号指派机构(IANA)知名端口
注册端口
动态或私有端口
紧急指针URG 确认字段ACK
护送功能PSH
重置功能RST
同步序列号SYN
发送方已经传送完所有数据FIN 确认
窗口大小
传输层的作用
传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控、分段/重组和差错控制。一些协议是面向链接的。这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。
三、重组数据段
由于网络能提供不同的传输路径,数据可能以错误的顺序到达。通过编号与排序分段,传输层能保证这些分段能以正确的顺序重组。
在接收主机,数据的每个分段必须按正确的顺序重组,然后传给适当的应用程序。
传输层的协议描述了传输层的头信息如何用于重组数据片段成为正确的数据流传给应用程序。
四、标识应用程序
为了将数据流传送到适当的应用程序,传输层必须要标志目的应用程序。因此,传输层将向应用程序分配标识符。TCP/IP协议族称这种标识符为端口号。在每台主机中,每个需要访问网络的软件进程都将被分配一个唯一的端口号。该端口号将用于传输层报头中,以指示与数据片段关联的应用程序。
在传输层中,源应用程序和目的应用程序之间传输的特定数据片段集合称为会话。将数据分割成若干小块,然后将这些小的数据段从源设备发往目的设备,那么网络中可以同时交叉收发(多路传输)很多不同的通信信息。
传输层负责网络传输,是应用层和网络层之间的桥梁。它从不同的会话接收信息后,将数据划分成最终能在介质上多路传输的一些便于管理的数据片段,然后再向下层传送数据。
应用程序不需要了解所用网络的详细运作信息,它们只需生成从一个应用程序发送到另一个应用程序的数据,而不必理会目的主机类型、数据必须要流经的介质类型、数据传输的路径以及链路上的拥塞情况或网络的规模。
同时,OSI模型的下层也不需要知道有多少应用程序在通过网络发送数据。它们只需负责将数据传送到适当的设备。然后,传输层将对这些数据段排序,并将其传送到相应的应用程序。
五、流量控制
网络主机只有有限的资源,如内存或带宽。当传输层得知这些资源已经过载,一些协议能够要求发送程序减小数据流的流量。这些传输层是通过减少数据源的传送数据组的大小实现的。流量控制能防止在网络上丢失分段并且避免重传。
六、错误恢复
出于多种原因,数据片段在通过网络传输时可能被破坏,从而丢失。传输层通过重传任何丢失的数据确保所有的片段都能到达目的地。
七、开始会话
传输层通过在应用程序间建立一个会话提供面向连接的定位服务。这些连接在传送任何数据之前准备好应用程序间的通信。在这些会话中,在两个应用程序通信的数据可以被严格地管理。
八、数据要求各不相同
由于不同的应用程序有不同的要求,所以传输层协议也有很多种。
例如,只有接收和显示完整的电子邮件或Web网页,用户才能使用其中的信息。因此,为确保接收和显示的信息的完整性而导致的轻微延迟是可以接受的。
相比之下,在电话交谈的过程中偶尔丢失小部分内容是可以接受的。通话人可以从交谈过程推断出丢失的语音内容,否则可以直接请对方复述刚才的话。显然,这种方式要比请求网络来管理并重发丢失的数据段更好,因为可以减少延迟。在此例中,由用户而不是网络来管理丢失信息的重发或替换工作。
在当今的融合的网络中,声音、视频、数据都在相同的网络上通信,不同传输层协议所包含的规则各不相同,因此设备可以处理各种各样的数据要求。
有些协议,例如UDP(用户数据报协议),只提供在相应的应用程序之间高效传送数据片段所需的一些基本功能。这类协议适用于那些对数据延迟极敏感的应用程序。
其他传输层协议,例如TCP(传输控制协议)描述的进程提供了一些附加功能确保应用程序之间可靠传输。虽然这些附加功能可以在传输层上提供更为健全的应用程序间数据通信,但同时也产生了额外的开销并增加了对网络的要求。
为了识别每段数据,传输层向每个数据段添加包含二进制数据的报头。报头含有一些比特字段。不同的传输层协议通过这些字段值执行各自的功能。
支持可靠通信
通过前面的学习,我们了解到传输层的主要功能就是管理主机会话过程中的应用程序数据。但由于不同的应用程序对数据有不同的要求,因此需要开发不同的传输层协议来满足这些要求。
TCP是网络层协议,它能确保数据的可靠传输。
在网络术语中,可靠性指从源设备发送的每段数据都能够到达目的设备。在传输层中,有三项基本的可靠性操作:
跟踪已发送的数据;
确认已接收的数据;
重新传输未确认的数据。
这就要求源主机的传输层进程持续跟踪每个会话过程中的所有数据片段,并重新传输未被目的主机确认的数据。为了支持这种可靠性操作,需要在收发主机之间交换更多的控制数据。控制数据位于传输层(第4层)的报头中。
像数据库、Web网页及电子邮件等应用程序都要求发送的数据以原始状态到达目的设备,这样才能够为目的程序所使用。任何数据的丢失都可能导致通信失败,要么不能完成通信,要么通信的信息不可读。因此,这些应用程序都设计成使用能满足可靠性要求的传输层协议,同时也会考虑这些程序所需的额外网络开销。
其他应用程序允许丢失少量的数据。例如,如果视频数据流中的一段或者两段数据未到达目的地,就只会造成数据流的短暂中断。这可能表现为图像失真,用户也许不会察觉。
对于这种应用程序而言,增加开销一方面确保了应用程序的可靠性,但另一方面却降低了应用程序的实用性。如果视频流目的设备必须获得完整的数据,则等待丢失数据所导致的延迟将使图像质量严重下降。最好采用当时收到的数据段来尽可能提供好的图像质量,而忽略可靠性。如果出于某种原因而需要确保可靠性时,可以通过应用程序自身来提供检查错误和请求重新发送机制。
TCP和UDP
TCP/IP协议族中最常用的两种传输协议是传输控制协议(TCP)和用户数据报协议(UDP)。这两种协议都用于管理多个应用程序的通信,其不同点在于每个协议执行各自特定的功能。
一、用户数据报协议(UDP)
根据RFC 768,UDP是一种简单的无连接协议。该协议的优点在于提供低开销数据传输。UDP中的通信数据段称为数据报。UDP采用"尽力"方式传送数据报。