1、lTCP实现:实现:l利用底层使用IP提供的不可靠服务,为应用程序提供一个可靠的数据传输服务l解决互联网中的数据丢失和延迟问题以提供有效的数据传输l不能让底层的网络和路由过载l编写应用程序向本机某个编写应用程序向本机某个I/O设备发送数设备发送数据,依赖底层计算机系统确保传输可靠据,依赖底层计算机系统确保传输可靠,不需要验证数据是否到达,系统保证数不需要验证数据是否到达,系统保证数据不丢失据不丢失,重复和乱序重复和乱序l希望希望:编写互联网程序遵循同样标准和常编写互联网程序遵循同样标准和常规技术规技术,把网络接口作为常规把网络接口作为常规I/Ol要求要求:互联网软件互联网软件(协议协议)来保证
2、来保证l实现实现:传输协议传输协议(TCP)实现可靠性实现可靠性,应用程应用程序发送和接受数据就和传输协议打交道序发送和接受数据就和传输协议打交道 应用层应用层传输层传输层网络层网络层数据链路层数据链路层物理层物理层面向信息面向信息处理处理面向面向通信通信用户用户功能功能网络网络功能功能两种观点划分高层与低层两种观点划分高层与低层 基本功能:提供端到端(进程基本功能:提供端到端(进程-进程)的进程)的可靠可靠通信,即向高层用户通信,即向高层用户 屏屏 蔽通信子网的细节,提供通用的传输接口。弥补了网络层所蔽通信子网的细节,提供通用的传输接口。弥补了网络层所提供服务的不足:剩余差错率和信号失败率,
3、数据传输速率、吞吐量和传输提供服务的不足:剩余差错率和信号失败率,数据传输速率、吞吐量和传输时延,适配会话层协议数据单元和网络层协议数据单元。时延,适配会话层协议数据单元和网络层协议数据单元。功能:传输连接的建立和释放、多路复用与分割、功能:传输连接的建立和释放、多路复用与分割、分段和重新组装、组块和分块、分段和重新组装、组块和分块、端到端的顺序控制、差错检测及恢复、端到端的顺序控制、差错检测及恢复、QOS监测。监测。传输协议的简单传输协议的简单/复杂决定于子网提供服务的多少复杂决定于子网提供服务的多少。通用的传输接口通用的传输接口传输协议传输协议 2传输协议传输协议 1网络层服务网络层服务
4、1网络层服务网络层服务 2l面向连接面向连接:首先请求一个到目的地的连接首先请求一个到目的地的连接l点对点通信点对点通信:(point to point),两个端点两个端点l完全可靠完全可靠:确保正确传输确保正确传输l全双工通信全双工通信:在两个方向上缓冲数据在两个方向上缓冲数据l流接口流接口:允许连续的字节流穿过连接允许连续的字节流穿过连接,不提供记录式表示不提供记录式表示法法l可靠的连接建立可靠的连接建立(机器重启机器重启,两个连接数据两个连接数据)l完美的连接终止完美的连接终止:TCP确保在关闭连接之前传递数据的确保在关闭连接之前传递数据的所有数据的可靠性所有数据的可靠性lTCP是端对端
5、协议是端对端协议:直接从一个机器的应用到另一个机直接从一个机器的应用到另一个机器的应用的连接器的应用的连接l虚连接虚连接(virtual connection):软件实现软件实现,软件通过信息软件通过信息来提供连接来提供连接lTCP使用使用IP来携带消息来携带消息,每一个每一个TCP消息封装在数据报消息封装在数据报后通过互联网后通过互联网l虚连接的每一端都需要虚连接的每一端都需要TCP软件软件,中间路由器不需要中间路由器不需要,正正常情况下常情况下IP不阅读不阅读TCP内容内容,IP仅作为数据来传递仅作为数据来传递传输服务用户传输服务用户传输服务用户传输服务用户 应用层应用层抽象机器抽象机器.
6、传输服务提供者(传输实体)传输服务提供者(传输实体)传输服务访问点传输服务访问点TSAP连接端点连接端点 传输服务传输服务-向用户提供高效、可靠、价格合理的服务。向用户提供高效、可靠、价格合理的服务。网络网络物理信道物理信道数据链路层数据链路层的环境的环境传输层传输层的环境的环境结点结点1结点结点2主机主机A主机主机Bl端到端到端(运输层)协议端(运输层)协议l提供不同主机的进程之间的逻辑通信服务l网络层协议提供主机间的逻辑通信l包括如下功能:l复用l连接管理l分段/重组l可靠递交l流量控制l拥塞控制IP 层端口 a端口 b端口 c基于端口的复用UDPUDP 数据报到达应用 1应用 2应用 3
7、 连接建立时延:从传输用户提出连接请求到接收到连接证实的时间连接建立时延:从传输用户提出连接请求到接收到连接证实的时间 建立连接失败可能性:在最大连接建立时延内连接未能建立的比例建立连接失败可能性:在最大连接建立时延内连接未能建立的比例 吞吐量:在一段时间间隔内,每秒传送的用户数据字节数吞吐量:在一段时间间隔内,每秒传送的用户数据字节数 转接时延:从源主机传输用户发出消息到目的主机传输用户接收到转接时延:从源主机传输用户发出消息到目的主机传输用户接收到该消息的时间该消息的时间 残余差错率:丢失和出错消息占全部发送的消息的比例残余差错率:丢失和出错消息占全部发送的消息的比例 保护:防止未经授权的
8、第三方读取或修改传输的数据保护:防止未经授权的第三方读取或修改传输的数据 优先级:有优先级的传输和同级用户的公平优先级:有优先级的传输和同级用户的公平 恢复力:在内部故障或拥塞时,传输层自发终止连接、重新连接的恢复力:在内部故障或拥塞时,传输层自发终止连接、重新连接的可能性可能性传输用户(客户端)与服务器建立连接的过程示例传输用户(客户端)与服务器建立连接的过程示例应用进程应用进程服务器服务器TSAP 6TSAP 122NSAP XNSAP Y传输层传输层传输层传输层网络层网络层网络层网络层(1)服务器以服务器以TSAP122为地址,为地址,等待呼入等待呼入(2)HOST 1的应用进程发出连接
9、的应用进程发出连接请求,源地址为请求,源地址为TSAP6,目的地目的地址为址为TSAP122(3)HOST 1的传输实体通过的传输实体通过NSAP在在HOST 1与与HOST 2之间之间建立网络连接建立网络连接(4)HOST 1的传输实体将应用进的传输实体将应用进程的连接请求传送给程的连接请求传送给HOST 2的的传输实体传输实体(5)HOST 2的传输实体询问应用的传输实体询问应用服务器是否同意建立传输连接服务器是否同意建立传输连接HOST 1HOST 2 TCP(传输控制协议):提供面向连接服务传输控制协议):提供面向连接服务 UDP(用户数据报协议):提供无连接服务用户数据报协议):提供
10、无连接服务 端口:端口:TSAP=端口号端口号+NSAP地址地址 熟知(公认)端口:常用的应用服务的端口熟知(公认)端口:常用的应用服务的端口RPCSNMPTFTPSMTPFTPTELNET()()()()()()()()()()()()11116169252123 UDPTCPABC IP=202.112.103.47端口端口500端口端口501 IP=202.112.103.47端口端口500 IP=202.112.103.225端口端口23连连接接7ECHO回送37TIME时间42NAMESERVER 主机名字服务器53DOMAIN域名服务器67BOOTPS启动协议服务69TFTP简单文
11、件传输161SNMPSNMP 网络监控20FTP-DATA文件传输协议(数据连接)21FTP文件传输协议(控制连接)23TELNET远程登录终端37TIME时间43NICNAMEwhois 程序79FINGERfinger 程序80HTTPWEB 服务UDP熟知端口号TCP熟知端口号 031位位31015源端口源端口目的端口目的端口 发送序号发送序号18 确认序号确认序号检查和检查和 选项和填充(选项和填充(0)首部首部长度长度URGACKPSHRSTSYNFIN保留保留窗口大小窗口大小紧急指针紧急指针数据(可选)数据(可选)源端口源端口/目的端口:目的端口:TSAP地址地址 发送序号:所发送
12、的数据的第一字节的序号发送序号:所发送的数据的第一字节的序号 确认序号:期望收到的数据(下一个消息)的第一字节的序号确认序号:期望收到的数据(下一个消息)的第一字节的序号 首部长度:单位为首部长度:单位为32位(双字)位(双字)控制字段:控制字段:紧急位(紧急位(URG):):1表示加急数据,此时紧急指针的值为加急表示加急数据,此时紧急指针的值为加急 数据的最后一个字节的序号数据的最后一个字节的序号 确认位(确认位(ACK):):1表示确认序号字段有意义表示确认序号字段有意义 急迫位(急迫位(PSH):):1表示请求接收端的传输实体尽快交付应用层表示请求接收端的传输实体尽快交付应用层 重建位(
13、重建位(RST):):1表示出现严重差错,必须释放连接,重建表示出现严重差错,必须释放连接,重建 同步位(同步位(SYN):):SYN=1,ACK=0 表示连接请求消息表示连接请求消息 SYN=1,ACK=1 表示同意建立连接消息表示同意建立连接消息 终止位(终止位(FIN):):1表示数据已发送完,要求释放连接表示数据已发送完,要求释放连接 窗口大小:通知发送方接收窗口的大小,即最多可以发送的字节数窗口大小:通知发送方接收窗口的大小,即最多可以发送的字节数 检查和:检查和:12B的伪首部的伪首部+首部首部+数据数据 l码元比特字段码元比特字段(CODE BITS)6bitl指出报文段的目的和
14、内容,给出报文头中其他字段的解释URG ACK PSH RST SYNFIN发送方字节流结束序号同步连接复位报文端请求急迫操作确认字段可用紧急指针字段可用l理论证明理论证明:三次握手是包丢失三次握手是包丢失,重复重复,延迟情况下确保非模糊协定的冲要条件延迟情况下确保非模糊协定的冲要条件主机主机 1主机主机 2SYN=1,ACK=0 Send_Seq=xSYN=1,ACK=1 Send_Seq=y,Ack_Seq=x+1通知应用通知应用进程进程主机主机 1主机主机 2应用进程应用进程要求连接要求连接通知应用通知应用进程进程Ack_Seq=y+1SYN=1,ACK=0,Send_Seq=xSYN=
15、1,ACK=0,Send_Seq=ySYN=1,ACK=1 Send_Seq=x,Ack_Seq=y+1SYN=1,ACK=1 Send_Seq=y,Ack_Seq=x+1正常连接情形正常连接情形呼叫冲突:两个主机在相同的呼叫冲突:两个主机在相同的一对一对 SOCKET之间建立连接之间建立连接 初始序号的设置:基于时钟的方法初始序号的设置:基于时钟的方法RESET主机主机 1主机主机 2FIN=1,Send_Seq=xAck_Seq=x+1应用进程应用进程要求释放要求释放连接连接通知应用通知应用进程进程应用进程应用进程要求释放要求释放连接连接通知应用通知应用进程进程FIN=1,Send_Seq
16、=yAck_Seq=y+1整个连接整个连接释放释放 采用定时器方法,处理确认丢失的情况采用定时器方法,处理确认丢失的情况CLOSEDLISTENSYN RCVDSYN SENTESTABLISHEDFIN WAIT1FIN WAIT2CLOSINGCLOSE WAITLAST ACKTIMED WAITCLOSED客户应用进程请求连接客户应用进程请求连接3 次握手建立连接次握手建立连接释放连接请求释放连接请求对方应答对方应答收到对方的收到对方的释放请求释放请求超时超时LISTEN收到连接请求收到连接请求收到客户端的确认收到客户端的确认收到对方的释放请求收到对方的释放请求释放连接请求释放连接请求
17、对方应答对方应答收到对方的收到对方的释放请求释放请求对方应答对方应答 对方请求对方请求+应答应答释放连接请求释放连接请求拒绝连接拒绝连接请求建立连接请求建立连接同时建立连接同时建立连接l 可靠性可靠性:通过重发解决包丢失通过重发解决包丢失,定时和确认机制定时和确认机制l广域网传输延迟比局域网的增加和不定广域网传输延迟比局域网的增加和不定l适应性重发适应性重发:TCP监视当前连接的延迟监视当前连接的延迟(roud-trap delay,统计统计),改变重发定时器适应条件变化改变重发定时器适应条件变化(1)如果每收到应用进程的消息即发送,对于短消息,会浪费带宽如果每收到应用进程的消息即发送,对于短
18、消息,会浪费带宽 解决:解决:A.推迟发送确认和窗口更新消息,以捎带信息推迟发送确认和窗口更新消息,以捎带信息 B.Nagle 算法,尽量把短消息组合发送算法,尽量把短消息组合发送(2)“傻瓜窗口傻瓜窗口”问题,接收端每次只能向应用进程交付少量消息,问题,接收端每次只能向应用进程交付少量消息,窗口更新消息只提供少量缓存,导致低效窗口更新消息只提供少量缓存,导致低效 解决:解决:Chark 方法,禁止接收方频繁发送窗口更新消息,有一定方法,禁止接收方频繁发送窗口更新消息,有一定 空闲缓存后再发送空闲缓存后再发送lTCP采用窗口机制来控制数据流采用窗口机制来控制数据流l窗口窗口:建立连接的每一端分
19、配一个缓冲区保持输入数据建立连接的每一端分配一个缓冲区保持输入数据,并将缓冲区的尺寸发送给并将缓冲区的尺寸发送给另一方另一方;发送确认时发送确认时,包含自己剩余的缓冲区尺寸包含自己剩余的缓冲区尺寸,窗口通告窗口通告(window advertisement)发送端发送端接收端接收端Send_Seq=0(0-2047)Ack_Seq=2048,WIN=2048应用进程应用进程交付交付3KAck_Seq=4096,WIN=0向应用进程交付向应用进程交付2K空闲缓存空闲缓存4K2KSend_Seq=2048(2048-4095)0Ack_Seq=4096,WIN=20482K暂停发送暂停发送Send
20、_Seq=4096(4096-5119)1K(1)缓存大小和分配方式:固定大小缓存、可变大小缓存;为每个连接只分配缓存大小和分配方式:固定大小缓存、可变大小缓存;为每个连接只分配 一个缓存、多个连接公用缓存。一个缓存、多个连接公用缓存。(2)低带宽突发业务,在发送端缓存;高速信息传输,在接收端缓存低带宽突发业务,在发送端缓存;高速信息传输,在接收端缓存(3)动态缓存分配:接收端通知发送端所分配动态缓存分配:接收端通知发送端所分配/剩余的空闲缓存数量,无剩余的空闲缓存数量,无 空闲缓存时,发送端暂停发送空闲缓存时,发送端暂停发送主机主机 1主机主机 2要求要求 8个缓存个缓存BUF=4SEQ=0
21、只有只有 4 个个空闲缓存空闲缓存SEQ=1SEQ=2ACK=1,BUF=3有有 3 个个空闲缓存空闲缓存主机主机 1主机主机 2SEQ=3ACK=4 BUF=0SEQ=4SEQ=2,超时重发超时重发ACK=4,BUF=1暂停发送暂停发送ACK=4,BUF=1SEQ=5继续发送继续发送l丢包丢包,长延迟长延迟,重发重发congestion collapsel一旦包丢失一旦包丢失,减少重发数据的速率减少重发数据的速率,迅速后撤机制迅速后撤机制l发送一个包发送一个包,没丢失安全到达没丢失安全到达,数据量加倍数据量加倍,依次递推依次递推,直到窗口通告一半直到窗口通告一半 两个潜在问题:网络容量和接收
22、方容量两个潜在问题:网络容量和接收方容量 发送方要保持发送方要保持2个窗口:拥塞窗口和接收方窗口,取较小的值为可个窗口:拥塞窗口和接收方窗口,取较小的值为可以以 发送的字节数发送的字节数 拥塞控制的参数:拥塞窗口、接收方窗口、窗口临界值拥塞控制的参数:拥塞窗口、接收方窗口、窗口临界值 拥塞控制算法:在定时器不超时的情况下,拥塞窗口从拥塞控制算法:在定时器不超时的情况下,拥塞窗口从0开始以指开始以指数级增大;到达临界值时,按线性增大,直到和接收窗口相同;一旦数级增大;到达临界值时,按线性增大,直到和接收窗口相同;一旦出现超时,临界值减半,拥塞窗口降为出现超时,临界值减半,拥塞窗口降为0,重新开始
23、增大。,重新开始增大。重发时间的确定重发时间的确定 平均往返时延(平均往返时延(RTT):):RTT=RTT+(1-)M 其中修正因子其中修正因子 为为 0-1,表示,表示RTT的更新速率;的更新速率;M为消息发出到收到确认的时间为消息发出到收到确认的时间 重发超时值的计算算法重发超时值的计算算法1:Jackson算法算法D=D+(1-)|RTT-M|,其中其中D为偏差为偏差 超时值超时值=RTT+4 D重发超时值的计算算法重发超时值的计算算法2:Karn 算法算法 重发时间重发时间=2 原来的重发时间原来的重发时间传输层连接和网络层连接的对应方式:传输层连接和网络层连接的对应方式:一一对应方
24、式;一一对应方式;向上多路复用:考虑网络连接的价格,多个传输连接向上多路复用:考虑网络连接的价格,多个传输连接复用到一个网络连接;复用到一个网络连接;向下多路复用:基于技术考虑,如卫星信道带宽利用向下多路复用:基于技术考虑,如卫星信道带宽利用率低,可以使率低,可以使 一个传输连接使用多个网络连接一个传输连接使用多个网络连接 031位位15源端口源端口目的端口目的端口UDP长度长度检查和检查和与与TCP相同,检查和的计算也包括相同,检查和的计算也包括12字节的伪首部:源字节的伪首部:源/目的目的IP地址、地址、UDP协协议号(议号(17)和)和UDP长度长度l运输层协议,只包括复用功能运输层协议
25、,只包括复用功能l提供不可靠、不保序的数据报服务提供不可靠、不保序的数据报服务l复用:复用:lEndpoint:IP地址16比特端口号l客户方、服务方例子:telnetl简单的差错检测功能:可选简单的差错检测功能:可选lUDP头部:头部:8个字节个字节l检验和:检验和错误的检验和:检验和错误的UDP报文被丢弃,报文被丢弃,1的反码运算,和的反码运算,和IP检验和类似检验和类似l全0表示不使用检验和lUDP 数据报由两部分构成:数据报由两部分构成:UDP 报头和数据区报头和数据区lUDP 报文是封装在报文是封装在 IP 分组中进行传送的分组中进行传送的IP应用UDP数据链路概念分层UDP 头UD
26、P 数据区IP 头IP 数据区帧 头帧数据区应用数据IP header source port destination portlengthchecksumdata:01502468UDP 源端口:发送端的 UDP 端口号;当不需要对端返回数据时,该字段为 0。UDP 目的端口:接收端的 UDP 端口号。数据报长度:以字节计算的整个数据报的长度,最小值 8 字节(只含 UDP 头)。数据报校验和(可选):0:表示未选用校验功能;其它值表示数据报的校验和,若该字段为全 1 则表示校验和为 0。lUDP 数据报校验是一项可选的功能数据报校验是一项可选的功能l用户禁止该功能可以进一步提高通信的效率l
27、UDP 校验和的计算方法:校验和的计算方法:与与 IP 分组头的校验相同分组头的校验相同l校验和计算:除覆盖数据报外,还覆盖一个 UDP 伪报头源 IP 地址UDP 长度填充域目的 IP 地址协议07 8 15 1631全 0IP 分组头中指定的协议类型码(UDP=17)UDP 数据报的长度(不含伪报头)q 伪报头并非 UDP 数据报中实际的有效成分q 伪报头是一个虚拟的数据结构:其中的信息是从数据报所在 IP 分组头的分组头中提取的q 使用伪报头是为了验证 UDP 数据报是否正确地传到了目的系统中q 伪报头的采用在一定程度上违反了网络结构分层的原则lUDP 数据报的发送和接收通过数据报的发送
28、和接收通过 UDP 端口端口实现实现l端口是一个可读写的结构,具有内部的报文缓冲区l数据报发送数据报发送lUDP 软件将用户数据封装在 UDP 数据报中l转交给 IP 软件,进行 IP 封装和转发l数据报的接收数据报的接收lIP 层接收到 UDP 数据报,提交给 UDP 软件的各端口l端口判断该报文的目的端口号是否与当前端口匹配l若匹配成功,将该数据报保存到相应端口的接收队列中;(若队列已满,则丢弃该数据报)l若未匹配,则丢弃该数据报,同时向源端发送“端口不可达”的 ICMP 包ATM层提供的服务种类层提供的服务种类:类型类型 名称名称应用示例应用示例CBR固定比特率固定比特率 电话系统、实时
29、的音频、视频数据电话系统、实时的音频、视频数据RT-VBR实时可变比特率实时可变比特率 压缩的音频、视频数据(如电视会议)压缩的音频、视频数据(如电视会议)NRT-VBR非实时可变比特率非实时可变比特率 可容忍一定的时延抖动,如多媒体可容忍一定的时延抖动,如多媒体EmailABR可用比特率可用比特率 适于突发业务,承诺最低(平均)带宽,适于突发业务,承诺最低(平均)带宽,但不保证最高带宽需求,如但不保证最高带宽需求,如Web浏览浏览UBR未指定比特率未指定比特率 不作任何承诺,不作任何承诺,Best-Effort,用于用于Email、IP包传输包传输 服务分类方法:实时服务分类方法:实时/非实
30、时非实时固定比特率固定比特率/可变比特率可变比特率面向连接面向连接/无连接无连接 4类服务类服务A类类B类类C类类D类类源端和目的端源端和目的端的定时关系的定时关系比特率比特率连接方式连接方式固定固定可变可变实时实时非实时非实时面向连接面向连接无连接无连接 物理层物理层 ATM层层分段重装子层分段重装子层SAR公共部分会聚子层公共部分会聚子层CPCS 业务特定会聚子层业务特定会聚子层SSCSAAL会聚子层会聚子层 传输位流,不考虑消息分界,无差错控制传输位流,不考虑消息分界,无差错控制 CS功能:没有协议,处理信元时延变化及净荷重装时延,接收端时钟恢复,功能:没有协议,处理信元时延变化及净荷重
31、装时延,接收端时钟恢复,检测丢失和误插入信元,将应用层消息检测丢失和误插入信元,将应用层消息/位流分解为位流分解为46/47字节单元字节单元 SAR功能:构成信元净荷功能:构成信元净荷非非 P P01SNSNSNPSNP EPEP指针指针47字节用户数据字节用户数据46字节用户数据字节用户数据1 3 3 1 bit 1 B P信元用于要求保留消息边界的消息信元用于要求保留消息边界的消息 SN:顺序号,用于检测丢失或误插入信元顺序号,用于检测丢失或误插入信元 SNP:顺序号保护,即检验和,可纠正顺序号保护,即检验和,可纠正SN字段的字段的1位错,检测位错,检测2位错位错 EP:偶校验,对前面偶校
32、验,对前面7位进行位进行 指针:指出下一消息开始的偏移量指针:指出下一消息开始的偏移量 CS功能:没有协议,时钟恢复,检测丢失和误插入信元,声音功能:没有协议,时钟恢复,检测丢失和误插入信元,声音/图象业务的图象业务的 前向纠错(前向纠错(FEC)SAR功能:比功能:比AAL1复杂复杂SN IT45字节用户数据字节用户数据LICRC1B2 B SN:顺序号,用于检测丢失或误插入信元顺序号,用于检测丢失或误插入信元 IT:信息类型,指明该信元处于消息的开始、中间或结尾信息类型,指明该信元处于消息的开始、中间或结尾 LI:长度指示符,说明用户数据的长度(字节)长度指示符,说明用户数据的长度(字节)
33、CRC:对对SAR-PDU进行校验进行校验 要求可靠传输,但不要求实时性要求可靠传输,但不要求实时性 两种模式:流模式两种模式:流模式-不保留消息边界不保留消息边界 消息模式消息模式-保留消息边界保留消息边界 每种模式都分为两类操作:确保操作和不确保操作每种模式都分为两类操作:确保操作和不确保操作 多路复用功能:多个会话复用同一条多路复用功能:多个会话复用同一条VC CS-PDU:CPI Btag 用户数据(用户数据(1-65535 B)填充填充10-3 BA容量容量 12 1 1 2 B 未用未用 Etag 长度长度 CPI:公共部分指示符,说明消息类型及公共部分指示符,说明消息类型及BA容
34、量和长度字段的计算单位容量和长度字段的计算单位 Btag/Etag:开始开始/结束标签,标识消息的首尾,用于检查丢失和误插入信元结束标签,标识消息的首尾,用于检查丢失和误插入信元 BA容量:通知接收方要为将到达的消息分配的缓存大小容量:通知接收方要为将到达的消息分配的缓存大小 长度:用户数据长度长度:用户数据长度 SAR:将将CS-PDU分成分成44字节的段,并组成字节的段,并组成SAR-PDUST SN 用户数据(用户数据(44B)2 MID 410 6 10 bit LI CRC ST:段类型,指出该段是消息的开始、中间或结尾,或者是一个单消息信元段类型,指出该段是消息的开始、中间或结尾,
35、或者是一个单消息信元 SN:顺序号,用于检测丢失或误插入信元顺序号,用于检测丢失或误插入信元 MID:多路复用标识,说明该信元属于哪个会话多路复用标识,说明该信元属于哪个会话 LI:长度指示符,说明用户数据的长度(字节)长度指示符,说明用户数据的长度(字节)CRC:对对SAR-PDU进行校验进行校验 AAL3/4 的缺点:的缺点:(1)开销大,每个信元开销大,每个信元4B (2)10位位CRC,4位顺序号不足以保护长数据块的传输位顺序号不足以保护长数据块的传输 CS-PDU:用户数据(用户数据(1-65535 B)填充填充 1 2 4 B 未用未用长度长度 CRCUU1 填充:填充:0-47,
36、确保,确保CS-PDU为为48字节的整数倍字节的整数倍 UU:用户用户-用户,由高层使用,用户,由高层使用,长度:用户数据长度长度:用户数据长度 CRC:32位,对整个位,对整个CS-PDU进行校验进行校验 SAR:将将CS-PDU分为分为48字节的段,不增加任何首字节的段,不增加任何首/尾字段,仅在消息的尾字段,仅在消息的 最后一个信元中将最后一个信元中将ATM信头的信头的PTI(净荷类型)字段中的一位置净荷类型)字段中的一位置“1”,以保留消息边界,以保留消息边界AAL1 AAL2 AAL3/4 AAL5业务类型业务类型 A类类 B类类 C/D类类 C/D类类多路复用多路复用消息定界消息定
37、界缓存分配缓存分配用户信息字段用户信息字段CS填充填充CS协议开销协议开销CS校验校验 SAR净荷长度净荷长度 SAR协议开销协议开销 SAR校验校验 无无 无无 有有无无无无 无无 Btag/Etag PTI 无无 无无 有有 无无 无无 无无 无无 有有 无无 无无 有有 有有 无无 无无 8 B8 B 无无 无无 无无 有有46-47 B 45B 44B48B 1-2B 3 B 4 B 0 无无 无无 有有 无无l客户机和服务器指通信中的两个应用客户机和服务器指通信中的两个应用l应用程序通知本地协议软件希望得到一个特定类型的信息应用程序通知本地协议软件希望得到一个特定类型的信息,然后等待
38、然后等待l收到的信息恰好与应用程序指定的相符收到的信息恰好与应用程序指定的相符,协议软件将其传给应用协议软件将其传给应用l通信双方必须一个主动启动交互通信双方必须一个主动启动交互,另一个被动接受另一个被动接受l客户与服务器的特性客户与服务器的特性(主动被动主动被动)l服务器程序与服务类计算机服务器程序与服务类计算机l请求应答和数据流向请求应答和数据流向l客户请求服务器应答l服务器也可以主动发送数据(文件服务)l客户客户/服务器交互使用传输协议服务器交互使用传输协议l传输协议保证客户无二义性的指明所希望的服务传输协议保证客户无二义性的指明所希望的服务:赋予每一个服务一个唯一的标示赋予每一个服务一
39、个唯一的标示,要求客户机和服务器都使用该标示要求客户机和服务器都使用该标示l协议端口号协议端口号:16位整形数据位整形数据 port numberl协议登记协议登记:l服务器开始时,通过指明它所提供的服务的标示在本地协议软件登记,客户机通过该标示指明需要的服务l并发并发concurrency:允许同时运行多个应用程序允许同时运行多个应用程序l并发程序:具有一个以上控制线程的程序并发程序:具有一个以上控制线程的程序l并发性:每个请求不等待他人完成,独立副本并发性:每个请求不等待他人完成,独立副本l动态服务器创建:动态服务器创建:l接受请求生成新线程;l处理单个请求的代码l二义性克服二义性克服l本
40、地协议端口号:客户拥有,不会赋予任何服务器l目的协议端口号:服务器的协议端口号l支持多协议服务支持多协议服务l多个服务器l一个服务器l复杂交互复杂交互l不同服务l不同服务器l服务和客户转换l交互与循环依赖lAPI:应用程序接口应用程序接口l套接字套接字socket APIl套接字库和操作系统套接字库和操作系统l套接字通信和套接字通信和UNIX I/O 关系关系l描述符、网络描述符、网络IO集成优势:集成优势:l小整数描述符:不必每次传输指明远程目的地址细节lOpen,read,write,closel函数,参数与选项:选取特定传输协议远程机器地址客户还是服务器等细节函数,参数与选项:选取特定传
41、输协议远程机器地址客户还是服务器等细节 SOCKET(套接字套接字/管套管套/插口):标识连接的端点,插口):标识连接的端点,IP地址地址+端口号端口号。TCP和和UDP的的SOCKET机制的工作过程:机制的工作过程:TCPSERVERSERVERCLIENTCLIENTUDP申请申请SOCKET申请申请SOCKET申请申请SOCKET申请申请SOCKETLISTENCONNECTACCEPTSENDRECEIVESENDTORECVFROMSENDTORECVFROMCLOSECLOSECLOSECLOSEl多服务多服务l线程线程l继承继承l其它套接字其它套接字l地址转换l名字和地址l显示信息