page1CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17传输层的地位:中间层应用层传输层网络层数据链路层物理层面向信息处理面向通信用户功能网络功能两种观点划分高层与低层page2CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17传输层的功能基本功能:提供端到端(进程-进程)的可靠通信,即向高层用户屏蔽通信子网的细节,提供通用的传输接口主要功能:把传输地址映射为网络地址把端到端的传输连接复用到网络连接上传输连接管理端到端的顺序控制、差错检测及恢复、分段处理及QoS监测加速数据传送传输协议的简单/复杂决定于子网服务的多少通用的传输接口传输协议2传输协议1网络层服务1网络层服务2page3CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17传输层协议与数据链路层协议的区别网络物理信道数据链路层的环境传输层的环境结点1结点2主机A主机Bpage4CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17传输层模型传输服务用户传输服务用户应用层抽象机器.....传输服务提供者(传输实体)传输服务访问点TSAP连接端点传输服务--向用户提供高效、可靠、价格合理的服务传输连接管理、数据传送page5CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17QoS参数连接建立时延:从传输用户提出连接请求到接收到连接证实的时间建立连接失败可能性:在最大连接建立时延内连接未能建立的比例吞吐量:在一段时间间隔内,每秒传送的用户数据字节数转接时延:从源主机传输用户发出消息到目的主机传输用户接收到该消息的时间残余差错率:丢失/出错消息占全部发送的消息的比例保护:防止未经授权的第三方读取或修改传输的数据优先级恢复力:在内部故障或拥塞时,传输层自发终止连接的可能性page6CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17传输协议的要素之一:寻址传输用户(客户端)与服务器建立连接的过程示例应用进程服务器TSAP6TSAP122NSAPXNSAPY传输层传输层网络层网络层(1)服务器以TSAP122为地址,等待呼入(2)HOST1的应用进程发出连接请求,源地址为TSAP6,目的地址为TSAP122(3)HOST1的传输实体通过NSAP在HOST1与HOST2之间建立网络连接(4)HOST1的传输实体将应用进程的连接请求传送给HOST2的传输实体(5)HOST2的传输实体询问应用服务器是否同意建立传输连接HOST1HOST2page7CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17寻址问题:如何了解应用服务器的传输层地址解决:(1)初始连接协议---进程服务器作为应用服务器的代理,侦听传输连接请求;收到请求时,则装入应用服务器,并将连接转交(2)对于不适于随时创建的服务器,则使用名字服务器或目录服务器来提供应用服务器的TSAP地址问题:如何了解远端传输实体的网络地址?解决:(1)分级地址例如TSAP=国家号网络号主机号端口号(2)对于平面地址,则由名字服务器负责地址映射page8CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17建立连接被延误的重复分组问题解决:(1)每次都使用新的传输地址(2)分配连接标识符(3)限制分组生存期:限制子网的设计、在分组中附加跳计数器、为分组打上时间戳(4)基于时钟的方法:设立计时时钟,以连接建立时的时钟值的一部分作为TPDU的初始序号,并设立禁止区域,以解决由于主机崩溃而引起的序号问题。问题:a.若主机发送数据速率高,将进入禁止区域b.主机发送速率低于时钟速率时,也有可能进入禁止区域page9CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17建立可靠的连接:三次握手主机1主机2CR(SEQ=X)ACK(SEQ=Y,ACK=X)DATA(SEQ=X,ACK=Y)主机1主机2CR(SEQ=X)(重复)ACK(SEQ=Y,ACK=X)REJ(ACK=Y)page10CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17连接的三次握手主机1主机2CR(SEQ=X)(重复)ACK(SEQ=Y,ACK=X)REJ(ACK=Y)CR(SEQ=X)ACK(SEQ=Z,ACK=X)DATA(SEQ=X,ACK=Z)DATA(SEQ=X,ACK=Z)(重复)page11CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17释放连接(1)不对称释放(突然释放):只要一方发起释放,连接即中断问题:可能丢失数据主机1主机2CRACKDATADRDATA丢失page12CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17释放连接(2)对称释放(文雅释放):连接的两个方向分别释放两个军队问题问题:半接通连接解决:如果一段时间内没有收到TPDU,则认为连接中断代价:在没有数据发送时,要定期发送“伪TPDU”主机1主机2DRDRACK启动定时器启动定时器释放连接释放连接对称释放的正常情况主机1主机2DRDRACK启动定时器启动定时器释放连接超时,释放连接ACK丢失page13CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17释放连接对称释放的不同情形主机1主机2DRDRACK启动定时器超时重发释放连接释放连接响应丢失启动定时器DRDR启动定时器释放连接主机1主机2DRDR启动定时器超时重发超时,释放连接释放连接响应和后续的重发请求丢失启动定时器DRN次超时,释放连接启动定时器启动定时器page14CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17流量控制和缓存问题(1)缓存大小问题:固定大小缓存、可变大小缓存、为每个连接只分配一个缓存(2)低带宽突发业务,在发送端缓存;高速信息传输,在接收端缓存(3)动态缓存分配:接收端通知发送端所分配/剩余的空闲缓存数量,无空闲缓存时,发送端暂停发送主机1主机2要求8个缓存BUF=4SEQ=0只有4个空闲缓存SEQ=1SEQ=2ACK=1,BUF=3有3个空闲缓存主机1主机2SEQ=3ACK=4BUF=0SEQ=4SEQ=2,超时重发ACK=4,BUF=1暂停发送ACK=4,BUF=1SEQ=5继续发送page15CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17多路复用(1)上行多路复用:考虑网络连接的价格,多个传输连接复用到一个网络连接(2)下行多路复用:基于技术考虑,如卫星信道带宽利用率低,可以使一个传输连接使用多个网络连接从崩溃中恢复服务器崩溃并重启动后,如何恢复原来的状态服务器的可能事件:发送确认(A)、将收到数据交付应用进程(W)、崩溃(C)6种顺序:AWC、AC(W)、WAC、WC(A)、C(AW)、C(WA)客户端的状态:S1--有一个未收到确认的TPDUS0--没有未经确认的TPDU策略:重传、不重传、在S0状态下重传、在S1状态下重传page16CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17从崩溃中恢复服务器策略和客户端策略的可能组合服务器策略先确认、后交付先交付、后确认客户端策略重传不重传在S0重传在S1重传AC(W)AWCC(AW)C(WA)WACWC(A)正确正确重复丢失丢失丢失丢失重复正确正确正确正确正确正确正确正确正确正确丢失丢失重复重复重复重复page17CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17因特网的传输协议---TCP和UDPTCP(传输控制协议):提供面向连接服务UDP(用户数据报协议):提供无连接服务端口:TSAP=端口号+NSAP地址熟知(公认)端口:常用的应用服务的端口RPCSNMPTFTPSMTPFTPTELNET()()()()()()11116169252123UDPTCPABCIP=202.112.103.47端口500端口501IP=202.112.103.47端口500IP=202.112.103.225端口23连接page18CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17SOCKET概念SOCKET(套接字/管套/插口):标识连接的端点,IP地址+端口号。TCP和UDP的SOCKET机制的工作过程:TCPSERVERSERVERCLIENTCLIENTUDP申请SOCKET申请SOCKET申请SOCKET申请SOCKETLISTENCALLCONNECTACCEPTSENDRECEIVESENDTORECVFROMSENDTORECVFROMpage19CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17TCP消息格式031位31015源端口目的端口发送序号18确认序号检查和选项和填充(0)首部长度URGACKPSHRSTSYNFIN保留窗口大小紧急指针数据(可选)page20CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17TCP消息头部字段源端口/目的端口:TSAP地址发送序号:所发送的数据的第一字节的序号确认序号:期望收到的数据(下一个消息)的第一字节的序号首部长度:单位为32位(双字)控制字段:紧急位(URG):1表示加急数据,此时紧急指针的值为加急数据的最后一个字节的序号确认位(ACK):1表示确认序号字段有意义急迫位(PSH):1表示请求接收端的传输实体尽快交付应用层重建位(RST):1表示出现严重差错,必须释放连接,重建同步位(SYN):SYN=1,ACK=0表示连接请求消息SYN=1,ACK=1表示同意建立连接消息终止位(FIN):1表示数据已发送完,要求释放连接窗口大小:通知发送方接收窗口的大小,即最多可以发送的字节数检查和:12B的伪首部+首部+数据page21CollegeofComputerScienceandTechnologyComputerNetworksCHRYSAN2020/1/17建立TCP连接:三次握手主机1主机2SYN=1,ACK=0Send_Seq=xSYN=1,ACK=1Send_Seq=y,Ack_Seq=x+1通知应用进程主机1主机2应用进程要求连接通知应用进程Ack_Seq=y+1SYN=1,ACK=