天天看点

第二章 基于包交换网络的语音和视频通信第二章基于包交换网络的语音和视频通信



第二章基于包交换网络的语音和视频通信

  1. TCP/IP和OSI参考模型
  2. IP网络的性能特征
  3. IP网络性能测量
  4. IP网络对传输协议的影响
  5. 包交换网络传输音视频的必备条件

在深入考察RTP协议细节之前,我们应该理解类似于因特网这样的IP网络的特性,以及这些特性是如何影响语音和视频通信的。本章回顾了因特网架构的基本原理,概述了一个网络连接的典型行为。在回顾之后是一个关于音视频传输必备条件的讨论,以及网络是如何满足这些必备条件的。

IP网络具有一些独特的性质,这些特性影响到那些音视频传输应用程序和协议。要想领会RTP协议设计中的那些权衡折衷以及这些折衷是如何影响那些使用RTP协议的应用程序的,那么理解IP网络的这些特性是至关重要的。

2.1 TCP/IP和OSI参考模型

当我们考察计算机网络时,理解协议分层的概念及其含义是非常重要的。图2.1所示的OSI参考模型,为分层系统的讨论和对比提供了一个有用的基准。

Figure 2.1. The OSIReference Model

第二章 基于包交换网络的语音和视频通信第二章基于包交换网络的语音和视频通信

OSI参考模型由七层组成,每一层都构建在较低层提供的服务之上,并且依次向上层提供更抽象的服务。每层的功能列表如下:

    1. 物理层:物理层是最底层,包括物理网络连接设备和协议,如电缆、接头、开关和电气标准等。
    2. 数据链路层:数据链路层构建于物理连接之上;例如,它把双绞线电缆信号转换为以太网数据格式,这层提供数据传输单元的成帧功能,定义了多个连接设备之间如何共享链路,并且为每个链路的设备提供寻址功能。
    3. 网络层:网络层把链路连接起来,形成一个单一的网络。网络层提供消息的寻址和路由功能。网络层还会在交换节点提供拥塞控制、消息优先级、记账等功能。网络层设备处理那些从一个链路收到的消息并把这些消息转发到其他链路,在这个过程中使用了路由信息,这些路由信息是通过和其相连的对端的网络设备交换而得到的。
    4. 传输层:传输层是第一个端到端的层。这一层负责把消息由一个系统传输到另一个系统,在此过程中使用了网络层提供的服务。传输层的职责包括提供可靠性和流控,如果会话层需要这些功能而网络层网络层没有提供这些功能。
    5. 会话层:会话层以一种对应用程序来说有意义的方式来管理传输连接。例如,超文本协议(HTTP)用来获取Web页面,简单邮件传输协议(SMTP)用来在交换电子邮件时进行协商,文件传输协议(FTP)用来管理控制和数据传输通道。
    6. 表示层:表示层描述底层传输的数据的格式。例如,HTML用来描述Web页面的表示,MIME描述电子邮件消息格式,还有很多更常见的例子,如FTP传输中文本和二进制的区别。
    7. 应用层:应用程序自身,如Web浏览器和电子邮件客户端,组成了系统的最顶层,应用层。

在这个模型中的每一层,两个相互通信的主机之间在这一层有一个逻辑的通信。当一个系统的应用程序要与另一个系统的应用程序进行通信,通信沿着源主机的协议栈,从最高层到最低层,通过物理链路,到达目标主机,然后沿着目标主机的协议栈,从最底层到最高层。

例如,一个Web应用程序渲染一个HTML页面的表示,这个HTML页面的传输使用了一个HTTP会话,这个HTTP会话基于一个TCP传输连接,TCP传输连接基于一个IP网络,IP网络基于以太网数据链路,以太网数据链路使用的是双绞线物理电缆。每一步都可以看做是OSI参考模型的一个特定层的实例化,穿过了整个协议栈。结果就是把一个Web页面从一个应用程(Web服务器)传输到另一个应用程序(Web浏览器)。

这个过程并不总是这么简单:源主机和目标主机之间或许并不是直接的物理连接,在这种情况下,连接必须在一个中间网关节点的协议栈上部分的上升,到底需要上升到什么程度?这取决于它是什么类型的连接,这里有几个例子:

使用日益广泛的IEEE 802.11b无线网络,其基站通常把有线以太网的物理层连接到无线链路的数据链路层。

IP路由器提供了一个网关的例子,在网络级把多个数据链路连接在一起。

在移动电话上浏览Web页面,在网关上,连接通常需要一直上升到表示层,把HTML转换为无线标记语言(WML),并把连接中继到不同的底层。

前面的讨论表明,我们可以使用OSI参考模型来描述因特网。因特网与OSI模型并不完全相符:因特网的架构已经演化了很长时间,部分的早于OSI模型,并且因特网并不严格的分层。然而,考察因特网协议套件和OSI模型之间的关系还是有好处的,特别是IP作为一个通用的网络层所扮演的角色。

