《计算机网络技术及应用(第二版)》课件第8章运输层.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机网络技术及应用(第二版)》课件第8章运输层.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络技术及应用第二版 计算机网络技术及应用第二版课件第8章 运输层 计算机网络技术 应用 第二 课件 运输
- 资源描述:
-
1、第8章 运输层计算机网络技术及应用(第2版)8.1传输层概述n运输层是整个网络体系结构中的关键层次之一,其根本任务是为两个主机中的应用进程提供通信服务。在传输层中共有两个协议,分别是TCP协议与UDP协议,TCP协议的控制机制非常复杂,从而保证了应用进程之间的可靠数据传输。8.1.1传输层的设计问题n传输层的最高目标是向其用户(一般是指应用层的进程,即运行着的应用程序),提供有效、可靠且价格合理的服务。为了达到这一目标,传输层利用了网络层所提供的服务。传输层完成这一工作的硬件和软件称为传输实体(transport entity)。传输实体可能在操作系统内核中,或在一个单独的用户进程内,也可能是
2、包含在网络应用的程序库中,或是位于网络接口卡上。网络层、传输层和应用层的逻辑关系如图8-1所示。图8-1 网络层、传输层和应用层的逻辑关系应用层网络层传输实体TPDU应用层网络层传输实体主机1主机2应用/传输接口传输/网络接口传输地址网络地址传输协议传输层协议通常具有几种责任。n一种责任就是创建进程到进程的通信,通常使用端口号来完成这种功能。另一种责任是在传输层提供控制机制,比如差错控制、流量控制及拥塞控制等,UDP协议提供很简单的控制机制,而TCP却要复杂很多,如使用确认分组、超时和重传来完成差错控制,使用滑动窗口协议完成流量控制等。另外,传输层还应当负责为进程建立连接机制,这些进程应当能够
3、向传输层的发送数据流。传输层在发送站的责任应当是和接收站建立连接,把数据流分割成可传输的单元,把它们编号,然后逐个发送他们。传输层在接收端的责任应当是等待属于同一个进程的所有不同单元的到达,检查并传递那些没有差错的单元,并把它们作为一个流,交付给接收进程。当整个流发送完毕后,传输层应当关闭这个连接。n运输层的任务是为两个主机中的应用进程提供通信服务。这与网络层中的IP协议有什么区别呢?IP协议是负责计算机级的通信,换句话说,是提供主机到主机的通信服务。作为网络层协议,IP协议只能将报文交付给目的计算机。但是,这是一种不完整的交付。这个报文还必须送交到正确的进程。这正是传输层协议所要做的事。图8
4、-2给出了IP协议与运输层协议作用范围的区别。进程(运行的应用程序)进程(运行的应用程序)INTERNETIP协议的作用范围运输层协议的作用范围n另外,除了在作用范围上有所区别,传输层还比网络层提供更可靠的传输服务。分组丢失、数据残缺均会被传输层检测到并采取相应的补救措施。8.1.2 端口n现在的操作系统都支持多用户、多任务的运行环境。一个计算机在同一时间可运行多个进程。在网络上,主机是用IP地址来定义的。要定义主机上的某一个进程,便需要第二个标识符,叫做端口号。n端口是个非常重要的概念,因为应用层的各种进程是通过相应的端口与运输实体进行交互的。因此在运输协议数据单元的首部中都要写入源端口号和
5、目的端口号。当运输层收到IP层交上来的数据,就要根据其目的端口号来决定应当通过哪一个端口上交给目的应用进程。n在TCP/IP协议族中,端口号由16位二进制数表示,换算为十进制,则是0-65536之间的整数。端口号只有本地意义,即端口号只是为标志本计算机应用层中的各进程,不同计算机的相同端口号是没有联系的。n端口号分为两类。一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其数据一般为0-1023,表8-1中便列出了部分常见的熟知端口。“熟知”就表示这些端口号是TCP/IP体系确定并公布的,因而是所有用户进程都知道的。当
6、一种新的应用程序出现时,必须为它指派一个熟知端口,否则其他的应用进程都无法和它进行交互。在应用层中的各种不同的服务器进程不断地检测分配给它们的熟知端口,以便发现是否有某个客户进程要和它通信。另一类是一般端口,用来随时分配给请求通信的客户进程,一般来说,客户进程所使用的端口号都是临时产生的,通信完成后便释放,所以又称短暂端口号。表8-1 常见的熟知端口协议端口说明FTP21文件传输协议TELNET23远程登录协议SMTP25简单邮件传输协议DNS53域名解析协议DHCP67动态主机配置协议TFTP69快速文件传输协议HTTP80超文本传输协议SNMP161简单网络管理协议n为了在通信时能确定唯一
7、主机的唯一进程,就必须把端口号和主机的IP地址结合起来一起使用,称为套接字地址(socket address),或直接称为SOCKET。在实际通信过程中,我们需要一对套接字地址:客户套接字地址和服务器套接字地址,客户套接字地址惟一定义了客户进程,而服务器套接字唯一地定义了服务器进程。这四种信息分别是IP首部与运输协议数据单元首部中的一部分。IP 地址200.10.10.1200.10.10.1200.10.10.1200.10.10.1端口号21212121200.10.10.1,21200.10.10.1 ,21 套接字地址图8-3 套接字的组成 8.3用户数据报协议UDPn8.3.1 UD
8、P概述n用户数据报协议UDP是传输层协议之一,其实现功能较为简单,但由于其灵活、开销小等特点,使得它更适合某些应用。nUDP提供无连接的服务。这表示UDP发送出的每一个用户数据报都是独立的数据报。用户数据报并不进行编号,也没有建立连接和释放连接的过程,每一个用户数据报可以走不同的路径。nUDP是一个不可靠的传输层协议。它没有流量控制,因而当到来的报文太多时,接收端可能溢出。除检验和外,UDP也没有差错控制机制。这表示发送端并不知道报文是丢失了还是重复地交付了。当接收端使用检验和并检测出差错时,就悄悄地将这个用户数据报丢掉。缺少流量控制和差错控制就表示使用UDP的进程必须要提供这些机制。8.3.
9、2 UDP用户数据报 nUDP分组叫做用户数据报,有8个字节的固定首部。图8-4给出了用户数据报的格式。源端口目的端口长 度检验和2222字节数据首 部UDP 用户数据报源端口目的端口长 度检验和2222字节数据首 部UDP 用户数据报在用户数据报首部中的字段有以下几个:n源端口号:源端口号:这是在源主机上运行的进程所使用的端口号。有16位长,这就是表示端口号的范围为0-65535。若源主机是客户端(当客户进程发送请求时),则在大多数情况下,这个端口是短暂端口号;若源主机是服务器端,则在大多数情况下这个端口号是熟知端口号。n目的端口号:目的端口号:这是在目的主机上运行的进程使用的端口号。也是1
10、6位长。若目的主机是客户端(当客户进程发送请求时),则在大多数情况下,这个端口是短暂端口号;反之,若目的主机是服务器端,则在大多数情况下这个端口号是熟知端口号。n总长度:总长度:是用户数据报的总长度,即首部加上数据后的总长度,也是16位长。这表示总长度最长为65535字节,但最小长度不是0字节,而是8字节,它指出用户数据报只有首部而无数据。n检验和:检验和:这个字段用来检验整个用户数据报出现的差错 n用户数据报数据部分则是从应用层继承下来的,数据的长度可从0到65507(即65535-20-8)字节(20字节的IP首部和8字节的UDP首部)n UDP用户数据首部中检验和的计算机方法有些特殊。在
11、计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。所谓“伪首部”是因为这种伪首部并不是UDP用户数据报真正的首部。伪首部共六个字段:源IP地址、目的IP地址、全0(为补偶数个字节用)、协议号、UDP长度,大部分字段都是从IP数据报首部中提取出来的。只是在计算检验和时,临时和UDP用户数据报连接在一起,得到一个过渡的UDP用户数据报。检验和就是按照这个过渡的UDP用户数据报来计算的。伪首部的存在仅为了计算机检验和。nUDP计算检验和是将首部和数据部分一起检验。在发送端,首先是先将全零放入检验和字段。再将伪首部以及UDP用户数据报看成是由许多16bit的字串接起来。若UDP用户数据报的
12、数据部分不是偶数个字节,则要填入一个全零字节(但此字节并不发送)。然后按二进制反码计算出这些16bit字的和。将此和的二进制反码定入检验和字段后,发送此UDP用户数据报。在接收端,将收到的UDP用户数据报连同伪首部(以及可能的填充全零字节)一起,按二进制反码求这些16bit字的和。当无差错时其结果应为全1。否则就表明有差错出现,接收端就应将此UDP用户数据报丢弃。8.4 传输控制协议TCPn8.4.1 TCP概述n与UDP不同,TCP是一种面向流的协议。在UDP中,进行把一块数据发送给UDP以便进行传递。UDP在这块数据上添加自己的首部,这就构成了数据报,然后再把它传递给IP来传输。这个进程可
13、以一连传递好几个块数据给UDP,但UDP对每一块数据都是独立对待,而并不考虑它们之间的任何联系。nTCP则允许发送进程以字节流的形式来传递数据,而接收进程也把数据作为字节流来接收。TCP创建了一种环境,它使得两个进程好像被一个假想的“管道”所连接,而这个管道在Internet上传送两个进程的数据,发送进程产生字节流,而接收进程消耗字节流。n由于发送进程和接收进程产生和消耗数据的速度并不一样,因此TCP需要缓存来存储数据。在每一个方向上都有缓存,即发送缓存和接收缓存。另外,除了用缓存来处理这种速度的差异,在发送数据前还需要一种重要的方法,即将字节流分割为报文段(Segment)。报文段是TCP处
展开阅读全文