第7章传输层1PPT讲稿.ppt
第第7章传输层章传输层1第1页,共83页,编辑于2022年,星期二第七章 传输层 学习要求l掌握:网络环境中分布式进程通信的基本概念。l掌握:进程相互作用的Client/Server模型。l掌握:传输层的基本功能与服务质量。l掌握:用户数据报协议UDP。l掌握:传输控制协议TCP。2第2页,共83页,编辑于2022年,星期二参考模型结构参考模型结构3第3页,共83页,编辑于2022年,星期二本章知识点结构本章知识点结构4第4页,共83页,编辑于2022年,星期二7.1 网络环境中分布式进程通信的基本概念l 5l网络层及以下的各层实现了网络中主机之间的数据通信,但是数据通信不是最终的目的;l计算机网络最本质的活动:l l进行分布在不同地理位置的主机之间的进程通信,进行分布在不同地理位置的主机之间的进程通信,以实现各种网络服务功能;以实现各种网络服务功能;l设置传输层的主要目的:l l要实现分布式进程通信。要实现分布式进程通信。第5页,共83页,编辑于2022年,星期二7.1 网络环境中分布式进程通信的基本概念6网络层与传输层协议之间的关系网络层与传输层协议之间的关系第6页,共83页,编辑于2022年,星期二单机系统中的进程通信方法进程和进程通信是操作系统中的最基本的概念进程和进程通信是操作系统中的最基本的概念程序程序是一个在时间上按照严格次序的前后相继的操作序列,是一个是一个在时间上按照严格次序的前后相继的操作序列,是一个静态静态的概念;的概念;进程进程是一个是一个动态动态的概念,它是一个程序对某个数据集的执行过程。的概念,它是一个程序对某个数据集的执行过程。进程在不同的时刻有不同的状态进程在不同的时刻有不同的状态运行态运行态正在运行的进程;正在运行的进程;就绪态就绪态等待分配等待分配CPUCPU的进程;的进程;等待态等待态等待其他条件的进程。等待其他条件的进程。7第7页,共83页,编辑于2022年,星期二单机系统中的进程通信方法操作系统对进程的管理操作系统对进程的管理要保证系统正常地工作,要保证系统正常地工作,操作系统必须对进程的创建、撤消操作系统必须对进程的创建、撤消与状态转换进行控制与状态转换进行控制;从进程的观点看,从进程的观点看,操作系统的核心是控制和协调这些进程的操作系统的核心是控制和协调这些进程的运行,解决进程之间的通信运行,解决进程之间的通信。操作系统一般包括两层含义:操作系统一般包括两层含义:操作系统的操作系统的内核内核(kernelkernel)提供设备驱动、进程调度、资提供设备驱动、进程调度、资源管理等系统服务;源管理等系统服务;系统系统应用程序应用程序包括外部命令、软件开发环境和窗口系统包括外部命令、软件开发环境和窗口系统等。等。8第8页,共83页,编辑于2022年,星期二解决单机环境下操作系统的进程通信lBSD UNIX 引入了管道(pipe)、命名管道(named pipe)和软中断信号(signal)机制;lAT&T UNIX引入了消息(message)、共享存储区(shared memory)和信号量(semaphore)等;lUNIX系统的消息、共享存储区和信号量统称为进程通信(inter process communication,IPC)机制;lIPC机制也不适应于网络环境中的进程通信。9第9页,共83页,编辑于2022年,星期二网络环境中分布式进程通信的特点l“计算机网络是分布在不同地理位置的多台独立的计算机系统的集合”l独立的计算机系统:联网的每一台计算机的操作与资源是由自己的操作系统所管理;l用户共享的网络资源及网络所能提供的服务功能最终是通过网络环境中的分布式进程通信实现。10第10页,共83页,编辑于2022年,星期二网络环境中分布式进程通信的特点网络环境中与单机系统内部的进程通信的网络环境中与单机系统内部的进程通信的区别区别:网络中主机的网络中主机的高度自治性高度自治性;不是在同一个主机系统之中,不是在同一个主机系统之中,没有一个统一的高层进行没有一个统一的高层进行控制与管理控制与管理;网络中一台主机对其他主机的网络中一台主机对其他主机的活动状态活动状态、位于其他主机系统、位于其他主机系统中的各个中的各个进程状态进程状态、这些进程、这些进程什么时间参与网络活动、什么时间参与网络活动、希望与网络中希望与网络中哪一台主机哪一台主机的的什么进程通信什么进程通信等等一概一概无从知无从知道。道。11第11页,共83页,编辑于2022年,星期二网络环境中分布式进程通信的特点l l网络环境中分布式进程通信需要解决:l l进程命名与寻址方法l l多重协议的识别l l进程间相互作用的模式12第12页,共83页,编辑于2022年,星期二网络环境中进程标识l在一台计算机中,不同的进程用进程号或进程标识(process ID)惟一地标识。l网络环境中完整的进程标识应该是:l本地主机地址-本地进程标识;l远程主机地址-远程进程标识。l进程地址也叫做端口号(port number),可以作为网络环境中的进程标识。13第13页,共83页,编辑于2022年,星期二网络环境中进程通信需要解决的三个问题l进程标识与寻址交流对象l多重协议的识别交流语言l进程间相互作用的模式交流方式14第14页,共83页,编辑于2022年,星期二多重协议的识别TCP/IPTCP/IP传输层包括传输层包括TCPTCP协议和协议和UDPUDP协议;协议;网络环境中一个进程的全网惟一的标识需要一个网络环境中一个进程的全网惟一的标识需要一个三元组三元组来表示:来表示:协议协议本地地址本地地址本地端口号本地端口号15第15页,共83页,编辑于2022年,星期二多重协议的识别网络环境中一个完整的进程通信标识网络环境中一个完整的进程通信标识:五元组五元组 协议协议 本地地址本地地址 本地端口号本地端口号 远地地址远地地址 远地端口号远地端口号在在UNIXUNIX操作系统中操作系统中:三元组又叫做半相关(三元组又叫做半相关(half-associationhalf-association)五元组叫做一个相关(五元组叫做一个相关(associationassociation)16第16页,共83页,编辑于2022年,星期二进程间相互作用模式:客户/服务器模式l lClient/Server模型的基本概念计算机的硬件、软件与数据资源计算机的硬件、软件与数据资源,提供服务提供服务本地用户提供服务本地用户提供服务其他主机的用户其他主机的用户每一项网络服务都是对应一个每一项网络服务都是对应一个“服务程序服务程序”进程;进程;“服务程序服务程序”进程要为每一个获准的网络用户请求进程要为每一个获准的网络用户请求执行一组执行一组规定的动作规定的动作,以满足用户网络资源共享的需要。以满足用户网络资源共享的需要。17第17页,共83页,编辑于2022年,星期二进程间相互作用模式:客户/服务器模式在在TCP/IPTCP/IP协议体系中,进程间的相互作用采用客户协议体系中,进程间的相互作用采用客户/服务器服务器(Client/Server)(Client/Server)模型;模型;客户与服务器分别表示相互通信的客户与服务器分别表示相互通信的两个应用程序的进程两个应用程序的进程;客户向服务器发出客户向服务器发出服务请求服务请求,服务器,服务器响应响应客户的请求,提供客户机客户的请求,提供客户机所需要的所需要的网络服务网络服务。18第18页,共83页,编辑于2022年,星期二采用客户/服务器模式的主要原因网络资源分布的不均匀性网络资源分布的不均匀性l l网络资源分布的不均匀性表现在网络资源分布的不均匀性表现在硬件、软件和数据硬件、软件和数据等三个方面;等三个方面;l l“资源共享资源共享”就是因为网络不同结点之间在硬件配置、计算能力、存就是因为网络不同结点之间在硬件配置、计算能力、存储能力,以及数据分布等方面存在着差距与不均匀性;储能力,以及数据分布等方面存在着差距与不均匀性;l l能力强、资源丰富的充当服务器,能力弱或需要某种资源的成为客户。能力强、资源丰富的充当服务器,能力弱或需要某种资源的成为客户。19第19页,共83页,编辑于2022年,星期二采用客户/服务器模式的主要原因网络环境中进程通信的异步性网络环境中进程通信的异步性l l分布在不同主机系统中的进程什么分布在不同主机系统中的进程什么时间发出通信请求时间发出通信请求,希望和,希望和哪哪一台主机一台主机的的哪一个进程通信哪一个进程通信,以及对方进程,以及对方进程是否能接受通信请求是否能接受通信请求是是不确定的;不确定的;l l网络分布式进程之间不存在一个高层的调度与协调;网络分布式进程之间不存在一个高层的调度与协调;l l必须要建立一个必须要建立一个体制体制,为准备通信的进程之间,为准备通信的进程之间建立起连接建立起连接,在进,在进程交换数据的过程中程交换数据的过程中维护连接维护连接,为数据交换,为数据交换提供同步提供同步。20第20页,共83页,编辑于2022年,星期二采用客户/服务器模式的主要原因网络环境中进程通信的异步性网络环境中进程通信的异步性l l客客 户户一次进程通信中发起的一方;一次进程通信中发起的一方;l l服务器服务器接受进程通信的请求,提供服务的一方;接受进程通信的请求,提供服务的一方;l l每一次通信由每一次通信由客户进程随机启动客户进程随机启动;l l服务器服务器进程处于等待状态,及时进程处于等待状态,及时响应响应客户服务客户服务请求请求。21第21页,共83页,编辑于2022年,星期二进程通信中客户/服务器模式的实现方法客户机客户机/服务器模型的工作实质是服务器模型的工作实质是“请求驱动请求驱动”;在网络环境中,在网络环境中,客户进程发出请求完全随机客户进程发出请求完全随机。在同一个时刻,。在同一个时刻,可能可能有多个客户进程有多个客户进程向一个服务器发出服务请求;向一个服务器发出服务请求;为了实现服务器的功能,在服务器的设计中要解决的主要问为了实现服务器的功能,在服务器的设计中要解决的主要问题:题:并发请求处理能力并发请求处理能力并发服务器的进程标识并发服务器的进程标识服务器安全服务器安全22第22页,共83页,编辑于2022年,星期二解决服务器处理并发请求的基本方案两种方案:l l并发服务器并发服务器;l l重复服务器重复服务器。23第23页,共83页,编辑于2022年,星期二并发服务器(concurrent server)并发服务器的核心是使用一个并发服务器的核心是使用一个守护程序守护程序(daemondaemon););守护程序在系统启动的时候随之启动,在没有客户的服务请求到守护程序在系统启动的时候随之启动,在没有客户的服务请求到达时,并发服务器处于达时,并发服务器处于等待状态等待状态;一旦客户机的服务一旦客户机的服务请求到达请求到达,服务器根据客户的服务请求的,服务器根据客户的服务请求的进程号,去进程号,去激活相应的子进程激活相应的子进程,而服务器回到等待状态;,而服务器回到等待状态;并发服务器叫做主服务器(并发服务器叫做主服务器(mastermaster),把子服务器叫做从服务),把子服务器叫做从服务器(器(slaveslave););主服务器必须拥有一个主服务器必须拥有一个全网公认的进程地址全网公认的进程地址;网络中的客户进程可以根据服务器进程的公认地址,向服务网络中的客户进程可以根据服务器进程的公认地址,向服务器提出服务请求。器提出服务请求。24第24页,共83页,编辑于2022年,星期二客户与并发服务器传输连接的建立过程客户与并发服务器传输连接的建立过程25第25页,共83页,编辑于2022年,星期二重复服务器(interative server)通过设置一个请求队列来存储客户机的服务请求;服务器采用先来先服务的原则来顺序处理客户机的服务请求。26第26页,共83页,编辑于2022年,星期二并发服务器和重复服务器的比较l l并发服务器:并发服务器:l l并发服务器可以处理多个客户的服务请求;并发服务器可以处理多个客户的服务请求;l l从服务器不依赖主服务器而独立处理客户服务请求;从服务器不依赖主服务器而独立处理客户服务请求;l l不同的从服务器可以分别处理不同的客户的服务请求;不同的从服务器可以分别处理不同的客户的服务请求;l l系统的实时性好。系统的实时性好。l l重复服务器:重复服务器:l l处理客户的服务请求的数量受到请求队列长度的限制,但处理客户的服务请求的数量受到请求队列长度的限制,但可以有效地控制请求处理的时间。可以有效地控制请求处理的时间。l l并发服务器适应于面向连接的服务类型;并发服务器适应于面向连接的服务类型;l l重复服务器适应于无连接的服务类型。重复服务器适应于无连接的服务类型。27第27页,共83页,编辑于2022年,星期二小结主动启动与服务器进程通信的程序叫做主动启动与服务器进程通信的程序叫做客户客户;服务器是一个用来提供某种服务的,有特殊权限的服务器是一个用来提供某种服务的,有特殊权限的专用程序专用程序;服务器程序在网络中一台计算机上运行,接受来自远程客户的服务请求,服务器程序在网络中一台计算机上运行,接受来自远程客户的服务请求,提供一种提供一种服务服务;服务器程序需要硬件配置较高的计算机和操作系统的服务器程序需要硬件配置较高的计算机和操作系统的支持支持;客户客户/服务器是软件设计中进程间相互作用关系的服务器是软件设计中进程间相互作用关系的模型模型。28第28页,共83页,编辑于2022年,星期二7.2 传输层的基本功能l 29传输层的端到端通信RRRRR向上提供标准的传输服务向下屏蔽不同的通信子网用户层应用程序第29页,共83页,编辑于2022年,星期二7.1 7.1 传输层与传输层协议传输层与传输层协议7.1.1 7.1.1 传输层的基本功能传输层的基本功能l l传输层的主要功能是实现进程之间的端传输层的主要功能是实现进程之间的端-端通信。端通信。第30页,共83页,编辑于2022年,星期二7.1.2 7.1.2 传输协议数据单元的基本概念传输协议数据单元的基本概念l l传输层中实现传输层协议的软件称为传输层中实现传输层协议的软件称为“传输实体传输实体”。l l传输层之间传输的报文称为传输层之间传输的报文称为“传输协议数据单元(传输协议数据单元(TPDUTPDU)”。第31页,共83页,编辑于2022年,星期二7.2 传输层的基本功能l传输层端到端通信的基本结构32第32页,共83页,编辑于2022年,星期二传输层协议的基本功能传输层的传输层的目标目标:向应用层应用程序进程之间的通信,提供有效、可靠、保向应用层应用程序进程之间的通信,提供有效、可靠、保证质量的服务证质量的服务;传输层的作用:传输层的作用:通过执行传输层协议,屏蔽通信子网在技术、设计上的差通过执行传输层协议,屏蔽通信子网在技术、设计上的差异和服务质量的不足,向高层提供一个标准的、完善的通异和服务质量的不足,向高层提供一个标准的、完善的通信服务;信服务;从通信和信息处理的角度看:从通信和信息处理的角度看:应用层是面向信息处理应用层是面向信息处理传输层是为应用层提供通信服务传输层是为应用层提供通信服务33第33页,共83页,编辑于2022年,星期二传输协议数据单元传输层之间传输的报文叫做传输层之间传输的报文叫做传输协议数据单元传输协议数据单元(Transport Protocol Data UnitTransport Protocol Data Unit,TPDUTPDU););TPDUTPDU有效载荷是应用层的数据。有效载荷是应用层的数据。34TPDUTPDU结构以及与结构以及与IPIP分组、帧结构的关系分组、帧结构的关系第34页,共83页,编辑于2022年,星期二网络层、传输层和应用层网络层、传输层和应用层35第35页,共83页,编辑于2022年,星期二网络服务与服务质量l l网络层次结构中,各层之间有严格的依赖关系,各层次的分工网络层次结构中,各层之间有严格的依赖关系,各层次的分工和协作集中地体现在相邻层之间的界面上;和协作集中地体现在相邻层之间的界面上;l l服务是描述相邻层之间关系的重要概念;服务是描述相邻层之间关系的重要概念;l l网络服务体现在低层向相邻上层提供的一组操作;网络服务体现在低层向相邻上层提供的一组操作;l l低层是服务提供者,高层是服务的用户。低层是服务提供者,高层是服务的用户。36服务(Service)第36页,共83页,编辑于2022年,星期二衡量服务质量(QoS)的主要参数连接建立延迟;连接建立失败概率;吞吐率;传输时延;残留误码率;安全保护;优先级;恢复功能。37第37页,共83页,编辑于2022年,星期二衡量服务质量的主要参数连接建立延迟连接建立延迟l l从传输服务用户要求建立连接到收到连接确认之间所经历的从传输服务用户要求建立连接到收到连接确认之间所经历的时间;时间;l l包括了远端传输实体的处理延迟;包括了远端传输实体的处理延迟;l l连接建立延迟越短,服务质量越好。连接建立延迟越短,服务质量越好。连接建立失败概率连接建立失败概率l l在最大连接建立延迟时间内,连接未能建立的可能性;在最大连接建立延迟时间内,连接未能建立的可能性;l l由于网络拥塞,缺少缓冲区或其他原因造成的失败。由于网络拥塞,缺少缓冲区或其他原因造成的失败。38第38页,共83页,编辑于2022年,星期二衡量服务质量的主要参数吞吐率吞吐率l l是在某个时间间隔内测得的每秒钟传输的用户数据的字节数;是在某个时间间隔内测得的每秒钟传输的用户数据的字节数;l l每个传输方向分别用各自的吞吐率来衡量。每个传输方向分别用各自的吞吐率来衡量。传输延迟传输延迟l l指从源主机传输用户发送报文开始到目的主机传输用户接收到报文为指从源主机传输用户发送报文开始到目的主机传输用户接收到报文为止的时间;止的时间;l l每个方向的传输延迟是不同的。每个方向的传输延迟是不同的。39第39页,共83页,编辑于2022年,星期二衡量服务质量的主要参数残余误码率残余误码率l l残余误码率用于测量丢失或乱序的报文数占整个发送的报文数的残余误码率用于测量丢失或乱序的报文数占整个发送的报文数的百分比;百分比;l l理论上残余误码率应为零,实际上它可能是一较小的值。理论上残余误码率应为零,实际上它可能是一较小的值。安全保护安全保护l l安全保护为传输用户提供了传输层的保护,以防止未经授权的安全保护为传输用户提供了传输层的保护,以防止未经授权的第三方读取或修改数据。第三方读取或修改数据。40第40页,共83页,编辑于2022年,星期二衡量服务质量的主要参数优先级优先级l l为传输用户提供用以表明哪些连接更为重要的方法;为传输用户提供用以表明哪些连接更为重要的方法;l l当发生拥塞事件时,确保高优先级的连接比低优先级的连接先当发生拥塞事件时,确保高优先级的连接比低优先级的连接先获得服务。获得服务。恢复功能恢复功能l l当出现内部问题或拥塞情况下,传输层本身自发终止连接的当出现内部问题或拥塞情况下,传输层本身自发终止连接的可能性。可能性。41第41页,共83页,编辑于2022年,星期二讨论服务质量参数需要注意的几个问题QoSQoS在请求在请求建立连接时设定建立连接时设定的,表明的,表明希望值和最小可接受的值希望值和最小可接受的值;传输层通过传输层通过检查服务质量参数检查服务质量参数可以立即发现其中某些值是无法可以立即发现其中某些值是无法达到的,传输层可以不去与目的主机连接,而直接通知传输达到的,传输层可以不去与目的主机连接,而直接通知传输用户连接请求失败与失败的原因;用户连接请求失败与失败的原因;有些情况下,传输层发现不能达到用户希望的质量参数,但有些情况下,传输层发现不能达到用户希望的质量参数,但可可以达到稍微低一些的要求以达到稍微低一些的要求,然后再请求建立连接;,然后再请求建立连接;并非所有的传输连接都需要提供所有的参数并非所有的传输连接都需要提供所有的参数,大多数仅仅是要求大多数仅仅是要求残余误码残余误码,而其他参数则是为了完善服务质量而设置的。,而其他参数则是为了完善服务质量而设置的。42第42页,共83页,编辑于2022年,星期二传输服务原语43l传输服务用户(应用程序)通过传输服务原语(Transport Service Primitives)访问传输服务。l一套简单的传输服务原语:监听、连接、发送、接收、断连。第43页,共83页,编辑于2022年,星期二一个简单连接管理模式的状态一个简单连接管理模式的状态44第44页,共83页,编辑于2022年,星期二用于用于TCPTCP的套接字原语的套接字原语l 45第45页,共83页,编辑于2022年,星期二7.1.3 7.1.3 应用进程、传输层接口与套接字应用进程、传输层接口与套接字46第46页,共83页,编辑于2022年,星期二7.1.4 7.1.4 网络环境中分布式进程标识方法网络环境中分布式进程标识方法l l实现分布式进程通信要解决两个基本问题实现分布式进程通信要解决两个基本问题 进程标识与多重协议识别进程标识与多重协议识别l l端口号的分配方法端口号的分配方法 端口号的数值范围:端口号的数值范围:0 06553565535之间的整数。之间的整数。端口号的类型:熟知端口号、注册端口号和临时端口号端口号的类型:熟知端口号、注册端口号和临时端口号l lIANAIANA对于端口号数值范围的划分:对于端口号数值范围的划分:47第47页,共83页,编辑于2022年,星期二端口号熟知端口号熟知端口号TCP/UDPTCP/UDP给每种标准的给每种标准的InternetInternet服务器进程分配一个确定的全局端口号。服务器进程分配一个确定的全局端口号。熟知端口号数值范围在熟知端口号数值范围在0 010231023,由,由IANAIANA统一分配。统一分配。注册端口号注册端口号注册端口号数值范围在注册端口号数值范围在102410244915149151。当用户开发新的网络应用程序时,可以为这种新的网络应用程序的服务器程序在当用户开发新的网络应用程序时,可以为这种新的网络应用程序的服务器程序在IANAIANA登记一个注册端口号。登记一个注册端口号。临时端口号临时端口号临时端口号数值范围在临时端口号数值范围在49152491526553565535。由运行在客户上的由运行在客户上的TCP/UDPTCP/UDP软件随机选取的。软件随机选取的。临时端口号只对一次进程通信有效。临时端口号只对一次进程通信有效。48第48页,共83页,编辑于2022年,星期二UDPUDP的熟知端口号的熟知端口号端口号服务进程说明53DNS域名服务67/68DHCP动态主机配置协议69TFTP简单文件传送协议161/162SNMP简单网络管理协议520RIP路由信息协议49第49页,共83页,编辑于2022年,星期二TCPTCP常用的熟知端口号常用的熟知端口号50端口号服务进程说明20FTP文件传输协议(数据连接)21FTP文件传输协议(控制连接)23TELNET网络虚拟终端协议25SMTP简单邮件传输协议80HTTP超文本传输协议179BGP边界路由协议第50页,共83页,编辑于2022年,星期二进程标识的方法51第51页,共83页,编辑于2022年,星期二多重协议的识别l l三元组的结构三元组的结构l l五元组是:协议、本地地址、本地端口号、远程地址与远地端五元组是:协议、本地地址、本地端口号、远程地址与远地端口号。口号。52第52页,共83页,编辑于2022年,星期二7.1.5 7.1.5 传输层的多路复用与多路分解传输层的多路复用与多路分解53第53页,共83页,编辑于2022年,星期二7.1.6 TCP7.1.6 TCP、UDPUDP协议与应用层协议的关系协议与应用层协议的关系54第54页,共83页,编辑于2022年,星期二7.3 用户数据报协议 UDP Internet传输层包含了两个协议:传输控制协议传输控制协议TCPTCP(Transmission Control ProtocolTransmission Control Protocol)面向连接、可靠的、端到端的、基于字节流的传输协议面向连接、可靠的、端到端的、基于字节流的传输协议 RFC 793RFC 793,11221122,13231323等等用户数据协议用户数据协议UDPUDP(User Data ProtocolUser Data Protocol)无连接的端到端传输协议无连接的端到端传输协议 RFC 768RFC 76855第55页,共83页,编辑于2022年,星期二UDP协议的主要特点无连接的、不可靠的无连接的、不可靠的传输层协议;传输层协议;在完成进程到进程的通信中提供了在完成进程到进程的通信中提供了有限的差错检验功能有限的差错检验功能;设计比较简单的设计比较简单的UDPUDP协议的目的协议的目的:希望以最小的开销来达到网络环境中的进程通信目希望以最小的开销来达到网络环境中的进程通信目的的;进程发送的报文较短,同时对报文的可靠性要求不高进程发送的报文较短,同时对报文的可靠性要求不高,可,可以使用以使用UDPUDP协议。协议。56第56页,共83页,编辑于2022年,星期二UDP协议与应用层协议的关系传输层采用UDP协议的应用层协议:l l简单文件传送协议简单文件传送协议TFTPTFTPl l远程过程调用远程过程调用RPCRPCl l网络时间协议网络时间协议NTPNTPl l引导协议引导协议BOOTPBOOTPl l域名服务域名服务DNSDNSl l路由选择协议路由选择协议RIPRIPl l网络管理协议网络管理协议SNMPSNMP57第57页,共83页,编辑于2022年,星期二UDP的基本工作过程l lUDP用户数据报传输过程中的封装与拆封58第58页,共83页,编辑于2022年,星期二UDP用户数据报传输队列59第59页,共83页,编辑于2022年,星期二UDP的复用和分用60第60页,共83页,编辑于2022年,星期二UDP的端口号TCP/IPTCP/IP协议族中用端口号标识进程;协议族中用端口号标识进程;端口号长度为端口号长度为1616,是在,是在0 0到到6553565535之间的整数;之间的整数;端口号分为三种:端口号分为三种:熟知端口:熟知端口:0 1023 0 1023;注册端口:注册端口:102449151 102449151;临时端口:临时端口:49152655354915265535。61第61页,共83页,编辑于2022年,星期二UDPUDP使用的主要熟知端口号使用的主要熟知端口号l 62端口号服务进程说明53Nameserver域名服务67Bootps下载引导程序信息的服务器端口68Bootpc下载引导程序信息的客户机端口69TFTP简单文件传输协议111RPC远程过程调用123NTP网络时间协议161SNMP简单网络管理协议第62页,共83页,编辑于2022年,星期二63第63页,共83页,编辑于2022年,星期二UDP数据报格式UDP的协议数据单元TPDUl l8bytes8bytes的报头数据部分的报头数据部分l lUDP报头格式64IP 报头UDP报头UDP 协议数据单元TPDU数 据第64页,共83页,编辑于2022年,星期二UDPUDP用户数据报格式用户数据报格式65第65页,共83页,编辑于2022年,星期二UDP数据报格式端口号端口号源端口号:源端口号:1616位;位;目的端口号:目的端口号:1616位。位。长度字段长度字段定义了包括报头在内的用户数据报的总长度;定义了包括报头在内的用户数据报的总长度;长度为长度为1616位,最大总长度为位,最大总长度为65535B65535B,最小为,最小为8B8B。校验和字段校验和字段 防止防止UDPUDP数据报在传输过程中出错,数据报在传输过程中出错,1616位。位。66第66页,共83页,编辑于2022年,星期二UDP校验和UDPUDP校验和的校验范围:校验和的校验范围:l l伪头部伪头部l lUDPUDP头头l l应用层数据应用层数据67第67页,共83页,编辑于2022年,星期二UDP协议的工作原理发送主机发送主机分配源端口;分配源端口;指定目的端口,构造指定目的端口,构造UDPUDP的的TPDUTPDU,提交给,提交给IPIP协议处理。协议处理。接收主机接收主机匹配匹配UDPUDP报头中目的端口的应用进程;报头中目的端口的应用进程;匹配成功,匹配成功,UDPUDP协议数据单元进入相应的队列,若队列满,丢弃协议数据单元进入相应的队列,若队列满,丢弃该该TPDUTPDU;匹配不成功,丢弃该匹配不成功,丢弃该TPDUTPDU,回送,回送“目的端口不可达目的端口不可达”的的ICMPICMP数据报。数据报。68第68页,共83页,编辑于2022年,星期二7.2 UDP7.2 UDP协议协议l lUDPUDP是一种无连接的、不可靠的传输层协议是一种无连接的、不可靠的传输层协议l lUDPUDP协议在传输报文之前不需要在通信双方之间建立连接,因此减少协议在传输报文之前不需要在通信双方之间建立连接,因此减少了协议开销与传输延迟。了协议开销与传输延迟。l lUDPUDP对报文除了提供一种可选的校验和之外,几乎没有提供其他的保对报文除了提供一种可选的校验和之外,几乎没有提供其他的保证数据传输可靠性的措施。证数据传输可靠性的措施。l l如果如果UDPUDP检测出在收到的分组出错,它就丢弃这个分组,既不确认,也不通检测出在收到的分组出错,它就丢弃这个分组,既不确认,也不通知发送端和要求重传。知发送端和要求重传。l lUDPUDP协议提供的是协议提供的是“尽力而为尽力而为”的传输服务。的传输服务。第69页,共83页,编辑于2022年,星期二UDP对应用程序提交数据的处理方式第70页,共83页,编辑于2022年,星期二7.2.2 UDP7.2.2 UDP报文格式报文格式第71页,共83页,编辑于2022年,星期二7.2.3 UDP7.2.3 UDP校验和的基本概念与计算示例校验和的基本概念与计算示例l lUDPUDP校验和校验的伪报头与报头的结构校验和校验的伪报头与报头的结构72第72页,共83页,编辑于2022年,星期二7.2.4 UDP7.2.4 UDP协议适用的范围协议适用的范围 UDP UDP协议是一种适用于实时语音与视频传输的传输层协议协议是一种适用于实时语音与视频传输的传输层协议视频播放应用简短的交互式应用多播与广播应用73第73页,共83页,编辑于2022年,星期二举例:用UDP传输RIP报文l l设定一台路由器上某个物理端口的设定一台路由器上某个物理端口的IPIP地址为地址为128.1.2.15128.1.2.15,MACMAC地址为地址为0:a0:24:ea:b3:570:a0:24:ea:b3:57。l l发送的发送的RIPRIP路由请求报文如下路由请求报文如下74IP 报头报头UDP报头报头RIP报文报文Ethernet报头报头前序前序(62bits)11目的地址目的地址(6 bytes)源地址源地址(6 bytes)类型类型(2 bytes)网络层协议数据单元网络层协议数据单元(46 1500 bytes)校验和校验和(4 bytes)ff:ff:ff:ff:ff:ff0:a0:24:ea:b3:570080(IP)IP分组分组(52 bytes)第74页,共83页,编辑于2022年,星期二举例:用UDP传输RIP报文75第75页,共83页,编辑于2022年,星期二小结 网络环境中分布式进程通信的基本概念传输层的基本功能用户数据报协议76第76页,共83页,编辑于2022年,星期二TELNET远程登录协议77T Telnetelnet远程登录采用客户远程登录采用客户-服务器模式。服务器模式。Net Virtual Terminal 第77页,共83页,编辑于2022年,星期二WWW服务的主要特点l以超文本方式组织网络多媒体信息,用户可以访问文本、语音、图形和视频信息;l用户可以在Internet范围内的任意网站之间查询、检索、浏览及发布信息,并实现对各种信息资源透明的访问;l提供生动、直观、统一的图形用户界面;lWWW服务的核心技术是:l 超链接 hyperlink;资源的连接方式l 超文本标记语言HTML;资源的展现方式l 超文本传输协议HTTP;资源的获取方式l 78第78页,共83页,编辑于2022年,星期二HTTP 连接(connections)lNonpersistent HTTPl(非持续)l一次TCP连接最多传送一个对象。lHTTP/1.0 是非持续HTTP79Persistent HTTP(持续)l一次TCP连接多传送多个对象。lHTTP/1.1 持续HTTP 是缺省模式第79页,共83页,编辑于2022年,星期二响应时间lRTT定义 l(数据包往返时间 Round Trip Time):l 将一个数据包从客户端发到服务器的往返时间l响应时间Response time:l发起 TCP 连接需要一个RTTlHTTP请求与HTTP响应需要一个RTTl文件传输时间 transmission timel总的响应时间=2RTT+文件传输时间80time to transmit fileinitiate TCPconnectionRTTrequestfileRTTfilereceivedtimetime第80页,共83页,编辑于2022年,星期二HTTP 报文(消息)格式:请求 l两类HTTP报文(Message):请求、响应lHTTP请求报文:lASCII(人类可读的形式)81GET/somedir/page.html HTTP/1.1GET/somedir/page.html HTTP/1.1Host:www.someschool.edu Host:www.someschool.edu User-agent:Mozilla/4.0User-agent:Mozilla/4.0Accept-language:fr Accept-language:fr(额外的回车换行额外的回车换行 )请求行请求行(GET,POST,(GET,POST,HEAD HEAD 命令命令 )头部行头部行回车换行回车换行表示消息表示消息结束结束实体部分实体部分第81页,共83页,编辑于2022年,星期二HTTP报文格式:响应82HTTP/1.1 200 OK HTTP/1.1 200 OK Connection closeConnection closeDate:Thu,06 Aug 1998 12:00:15 GMT Date:Thu,06 Aug 1998 12:00:15 GMT Server:Apache/1.3.0(Unix)Server:Apache/1.3.0(Unix)Last-Modified:Mon,22 Jun 1998 Last-Modified:Mon,22 Jun 1998.Content-Length:6821 Content-Length:6821 Content-Type:text/htmlContent-Type:text/html data data data data data.data data data data data.状态行状态行(协议版本,状态码,状态短语协议版本,状态码,状态短语)头部行头部行数据数据,如,如请求的请求的htmlhtml文件文件第82页,共83页,编辑于2022年,星期二典型应用层协议FTP的分析FTP模型与测试分析环境 83第83页,共83页,编辑于2022年,星期二