第10章 传输层功能与协议_第1页
第10章 传输层功能与协议_第2页
第10章 传输层功能与协议_第3页
第10章 传输层功能与协议_第4页
第10章 传输层功能与协议_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1页第10章传输层功能与协议本章概述本章的学习目标主要内容第2页本章概述传输层传输层对互联网高层提供可靠的传输服务,对网络层提供可靠的目的地站点信息,弥补了网络层尽力传输的不足。传输层的标志协议TCP与网络层IP协议成为TCP/IP的核心。安全套接层SSL在网络通信中提供安全及数据完整性的一种安全协议,以保障在Internet上数据传输安全。实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,在组播或单播网络服务下的交互式视频音频或模拟数据。本章全面研究传输层功能协议,安全套接层SSL协议的组成原理,RTP协议基本格式功能。第3页本章的学习目标理解传输层服务功能和特点掌握传输层协议原理和格式理解SSL协议组成原理掌握SSL协议实现过程理解RTP协议理解RTCP协议第4页主要内容10.1传输层功能10.2SSL协议10.3实时应用程序传输协议RTP10.4本章小结10.1传输层功能在OSI参考模型中,传输层的职责是在两个不同系统的进程之间提供一种交换数据的可靠机制,由于传输层仅关心会话实体之间的数据传输,所有它的协议都具有端到端的意义。在传输层不能再维持所提供质量的情况下,它必须把这一事实明确地通知会话实体。也许,想像传输层的最好方法是把它看成一种安全保护罩,不管下面的基础网络发生什么事件,它都要负责照料传输的数据。第5页传输服务大类传输服务有两大类:面向连接的传输服务和无连接的传输服务;面向连接的传输服务与面向连接的网络服务十分相似,两者都向用户提供连接的建立、维护和释放。无连接的传输服务与无连接的网络服务也十分相似。第6页10.1.1OSI传输协议如果下层的网络是不可靠的,那么就要使用稍微复杂一点的传输协议机制。为提供面向连接的传输服务,ISO定义了5类传输协议。它还定义了一个五连接的传输协议,尽管没有一个OSI应用协议使用无连接传输服务。第7页1.面向连接和无连接服务我们首先考察面向连接的传输服务COTS(Connection-OrientedTransportService)。有意设计得很简单的COTS可使用户得到一个易于使用的、可靠的传输服务。另一方面,用来提供COTS的传输协议都很复杂,因为它们要能应付不可靠的网络。第8页面向连接的传输服务仅含有4个服务元素:T-CONNECT,T-DATA,T-EXPEDITED-DATA和T-DISCONNECT。传输服务巧的用户使用T-CONNECT与其对等实体建立全双工的传输连接。在传输连接建立期间,两个TS用户和传输服务提供者可以协商服务质量QOS参数和快速数据选项。第9页图10-1OSI模型中的传输协议第10页COTS服务定义非常简单。COTS仅是一个抽象的定义,而不是一个接口规范。接口规范中含有本地的处理原语和通信原语,例如,它可能包括n用户使用什么手段连结到TSAP(传输服务访问点),TS用户怎样检测从网络层进入事件的到来等原语。第11页CLTS仅提供一个服务元素T-UNIT-DATA。T-UNIT-DATA有4个参数:源传输地址,目的地传输地址,TS用户数据和QOS。因为没有连接建立阶段,TS用户不可能和其服务提供者协商QOS。在这种服务方式中,无法保证可靠的数据传输,需要靠上层进行适当的差错恢复。第12页2.传输类ISO定义了五类面向连接的传输协议,从简单的到最复杂的都有。在连接建立时,TE(传输实体)在主呼TS用户请求的QOS基础上,协商所使用的传输协议。当用户和一些简单的网络实现打交道时,就可以使用一些复杂的传输协议,以便能提供更优质的服务。五类传输协议的定义与网络服务的类型有关。第13页ISO定义了三种类型的网络服务(1)A型网络服务(2)B型网络服务(3)C型网络服务基于三种类型的网络服务。ISO定义了五类运输协议。TP0类,简单类;TP1类,基本差错恢复类;TP2类,多路复用类;TP3类,差错恢复与多路复用类;TP4类:差错检测与恢复类。0类和2类用于A型网络,1类和3类用于B型网络,4类用于C型网络。第14页3.传输协议数据单元传输协议数据单元(TPDU),每个TPDU有四个域组成:长度,固定参数,可变参数,数据。第15页10.1.2传输层TCP/IP小的传输层用两个协议来表示:TCP和UDP。在二者之中,UDP更为简单。当安全性和可靠性不如大小和速度重要的时候,它提供了非顺序的传输功能。但是,大多数应用需要可靠的端到端传输,因此在这个时候就需要使用TCP。第16页TCP/IP协议栈中的传输协议定义了一系列到单个进程的概念连接,这些进程我们称为协议端口,或者更简单一些是端口。协议端口是单个进程使用来存储数据的目标点(通常是一个缓冲区)。进程和它们所对应的端口之间的接口是由主机的操作系统所提供的。第17页IP是一个主机到主机的协议。这意味着它可以将包从一个物理网络设备传递到另一个物理设备。TCP/IP的传输层协议是端到端协议,它可以工作在IP协议上。在传输开始的时候,从源端口将包传输给IP服务,然后通过IP服务最终传输到目标端口如图10-3所示。第18页图10-3端口到端口的地址第19页每个端口由传输层报文头上所携带的一个正整数地址所定义。IP数据报所使用的是32比特的互连网络地址。传输层帧所使用的进程端口地址是16位,它足够支持多达65536(00000~65535)个端口。其中,端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的。第20页任何TCP/IP实现所提供的服务都用1到1023之间的端口号,是由ICANN来管理的。客户端只需保证该端口号在本机上是惟一的就可以了,客户端口号因存在时间很短暂又称临时端口号。大多数TCP/IP实现给临时端口号分配1024-5000之间的端口号。大于5000的端口号是为其他服务器预留的。第21页1.用户数据报协议用户数据报协议(UDP)是两个标准TCP/IP传输协议中较简单的那个。它是一个端到端的传输层协议,仅仅为来自上层的数据增加端口地址、校验和差错控制以及长度信息。UDP所产生的包称为用户数据报如图所示。源端口地址源端口地址是创建消息的应用程序的地址。

