《数据通信与计算机网络技术》电子教案 第6章 传输层

上传人:E**** 文档编号:89442694 上传时间:2019-05-25 格式:PPT 页数:36 大小:307.50KB
返回 下载 相关 举报
《数据通信与计算机网络技术》电子教案 第6章 传输层_第1页
第1页 / 共36页
《数据通信与计算机网络技术》电子教案 第6章 传输层_第2页
第2页 / 共36页
《数据通信与计算机网络技术》电子教案 第6章 传输层_第3页
第3页 / 共36页
《数据通信与计算机网络技术》电子教案 第6章 传输层_第4页
第4页 / 共36页
《数据通信与计算机网络技术》电子教案 第6章 传输层_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《《数据通信与计算机网络技术》电子教案 第6章 传输层》由会员分享,可在线阅读,更多相关《《数据通信与计算机网络技术》电子教案 第6章 传输层(36页珍藏版)》请在金锄头文库上搜索。

1、数字通信与计算机网络技术基础,华北航天工业学院 庄连英 制作,第6章 传输层,本章学习目标 有关传输层的一些概念和基础知识,传输协议(transport protocol)是整个网络体系结构中的关键之一。位于网络层与应用层之间,主要功能是负责应用程序之间的通信,主要有连接端口管理、流量控制、错误处理、数据重发等工作。在本章的学习中要求重点掌握和理解以下内容: l 掌握有关端口和插口的概念,作用和使用方法 l 掌握关于TCP协议的基础知识 l 了解UDP协议的基础知识,第6章 传输层,6.1 传输层提供的服务,6.2 传输控制协议TCP,6.3 用户数据协议UDP,退出,6.1 传输层提供的服务

2、,6.1.1 传输层概述,6.1.2 提供给高层的服务,6.1.3 TCP/IP协议中的传输层,6.1.4 端口,6.1.1 传输层概述,传输层位于网络体系结构的第四层,如果将其上的各层均作为应用层,则传输层直接与上层应用层进行数据通信,是整个网络体系结构的核心部分。需要注意的是在通信子网中没有传输层,它只存在于通信子网以外的各主机中,如果将整个网络体系结构从网络功能和用户功能角度来划分,传输层不包括在网络功能部分,而是属于用户功能层的最低层。传输层的位置如图6-1所示。,6.1.1 传输层概述,6.1.2 提供给高层的服务,传输层的最终目标是利用网络层提供的服务向其用户(一般是应用层的进程)

3、,提供有效、可靠且价格合理的服务。其主要任务是:在优化网络服务的基础上,从源端机到目的端机提供可靠的、价格合理的数据传输,使高层服务用户在相互通信时不必关心通信子网实现的细节,即与所使用的网络无关。所以在通信子网内的各个交换节点以及连接各通信子网的路由器中,都没有传输层。,6.1.2 提供给高层的服务,例如,设两台计算机主机A和主机B要进行数据通信,如图6-2所示,在计算机A和计算机B上同时有两个应用程序在运行,每对应用程序需要通过两个互连的网络才能进行数据通信,如主机A上的应用程序AP1要和主机B上的应用程序AP3进行通信,数据传输的过程如图6-3所示:,6.1.2 提供给高层的服务,图6-

4、2 多进程通信情况,6.1.2 提供给高层的服务,图6-3 应用程序进行数据通信的过程,6.1.2 提供给高层的服务,由上图可以看出数据在两台主机间传送的整个过程,在物理层上可以透明地传输数据的比特流;在数据链路层上使得各条链路能传送无差错的数据帧(数据帧按顺序、无丢失、不重复);在网络层上提供了路由选择和网络互连的功能,使得主机A发送的数据段能够按照合理的路由到达主机B。但是在这一过程中,到达主机B的数据并不一定是最可靠的,为了提高网络服务的质量,在传输层需要再次优化网络服务,并向高层用户屏蔽通信子网的细节,使高层用户看见的就好像在两个传输层实体之间有一条端到端的、可靠的、全双工的通信通路一

