1、第一节第一节 传输层的功能与服务传输层的功能与服务 传输层的作用:传输层的作用:在通信子网提供服务的基础上,为源主机和目的主机之间提供可靠的、透明在通信子网提供服务的基础上,为源主机和目的主机之间提供可靠的、透明的、价格合理的数据传输;的、价格合理的数据传输;是面向用户的高层和面向通信是面向用户的高层和面向通信子网的低层之间的软件接口。子网的低层之间的软件接口。 6.1.1 6.1.1 传输层服务类型传输层服务类型 1.1.传输层抽象模型:传输层抽象模型:利用网络层利用网络层提供的服务来实现为用户提供提供的服务来实现为用户提供有效、可靠的服务的目标。有效、可靠的服务的目标。传输实体:传输实体:
2、传输层为高层提供传输层为高层提供服务的软硬件。服务的软硬件。2.2.服务类型:服务类型:可提供可提供面向连接面向连接的的和和无连接无连接的两种类型的服务。的两种类型的服务。第一节第一节 传输层的功能与服务传输层的功能与服务6.1.2 6.1.2 传输层服务质量传输层服务质量 传输层的主要功能:传输层的主要功能:增加和优化网络层服务质量。增加和优化网络层服务质量。 传输层协议与通信子网服务的关系:传输层协议与通信子网服务的关系:通信子网提供的服务越少,通信子网提供的服务越少,则传输层协议越复杂!则传输层协议越复杂! 服务质量参数:服务质量参数:建立连接延时:建立连接延时:传输服务用户发出传输请求
3、连接到收到确认之间的时间,包括传输服务用户发出传输请求连接到收到确认之间的时间,包括远端传输实体处理的延时。延时越短,服务质量越好。远端传输实体处理的延时。延时越短,服务质量越好。建立连接失败概率:建立连接失败概率:在最大连接延时时间内不能建立连接的可能性。在最大连接延时时间内不能建立连接的可能性。吞吐率:吞吐率:每秒钟传输的用户数据的字节数。每秒钟传输的用户数据的字节数。传输延时:传输延时:从源端传输用户发送报文开始到目的用户接收到报文为止的时间。从源端传输用户发送报文开始到目的用户接收到报文为止的时间。残余误码率:残余误码率:丢失的、错误的报文占全部报文数的百分比。丢失的、错误的报文占全部
4、报文数的百分比。优先级:优先级:为传输用户提供一种表明连接重要程度的方法。当发生拥塞时,确保高为传输用户提供一种表明连接重要程度的方法。当发生拥塞时,确保高优先级连接比低优先级连接先获得服务。优先级连接比低优先级连接先获得服务。恢复功能:恢复功能:给出因内部原因或拥塞情况下自动终止连接的可能性。给出因内部原因或拥塞情况下自动终止连接的可能性。运输协议运输协议1 1通信子网通信子网1 1所提供的服务所提供的服务运输协议运输协议2 2通信子网通信子网2 2所提供的服务所提供的服务6.1.36.1.3传输服务原语传输服务原语 套接字套接字( (socketsocket) )原语:原语:用于用于客户服
5、务器客户服务器模式,通过模式,通过系统功能调用系统功能调用来实现。来实现。 主要原语有:主要原语有:SOCKETSOCKET服务原语:服务原语:用于建立发方通信端点,返回一个整数用作为标识。用于建立发方通信端点,返回一个整数用作为标识。BINDBIND服务原语:服务原语:用于给新建立的通信端点赋予一个地址。用于给新建立的通信端点赋予一个地址。CONNECTCONNECT服务原语:服务原语:在面向连接的在面向连接的TCPTCP服务中用于在本地端点和远地端点间建立服务中用于在本地端点和远地端点间建立一条连接,在无连接的一条连接,在无连接的UDPUDP服务中是把对方地址存储下来。服务中是把对方地址存
6、储下来。LISTENLISTEN服务原语:服务原语:服务器为请求连接的客户分配请求连接队列空间,并指定队服务器为请求连接的客户分配请求连接队列空间,并指定队列长度(一般为列长度(一般为5 5)。)。ACCEPTACCEPT服务原语:服务原语:由服务器执行,等待连接请求的到来,请求到达后,服务器由服务器执行,等待连接请求的到来,请求到达后,服务器创建一个新连接端点,并将该端点的标识符返给请求端,接着产生一个进程为该创建一个新连接端点,并将该端点的标识符返给请求端,接着产生一个进程为该连接服务,然后再去等待新的连接。连接服务,然后再去等待新的连接。SENDSEND服务原语:服务原语:进行发送数据。
7、进行发送数据。 RECVRECV服务原语:服务原语:进行接收数据。进行接收数据。 CLOSECLOSE服务原语:服务原语:用于释放连接,双方都使用用于释放连接,双方都使用CIOSECIOSE原语后,连接即释放。原语后,连接即释放。第一节第一节 传输层的功能与服务传输层的功能与服务 例如,在面向连接的服务中:例如,在面向连接的服务中:1.1.建立连接阶段:建立连接阶段:服务器顺序执行:服务器顺序执行:SOCKET SOCKET BIND BIND LISTEN LISTEN ACCEPTACCEPT客户顺序执行:客户顺序执行:SOCKET SOCKET BIND BIND CONNECTCONN
8、ECT2.2.数据传输阶段:数据传输阶段:双方用双方用SENDSEND和和RECVRECV原语进行发送和接收数据。原语进行发送和接收数据。3.3.释放连接阶段:释放连接阶段:双方用双方用CLOSECLOSE原语后释放连接。原语后释放连接。第一节第一节 传输层的功能与服务传输层的功能与服务第二节第二节 传输层协议等级传输层协议等级 ! 传输层协议和数据链路层协议运行环境的差异:传输层协议和数据链路层协议运行环境的差异:在数据链路层:在数据链路层:两个路由器两个路由器( (交换节点交换节点) )通过数据链路直接通信;建立连接通过数据链路直接通信;建立连接的过程简单,一个输出线对应一个路由器,且目的
9、路由器一直处于等待连的过程简单,一个输出线对应一个路由器,且目的路由器一直处于等待连接状态。接状态。在传输层:在传输层:两端的主机通过整个通信子网进行通信;建立连接过程较复杂,两端的主机通过整个通信子网进行通信;建立连接过程较复杂,有较复杂的寻址过程,并且经常存在多条连接,连接的数目也动态变化,有较复杂的寻址过程,并且经常存在多条连接,连接的数目也动态变化,因此传输层的缓冲器管理和流量控制较复杂。因此传输层的缓冲器管理和流量控制较复杂。 第二节第二节 传输层协议等级传输层协议等级 6.2.1 6.2.1 传输协议的类型传输协议的类型传输层协议依赖网络层提供的服务。传输层协议依赖网络层提供的服务
10、。 网络层服务分类:网络层服务分类:A A类:类:提供完善服务,分组的丢失、重复及乱序情况可忽略不计,提供完善服务,分组的丢失、重复及乱序情况可忽略不计, 不使用不使用N NRESETRESET原语。原语。B B类:类:分组很少丢失,但时常使用分组很少丢失,但时常使用N NRESETRESET原语,协议建立新的原语,协议建立新的 网络连接,重新同步,然后继续传输数据。网络连接,重新同步,然后继续传输数据。C C类:类:提供完全不可靠的服务。用此类服务的传输层协议最复杂。提供完全不可靠的服务。用此类服务的传输层协议最复杂。 传输层协议分类:传输层协议分类:0 0类类( (A A类类) ):最简单
11、类,:最简单类,只提供建立和释放连接的机制。只提供建立和释放连接的机制。1 1类类( (B B类类) ):基本错误恢复类,:基本错误恢复类,提供从提供从N NRESETRESET中恢复,不需要检错、流控中恢复,不需要检错、流控. .2 2类类( (A A类类) ) :多路复用类,:多路复用类,比比0 0类增加了多路复用的功能。类增加了多路复用的功能。3 3类类( (B B类类) ) :错误恢复和多路复用类,:错误恢复和多路复用类,既可采用多路复用又可从既可采用多路复用又可从N NRESETRESET中中恢复,且使用显式流量控制。恢复,且使用显式流量控制。4 4类类( (C C类类) ) :错误
12、检测和恢复类,:错误检测和恢复类,能处理分组的丢失、重复,从能处理分组的丢失、重复,从N NRESETRESET和和其它错误中恢复,以及多路复用等功能,是最复杂的协议。其它错误中恢复,以及多路复用等功能,是最复杂的协议。 通信双方协商协议类型的过程:通信双方协商协议类型的过程:连接发起者连接发起者 连接响应者连接响应者 从提供的协议类型种选择一种从提供的协议类型种选择一种 不接收所有协议不接收所有协议 接受请求接受请求 拒绝连接拒绝连接6.2.2 6.2.2 传输协议的功能传输协议的功能 1 1. .连接的建立连接的建立 一个传输服务用户与另一个远地传输服务用户的连接存在于两个服务访问一个传输
13、服务用户与另一个远地传输服务用户的连接存在于两个服务访问点点( (TSAPTSAP) )之间;而对等传输实体的连接又存在于两个之间;而对等传输实体的连接又存在于两个NSAPNSAP之间。之间。呼叫请求呼叫请求( (提供协议类型提供协议类型) )第二节第二节 传输层协议等级传输层协议等级 获取远端获取远端TSAPTSAP地址的方法有两种:地址的方法有两种:一些公共服务或固定不变的服务连到一些固定的用户周知一些公共服务或固定不变的服务连到一些固定的用户周知的的TSAPTSAP上。上。远端某一公用进程,将自己连到远端某一公用进程,将自己连到122122号号TSAPTSAP,处于挂起状态。处于挂起状态
14、。 源 端 机 上 的 一 个 进 程 需 查 询 时 间 时 , 发 送 连 接 请 求 原 语源 端 机 上 的 一 个 进 程 需 查 询 时 间 时 , 发 送 连 接 请 求 原 语 T T CONNECTCONNECTRequestRequest,说明源地址为说明源地址为6 6号号TASPTASP,目标地址是目标地址是122122号号TASPTASP。源端机的传输层收到请求后,在源主机和目的主机上选择源端机的传输层收到请求后,在源主机和目的主机上选择NSAPNSAP,并建立并建立一个网络连接,通过网络连接两传输实体可以通话。一个网络连接,通过网络连接两传输实体可以通话。源端机的传输
15、实体用上述网络连接服务传输服务质量参数。源端机的传输实体用上述网络连接服务传输服务质量参数。目标主机传输实体向时间服务进程发出一个目标主机传输实体向时间服务进程发出一个T TCONNECTCONNECTIndicationIndication原原语。如果语。如果122122号号TASPTASP上的报时服务进程同意,就发出连接响应原语,返回上的报时服务进程同意,就发出连接响应原语,返回到源端主机后,就建成传输连接。到源端主机后,就建成传输连接。第二节第二节 传输层协议等级传输层协议等级 与远端进程与远端进程通过远端的公用传送地址通过远端的公用传送地址TSAPTSAP来建立连接。来建立连接。注册进
16、程:注册进程:进程连接服务程进程连接服务程序,常驻内存,并与固定序,常驻内存,并与固定TSAPTSAP连接。连接。 可以由可以由TSAPTSAP地址决定地址决定NSAPNSAP地址:地址: NSAPNSAP地址地址 传输实体得到一个传输实体得到一个TSAPTSAP地址后,可用其中的地址后,可用其中的NSAPNSAP地址建立一个网络连接。地址建立一个网络连接。第二节第二节 传输层协议等级传输层协议等级 三次握手法三次握手法解决网络服务不可靠问题解决网络服务不可靠问题不可靠因素:不可靠因素:超时重传的连接请求超时重传的连接请求TPDUTPDU因在网络内部滞留时间过长,连接因在网络内部滞留时间过长,
17、连接释放后才到达目的端,使目的端误认为是新连接请求而发出确认予以连接,释放后才到达目的端,使目的端误认为是新连接请求而发出确认予以连接,导致下一次源端真正再发请求建立连接时,目的端认为是重复请求而丢弃,导致下一次源端真正再发请求建立连接时,目的端认为是重复请求而丢弃,连接不能实现。连接不能实现。解决办法:解决办法:三次三次握手,即源端对握手,即源端对目的端的回答响目的端的回答响应还要用应还要用AKAK加以加以确认。确认。请单击此处请单击此处显示动画效果显示动画效果第二节第二节 传输层协议等级传输层协议等级 ( (a)a)多路复用多路复用 ( (b)b)分流分流2 2. .数据传输数据传输(1)
18、.(1).多路复用和分流多路复用和分流 多路复用多路复用:将多个信息流将多个信息流较少较少的传输连接的传输连接复用复用到一个网络连接上,以减少到一个网络连接上,以减少网络连接数目,降低费用。网络连接数目,降低费用。 分流分流:当一个用户进程的信息量当一个用户进程的信息量大于大于一个网络连接(电路)所能传输的信一个网络连接(电路)所能传输的信息量时,该用户传输连接可同时打开多个网络连接(多条虚电路),实现对息量时,该用户传输连接可同时打开多个网络连接(多条虚电路),实现对用户进程信息的用户进程信息的分流分流传输,以保证传输信息的吞吐量的要求。传输,以保证传输信息的吞吐量的要求。第二节第二节 传输
19、层协议等级传输层协议等级 接收方接收方接收报文接收报文bufferbuffer个数个数-1-1取走报文取走报文bufferbuffer个数个数+1+1发送方发送方响应报文中剩余响应报文中剩余bufferbuffer数为数为0 0?Y Y N N停止发送停止发送 继续发送继续发送 等待新的响应报文等待新的响应报文 已妥收的报文序号已妥收的报文序号剩余剩余buffer数数ACK(2).(2).流量控制和缓冲器管理流量控制和缓冲器管理 传输层流量控制的实现方法:传输层流量控制的实现方法:采用采用。 第二节第二节 传输层协议等级传输层协议等级 丢失数据的立即断连丢失数据的立即断连 3 3. .释放连接
20、释放连接采用三次握手方法释放连接采用三次握手方法释放连接 解决方法:解决方法:双方只有在确知对方所发出的数据已妥收,且本方也不准备再双方只有在确知对方所发出的数据已妥收,且本方也不准备再发数据时,才能发出断连请求,通常采用发数据时,才能发出断连请求,通常采用三次握手方法三次握手方法释放连接。释放连接。第二节第二节 传输层协议等级传输层协议等级 用三次握手方法释放连接的各种情况用三次握手方法释放连接的各种情况 第二节第二节 传输层协议等级传输层协议等级 第三节第三节 InternetInternet中中TCPTCP 传输层包含两个重要协议:传输层包含两个重要协议:传输控制协议传输控制协议TCPT
21、CP适用于面向连接服务适用于面向连接服务用户数据报服务用户数据报服务UDPUDP适用于无连接服务适用于无连接服务 TCPTCP( (Transmission Control ProtocolTransmission Control Protocol) ):提供进程间端到端的可靠的全双工提供进程间端到端的可靠的全双工数据通信,是一种面向连接的服务,对通信子网的可靠度没有要求,采用捎数据通信,是一种面向连接的服务,对通信子网的可靠度没有要求,采用捎带应答方式工作。带应答方式工作。6.3.1 6.3.1 TCPTCP协议功能特点协议功能特点 1.1.提供面向连接的服务:提供面向连接的服务:通信双方分
22、别用通信双方分别用SOCKETSOCKET原语创建一个连接端点。原语创建一个连接端点。2.2.面向数据流:面向数据流:将从高层接收和向高层送交的数据视为无结构的将从高层接收和向高层送交的数据视为无结构的字节流字节流。3.3.缓冲传输:缓冲传输:将高层数据将高层数据缓存缓存起来,由起来,由TCPTCP软件将字节流分成软件将字节流分成数据片数据片后传送。后传送。4.4.提供可靠性:提供可靠性:TCPTCP采用采用带重传的肯定确认带重传的肯定确认来进行差错控制和流量控制。来进行差错控制和流量控制。5.5.全双工连接:全双工连接:TCPTCP允许在允许在两个方向上两个方向上同时进行传送。同时进行传送。
23、第三节第三节 InternetInternet中中TCPTCP 6.3.2 6.3.2 TCPTCP协议协议 数据片数据片( (segmentsegment) ):TCPTCP所传输的所传输的TPDUTPDU,用来传输控制信息和数据,传输数用来传输控制信息和数据,传输数据和确认置于同一数据片中。据和确认置于同一数据片中。 数据片格式:数据片格式:含报头部分、数据部分。含报头部分、数据部分。伪头格式伪头格式第三节第三节 InternetInternet中中TCPTCP 6.3.3 6.3.3 TCPTCP连接管理连接管理包括建立连接和释放连接包括建立连接和释放连接1.1.建立连接建立连接采用三次
24、握手操作,连接是在双方机器的端口号上实现的。采用三次握手操作,连接是在双方机器的端口号上实现的。 例如:例如:假设右图中假设右图中A A是客户方,是客户方,B B是服务器,采用三次握手法建立连接。是服务器,采用三次握手法建立连接。2.2.释放连接释放连接 当当通信一方通信一方A A的的应用进程向应用进程向TCPTCP软件通知释软件通知释放连接时,放连接时,TCPTCP软件把剩余的数据片发送软件把剩余的数据片发送完毕,然后发一个释放连接数据片,对方完毕,然后发一个释放连接数据片,对方B B接到释放连接数据片后,发出确认,通接到释放连接数据片后,发出确认,通知应用进程,此时只释放连接的一半,即知应
25、用进程,此时只释放连接的一半,即A A到到B B的连接,另一方向的连接,另一方向B B到到A A可以继续流动,可以继续流动,直到另一方向释放为止,整个连接才全部直到另一方向释放为止,整个连接才全部释放。释放。6.3.4 6.3.4 TCPTCP数据传输数据传输 TCPTCP数据传输数据传输:TCPTCP软件将应用层用户交付的数据视为字节流,为每个字节编软件将应用层用户交付的数据视为字节流,为每个字节编号,序号以号,序号以2 23232为模,每个数据片都含有该片数据中第一个字节的序号。为模,每个数据片都含有该片数据中第一个字节的序号。1 1. .超时重传超时重传 自适应算法:自适应算法:用来确定
26、重发时间,记录每一个数据片发出的时间和收到相应用来确定重发时间,记录每一个数据片发出的时间和收到相应确认的时间,这两个时间之差即确认的时间,这两个时间之差即往返传输时间往返传输时间( (round trip timeround trip time),),将各个数将各个数据片的往返时延样本加权平均,得到报文段的据片的往返时延样本加权平均,得到报文段的平均往返时间平均往返时间T T,每测得一个每测得一个新的往返时延,逐渐改变这个平均值:新的往返时延,逐渐改变这个平均值:T T(旧往返时延旧往返时延T T)()(l l)()(新的往返时延)新的往返时延)其中:其中:系数系数的值为的值为0 01 1。
27、通常通常选得比较接近选得比较接近1 1。定时器设置的重发时间应略大于计算出的定时器设置的重发时间应略大于计算出的T T。2 2. .流量控制流量控制 TCPTCP协议采用协议采用可变滑动窗口尺寸可变滑动窗口尺寸来进行流量控制。来进行流量控制。第三节第三节 InternetInternet中中TCPTCP TCPTCP实现实现端对端的流量控制,端对端的流量控制,接收端在所发送的数据片中对已收到多少字节接收端在所发送的数据片中对已收到多少字节进行确认,同时用窗口字段说明还准备接收的字节数,即接收方当前可用缓进行确认,同时用窗口字段说明还准备接收的字节数,即接收方当前可用缓冲器大小的说明;根据改变窗
28、口的通知,发送方调整自己的发送窗口。冲器大小的说明;根据改变窗口的通知,发送方调整自己的发送窗口。3 3. .拥塞控制拥塞控制 拥塞的可能产生来源:拥塞的可能产生来源:接收方的容量问题,通过滑动窗口实现的端接收方的容量问题,通过滑动窗口实现的端端流量控制解决;端流量控制解决;网络内部容量问题,通过拥塞窗口来解决。网络内部容量问题,通过拥塞窗口来解决。 发送方实际采用的窗口大小:发送方实际采用的窗口大小:以接收方通知以接收方通知的窗口值为最大值,选用滑动窗口和拥塞窗的窗口值为最大值,选用滑动窗口和拥塞窗口中的口中的最小最小的一个。的一个。不发生拥塞时:不发生拥塞时:拥塞窗口拥塞窗口 = = 接收
29、窗口;接收窗口;出现拥塞时:出现拥塞时:拥塞窗口拥塞窗口 = 1/2 = 1/2原拥塞窗口;原拥塞窗口;拥塞消除后:拥塞消除后:线性增加拥塞窗口值,直到产线性增加拥塞窗口值,直到产生新的拥塞。生新的拥塞。第三节第三节 InternetInternet中中TCPTCP 用户数据报协议用户数据报协议UDPUDP:是是InternetInternet支持的无连接的传输协议,是不可靠的协支持的无连接的传输协议,是不可靠的协议,没有差错控制和流量控制,议,没有差错控制和流量控制,UDPUDP数据报可能丢失、重复或者乱序、也不进数据报可能丢失、重复或者乱序、也不进行分片。行分片。 格式格式:包含包含UDP
30、UDP头部头部和和UDPUDP数据域数据域。UDPUDP头部:头部:由由4 4个字段组成,如下图所示。个字段组成,如下图所示。校验和:校验和:是一个可选项,当校验和为零时,表示不计算校验和。是一个可选项,当校验和为零时,表示不计算校验和。伪报头:伪报头:不与不与UDPUDP数据报一起传送,只用于计算校验和,为了对数据报一起传送,只用于计算校验和,为了对IPIP地址、端地址、端口号及数据都进行校验。口号及数据都进行校验。第四节第四节 用户数据报协议用户数据报协议UDPUDP 头头 部部数数 据据校验和校验和长度长度目的端口目的端口源端口源端口0 16 0 16 3131UDPUDP长度长度1717 0 0目目 的的 地地 址址源源 IP IP 地地 址址计算校验和时所用伪头部计算校验和时所用伪头部
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。