第8章运输层.ppt

上传人:本田雅阁 文档编号:2912091 上传时间:2019-06-04 格式:PPT 页数:31 大小:511.52KB
返回 下载 相关 举报
第8章运输层.ppt_第1页
第1页 / 共31页
第8章运输层.ppt_第2页
第2页 / 共31页
第8章运输层.ppt_第3页
第3页 / 共31页
第8章运输层.ppt_第4页
第4页 / 共31页
第8章运输层.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第8章运输层.ppt》由会员分享,可在线阅读,更多相关《第8章运输层.ppt(31页珍藏版)》请在三一文库上搜索。

1、第8章 运输层 8.1 运输层概述,建立应用间的端到端连接,TCP,SPX,UDP,TCP/IP,IPX,传输层的基本功能是从会话层接收数据,并且在必要时把它分成较小的单元,传递给网络层,并确保达到对方的各段信息正确无误,传输层使会话层不受硬件技术变化的影响。,从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。,物理层,网络层,运输层,应用层,数据链路层,面向信息处理,面向通信,用户功能,网络功能,运输层为相互通信的应用进程提供了逻辑通信,5 4 3 2 1,运输层提供应用进程间的逻辑通信,主机 A,主机 B,应用进程,应用进

2、程,路由器 1,路由器 2,AP1,LAN2,WAN,AP2,AP3,AP4,IP 层,LAN1,AP1,AP2,AP4,端口,端口,5 4 3 2 1,IP 协议的作用范围,运输层协议 TCP 和 UDP 的作用范围,AP3,应用进程之间的通信,两个主机进行通信实际上就是两个主机中的应用进程互相通信。 应用进程之间的通信又称为端到端的通信。 运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。 “运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一

3、条水平方向的物理连接。,运输层协议和网络层协议的主要区别,应用进程,应用进程,IP 协议的作用范围 (提供主机之间的逻辑通信),TCP 和 UDP 协议的作用范围 (提供进程之间的逻辑通信),因 特 网,8.2 TCP/IP体系中的运输层 8.2.1 运输层中的两个协议 在TCP/IP协议中有两个并列的协议:UDP和TCP。 UDP(User Datagram Protocol,用户数据报协议)是无连接的,即在进行数据传输之前不需要建立连接,而目的主机收到数据报后也不需要发回确认。这种协议提供了一种高效的传输服务,但其逻辑通信信道则是一条不可靠的信道。 TCP(Transmission Con

4、trol Protocol,传输控制协议)是面向连接的,即在进行数据传输之前需要先建立连接,而且目的主机收到数据报后要发回确认信息。这种协议提供了一种可靠的传输服务,其逻辑通信信道就相当于一条全双工的可靠信道。与UDP相比提供了较多的功能,但是相对的报文格式和运行机制也较为复杂。,运输层向上提供可靠的和不可靠的逻辑通信信道,?,应 用 层,运 输 层,发 送 进 程,接 收 进 程,接 收 进 程,数据,数据,全双工可靠信道,数据,数据,使用 TCP 协议,使用 UDP 协议,不可靠信道,发 送 进 程,端口在进程之间的通信中所起的作用,应 用 层,运 输 层,网 络 层,TCP 报文段,UD

5、P 用户数据报,应用进程,TCP 复用,IP 复用,UDP 复用,TCP 报文段,UDP 用户数据报,应用进程,端口,端口,TCP 分用,UDP 分用,IP 分用,发送方,接收方,8.2.2 端口的概念 TCP、UDP都使用了与应用层接口处的协议端口(protocol port,简称端口)来同上层的应用进程进行通信。当运输层接收到IP层交上来的数据(TCP报文段或UDP用户数据报)时,就根据其中首部的端口号来决定应当通过哪一个端口上交给应当接收此数据的应用进程。如果没有端口,运输层就无法知道数据应当交付给应用层的哪一个进程。 端口实际上是一个16Bit长的地址,并用端口号进行标识。端口号相当于