OSI参考模型中的最低两层可以直接对应到因特网,在因特网中有很多这样的链路,例如拨号调制解调器、DSL、以太网、光纤、无线链接、卫星链接等。这些链路都可以用OSI参考模型中的数据链路层和物理层分割描述。

在网络层,一个特有的协议把一些完全不同的私有网络转换为全球因特网。这个协议就是网际协议(IP)。IP协议向上层提供简单的服务:尽力传送数据报到目标。因为这个服务很简单,所以IP可以运行在很多链路层上,这使得因特网得以快速的扩张。

IP协议的简单是有代价的:IP不保证传输的时效性,也不保证数据报一定送达。包含数据报的数据包可能丢失、乱序、延迟或者被底层破坏。IP并不试图修复这些问题,而是把收到的数据报原样送往上层。然而,IP确实提供了以下服务:

  • 当数据报的长度大于底层链路层的最大传输单元长度时,IP执行分片操作。
  • Time-to-live域可以避免回环数据包在系统中永远循环下去。
  • 服务类型标记可以用来为某种类型的数据包提供优先级。
  • 一个上层协议标示符把数据包导向正确的传输层。
  • 端点寻址,包括多播到一组用户地址,路由数据报到正确的目的地址。

图2.2所示为IP头部格式,表示这些服务是如何映射到一个数据包上的。

Figure 2.2. Formatof an IP Header
第二章 基于包交换网络的语音和视频通信第二章基于包交换网络的语音和视频通信

图2.2所示的是当前因特网所使用的标准,IPv4的头部。现在正在向IPv6迁移,IPv6的基本特点和IPv4一致,但是IPv6提供了非常大的地址空间(128位地址,而不是32位)。如果这个迁移完成(这将会是一个长期的过程,因为这牵涉到连接在因特网上的每台主机和路由器都需要作出改变),将使得网络可以连接更多的机器,但是它不会显著改变IP层提供的服务。

IP协议提供了一个单一网络的抽象,但是这并没有改变系统的底层特性。虽然它看起来是一个单一的网络,然而实际上因特网是由许多不同的网络组成的,这些网络由网关连接,现在更通用的叫法是路由器,这些网络被IP的单一服务和地址空间统一起来。图2.3表明单个的网络是如何组成更大的因特网的。不同的因特网服务提供商会选择如何运行他们那一部分网络:一些有高容量网络,没有拥塞,可靠性高,另一些则不是这样。

Figure 2.3. An IPInter-network
第二章 基于包交换网络的语音和视频通信第二章基于包交换网络的语音和视频通信

    在这些互联的网络所组成的复杂的迷宫中,包含数据报的数据包分别被路由到它们的目的地。路由器并不需要立即发送一个数据包,如果另一个数据包正在往链路上传输,它们会把当前收到的数据包缓存片刻。当拥塞时,它们会丢弃数据包。当底层网络改变时(例如,链路故障),IP数据包携带的路由信息会改变,上层协议可能会观察到传输质量中所发生的改变。

    在因特网架构中,IP层上面是两个通用的传输协议:TCP和UDP。TCP协议改造原始的IP服务,以便在每个主机的服务端口之间提供可靠,有序的传输服务。TCP还会改变其传输速率来匹配网络特性。而UDP则提供了一个类似原始IP服务的服务,只是增加了服务端口。在本章的最后将更详细的讨论TCP和UDP。

端口提供了一个抽象,用来区分同一台主机上运行的不同的服务。很多服务都有一个众所周知的服务端口,最常见的就是Web服务器在80端口上监听。其他一些服务的端口根据运行在系统上的其他一些服务而变化。

    端口由传输层协议TCP和UDP提供。原始IP服务传送数据包到主机,而不关心这些数据包是如何被使用的。

在这些传输协议之上,是因特网世界中都熟悉的会话协议,如用于Web访问的HTTP协议,用于收发电子邮件的SMTP协议。协议栈的最后是各种表示层协议(HTML,MIME)和应用程序自身。

    通过上面的讨论,应该清楚的认识到IP协议在系统中扮演了一个关键的角色:它提供了一个抽象层,对应用程序隐藏了下层网络连接和拓扑的细节,把应用程序的需求和底层隔离开来。这个架构被称作沙漏模型,如图2.4所示。

Figure 2.4. TheHourglass Model of the Internet Architecture
第二章 基于包交换网络的语音和视频通信第二章基于包交换网络的语音和视频通信

    决定一个跨越因特网通信的系统的性能的主要因素是IP层。高层协议可以再一定程度上适应和补偿IP层的行为,但是,如果IP层的性能差,就会导致整个系统的性能差。下面两小节稍微详细地讨论IP层的性能,指出IP层的特性及其带来的潜在的问题和好处。

继续阅读