资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,*,计算机网,络,传输层基本功能与服务,UDP,协议,TCP,协议,习题,第,13,课,:,主要内容,重点与难点,重点:,了解运输层协议类型,运输层的分用和复用;,掌握,UDP,TCP,协议的特点;,UDP,报文的格式;,难点:,熟悉进程间的通信过程;,UDP,TCP,的端口服务类型;,讨论,1,传输层的基本功能和服务,应用层,传输层,网络层,数据链路层,物理层,网络功能,用户功能,面向通信,面向信息处理,从通信和信息处理的角度看:传输层向它的上一层应用提供通信服务,它属于面向,通信部分的最高层,,也是,用户功能的最低层,讨论,1,传输层的基本功能和服务,应用层,传输层,网络层,数据链路层,物理层,网络功能,用户功能,面向通信,面向信息处理,其主要任务是:在优化网络服务的基础上,从源端机到目的端机提供可靠的、价格合理的数据传输,使高层服务用户在相互通信时不必关心通信子网实现的细节。,其主要功能是:负责应用程序之间的通信,主要有连接端口管理、流量控制、错误处理、数据重发等工作,物理层,数据链路层,网络层,传输层,应用层,物理层,数据链路层,网络层,传输层,应用层,AP,1,AP,2,AP,3,AP,4,网络层,数据链路层,物理层,网络层,数据链路层,物理层,IP,传输,提供应用进程间逻辑通信,端口,应用进程,传输层为相互通信的应用进程提供了逻辑通信,主机,A,主机,B,路由器,1,路由器,2,AP,1,LAN,2,WAN,AP,2,AP,3,AP,4,LAN,1,IP,协议的作用范围,运输层协议,TCP,和,UDP,的作用范围,由上图可以看出数据在两台主机间传送的整个过程,:,在物理层上可以透明地传输数据的,比特流,;,在数据链路层上使得各条链路能传送无差错的,数据帧,(数据帧按顺序、无丢失、不重复);,在网络层上提供了,路由选择和网络互连,的功能,使得主机,A,发送的,数据分组,(packet),能够按照合理的路由到达主机,B,。但是在这一过程中,到达主机,B,的数据并不一定是最可靠的。,为了提高网络服务的质量,在,传输层需要再次优化网络服务,,并向高层用户屏蔽通信子网的细节,使高层用户看见的就好像在两个传输层实体之间有一条,端到端的、可靠的、全双工,的通信通路一样。,在整个通信的过程中,数据在传输层上,才是,第一次实现真正意义的端到端,的数据通信,。,要想实现传输层的功能,必须在主机中装有,传输层协议,。,在传输层中完成传输功能的硬件和软件被称为,传输实体,TSAP,(,Transport Service Access Point,),通过传输实体,传输层可以向应用层提供传输服务,运输层协议和网络层协议的主要区别,应用进程,应用进程,IP,协议的作用范围,(提供主机之间的逻辑通信),TCP,和,UDP,协议的作用范围,(提供进程之间的逻辑通信),因 特 网,TCP/IP 体系中的运输层协议,TCP,UDP,IP,应用层,与各种网络接口,运输层,TCP/IP,协议中的传输层,在,TCP/IP,协议中有两个并列的协议:,UDP,和,TCP,。,UDP,(,User Datagram Protocol,,用户数据报协议)是,面向无连接的,,即在进行数据传输之前不需要建立连接,而目的主机收到数据报后也不需要发回确认。这种协议提供了一种,高效,的传输服务。,TCP,(,Transmission Control Protocol,,传输控制协议)是,面向连接的,,即在进行数据传输之前需要先建立连接,而且目的主机收到数据报后要发回确认信息。这种协议提供了一种,可靠,的传输服务。,TCP 与 UDP,UDP,在传送数据之前不需要先建立连接。对方的运输层在收到,UDP,报文后,不需要给出任何确认。虽然,UDP,不提供可靠交付,但在某些情况下,UDP,是一种最有效的工作方式。,TCP,则提供面向连接的服务。,TCP,不提供广播或多播服务。由于,TCP,要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。,还要强调两点,运输层的,UDP,用户数据报与网际层的,IP,数据报有很大区别。,IP,数据报要经过互连网中许多路由器的存储转发,但,UDP,用户数据报是在运输层的,端到端,抽象的逻辑信道中传送的。,TCP,报文段是在运输层抽象的端到端逻辑信道中传送,这种信道是,可靠的全双工信道,。但这样的信道却不知道究竟经过了哪些路由器,而这些路由器也根本不知道上面的运输层是否建立了,TCP,连接。,传输层使用的,port(,端口,)&socket(,套接字,),TCP/IP,传输层可以通过,协议端口,(,protocol port,,简称端口)来,标识,通信的,应用进程,。,例如:,HTTP 80 DHCP 67,、,68,传输层就是,通过端口,与应用层的应用程序进行信息交互的,应用层各种用户进程通过相应的端口与传输层实体,进行信息交互,。,在数据传输过程中,应用层中的各种不同的,服务器,进程不断地,检测,分配给它们的,端口,,以便发现是否有某个应用进程要与它通信。,传输层使用的,port(,端口,)&socket(,套接字,),端口实际上是一个,16Bit,长的地址,范围可以从,0,至,65535,将,0,至,1023,端口号称为,熟知端口,号,(,Well-Known Port,),其余,1024,至,49951,端口号称为,登记端口号,,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在,IANA,登记,以防止重复。,49152,至,65535,端口号称为,客户端口,号,,,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。,协议,端口号,关键字,描述,UDP,42,NAMESERVER,主机名字服务器,UDP,53,DOMAIN,域名服务器,UDP,67,BOOTP Client,客户端启动协议服务,UDP,68,BOOTP Server,服务器端启动协议服务,UDP,69,TFTP,简单文件传输协议,UDP,111,RPC,远程过程调用,TCP,20,FTP Data,文件传输服务器(数据连接),TCP,21,FTP Control,文件传输服务器(控制连接),TCP,23,Telnet,远程终端服务器,TCP,25,SMTP,简单邮件传输协议,TCP,80,HTTP,超文本传输协议,套接字,socket=(IP,地址,:,端口号,),套接字,(socket),为了使得多主机多进程通信时,不至于发生混乱情况,必须把端口号和主机的,IP,地址结合起来使用,称为,插口或套接字(,Scoket,),。,插口包括,IP,地址(,32,位),和,端口号(,16,位),,共,48,位。,TCP,连接,:=socket1,socket2,=(IP1:port1),(IP2:port2),每一条,TCP,连接唯一地被通信两端的两个端点(即两个套接字)所确定。,TCP,连接(,端到端,)的端点不是主机,不是主机的,IP,地址,不是应用进程,也不是传输层的协议端口。而,是一对套接字,(socket),或插口,。,UDP,协议,虽然在进行通信的进程间不需要建立连接,但是在每次传输数据时,都要给出发送端口和接收端口,因此同样也要使用插口。,运输层的复用与分用,复用,是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据(当然需要加上适当的首部);,而,分用,是指接收方的运输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。,要能正确地将数据交付给指定应用进程,就必须给每个应用进程赋予一个明确的标志。,在,TCP/IP,网络中,使用一种与操作系统无关的协议端口号,(protocol port number),(简称端口号)来实现对通信的应用进程的标志。,端口在进程之间的通信中所起的作用,应,用,层,运,输,层,网,络,层,TCP,报文段,UDP,用户数据报,应用进程,TCP,复用,IP,复用,UDP,复用,TCP,报文段,UDP,用户数据报,应用进程,端口,端口,TCP,分用,UDP,分用,IP,分用,IP,数据报,IP,数据报,发送方,接收方,讨论 用户数据报协议 UDP,UDP,只在,IP,的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。,虽然,UDP,用户数据报只能提供不可靠的交付,但,UDP,在某些方面有其特殊的优点。,发送数据之前不需要建立连接,UDP,的主机不需要维持复杂的连接状态表。,UDP,用户数据报只有,8,个字节的首部开销。,网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。,UDP,的特点,UDP 是无连接的,即发送数据之前不需要建立连接(当然发送数据结束时也没有连接可释放),因此减少了开销和发送数据之前的时延。,UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制,因此主机不需要维持具有许多参数的、复杂的连接状态表。,由于,UDP,没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很多的实时应用(如,IP,电话、实时视频会议等)要求源主机以恒定的速率发送数据,并且允许在网络发生拥塞时丢失一些数据,但却不允许数据有太大的时延。,UDP,正好适合这种要求。,UDP,的特点(续),UDP,是面向报文的。这就是说,,UDP,对应用程序交下来的报文不再划分为若干个分组来发送,也不把收到的若干个报文合并后再交付给应用程序。,应用程序交给,UDP,一个报文,,UDP,就发送这个报文;而,UDP,收到一个报文,就把它交付给应用程序。,应用程序必须选择合适大小的报文。,UDP,支持一对一、一对多、多对一和多对多的交互通信。,用户数据报只有,8,个字节的首部开销,比,TCP,的,20,个字节的首部要短。,UDP,的问题,虽然某些实时应用需要使用没有拥塞控制的 UDP,但当很多的源主机同时都向网络发送高速率的实时视频流时,网络就有可能发生拥塞,结果大家都无法正常接收。,还有一些使用 UDP 的实时应用需要对UDP 的不可靠的传输进行适当的改进以减少数据的丢失。,UDP 的首部格式,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP,长度,源,IP,地址,目的,IP,地址,0,17,IP,数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP,用户数据报,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP,长度,源,IP,地址,目的,IP,地址,0,17,IP,数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP,用户数据报,用户数据报,UDP,有两个字段:数据字段和首部字段。首部字段有,8,个字节,由,4,个字段组成,每个字段都是两个字节。,伪首部,源端口,目的端口,长 度,检验和,数 据,首 部,UDP,长度,源,IP,地址,目的,IP,地址,0,17,IP,数据报,字节,4,4,1,1,2,12,2,2,2,2,字节,发送在前,数 据,首 部,UDP,用户数据报,在计算检验和时,临时把“伪首部”和,UDP,用户数据报连接在一起。,伪首部仅仅是为了计算检验和,。,讨论 传输控制协议,TCP,TCP,是,面向连接,的运输层协议。,每一条,TCP,连接只能有两个,端点,(endpoint),,每一条,TCP,连接只能是,点对点,的(一对一)。,TCP,提供,可靠交付,的服务。,
展开阅读全文