6、一个抽象的定位符,有时也可以称为邮箱。其只是为了标识本计算机应用层中的各进程。 端口号只具有本地意义,不同计算机中相同的端口号是没有联系的。16Bit长的端口号可以允许有0至65535个端口号。 端口号分为两类: (1)由因特网指派名字和号码公司ICANN负责分配给一些常用的应用 层程序固定使用的熟知端口(Well-Known Port),其数值一般,为0至1023。“熟知”就表示这些端口号是TCP/IP体系确定并公布 的,因而是所有用户进程都知道的。例如,对应TCP协议上 Telnet(远程登录)规定使用端口号23,FTP(文件传输)规定 使用端口号21,SMTP(简单电子邮件传输)规定使用

7、端口号25 等等。在传输层的UDP协议上也规定了一组固定的端口号,如 TFTP(简单文件传输)规定使用端口号69等。 当一种新的应用程序出现时,必须为它指派一个熟知端口,否则其他的应用进程就无法和它进行交互。 在数据传输过程中,应用层中的各种不同的服务器进程不断地 检测分配给它们的端口,以便发现是否有某个应用进程要与它通信。 (2) 其余1024至65535端口号称为一般端口或(动态)连接端口。,图8-5 各端口的意义,端,口,2,0,00,端,口,2,0,01,端,口,2,0,00,端,口,2,5,A,B,C,连,接,1,连,接,2,连,接,3,图8-6 通过SMTP进行通信的主机,为了使得

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

9、3 用户数据报协议UDP UDP是在传输层上与TCP并行的一个独立协议。UDP建立在IP协议 上,通常作为IP的一个简单扩展。它引入了一个进程端口的匹配机 制,使得某用户进程发送的每个UDP报文都包含有报文目的端口的 编号和报文源端口的编号,从而使UDP软件可以把报文传递给正确 的接收进程。 8.3.1 用户数据报用途 UDP提供的服务与IP协议一样,是不可靠的、无连接的服务。 但它于不同于IP协议,因为IP协议是网络层协议向运输层提供无连 接的服务,而UDP是传输层协议,它向应用层提供无连接的服务。 TCP/IP在传输层上另外建立一个UDP协议是由于UDP传输效率高,适合于某些简单的交互应用

10、场合,如应用层的简单文件传送TFTP,便是建立在UDP上的。对来回只有一次或有限几次的交互建立一个连接开销太大,即使出错重传也比面向连接的方式效率高。,由于UDP提供的是一种面向无连接的服务,它并不保证可靠的 数据传输,不具有确认、重发等机制,而是必须靠上层应用层的协 议来处理这些问题。,8.3.2 用户数据报的格式 用户数据报UDP包括两个字段:数据字段和首部字段。首部字段有8个字节,4个字段组成,每个字段两个字节。其报文格式如图所示:,UDP报头的格式示意图,源端口字段 源端口号; 目的端口字段 目的端口号; 长度字段 UDP数据报的长度; 检验和字段 防止UDP数据报在传输中出错。 数据

11、报的检验和仅计算IP报头,而UDP(和TCP)的检验和包括 报头和数据部分的内容。 UDP检验和的确还要用到“伪报头” (Pseudo header),伪报头仅为检验和计算而构造。 UDP简单地构造带有检验和的报头,然后将分组放到队列中让IP处理和发送。,8.4 传输控制协议TCP TCP是TCP/IP体系中面向连接的运输层协议,它提供全双工的 可靠交付的服务。 TCP与UDP最大的区别就是TCP是面向连接的,而UDP是无连接的。,TCP与UDP的比较: (1)TCP提供可靠的,面向连接的传输服务 (2) UDP提供不可靠的,无连接的传输服务 (3) TCP适用于一次传送大批量的数据 (4)

