《计算机网络(第五章)课件.ppt》由会员分享,可在线阅读,更多相关《计算机网络(第五章)课件.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、传输层1传输服务2传输协议3TCP协议4UDP协议1/12/20231一、传输服务传输服务传输服务传输层实体运行在用户主机中,利用通信子网提供的服务,向用户(应用传输层实体运行在用户主机中,利用通信子网提供的服务,向用户(应用进程或会话层实体)提供端到端的通信服务。进程或会话层实体)提供端到端的通信服务。面向连接的传输服务面向连接的传输服务:这种服务具有基于连接的流量控制、差错控制和分:这种服务具有基于连接的流量控制、差错控制和分组排序功能,因而面向连接意味着可靠和有序的提交。然而实现这种服务组排序功能,因而面向连接意味着可靠和有序的提交。然而实现这种服务必须付出建立、维护和终止逻辑连接的开销
2、。必须付出建立、维护和终止逻辑连接的开销。无连接的传输服务无连接的传输服务(数据报服务)不保证可靠的顺序提交,这个缺点有时(数据报服务)不保证可靠的顺序提交,这个缺点有时显得不很重要。例如通过网络定期地进行数据采集时,偶然丢失数据是允显得不很重要。例如通过网络定期地进行数据采集时,偶然丢失数据是允许的,因为后来的数据可以弥补以前的损失。又例如向网络用户广播消息许的,因为后来的数据可以弥补以前的损失。又例如向网络用户广播消息或发布实时消息时,也不在乎个别用户没有收到不很重要的报文。特别是或发布实时消息时,也不在乎个别用户没有收到不很重要的报文。特别是在分布式事务处理环境中通常采用请求在分布式事务
3、处理环境中通常采用请求响应的工作方式,如果某个用响应的工作方式,如果某个用户的请求没有得到服务器的响应,这种错误往往由用户进程处理,传输协户的请求没有得到服务器的响应,这种错误往往由用户进程处理,传输协议不必做差错恢复工作。议不必做差错恢复工作。控制单元控制单元1/12/202321传输服务(续)服务质量服务质量QoS服务质量(服务质量(Quality of Service,)参数在建立传输连接过程中可协商:,)参数在建立传输连接过程中可协商:残留错误率;残留错误率;传输失败的概率;传输失败的概率;平均(或最大)传输时延;平均(或最大)传输时延;平均(或最大)吞吐率;平均(或最大)吞吐率;优先
4、级。优先级。各各种种网网络络都都有有特特定定的的服服务务质质量量参参数数和和取取值值范范围围。运运行行在在主主机机中中的的传传输输实实体体根根据下层网络提供的服务决定如何满足用户的要求。据下层网络提供的服务决定如何满足用户的要求。如如果果下下层层协协议议提提供供了了可可选选的的服服务务质质量量参参数数,可可以以提提供供不不同同优优先先级级、不不同同可可靠靠性性、不不同同的的吞吞吐吐率率和和延延迟迟时时间间的的服服务务,则则传传输输实实体体的的工工作作只只是是顺顺水水推推舟舟地地让让下层实体实现用户的要求下层实体实现用户的要求1/12/20233传输服务(续)服务质量服务质量QoS X.25网网
5、络络具具有有协协商商吞吞吐吐率率的的机机制制,它它可可以以改改变变流流控控参参数数和和调调配配网网络络资资源源的的数数量量,提提供供不不同同吞吞吐吐率率的的虚虚电电路路,运运行行在在 X.25网网络络上上的的传传输输层层在在处处理理用用户户的的吞吞吐吐率率需需求求时时不不需需要要做做多多少少工工作作,只只是是把把用用户户的的要要求求传传达达给给下下层层网网络络。另另外外,传传输输实实体体也也可可采采取取其其他他的的手手段段满满足足用用户户的的要要求求,例例如如为为了了提提高高吞吞吐吐率率,可可以以把一个传输连接分裂为几个虚电路连接。把一个传输连接分裂为几个虚电路连接。传传输输实实体体在在满满足
6、足用用户户的的QoS需需求求时时可可能能打打折折扣扣,甚甚至至根根本本做做不不到到。这这可可能能是是通通信信子子网网提提供供的的能能力力有有限限,或或者者是是用用户户提提出出的的要要求求不不能能兼兼顾顾,例例如如可可靠靠性性和和延延迟迟时时间间,吞吞吐吐率率和和服服务务费费用用之之间间必必须须做做出出一一定定的的折折衷衷。这这时时传传输输实实体体会会向向上层实体提出指标较低的反建议上层实体提出指标较低的反建议,按照降低规格的,按照降低规格的QoS参数建立连接。参数建立连接。文文件件传传输输协协议议需需要要大大吞吞吐吐率率,甚甚至至还还需需要要高高可可靠靠性性,以以避避免免文文件件级级的的多多次
7、次重重传传。事事务务处处理理协协议议(实实时时数数据据库库查查询询)要要求求低低延延迟迟,而而电电子子邮邮件件协协议议则则要要求求多种优先级多种优先级。实现这些特殊要求就。实现这些特殊要求就要要把服务质量请求交给传输协议来完成把服务质量请求交给传输协议来完成1/12/20234传输服务(续)加急投送服加急投送服务务这这种种服服务务类类似似于于高高优优先先级级服服务务,但但是是有有所所区区别别。由由于于传传输输层层要要向向上上层层提提供供可可靠靠顺顺序序的的提提交交服服务务,所所以以对对各各种种协协议议数数据据单单元元都都要要进进行行流流量量控控制制,但但是是加加急急投投送送数数据据不不受受流流
8、控控影影响响。加加急急投投送送服服务务的的数数据据包包可可以以赶赶上上和和超超过过前前边边的的数数据据包包,传传输输实实体体调调动动可可用用的的设设施施尽尽快快地地传传送送加加急急数数据据。在在接接收收端端,传传输输实实体体用用中中断断方方式式通通知知用用户户立立即即接接收收加加急急数数据据,并并用用加加急急的的协协议议数数据据单单元元返回返回应应答。答。加加急急投投送送服服务务仅仅用用于于需需要要紧紧急急传传送送的的少少量量数数据据,例例如如终终端端发发出出的的中中断断字字符符或或是是告告警警状状态态指指示示等等,而而优优先先服服务务只只是是通通过过资资源源分分配配和和信信道道参参数数的的调
9、调整整使使得得优优先先级级高的数据比普通数据高的数据比普通数据传传送得更快一些。送得更快一些。1/12/20235传输服务(续)连接管理服务连接管理服务传输实体要对传输实体要对连接的建立和释放连接的建立和释放进行管理。建立连接的过程可以是对称的,即进行管理。建立连接的过程可以是对称的,即允许任何一允许任何一方方用户启动建立连接的过程;也可以是非对称的,即仅允许一方提用户启动建立连接的过程;也可以是非对称的,即仅允许一方提出连接请求,另一方只能接受(或不接受)对方提出的连接请求出连接请求,另一方只能接受(或不接受)对方提出的连接请求。非对称方式非对称方式用于建立用于建立单向连接单向连接。连接的终
10、止可以是突然的或平稳的,当连接突然终止时,正在传输中的数据就连接的终止可以是突然的或平稳的,当连接突然终止时,正在传输中的数据就丢失了,而丢失了,而平稳终止连接平稳终止连接则可以保证所有在传输途中的数据完整提交之前任何则可以保证所有在传输途中的数据完整提交之前任何一方不会释放资源,不会关闭连接。一方不会释放资源,不会关闭连接。1/12/20236二、传输协议传输协议传输协议的分的分类类 ISO定定义义了了三种网三种网络络服服务务:A型:网型:网络连络连接具有可接受的残留差接具有可接受的残留差错错率和可接受的失效通知率。率和可接受的失效通知率。B型:网型:网络连络连接具有可接受的残留差接具有可接
11、受的残留差错错率和不可接受的失效通知率。率和不可接受的失效通知率。C型:网型:网络层络层提供无提供无连连接的服接的服务务,这这种服种服务务具有不可接受的残留差具有不可接受的残留差错错率。率。所所谓谓差差错错是是指指有有丢丢失失或或重重复复的的网网络络层层协协议议数数据据单单元元。如如果果差差错错被被网网络络协协议议捕捕获获并并得得到到纠纠正正,则则这这种种差差错错对对传传输输实实体体是是透透明明的的。如如果果网网络络层层检检测测到到了了差差错错,但但不不能能恢恢复复,则则必必须须通通知知传传输输实实体体,这这叫叫失失效效通通知知。例例如如在在X.25网网络络中中发发生生复复位位时时就就会会通通
12、知知上上层层协协议议。还还有有的的差差错错既既没没有有得得到到纠纠正正,也没有通知也没有通知传输实传输实体,体,这这就是残留差就是残留差错错。1/12/20237传输协议(续)5种种传输协议传输协议TP0协协议议适适用用于于A型型网网络络,它它是是CCITT为为智智能能用用户户电电报报(Teletex)开开发发的的协协议议。TP0为为请请求求的的传传输输连连接接建建立立一一条条对对应应的的网网络络连连接接,并并假假定定网网络络连连接接完完全全可靠,不再另外可靠,不再另外进进行流控和排序行流控和排序。TP1协协议议适适用用于于B型型网网络络,它它在在TP0协协议议的的基基础础上上增增加加了了差差
13、错错恢恢复复功功能能。差差错错恢恢复复功功能能表表现现在在对对传传输输协协议议数数据据单单元元(TPDU)编编号号,当当X.25复复位位命命令令出出现现后后可可以以重重新新取取得得同同步步,或或者者在在X.25重重启启动动之之后后再再建建传传输输连连接接,流流控控功功能能仍然由网仍然由网络层协议实现络层协议实现。这这种种协议协议也提供加急投送服也提供加急投送服务务。1/12/20238传输协议(续)5种种传输协议传输协议TP2是是TP0的的增增强强型型协协议议,它它在在TP0的的基基础础上上增增加加了了多多路路复复用用功功能能,多多路路复复用用到到同同一一网网络络连连接接上上的的各各个个传传输
14、输连连接接必必须须单单独独提提供供流流控控功功能能,因因为为一一个个网网络络连连接不能同接不能同时时控制多个数据流。控制多个数据流。TP3协协议议综综合合了了TP1和和TP2的的优优点点,它它具具有有TP2的的多多路路复复用用和和流流控控能能力力,也也提提供供TP1的差的差错错恢复功能,适用于恢复功能,适用于B型网型网络络。TP4协协议议适适用用于于C型型网网络络。这这种种协协议议假假定定网网络络不不可可靠靠,本本身身具具有有差差错错恢恢复复、流控和排序机制,并提供多路复用功能。流控和排序机制,并提供多路复用功能。TP4协议协议最复最复杂杂,功能最,功能最齐齐全全。1/12/20239传输协议
15、(续)寻址寻址问题问题统一的统一的全局编址方案不全局编址方案不可行可行:有的通信实体是移动的,它的地址会改变;有的通信实体是移动的,它的地址会改变;有的通信设备连接到多个网络上,每个网络独立地为有的通信设备连接到多个网络上,每个网络独立地为其其指定地址。指定地址。分分层层名名字字:采采用用网网络络系系统统实实体体名名的的形形式式。优优点点是是容容易易增增加加新新的的名名字字,因因为为每每一一个个通通信信实实体体的的名名字字只只在在它它所所属属的的局局部部系系统统有有效效,分分层层名名字字还还可提供地址信息,因而具有路由功能可提供地址信息,因而具有路由功能扁扁平平名名字字:在在整整个个通通信信环
16、环境境中中有有全全局局意意义义,这这要要求求整整个个名名字字空空间间足足够够大大,并并且且预预先先把把统统一一的的名名字字空空间间分分配配给给各各个个通通信信系系统统。增增加加一一个个新新的的扁扁平平名名字字得得考考虑虑是是否否与与其其他他全全局局名名字字相相冲冲突突,扁扁平平名名字字不不能能指指示示通通信信实实体体属属于于哪哪个个网络或主机系统。网络或主机系统。1/12/202310传输协议(续)寻址问题寻址问题传输传输用用户户必必须须能能够够从名字中推从名字中推导导出通信出通信对对方的方的网网络编络编号、站地址、号、站地址、传输实传输实体体标识标识和用和用户标识户标识。站地址表示主机系站地
17、址表示主机系统统,就是网,就是网络层络层服服务访问务访问点点NSAP;端口号与具体的用端口号与具体的用户户相相联联系系,对应对应于于传输层传输层服服务访间务访间点点TSAP。这这种地址种地址结结构中没有构中没有传输实传输实体体标标识识字段,通常字段,通常一个站一个站仅仅包含一个包含一个传输实传输实体体,所以,所以站地址就代表了站地址就代表了该该站上的站上的传传输实输实体体。即使一个站有几个。即使一个站有几个传输实传输实体,体,则则各个各个传输实传输实体体应应用的用的传输协议类传输协议类型型不同,只要指明不同,只要指明传输协议传输协议的的类类型(例如型(例如 TP0或或 TP1)就可以区分了。)
18、就可以区分了。1/12/202311传输协议(续)如何如何获取对方获取对方传输用户的地址传输用户的地址?有些进程提供公共服务,有些进程提供公共服务,其其地址是地址是众所周知的众所周知的。网络中可以配置一个网络中可以配置一个名字服务器名字服务器,请求服务的用户可以查找名字服务器。,请求服务的用户可以查找名字服务器。发发起起端端的的用用户户进进程程向向地地址址已已知知的的远远端端系系统统特特权权进进程程发发出出请请求求,特特权权进进程程派派生出新的临时进程生出新的临时进程,并并被被分配分配给给一个临时一个临时的的端口地址端口地址。例例如如网网络络中中有有一一个个分分时时系系统统提提供供公公共共服服
19、务务,它它的的地地址址是是众众所所周周知知的的,任任何何用用户户终终端端都都可可以以登登录录在在分分时时系系统统上上;又又例例如如为为了了均均衡衡负负载载,数数据据输输入入进进程程可可能能在在局局域域网网中中从从一一个个站站移移动动到到另另一一个个站站,这这个个进进程程的的名名字字必必须须保保存存在在名名字字服服务务器器中中,当当它它移移动动时时名名字字服服务务器器随随时时更更新新其其地地址址;在在大大型型主主机机上上运运行行一一个个仿仿真真程程序序,则则可可作作为为一一个个临临时时进进程程的的例例子子,终终端端用用户户首首先先向向主主机机上上的的远远程程作作业业管管理理进进程程发发出出请请求
20、求,管管理理进进程程派派生生出出仿仿真真进进程程并并返返回回它它的的端端口口地地址。址。1/12/202312传输协议(续)多路复用多路复用TP2TP4类类传传输输协协议议都都提提供供多多路路复复用用功功能能,即即由由多多个个传传输输连连接接共共享享同同一一网网络络连连接接。由由于于在在虚虚电电路路存存续续期期间间每每个个网网络络结结点点都都要要为为之之分分配配一一定定的的缓缓冲冲资资源源,所所以以网网络络连连接接通通常常是是按按连连接接时时间间计计费费的的。在在单单个个网网络络连连接接提提供供的的吞吞吐吐率率足足够够的的情情况况下下,把把多多个个传传输输连连接接复复用用到到一一条条网网络络连
21、连接接上上可可合合理理地地分分担担费费用用。这这种方式的多路复用可以称种方式的多路复用可以称为为向上的多路复用向上的多路复用。向向下下的的多多路路复复用用也也叫叫分分流流,即即把把一一个个传传输输连连接接分分配配到到多多个个网网络络连连接接上上,这这样样可以可以获获得得较较高的吞吐率,并增加可靠性。高的吞吐率,并增加可靠性。TP4协议协议提供了分流功能。提供了分流功能。1/12/202313传输协议(续)流量控制流量控制通通过过传传输输连连接接的的数数据据流流动动过过程程为为:发发送送端端用用户户发发送送端端传传输输实实体体发发送送端端网网络络服服务务接接收收端端网网络络服服务务接接收收端端传
22、传输输实实体体接接收收端端用用户户。接接收收端端传传输输实体要求限制数据流动的速率可能是出于下面的原因;实体要求限制数据流动的速率可能是出于下面的原因;1)接收端用户来不及接收数据;)接收端用户来不及接收数据;2)接收端传输实体来不及接收数据。)接收端传输实体来不及接收数据。接收端接收端传输实传输实体体为传输连为传输连接接维维持一定持一定数量的数量的缓缓冲区,冲区,用于存放用于存放TPDU。缓缓冲区冲区可能可能溢出溢出,所以所以实实施流控是必要施流控是必要的。的。传输层对传输层对等等实实体之体之间间不直接相不直接相连连,传传输实输实体之体之间间的延的延迟迟大,而且延大,而且延迟迟是是变变化的。
23、化的。所以所以流控流控难难度大度大1/12/202314传输协议(续)传输层传输层流控方案流控方案(1)接收端)接收端传输实传输实体拒体拒绝绝接受网接受网络实络实体送来的体送来的TPDU;这这是是利利用用网网络络层层流流控控实实现现传传输输层层流流控控。当当传传输输实实体体缓缓冲冲区区充充满满时时拒拒绝绝接接受受网网络络服服务务送送来来的的数数据据,就就触触发发了了网网络络中中的的流流控控过过程程,从从而而引引起起发发送送端端的的网网络络服服务务不不再再接接受受它它上上面面的的传传输输实实体体发发来来的的TPDU。当当多多个个传传输输连连接接复复用用在在一一个个网网络络连连接接上上时时,这这种
24、种机机制制就就完完全全失失效效了了,因因为为网网络络流流控控无无法法对对各各个个传传输输连连接接分分别别提提供供流流控控。(2)利用固定大小的滑)利用固定大小的滑动动窗口窗口协议协议;这这是是数数据据链链路路层层使使用用的的方方法法。每每一一个个数数据据单单元元都都有有编编号号,窗窗口口大大小小是是固固定定的的,当当接接收收方方想想要要减减缓缓或或者者停停止止接接收收时时就就暂暂停停发发送送应应答答信信号号,发发送送方方发发完完窗窗口口内内的的协议协议数据数据单单元后停止元后停止发发送。如果基送。如果基础础网网络络不可靠,不可靠,还还需要某种重需要某种重传传机制的机制的辅辅助。助。1/12/2
25、02315传输协议(续)信信贷贷(credit)滑)滑动动窗口窗口协议协议第第三三种种流流控控方方案案在在控控制制数数据据流流动动速速率率方方面面给给接接收收方方提提供供了了更更大大的的自自由由度度,在在基基础础网网络络可可靠靠的的情情况况下下,这这种种控控制制策策略略能能产产生生平平滑滑的的数数据据流流动动,在在基基础础网网络络不不可可靠靠时时,它它还还是是一一种种差差错错控控制制手手段段。这这种种控控制制技技术术把把接接收收方方的的应应答答信信号号与与流流控控信信号号分分开开处处理理,不不像像固固定定大大小小的的滑滑窗窗协协议议那那样样对对两两者者用用同同一一个个信号控制。信号控制。1/1
26、2/202316传输协议(续)信贷滑窗协议信贷滑窗协议接收方接收方发发出出增加信增加信贷贷数的数的时时机和数量机和数量值值得得进进一步一步讨论讨论。保保守守的的策策略略是是当当B已已有有空空闲闲缓缓冲冲区区时时才才增增加加信信贷贷,信信贷贷数数的的多多少少正正好好等等于于已已有有的自由的自由缓缓冲区的数量。冲区的数量。更更为为大大胆胆一一些些的的策策略略是是B虽虽然然没没有有自自由由缓缓冲冲区区,但但考考虑虑到到端端到到端端的的传传输输延延迟迟,估估计计当当要要求求的的TPDU来来到到时时就就可可释释放放出出新新的的自自由由缓缓冲冲区区,这这时时也也可可增增加加信信贷贷数数。在在传输传输延延迟
27、时间迟时间很很长长的网的网络络中,中,提前增加信提前增加信贷贷数数能改善吞吐率。能改善吞吐率。如如果果提提前前的的时时间间和和发发出出信信贷贷的的数数量量掌掌握握得得不不够够准准确确,可可能能会会在在TPDU来来到到时时还还没没有有得得到到预预期期的的自自由由缓缓冲冲区区,从从而而不不得得不不丢丢弃弃数数据据,这这时时又又需需要要重重传传机机制制的的协协助,所以要助,所以要优优化吞吐率必然使化吞吐率必然使协议协议操作更复操作更复杂杂 1/12/202317传输协议(续)信信贷贷滑窗滑窗协议协议在网在网络络不可靠的情况下,不可靠的情况下,对对以上方案稍加改以上方案稍加改进进,就可以工作得很好。,
28、就可以工作得很好。假假定定传传输输实实体体B向向A发发出出形形式式为为(ACK N,CDT M)的的控控制制信信号号,表表示示对对N之之前前的的TPDU的的肯肯定定应应答答,并并且且准准备备接接收收N到到(N+M-1)的的TPDU。如如果果B想想把把信信贷贷增增加加到到X,同同时时又又没没有有收收到到新新的的TPDU,B可可以以发发出出控控制制信信号号(ACK N,CDT X);另另一一方方面面,如如果果B要要应应答答Y个个新新接接收收的的TPDU,而而又又不不想想增增加加信信贷贷数数,则则B可可继续发继续发出控制信号(出控制信号(ACK N+Y,CDT MY)。)。如如果果发发送送端端等等不
29、不到到新新的的应应答答信信号号,则则超超时时重重传传TPDU,这这会会引引起起重重新新应应答答,协协议继续议继续有效。有效。1/12/202318传输协议(续)信信贷贷滑窗滑窗协议协议信信贷贷信信号号丢丢失失了了,则则会会造造成成死死锁锁。可可能能出出现现这这样样的的情情况况:B发发出出(ACK N,CDT 0),暂暂时时关关闭闭了了发发送送窗窗口口,后后来来B发发出出(ACK N,CDT M),企企图图重重新新打打开开发发送送窗窗口口,但但这这个个流流控控信信号号丢丢失失了了。这这时时B认认为为它它已已发发出出了了增增加加信信贷贷的信号,而的信号,而A却在等待信却在等待信贷贷数数额额的到来,
30、的到来,这样这样形成了互相等待的形成了互相等待的死死锁锁状状态态。为为了了解解决决这这个个问问题题,B需需要要一一个个窗窗口口定定时时器器。B每每发发出出一一个个(ACK,CDT)信信号号,定定时时器器就就开开始始计计时时,当当定定时时器器超超时时后后还还未未等等到到新新的的TPDU,则则 B必必须须重重发发(ACK,CDT),),这样这样就打破了死就打破了死锁锁僵局。僵局。另另外外,也也可可以以要要求求A对对B发发出出的的(ACK,CDT)做做出出回回答答,B在在一一定定时时间间间间隔隔内内等等不不到到A的的回回答答时时就就重重发发(ACK,CDT),这这时时B的的窗窗口口定定时时器器的的时
31、时间间间间隔可以定得更隔可以定得更长长一些。一些。(习题习题2)1/12/202319传输协议(续)连连接管理接管理传输协议传输协议需要建立和需要建立和释释放放连连接。建立接。建立连连接的接的过过程有三个作用:程有三个作用:(1)使通信双方)使通信双方确确认认对对方存在;方存在;(2)协协商任商任选选参数,例如参数,例如TPDU长长度、窗口大小以及服度、窗口大小以及服务质务质量等;量等;(3)分配)分配传输资传输资源,例如存源,例如存储缓储缓冲区、冲区、连连接入口表接入口表项项等。等。建立和建立和释释放放连连接涉及接涉及传输传输用用户户和和传输实传输实体的一系列体的一系列动动作。用作。用户户向
32、本地向本地传输实传输实体体发发送命令,送命令,传输实传输实体通体通过过控制控制TPDU与与对对等等实实体交互作用,体交互作用,执执行行协议过协议过程。程。1/12/202320传输协议(续)连连接管理接管理如如果果两两边边同同时时主主动动要要求求建建立立连连接接,协协议议也也能能正正常常工工作作。然然而而当当一一方方处处于于空空闲闲状状态态,另另一一方方要要求求建建立立连连接接时时,这这个个协协议议可可能能失失败败,所所以以需需要要补补充充以以下下三三个个子子过过程(任程(任选选其一);其一);(1)传输实传输实体体发发回回CLS,拒,拒绝绝对方的对方的连连接接请请求;求;(2)把把连连接接请
33、请求排求排队队,等候用,等候用户发户发出出LISTEN命令;命令;(3)传输实传输实体用中断方式通知用体用中断方式通知用户户,要求建立,要求建立连连接。接。如如果果使使用用最最后后一一种种机机制制,那那么么LISTEN命命令令实实际际上上可可以以不不要要,或或者者用用接接受受命命令令ACCEPT(同意按同意按照照请请求求的参数的参数建立建立连连接接)代替之。代替之。任任何何一一方方用用户户都都可可以以(或或两两方方同同时时)发发出出CLOSE命命令令来来释释放放连连接接。连连接接释释放放时时可可以以突突然然断断连连或或平平稳稳断断连连。为为了了实实现现平平稳稳断断连连,等等待待CLS的的一一方
34、方必必须须继继续续接收接收TPDU,直到收到,直到收到对对方方发发来的来的CLS后才能后才能释释放放连连接。接。1/12/202321传输协议(续)连连接管理接管理TP4协议协议中中对对付不可靠网付不可靠网络络服服务务的的过过程程上上述述连连接接建建立立过过程程叫叫做做两两次次握握手手。假假定定A向向B发发出出RFC,如如果果出出现现网网络络服服务务不不可可靠靠的的情情况况,可可能能有有两两种种意意外外发发生生:A的的RFC丢丢失失或或B的的RFC丢丢失失。若若求求助助于于超超时时重重传传机制,机制,A可以重可以重发发RFC,直到,直到连连接成功。接成功。超超时时重重传传可可能能会会引引起起重
35、重复复的的协协议议数数据据单单元元。如如果果B发发出出的的确确认认RFC丢丢失失了了,A超超时时重重发发RFC,B就就会会收收到到两两个个同同样样的的RFC;如如果果B的的确确认认RFC没没有有丢丢失失,而而是是延延迟迟了了,A超超时时重重发发,引引起起B再再一一次次应应答答,A就就会会收收到到两两个个重重复复的的确确认认RFC。出出现现这这些些情情况况时时我我们们要要求求A和和B能能区区分分重重复复的的协协议议数数据据单单元元,并并在在连连接接建建立立后后丢丢弃被重复的弃被重复的RFC。2023/1/1222传输协议(续)连接管理连接管理重复的重复的RFC可能在通信子网中存可能在通信子网中存
36、储储起来,并且在起来,并且在连连接已接已经释经释放后放后姗姗姗姗来来迟迟,到,到达接收端。如果达接收端。如果A发发出的一个重复出的一个重复RFC在断在断连连后到达后到达B,B会以会以为为是新来的是新来的连连接接请请求,并照例求,并照例给给予响予响应应。进进一步推理,当一步推理,当B的响的响应应RFC到达到达A时时,A刚刚好好发发出出过过第二次第二次连连接接请请求,求,A错错以以为这为这就是就是对对它它刚发刚发出的出的请请求的响求的响应应,于是建立了,于是建立了连连接。因而接。因而协议协议失失败败了。了。解决解决这这个个问题问题的的办办法是使用法是使用三次握手三次握手过过程。程。这这个方案要求个
37、方案要求连连接接请请求和求和连连接确接确认认都要都要显显式表示出式表示出连连接的序列号,并且接收方接的序列号,并且接收方对发对发送方的送方的RFC给给予予应应答。答。2023/1/1223传输协议(续)连连接接释释放的放的过过程也程也须须考考虑虑控制控制TPDU丢丢失和重复的情况,仍然用三次握手失和重复的情况,仍然用三次握手过过程程断开断开连连接。接。连接管理连接管理2023/1/1224传输协议(续)1/12/202325传输协议(续)1/12/202326传输协议(续)网络失效的恢复网络失效的恢复不不可可靠靠的的网网络络可可能能失失效效,网网络络层层检检测测到到失失效效后后会会通通知知上上
38、面面的的传传输输层层,例例如如X.25网络就可能向上发出网络就可能向上发出复位复位(Reset)或)或重启动重启动(Restart)的通知。)的通知。连连接接复复位位:传传输输实实体体收收到到网网络络服服务务的的通通知知,知知道道连连接接已已经经复复位位并并估估计计路路途途中中的数据可能丢失,故必须采取以下补救措施:的数据可能丢失,故必须采取以下补救措施:(1)向向对对方方发发送送控控制制TPDU,告告诉诉复复位位已已经经发发生生,并并说说明明自自己己收收到到的的最最后后一一个个TPDU的序号;的序号;(2)暂不发送新的数据)暂不发送新的数据TPDU,等待对方回答的控制,等待对方回答的控制TP
39、DU。更更严严重重的的问问题题是是由由于于网网络络重重启启动动而而丢丢失失了了网网络络连连接接。在在这这种种情情况况下下,原原来来首首先先发发起起连连接接的的一一方方要要向向网网络络服服务务发发出出重重建建连连接接的的命命令令,然然后后向向对对方方发发送送新新的的网络连接请求,最后用上述复位过程重新取得同步。网络连接请求,最后用上述复位过程重新取得同步。1/12/202327传输协议(续)系系统统崩崩溃溃的恢复的恢复当当传传输输实实体体所所在在的的主主机机系系统统崩崩溃溃后后,所所有有连连接接状状态态信信息息都都丢丢失失了了。如如果果主主机机系系统统重重新新启启动动,受受崩崩溃溃影影响响的的连
40、连接接就就变变成成了了半半连连接接,因因为为另另外外一一方方没没有有经经历历系系统统崩崩溃溃的灾的灾难难,并不知道,并不知道这这一方出了一方出了问题问题。传传输输实实体体应应该该维维持持一一个个放放弃弃定定时时器器,该该定定时时器器测测量量多多次次重重传传的的TPDU的的应应答答信信号号等等待待时时间间。放放弃弃定定时时器器超超时时后后,传传输输实实体体就就认认为为对对方方传传输输实实体体或或中中间间的的网网络络已已经经失效,自失效,自动动关关闭连闭连接,并把异常情况通知上接,并把异常情况通知上层层的的传输传输用用户户。在在传传输输实实体体(而而不不是是主主机机)失失效效后后很很快快重重新新启
41、启动动的的情情况况下下可可以以用用复复位位TPDU RST迅迅速速关关闭闭所所有有半半连连接接。失失效效一一方方每每收收到到一一个个TPDU X,以以RST X回回答答,使使对对方方复复位位。收收到到RST X的的一一方方根根据据序序号号X检检查查其其有有效效性性,如如果果自自己己确确实实发发出出过过TPDU X,则则RST X是有效的,知道是有效的,知道对对方已方已经经复位,自己也要异常复位,自己也要异常终终止止连连接。接。1/12/202328传输协议(续)系统崩溃的恢复系统崩溃的恢复经经历历崩崩溃溃恢恢复复后后是是否否重重开开连连接接由由传传输输用用户户决决定定。如如果果要要重重开开连连
42、接接,如如何何取取得得同同步步是是一一个个尚尚未未解解决决的的问问题题。经经过过崩崩溃溃的的一一边边,一一切切状状态态信信息息都都丢丢失失了了,只只有有未未经经过过崩崩溃溃的的一一边边才才记记得得以以前前的的状状态态。如如果果未未经经过过崩崩溃溃的的一一边边是是发发送送方方,从从它它的的断断点点处处继继续续发发送送,接接收收方方收收到到的的数数据据可可能能缺缺少少或或重重复复。如如果果未未经经崩崩溃溃的的一一边边是是接接收收方方,重重开开连连接接后后按按它它的的要要求求继继续续发发送送,那那么么发发送送方方是是否否保保留留着着以以前前发发送送过过的的那那些些数数据据的的拷拷贝贝也也值值得得怀怀
43、疑疑。这这个个问问题题没没有有一一个个好好的的解解决决办办法法,因而在系统崩溃后再行恢复总得承受数据丢失或重复的风险。因而在系统崩溃后再行恢复总得承受数据丢失或重复的风险。1/12/202329三、TCP协议TCP服服务务TCP协协议议提提供供面面向向连连接接的的可可靠靠的的传传输输服服务务,适适用用于于各各种种可可靠靠的的或或不不可可靠靠的的网网络络。TCP的的功功能能与与ISO TP4有有一一个个重重要要差差别别,即即 TCP的的数数据据传传送送模模型型是是面面向向字字节节流流的,而的,而ISO TP4是是面向面向报报文序列的文序列的。TCP用用户户送送来来的的字字节节流流形形式式的的数数
44、据据缓缓存存在在TCP实实体体的的发发送送缓缓冲冲区区中中,TCP实实体自主地决定如何把字体自主地决定如何把字节节流分段流分段,组组成成TPDU发发送出去。送出去。接接收收端端TCP实实体体决决定定何何时时把把接接收收缓缓冲冲区区中中的的字字节节流流提提交交给给用用户户。分分段段的的大大小小和和提提交交的的频频度度是是由由具具体体的的实实现现根根据据性性能能和和开开销销权权衡衡决决定定的的,TCP规规范范中中没没有有定定义义。即使两个。即使两个TCP实实体的体的实现实现不同,也可以互操作。不同,也可以互操作。TCP允允许许用用户户把把字字节节流流分分成成报报文文,用用推推进进(PUSH)命命令
45、令指指出出报报文文的的界界限限。发发送送端端TCP实实体体把把PUSH标标志志之之前前的的所所有有未未发发数数据据组组成成TPDU立立即即发发送送出出去去,接收端接收端TCP实实体根据体根据PUSH标标志决定提交的界限。志决定提交的界限。1/12/202330TCP协议(续)TCPTCP服务请求原语服务请求原语1/12/202331TCP协议(续)TCPTCP服务服务响应响应原语原语1/12/202332TCP协议(续)TCP段段头头格式格式源端口源端口(16 位)和位)和目目标标端口端口(16位);位);说明源服务访问点和说明源服务访问点和目目标标服服务访问务访问点;点;发发送送顺顺序序号号
46、(32位位):本本段段中中第第一一个个数数据据字字节节的的顺顺序序号号;应应答答顺顺序序号号(32);捎捎带带应应答答的的顺顺序序号号,指指明明接接收收方方期期望望接接收收的的下下一一个个字字节节的的顺顺序序号号;偏偏置置值值(4位位):传传输输头头中的中的32位字的个数;位字的个数;保留字段保留字段(6位):所有位):所有实现实现必必须须把把这这个手段置全个手段置全0;标标志志字字段段(6位位):表表示示各各种种控控制制信信息息,其其中中URG:紧紧急急指指针针有有效效;ACK:应应答答顺顺序序号号有有效效;PSH:推推进进功功能能有有效效;RST:连连接接复复位位为为初初始始状状态态,通通
47、常常用用于于连连接接故故障障后后的的恢恢复复;SYN:对对顺顺序序号号同同步步,用用于于连连接接的的建建立立;FIN:数数据据发发送送完完,连连接接可可以以释释放放;窗窗口口(l6位位):为为流流控控分分配配的的信信贷贷数数;检检查查和和(16位位):段段中中所所有有16位位字字按按模模216-1相加的和,然后取相加的和,然后取1的的补码补码;紧紧急急指指针针(16位位):从从发发送送顺顺序序号号开开始始的的偏偏置置值值,指指向向字字节节流流中中的的一一个个位位置置,此此位位置置之之前前的的数数据据是是紧紧急急数数据据;任任选选部部分分(长长度度可可变变):只只有有一一个个任任选选项项,即即指
48、指定定的的最最大段大段长长;补补丁丁:补齐补齐32位字位字边边界。界。1/12/202333TCP协议(续)三次握手建立连接三次握手建立连接 1/12/202334TCP协议(续)伪伪段段头头检查检查和的和的检查检查范范围围包括整个包括整个TCP段和段和伪伪段段头头(Pseudo-header)1/12/202335TCP协议(续)TCP连连接管理接管理TCP建建立立和和释释放放连连接接的的过过程程采采用用三三次次握握手手协协议议。这这种种协协议议的的实实际际目目的的是是连连接接两两端端都都要要声声明明自自己己的的连连接接端端点点标标识识,并并回回答答对对方方的的连连接接端端点点标标识识,以以
49、确确保保不不出出现现错错误误的的连连接接。连连接接可可能能是是主主动动建建立立的的,也也可可能能是是被被动动建建立立的的。在在连连接接建建立、存在和立、存在和释释放的各个放的各个阶阶段形成了不同的段形成了不同的连连接状接状态态。1/12/2023361/12/202337TCP协议(续)系统崩溃和重启动后系统崩溃和重启动后的恢复的恢复l设设想想网网络络中中存存储储了了一一个个过过期期的的连连接接请请求求RFC X(可可能能是是不不久久以以前前站站 A发发出出但但由由于于网网络络拥拥挤挤尚尚未未到到达达目目标标 B的的TPDU)。如如果果A崩崩溃溃后后恢恢复复,重重发发对对B的的连连接接请请求求
50、RFC X,并并且且过过期期的的连连接接请请求求可可能能先先到到达达B,而而B无无法法区区分分两两个个类类似似的的连连接接请请求求,于于是是应应答答了了过过期期的的连连接接请请求求,丢丢弃弃了了第第二二个个连连接接请请求求,从而建立了错误的连接,这个问题三次握手也无法解决。从而建立了错误的连接,这个问题三次握手也无法解决。l问问题题出出在在A在在很很短短的的时时间间内内两两次次对对同同一一个个目目标标使使用用了了同同样样的的连连接接标标识识,而而且且两两次次连连接接请请求求的的时时间间间间隔隔又又很很短短,在在第第一一个个请请求求没没有有从从网网络络中中消消失失时时又又发出第二个连接请求。发出