目标端口地址目标端口地址是接收消息的应用程序的地址。总长度总长度定义了用户数据报的总长度,以字节为单位。校验和校验和是使用在差错控制中的16比特域。第22页数据报文格式第23页UDP仅仅提供一些在端到端传输中所必须的基本功能,并不提供任何顺序或重新排序的功能。因此,当它报告一个错误的时候,它不能指出损坏的包(所以必须和ICMP配合使用)。UDP可以发现有一个错误发生了,ICMP接着可以通知发送者有一个用户数据报被损坏和丢弃了。它们两个都没有能力指出哪一个包丢失了。UDP仅仅包含一个校验和,并不包含ID或顺序编号。第24页2.传输控制协议传输控制协议(TCP)为应用程序提供了完整的传输层服务。TCP是一个可靠的流传输端到端协议。术语“流”在这里表示面向连接。在传输两端可以传输数据之前必须先建立连接。通过创建这个连接,TCP在发送者和接收者之间建立了一条虚电路,这条电路在整个传输过程中都是有效的。TCP通过警告接收者即将有数据到达(连接建立)来开始一次传输,同时通过连接中断来结束连接。通过这种方法,接收者就知道所期望的是整个传输,而不仅仅是一个包。第25页TCP所提供的服务范围要求段头必须包含很多内容如图10-4所示。将TCP段式和UDP用户数据报相比较可以显示出这两个协议的不同之处。TCP通过牺牲速度(连接必须被建立,确认必须被等待等等)来提供广泛的可靠功能。UDP则由于较小的帧,比TCP更快,但是所付出的是可靠性的代价。第26页图10-4TCP段格式第27页TCP格式中域的描述源端口地址源端口地址定义了源计算机上的应用程序。目标端口地址目标端口地址定义了目标计算机上的应用程序。顺序编号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序号对每个字节进行计数。序号是32bit的无符号数,序号到达232-1后又从0开始。第28页当建立一个新的连接时,SYN标志变1。序号字段包含由这个主机选择的该连接的初始序号ISN(InitialSequenceNumber)。该主机要发送数据的第一个字节序号为这个ISN加1,因为SYN标志消耗了一个序号。第29页确认编号32比特的确认编号是使用来确认接收其他通信设备数据的。这个编号只有在控制域(将在下文中解释)中的ACK位设置之后才有效。在这种情况下,它定义了下一个期望到来的顺序编号。第30页报文头长度(HLEN)4比特的HLEN域指出了TCP报文头的长度,长度是以32比特的字为单位的。4比特可以定义多达15个字,这个数字乘以4后就可以得到报文头中总共的字节数目。因此,报文头中最多可以是60字节。由于报文头最少需要20个字节,那么40字节可以保留给选项域使用。第31页保留6比特的域控制6比特的控制域中每个比特都有独立的功能。它或者可以定义为某个段的用途,或者可以作为其他域的有效标记。当URG位被设置的时候,它确认了紧急指针域的有效性。这个位和指针一起指明了段中的数据是紧急的。当ACK位被设置的时候,它确认了顺序编号域的有效性。这两者结合在一起,根据段类型的不同将具有不同的功能。第32页PSH位用来通知发送者需要一个更高的产生率。如果可能的话,数据应该用更高的产生率发送入通道之中。重置位用在顺序编号发生混淆的时候,进行连接重置。SYN位在以下三种类型的段中用来进行顺序编号同步:连接请求,连接确认(ACK位被设置),以及确认回应(ACK位被设置)。FIN位使用在三种类型段的连接终止中:终止请求,终止确认(ACK位被设置)。第33页窗口窗口是一个16比特的域,定义了滑动窗口的大小。窗口大小是一个16bit字段,因而窗口大小最大为65535字节。TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。第34页校验和校验和是使用在差错检测中的16比特域。检验和覆盖了整个的TCP报文段,TCP首部和TCP数据。这是一个强制性的字段,一定是由发端计算和存储,并由收端进行验证。TCP检验和的计算和UDP检验和的计算相似。第35页紧急指针紧急指针这是报文头中所必须的最后一个域。它的值只有在控制域的URG位被设置之后才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。在这种情况下,发送者通知接收者段中的数据部分是紧急数据。第36页选项和填充TCP报文头中剩余部分定义了可选域。它们使用来传送额外信息给接收者,或者用在定位中。最常见的可选字段是最长报文大小,又称为MSS(MaximumSegmentSize)。每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志的那个段)中指明这个选项。它指明本端所能接收的最大长度的报文段。第37页3.关于端口号的约定TCP和UDP都具有端口号,用于标识数据交换的参与者。在接收方,IP协议标识符先于端口号进行检查,而且TCP和UDP对端口号的使用是彼此独立的。这就是说,同一个端口号可以有两种不同的用途,若一个使用它为TCP服务,则另一个还可以将它用在UDP上。每个TCP段都包含源端和目的端的端口号,用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接。第38页socket有时,一个IP地址和一个端口号也称为一个插口(socket)。这个术语出现在最早的TCP规范(RFC793)中,后来它也作为表示伯克利版的编程接口。插口对(socketpair)(包含客户IP地址、客户端口号、服务器IP地址和服务器端口号的四元组)可唯一确定互联网络中每个TCP连接的双方。第39页端口号端口号的选择是很严格的,而且受到限制。端口号值0-255都由DOD(美国国防部)分配,它们称为公用的端口号。例如文件传输FTP是21;终端连接Telnet是23;简单邮件传输协议SMTP是25;域名字服务Domain是53;环球网服务WWW是80。任何使用这些端口号的应用程序都必须符合相应的已有明确定义的协议。许多操作系统都把这些公用端口号当作一些受保护的固定端口。这些端口号只能被具有特殊操作系统权限的进程使用。剩余的端口号才能被普通的进程使用。第40页10.1.3 传输层的责任传输层所提供的服务类似于数据链路层。然而,数据链路层是设计来在单个网络中传数据的,而传输层在跨越许多网络的互连网络上提供这些服务。数据链路层控制物理层,而传输层控制所有三个低层。传输层协议所提供的服务可以被划分为五大类:端到端传递,寻址,可靠传递,流量控制和复用。第41页10.1.4 连接端到端的传送可以采用两种模式来完成:面向连接或无连接。在这两种模式中,面向连接的模式更经常使用。一个面向连接的协议在发送者和接收者之间,经过互连网络建立了一条虚电路或路径。属于一个消息的所有数据包将通过同一条路径发送。对整个消息使用同一条路径方便了确认过程和对损坏和丢失帧的重传。面向连接的服务通常被认为是可靠的。面向连接传输有三个步骤:连接建立,数据传输和连接终止。第42页1.连接建立在通信设备可以向对方发送数据之前,开始通信的设备必须首先决定交换数据的对方是否存在,同时必须找到一条经过网络路径,数据才能沿着这条路径发送。这个步骤称为连接建立如图10-5所示。对于TCP段每次建立都执行特定的过程。第43页(1)请求端(通常称为客户)发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号(ISN)。这个SYN段为报文段1。(2)服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。(3)客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认(报文段3)。第44页三次握手这三个报文段完成连接的建立。这个过程也称为三次握手(three-wayhandshake)。发送第一个SYN的一端将执行主动打开(activeopen)。接收这个SYN并发回下一个SYN的另一端执行被动打开(passiveopen)。当一端为建立连接而发送它的SYN时,它为连接选择一个初始序号。ISN随时间而变化,因此每个连接都将具有不同的ISN。RFC793[Postel1981c]指出ISN可看作是一个32比特的计数器,每4ms加1。这样选择序号的目的在于防止在网络中被延迟的分组在以后又被传送,而导致某个连接的一方对它作错误的解释。连接建立需要三个动作,称为三次握手。第45页图10-5连接建立第46页2.终止连接一旦所有的数据都传送完毕,连接必须被终止如图10-9所示。建立一个连接需要三次握手,而终止一个连接要经过4次握手。这由TCP的半关闭(half-close)造成的。既然一个TCP连接是全双工(即数据在两个方向上能同时传递),因此每个方向必须单独地进行关闭。这原则就是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向连接。当一端收到一个FIN,它必须通知应用层另一端几经终止了那个方向的数据传送。发送FIN通常是应用层进行关闭的结果。第47页收到一个FIN只意味着在这一方向上没有数据流动。一个TCP连接在收到一个FIN后仍能发送数据。而这对利用半关闭的应用来说是可能的,尽管在实际应用中只有很少的TCP应用程序这样做。正常关闭过程如图10-6所示。首先进行关闭的一方(即发送第一个FIN)将执行主动关闭,而另一方(收到这个FIN)执行被动关闭。通常一方完成主动关闭而另一方完成被动关闭。第48页图10-6连接终止第49页3.半关闭TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力,这就是所谓的半关闭。为了使用这个特性,编程接口必须为应用程序提供一种方式来说明半关闭的含义,即请求方已经完成了数据传送,因此发送一个文件结束(FIN)给响应端,但还想接收另一端发来的数据,直到响应端给请求方发来文件结束(FIN)。第50页图10-7TCP半关闭第51页半关闭让左方的客户端开始半关闭,当然也可以由另一端开始。开始的两个报文段和图10-6:初始端客户端发出的FIN,接着是另一端对这个FIN的ACK报文段。但后面就和图10-7为接收半关闭的一方仍能发送数据。当收到半关闭的一端在完成它的数据传送后,将发送一个FIN关闭这个方向的连接,这将传送一个文件结束符给发起这个半关闭的应用进程。当对第二个FIN进行确认后,这个连接便彻底关闭了。第52页没有半关闭,需要其他的一些技术让客户通知服务器,客户端已经完成了它的数据传送,但仍要接收来自服务器的数据。使用两个TCP连接也可作为一个选择,但使用半关闭的单连接更好。如果一方已经关闭或异常终止连接而另一方却还不知道,我们将这样的TCP连接称为半打开(Half-Open)的。任何一端的主机异常都可能导致发生这种情况。只要不打算在半打开连接上传输数据,仍处于连接状态的一方就不会检测另一方已经出现异常。第53页第54页主要内容10.1传输层功能10.2SSL协议10.3实时应用程序传输协议RTP10.4本章小结10.2SSL协议SSL(SecureSocketsLayer安全套接层),及其继任者传输层安全(TransportLayerSecurity,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。第55页10.2.1SSL基本概念安全套接字层(SecureSocketLayer,SSL)属于高层安全机制,保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听,是在TCP基础上提供一种可靠的端到端的安全服务,广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,如图108所示。第56页图10-8SSL协议的层次第57页1.SSL协议过程三元素SSL协议过程通过三个元素来完成:(1)握手协议SSL握手协议(SSLHandshakeProtocol),这个协议负责配置用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法和认证方式,并使用公钥来生成共享密钥。第58页(2)记录协议(SSLRecordProtocol),这个协议用于交换应用数据。应用程序消息被分割成可管理的数据块,还可以压缩,并产生一个MAC(消息认证代码),然后结果被加密并传输。接收方接收数据并对它解密,校验MAC,解压并重新组合,把结果提供给应用程序协议。(3)警告协议警报协议(Alertprotocol),这个协议用于表示在什么时候发生了错误或两个主机之间的会话在什么时候终止。第59页2.SSL协议的服务SSL协议提供的服务归纳为三个方面。

(1)用户和服务器的合法性认证

(2)加密数据以隐藏被传送的数据

(3)维护数据的完整性

第60页SSL连接(connection),一个连接是一个提供一种合适类型服务的传输(OSI分层的定义)。SSL的连接是点对点的关系。连接是暂时的,每一个连接和一个会话关联。一个SSL会话是在客户与服务器之间的一个关联。会话由HandshakeProtocol创建。会话定义了一组可供多个连接共享的密码安全参数。会话用以避免为每一个连接提供新的安全参数所需昂贵的协商代价。第61页10.2.2SSL协议过程握手协议是客户机和服务器用SSL连接通信时使用的第一个子协议,握手协议包括客户机与服务器之间的一系列消息。SSL中最复杂的协议就是握手协议。该协议允许服务器和客户机相互验证,协商加密和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据。握手协议是在应用程序的数据传输之前使用的。每个握手协议包含以下三个字段,如图10-9所示。Type:表示10种消息类型之一。Length:表示消息长度字节数。Content:与消息相关的参数。第62页图10-9握手协议的格式第63页SSL握手协议包含四个阶段,第一个阶段建立安全能力;第二个阶段服务器鉴别和密钥交换;第三个阶段客户鉴别(可选的)和密钥交换;第四个阶段完成握手协议。第64页1.建立安全能力SSL握手协议第一个阶段建立安全能力,如图10-13所示。第65页ClientHello客户发送CilentHello信息(1)客户端可以支持的SSL最高版本号(2)一个用于生成主秘密的32字节的随机数(32位时间戳+28字节随机序列)。(3)一个确定会话的会话ID。(4)一个客户端可以支持的密码套件列表(CipherSuite)。(5)一个客户端可以支持的压缩算法列表。第66页ServerHello服务器用ServerHello信息应答客户(1)一个SSL版本号。取客户端支持的最高版本号和服务端支持的最高版本号中的较低者。(2)一个用于生成主秘密的32字节的随机数。(客户端一个、服务端一个)(3)会话ID(4)从客户端的密码套件列表中选择的一个密码套件(5)从客户端的压缩方法的列表中选择的压缩方法第67页客户端服务端知道了下列内容(1)SSL版本(2)密钥交换、信息验证和加密算法(3)压缩方法(4)有关密钥生成的两个随机数。第68页2.服务器鉴别与密钥交换服务器启动SSL握手第2阶段,是本阶段所有消息的唯一发送方,客户机是所有消息的唯一接收方,如图10-11所示。该阶段分为四个步骤。(1)证书:服务器将数字证书和到根CA整个链发给客户端,使客户端能用服务器证书中的服务器公钥认证服务器。消息包含一个X.509证书,或者一条证书链。(2)服务器密钥交换(可选):服务器发送server_key_exchange消息,此项目是可选的,有些情况下可以不需要,只有当服务器的证书没有包含必需的数据的时候才发送此消息。消息包含签名,被签名的内容包括两个随机数以及服务器参数,这里视密钥交换算法而定。(3)证书请求:服务器发送certificate_request消息,服务端可能会要求客户自身进行验证。非匿名server可以向客户请求一个证书包含证书类型。(4)服务器握手完成:服务器发送server_hello_done,然后等待应答,意味着第二阶段的结束,第三阶段开始的信号。第69页图10-11服务器鉴别与密钥交换第70页这个方法中,服务器在它的第一个信息中,发送了RSA加密/解密公钥证书。不过,因为预备主秘密是由客户端在下一个阶段生成并发送的,所以第二个信息是空的。注意,公钥证书会进行从服务器到客户端的验证。当服务器收到预备主秘密时,它使用私钥进行解密。服务端拥有私钥是一个证据,可以证明服务器是一个它在第一个信息发送的公钥证书中要求的实体。第71页3.客户机鉴别与密钥交换第72页图10-13客户机鉴别与密钥交换第73页客户收到server_done消息后,它根据需要检查服务器提供的证书,并判断server_hello的参数是否可以接受,如果都没有问题的话,发送一个或多个消息给服务器。客户机启动SSL握手第3阶段,是本阶段所有消息的唯一发送方,服务器是所有消息的唯一接收方。如图10-16所示,该阶段分为三个步骤。(1)证书(可选):为了对服务器证明自身,客户要发送一个证书信息,这是可选的,在IIS中可以配置强制客户端证书认证。如果服务器请求证书的话,则客户首先发送一个certificate消息,若客户没有证书,则发送一个no_certificate警告(2)客户机密钥交换(Pre-master-secret):这里客户端将预备主密钥发送给服务端,注意这里会使用服务端的公钥进行加密。(3)证书验证(可选),对预备秘密和随机数进行签名,证明拥有(1)证书的公钥。客户发送一个certificate_verify消息,其中包含一个签名,对从第一条消息以来的所有握手消息的MAC值()进行签名。第74页图10-14加密预备主密钥第75页这种情况,除非服务器在阶段二明确请求,否则没有证书信息。客户端密钥交换方法包括阶段二收到的由RSA公钥加密的预备主密钥,如图10-17所示。阶段三之后,客户要有服务器进行验证,客户和服务器都知道预备主密钥。第76页4.完成客户机启动SSL握手第四阶段,使服务器结束,如图10-15所示。该阶段分为四个步骤,前2个消息来自客户机,后2个消息来自服务器。第77页图10-15建立起一个安全的连接第78页第四阶段建立起一个安全的连接。客户发送一个change_cipher_spec消息,并且把协商得到的CipherSuite拷贝到当前连接的状态之中。然后,客户用新的算法、密钥参数发送一个finished消息,这条消息可以检查密钥交换和鉴别过程是否已经成功。其中包括一个校验值,对所有以来的消息进行校验。服务器同样发送change_cipher_spec消息和finished消息。握手过程完成,客户和服务器可以交换应用层数据。第79页10.2.3SSL记录层协议SSL记录层协议限定了所有发送和接收数据的打包,它提供了通信、身份认证功能,是一个面向连接的可靠传输协议,如TCP/IP提供安全保护。

在SSL中所有数据被封装在记录中。一个记录由两部分组成:记录头和非零长度的数据。记录头可以是2字节或3字节(当有填充数据时使用)。SSL握手层协议的报文要求必须放在一个SSL记录层的记录里,但应用层协议的报文允许占用多个SSL记录来传送。第80页记录协议在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方和确定安全信息交换使用的算法后,进入SSL记录协议,记录协议向SSL连接提供两个服务:保密性:使用握手协议定义的秘密密钥实现完整性:握手协议定义了MAC,用于保证消息完整性第81页第82页主要内容10.1传输层功能10.2SSL协议10.3实时应用程序传输协议RTP10.4本章小结10.3RTP:实时应用程序传输协议

实时传输协议RTP在多点传送(多播)或单点传送(单播)的网络服务上,提供端对端的网络传输功能,适合传输实时数据。RTP为交互式音频、视频等具有实时特性的数据提供端到端的传送服务。在IP网络上,一般在UDP之上运行RTP协议。如果支持它的网络能提供组播功能,则RTP也可用组播将数据送给多个目的用户。RTP包括两个关系十分密切的子协议,实时传输协议(RTP)用于传输实时数据。实时控制协议(RTCP):用于监视网络的服务质量,并传递与会者会话中的信息。第83页10.3.1RTP术语RTP会话(RTPsession):RTP传输服务使用者之间的连接被称为RTP会话,就每一个会话参加者而言,会话由一对传输层地址(即一个网络层地址加上两个端口地址,一个端口为RTP报文的发送/接收所占用,另一个端口为RTCP报文的发送/接收所占用)标识。第84页10.3.2RTP使用场景(RTPUseScenarios)RTP运行于IP和UDP之上,并且遵循RFC3551所描述的音频和视频的配置文件中的约定。1.简单多播音频会议(SimpleMulticastAudioConference)2.音频和视频会议(AudioandVideoConference)3.混频器和转换器(MixersandTranslators)4.分层编码(LayeredEncodings)第85页10.3.3RTP(实时传输协议)RTP协议(RealTimeProtocol)提供具有实时特征的、端到端的数据传送服务,可用来传送声音和运动图像数据。在这项数据传送服务中包含了装载数据的标识符、序列计数、时戳和传送监视。通常RTP的协议元是用UDP协议元来装载的,并利用UDP的复用和校验和来实现RTP的复用。第86页RTP没有提供任何确保按时传送数据的机制,也没有提供任何质量保证的机制,因而要实现服务质量必须由下层网络来提供保证。同样必须注意的是,RTP不保证数据包按序号传送,即使在下层网络能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论