5、样。,6.1.2 提供给高层的服务,在整个通信的过程中,数据在传输层上,才是第一次实现真正意义的端到端的数据通信。 要想实现传输层的功能,必须在主机中装有传输层协议,此协议一般都可支持多个进程的连接。如上述例子中,它同时支持了两对应用进程进行通信。在传输层中完成传输功能的硬件和软件被称为传输实体TSAP(Transport Service Access Point),通过传输实体,传输层可以向应用层提供传输服务,具体的过程如图6-4所示:,6.1.2 提供给高层的服务,图6-4 传输层与其上下层之间的关系,6.1.3 TCP/IP协议中的传输层,在TCP/IP协议中有两个并列的协议:UDP和T

6、CP。 UDP(User Datagram Protocol,用户数据报协议)是面向无连接的,即在进行数据传输之前不需要建立连接,而目的主机收到数据报后也不需要发回确认。这种协议提供了一种高效的传输服务。 TCP(Transmission Control Protocol,传输控制协议)是面向连接的,即在进行数据传输之前需要先建立连接,而且目的主机收到数据报后要发回确认信息。这种协议提供了一种可靠的传输服务。与UDP相比提供了较多的功能,但是相对的报文格式和运行机制也较为复杂。,6.1.4 端口,TCP/IP传输层可以通过协议端口(protocol port,简称端口)来标识通信的应用进程。传

7、输层就是通过端口与应用层的应用程序进行信息交互的,应用层各种用户进程通过相应的端口与传输层实体进行信息交互。端口实际上是一个16Bit长的地址,范围可以从0至65535。将0至1023端口号称为熟知端口(Well-Known Port),其余1024至65535端口号称为一般端口或(动态)连接端口(Registered/Dynamic),在数据传输过程中,应用层中的各种不同的服务器进程不断地检测分配给它们的端口,以便发现是否有某个应用进程要与它通信。,6.1.4 端口,图6-5 各端口的意义,6.1.4 端口,6.1.4 端口,图6-6 通过SMTP进行通信的主机,6.1.4 端口,为了使得多

8、主机多进程通信时,不至于发生上述的混乱情况,必须把端口号和主机的IP地址结合起来使用,称为插口或套接字(Scoket)。由于主机的IP地址是唯一的,这样目的主机就可以区分收到的数据报的源端机了。 插口包括IP地址(32位)和端口号(16位),共48位。如上图6-6所示:(124.33.13.55,200)和(126.45.21.51,25)就是一对插口,在整个Internet中,在传输层上进行通信的一对插口都必须是唯一的。在上述的例子中,使用的是TCP协议,若使用UDP协议,虽然在进行通信的进程间不需要建立连接,但是在每次传输数据时,都要给出发送端口和接收端口,因此同样也要使用插口。,6.2

9、传输控制协议TCP,6.2.1 TCP报文的格式,6.2.2 TCP的编号与确认,6.2.3 TCP的流量控制机制,6.2.4 TCP的重发机制,6.2.5 TCP的传输连接管理,6.2.1 TCP报文的格式,图6-7 TCP报文段格式,6.2.2 TCP的编号与确认,TCP将所要传送的整个报文段看成是由一个个字节组成的,对于每一个字节进行编号。在传送数据之前,通信双方要首先商定好起始序号,每一次传送数据时,都会将报文段中的第一个字节的序号放在报文段中的确认序号字段中。 在TCP报文段首部含有确认序号字段,通过它可以完成TCP报文的确认,具体的确认是对接收到的数据的最高序号进行确认,返回的确认

10、序号是已经收到的数据的最高序号加1。由于TCP采用全双工的通信方式,因此进行通信的每一方都不必专门发送确认报文段,可以在传送数据的同时进行确认,这种方式称为捎带确认。,6.2.3 TCP的流量控制机制,两用户进程间的流量控制和链路层两相邻结点间的流量控制类似,都要防止快速的发送数据时超过接收者的能力,采用的方法都是基于滑动窗口的原理。但是链路层常采用固定窗口大小,而传输层则采用可变窗口大小和使用动态缓冲分配。在TCP报文段首部的窗口字段写入的数值就是当前设定的接收窗口的大小。假设发送端要发送的数据为8个报文段,每个报文段的长度为100个字节,而此时接收端许诺的发送窗口为400个字节,具体情况如