12、UDP适用于多次少量数据的传输,实时性要求高的业务,(2)TCP的基本接口 TCP层提供了6个主要的原语操作,包括: Open(打开) Send(发送) Receive(接收) Close(关闭) Status(状态) Abort(终止) 这些服务的实现具有一定的自由性。open请求可以是主动的(建立一个连接),或者是被动的(等 待一个连接请求)。send和receive用来传说数据。close和abort用于正常或强行中断TCP连接。status请求提供一个通用的服务,允许应用收集某个指定的实现的信息,以确定本地和远程环境状态。,(3)TCP提供的服务 TCP提供端对端、可靠的、进程间的面向

13、连接的数据传送服务。它既适用于可靠的网络服务环境,也适用于不可靠的网络服务环境。 为达到可靠传送的目的,TCP将其传送协议数据单元(TPDU)发送出去后必须等待对方的应答。若对方应答确认正确接收,发送方将该TPDU从缓冲区队列中除去;若超时后仍未收到应答信号,则需重发该TPDU。接收方收到对方发来的TPDU后,经检查无错,无重复,才放入缓冲区队列。,8.4.1 TCP报文段的首部,图8-7 TCP报文段格式,8.4.2 TCP的数据编号与确认 TCP将所要传送的整个报文段看成是由一个个字节组成的,对于每一个字节进行编号。在传送数据之前,通信双方要首先商定好起始序号,每一次传送数据时,都会将报文

14、段中的第一个字节的序号放在报文段中的确认序号字段中。 在TCP报文段首部含有确认序号字段,通过它可以完成TCP报文 的确认,具体的确认是对接收到的数据的最高序号进行确认,返回的确认序号是已经收到的数据的最高序号加1。由于TCP采用全双工的通信方式,因此进行通信的每一方都不必专门发送确认报文段,可以在传送数据的同时进行确认,这种方式称为捎带确认。,8.4.3 TCP的流量控制与拥塞控制 两用户进程间的流量控制和链路层两相邻结点间的流量控制类似,都要防止快速的发送数据时超过接收者的能力,采用的方法都是基于滑动窗口的原理。 但是链路层常采用固定窗口大小,而传输层则采用可变窗口大小和使用动态缓冲分配。

15、 发送端主机在发送数据时,既要考虑到接收方的接收能力,也要考虑网络目前的使用情况,发送方发送窗口大小应该考虑以下几点: (1)通知窗口(advertised window):这是接收方根据自己的接收能力而确定的接收窗口的大小。 (2)拥塞窗口(congestion window):这是发送方根据目前网络的使用情况而得出的窗口值,也就是来自发送方的流量控制。 当中最小的一个最为适宜,即: 发送窗口=Min通知窗口,拥塞窗口,8.4.4 TCP的运输连接管理 1. TCP连接的建立 第一次握手:源主机发送一个带有本次连接序号的请求。 第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有本次

16、连接序号和源主机连接序号的确认。 第三次握手:源主机收到含有两次初始序号的应答后,再向目的主机发送一个带有两次连接序号的确认。,图8-10 TCP协议中连接建立的过程,SYN表示同步比特位,置为1;X表示在后面传输数据时的第一个数据字节序号是X。,2. 连接的释放 第一次握手:由进行数据通信的任意一方提出要求释放连接的请求报文段。 第二次握手:接收端收到此请求后,会发送确认报文段,同时当接收端的所有数据也都已经发送完毕后,接收端会向发送端发送一个带有其自己序号的报文段。 第三次握手:发送端收到接收端的要求释放连接的报文段后,发送反向确认。,主,机,A,主,机,B,F,I,N,,,S,E,Q,=,x,A,C,K,=,x,+,1,F,I,N,,,S,E,Q,=,y,A,C,K,=,x,+,1,A,C,K,=,y,+,1,图8-11 TCP连接的释放过程,本章重点: 1.运输层的功能 2.TCP/IP的运输层中的两个协议: 用户数据报协议UDP:提供无连接服务 传输控制协议TCP:提供面向连接服务 3.端口、SOCKET(套接字/插口)的概念 4.TCP的运输连接管理(TCP连接的建立、释放),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1