资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,*,2008 SPLENG,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机通信网,Computer Networks,第,6,章 传输层,本教案参考资料:,计算机网络,Tanenbaum,第,3,、,4,版,计算机网络,谢希仁 第,4,版,马立香,段景山,毛玉明老师课件,2008 SPLENG,传输层环境及面临的问题,传输实体,传输实体,进程,x,进程,y,进程,x,进程,y,网络层及下层,网络,传输层,传输层,网络层及下层,端,端通信,向高层进程提供服务,希望可靠,希望高效,希望廉价,利用网络提供的服务,问题是:,网络能提供可靠的服务吗?,可能丢失分组,可能乱序,可能重复,因此传输层,需要自己采用措施,才能向用户提供可靠服务,2008 SPLENG,传输层,服务,屏蔽具体网络细节和不同网络差异,为上层提供与具体网络无关的通信服务,。,功能,各种网络的适配,网络通信的分流和复用、多个并发通信的管理、流量控制等,。,协议,TCP,UDP,TP4,分流:用多个网络通信来实现一个传输层的通信,提高传输层的通信速度,复用:,多个传输层的通信复用到一个网络通信上,可降低费用。,传输层,网络层,传输层,网络层,2008 SPLENG,6.1,传输服务,向用户(应用层进程)提供有效、可靠且价格合理的服务,面向连接的服务,无连接的服务,2008 SPLENG,为什么需要传输层,数据链路层,面向连接的服务,无连接的服务,网络层,面向连接的服务,无连接的服务,传输层,面向连接的服务,无连接的服务,相连机器间,网络间,用户间,通信子网,差异大,用户无法控制,增强服务质量(,QoS,),将通信子网的技术、设计和缺陷与上层相隔离,适合多任务系统的进程间通信控制,2008 SPLENG,传输层服务质量,QoS,(,Quality of Service,),典型参数,实现方式,用户,传输数据前设定,希望值和最小可接受的值,选项协商,连接建立延迟,连接建立失败的概率,吞吐率,传输延迟,误码率,(安全)保护,优先级,恢复功能,2008 SPLENG,传输服务与网络服务,网络服务,由实际网络决定,不直接面向用户,传输服务,由用户假定,隐藏网络服务的缺陷,直接面向用户,必须简便、易用,传输服务原语,用户访问传输服务,简单传输服务原语,P411,图,6-2,Berkeley Socket,原语(,TCP,),P414,图,6-5,2008 SPLENG,简单服务与套接字服务,2008 SPLENG,面向连接的传输服务原语,简单原语,套接字原语,发送的,TPDU,含义,SOCKET,创建一个通信端点,BIND,套接字附加本地地址,LISTEN,宣布愿意接受连接,给出队列大小,LISTEN,ACCEPT,阻塞至连接尝试到达,CONNECT,CONNECT,CONN_REQ,建立连接的尝试,SEND,SEND,DATA,在连接上发送数据,RECEIVE,RECEIVE,在连接上接收数据,DISCONNECT,CLOSE,DISCONN_REQ,释放连接,2008 SPLENG,一个简单连接管理模式的状态图,2008 SPLENG,6.2,传输协议的要素,与数据链路层的类似之处,差错控制、流量控制、连接管理等,与数据链路层的差异,数据传输通道,数据链路层:物理通信信道,传输层:子网,目的端地址,数据链路层:不一定显式指定,传输层:必须显式指定,连接建立过程,数据链路层:简单,与直接相连的对方,传输层:复杂,穿越网络,通信子网的存储能力,对传输层通信产生很大影响,连接数量的差异,数据链路层:少,固定分配缓冲区大小,传输层:多且动态变化,,必须采用特定的缓冲策略,路由器,物理通信信道,链路层运行环境,路由器,子网,主机,传输,层,运行环境,2008 SPLENG,6.2.1,寻址,传输服务访问点,TSAP,标识应用程序,当主机,1,的某个应用进程希望与主机,2,的某个应用进程建立连接时,如何指明该应用进程?,通过,TSAP,主机,1,上的应用进程如何知道主机,2,上服务器进程的,TSAP,?,主机,2,上的服务器进程如何接收来自主机,1,应用进程的数据?,2008 SPLENG,服务器进程如何接收?,方案,各种服务预置固定不变的,TSAP,例:,Telnet 23,,,SMTP 25,,,HTTP 80,服务器进程在相应的,TSAP,上侦听,问题,服务器进程很多,但大多数很少使用,所有服务器进程全天候侦听,浪费,解决,进程服务器:侦听一系列,TSAP,名字服务器:侦听一个,TSAP,2008 SPLENG,进程服务器,进程服务器为其他服务器提供代理,同时监听一组端口,等待外来的连接,当用户请求的,TSAP,无专门服务器等待时,则指向一个进程无服务器,进程服务器请求对应的服务器,然后新服务器执行用户的请求,2008 SPLENG,名字(目录)服务器,查号台,服务器,登记?,2008 SPLENG,应用进程如何发送?,问题,传输实体怎么知道哪个,网络层地址,用来与,TSAP,对应的远程传输实体建立网络连接?,解决,TSAP,地址结构,层次型结构,例:地址,=,Internet,:(,IP,地址,本地端口),平面型结构,二级映射,名字服务器,广播查询,2008 SPLENG,6.2.2,建立连接,问题,由通信子网不可靠造成的丢失、存储、,重复,分组问题,问题的关键,通信子网中存在延迟的重复分组,你将离开我吗?,嫁给我吧!,不,好啊,嗯?,嗯?,不,2008 SPLENG,端到端连接的问题,问题的关键,通信子网中可能存在延迟的重复分组,崩溃恢复:假设链路层采用重传机制,当,RA,发送一帧,P,后链路出错,,RA,另选路径,并因为没有收到应答而重传,P,,在收端就得到重复分组,路由器,RA,子网,主机,2008 SPLENG,端到端连接的解决,问题的关键,通信子网中可能存在,延迟的重复分组,尤其糟糕的是前一连接的数据延迟到下一连接中出现,解决初探,每次连接都使用新的,TSAP,将导致进程服务器失效,为每个连接分配一个连接标识符,(,递增的序列号,),将导致每个传输实体长时间保持一定量的历史信息,限制分组的生命周期,2008 SPLENG,限制分组的生命周期,限制子网规模,防止分组进入回路,在每个分组内设置一个站段计数器,丢弃站段计数器值超过某个特定值的分组,为每个分组加上时间戳,丢弃超过预定时间的旧分组要求时钟同步,2008 SPLENG,限制,延迟的重复,分组,实际应用中,需要确定,分组已无效,对该分组的确认也已无效,基本思想:,确保在同一时刻永远不会出现两个序号相同的,TPDU,。,2008 SPLENG,数据,TPDU,:基于时钟的方法,传输实体在发送每个,TPDU,之前必须检查该,TPDU,是否将进入禁止区域,措施:延迟,T,秒,或重新同步序号,2008 SPLENG,连接,TPDU,:三次握手,2008 SPLENG,6.2.3,释放连接,非对称释放,任意一方均可释放整个连接,结果:可能导致数据丢失,应用:电话系统中一方挂机,丢失数据,对称释放,每个方向独立释放本方连接,结果:仍能继续接收数据,应用:固定的发送量,并知道何时发送完毕,问题:两军问题,2008 SPLENG,非对称释放,2008 SPLENG,对称释放,两军问题,连接的双方在确信对方也准备释放连接之前都不准备断开连接,那么连接将永远也得不到释放,2008 SPLENG,对称释放连接的,4,种情况,(,a,),(,b,),2008 SPLENG,对称释放连接的,4,种情况,(,c,),(,d,),2008 SPLENG,对称释放:半连通的连接,产生的原因,A,的,DR,和所有,N,次重发均丢失时,,A,放弃重发并释放连接,B,对,A,的释放连接企图一无所知,而处于连接有效状态,消除的方法,A,直到收到一个应答后才能释放连接,问题:如果,B,超时释放连接,,A,将无法释放连接,任意一方在一段时间内没有收到任何,TPDU,,则自动释放连接,2008 SPLENG,6.2.4,流量控制和缓冲策略,2008 SPLENG,6.2.4,流量控制和缓冲策略,与数据链路层的比较,相似:滑动窗口等机制,实现收发速率匹配,不同:缓冲策略(主机可以有多个连接)、子网容量,缓冲策略,发送方缓存:网络服务不可靠、低速突发信息,接收方缓存:网络服务可靠、高速平稳的信息,缓冲区大小,固定、可变、循环,动态缓冲区管理,发送方在对方申请缓冲空间,从确认中分离接收方缓存,子网的运载容量,动态调整滑窗大小,可变大小的窗口,2008 SPLENG,缓冲区大小,固定大小,可变大小,最大,TPDU,:空间浪费,小于最大,TPDU,:长,TPDU,需占用多个缓冲区,维护复杂,提高内存利用率,缓冲区管理更复杂,循环,缓冲区,轻负荷时内存利用率低,2008 SPLENG,6.2.5,多路复用,需要,价格因素(长时间占用虚电路):向上多路复用(,a,),传输技术(提高传输带宽):向下多路复用(,b,),2008 SPLENG,6.2.6,崩溃恢复,通信子网崩溃,无连接服务:主机重传丢失的,TPDU,面向连接服务:网络层建立新的虚电路,服务器崩溃,服务器以广播方式向客户发送一个,TPDU,,说明自己的崩溃并要求客户通告所有已建立的连接所处的状态,2008 SPLENG,服务器崩溃恢复,服务器有,3,种可能的事件,发送确认(,A,),写数据到输出进程(,W,),崩溃(,C,),TPDU,ACK,C,S,S0,S1,发确认,写操作,TPDU,C,S,S1,发确认,写操作,AC(W),丢失一个,TPDU,WC(A),重复一个,TPDU,2008 SPLENG,服务器崩溃恢复,服务器有,3,种可能的事件,发送确认(,A,),写数据到输出进程(,W,),崩溃(,C,),第,N,层崩溃只能由第,N+1,层来恢复,条件:第,N+1,层保留有足够的状态信息,2008 SPLENG,
展开阅读全文