11、下图6-9所示:,6.2.3 TCP的流量控制机制,图6-9 滑动窗口机制,6.2.3 TCP的流量控制机制,实际上实现流量控制并非仅仅为了使得接收方来得及接收而已,还要有控制网络拥塞的作用。比如接收端正处于较空闲的状态,而整个网络的负载却很多,这时如果发送方仍然按照接收方的要求发送数据就会加重网络负荷,由此会引起报文段的时延增大,使得主机不能及时地收到确认,因此会重发更多的报文段,更加剧了网络的阻塞,形成恶性循环。为了避免发生这种情况,主机应该及时地调整发送速率。,6.2.3 TCP的流量控制机制,发送端主机在发送数据时,既要考虑到接收方的接收能力,也要考虑网络目前的使用情况,发送方发送窗口

12、大小应该考虑以下几点: (1)通知窗口(advertised window):这是接收方根据自己的接收能力而确定的接收窗口的大小。 (2)拥塞窗口(congestion window):这是发送方根据目前网络的使用情况而得出的窗口值,也就是来自发送方的流量控制。 当中最小的一个最为适宜,即: 发送窗口=Min通知窗口,拥塞窗口 进行拥塞控制,Internet标准推荐使用三种技术,即慢启动(slow-start),加速递减(multiplicative decrease)和拥塞避免(congestion avoidance)。,6.2.4 TCP的重发机制,重发机制是TCP协议中最重要和最复杂的

13、问题之一。在这一过程中,关键在于如何设置定时器的时间,定时器的时间应该等于数据报文段往返时延,也就是等于从数据发出到收到对方确认所经历的时间。 TCP采用了一种自适应算法来计算重发超时时间。所有发送正确的报文段的往返时延进行加权平均,得到报文段的平均往返时延RT,而将TCP测量该往返时延所用的时间设为M,根据得到的时延,按照下列的公式进行计算修正的RT: RT=RT+(1-)M 是修正因子,一般取值为7/8。,6.2.4 TCP的重发机制,后来发现设为常量在程序中使用并不是很灵活。 1988年,Jacobson提出一种动态的确定超时重发时间的方法,他提出的变化要与确认到达时间的概率密度函数的标

14、准偏差大致成比例,并建议采用平均偏差作为对标准偏差的粗略估计。在这种算法中,需要保存另一个修正因子D(偏差值),按照下列公式进行新的计算: D=D+(1-)|RT-M| 此时,Phil Karn提出了一种简单的建议:对于已经重发的数据段不需要再修正它的超时重发时间,而是在每次传输失败时将超时时间加倍,直到该数据段传送成功为止。目前大多数TCP程的实现都是采用这种算法。,6.2.5 TCP的传输连接管理,1. TCP连接的建立 第一次握手:源端机发送一个带有本次连接序号的请求。 第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有本次连接序号和源端机连接序号的确认。 第三次握手:源端机收

15、到含有两次初始序号的应答后,再向目的主机发送一个带有两次连接序号的确认。,6.2.5 TCP的传输连接管理,图6-10 TCP协议中连接建立的过程,6.2.5 TCP的传输连接管理,2. 连接的释放 第一次握手:由进行数据通信的任意一方提出要求释放连接的请求报文段。 第二次握手:接收端收到此请求后,会发送确认报文段,同时当接收端的所有数据也都已经发送完毕后,接收端会向发送端发送一个带有其自己序号的报文段。 第三次握手:发送端收到接收端的要求释放连接的报文段后,发送反向确认。,6.2.5 TCP的传输连接管理,图6-11 TCP连接的释放过程,6.3 用户数据协议UDP,6.3.1 UDP数据报

16、的格式,6.3.2 UDP的工作原理,6.3.1 UDP数据报的格式,图6-12 UDP报文段格式,6.3.2 UDP的工作原理,由于UDP提供的是一种面向无连接的服务,它并不保证可靠的数据传输,不具有确认、重发等机制,而是必须靠上层应用层的协议来处理这些问题。UDP相对于IP协议来说,唯一增加的功能是提供对协议端口的管理,以保证应用进程间进行正常通信。它和对等的UDP实体在传输时不建立端到端的连接,而只是简单地向网络上发送数据或从网络上接收数据。并且,UDP将保留上层应用程序产生的报文的边界,即它不会对报文合并或分段处理,这样使得接收方收到的报文与发送时的报文大小完全一致。,6.3.2 UDP的工作原理,此外,一个UDP模块必须提供产生和验证检验和的功能,但是一个应用程序在使用UDP服务时,可以自由选择是否要求产生检验和。当一个IP模块在收到由IP传来的UDP数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号