分层模型如何影响协议?

  什么是网络协议?大多数教科书的编写者是这样表述的:网络协议是网络设备操作、执行方法和传输数据格式的指导方针或标准的集合。但是,有哪些确定协议内容的必要标准呢?我们可以通过通信的分层模型来了解。

  例如,为什么RTP(实时协议)包含传输序列号的方法?为什么IP报头中的错误检查不包括数据包中数据字段的验证?这些问题的答案取决于与协议相关联的层。

  首先,让我们回顾一下现在所使用的层的概念。最早的模型在20世纪80年代初发布,叫做OSI模型,它有7层。然而,今天,大多数讨论都涉及到TCP/IP协议组模型,该模型自上而下有五层:应用程序、传输、网络、数据链接和物理。让我们研究下几个协议和它们各自关联的层。

  TCP协议与第四层(传输层)相关联。根据模型,这一层负责在端到端进程之间可靠地传输数据。这就是为什么TCP使用序列号标记数据包,有一个重传方法,并进行流控制来防止接收应用程序的溢出。相比之下,与网络层(第三层)相关联的IP协议不对数据包进行排序,不提供重发,也不控制流量。这些功能并不属于为模型中该层列出责任。

  数据链路层(第二层)有需要通过单个物理链路进行可靠访问和交付的功能。这与传输层形成对比,在传输层中,同样的功能针对端进程到端进程的可靠性。在数据链路层,我们看到了802.11n无线协议,它处理对广播的访问和天线之间的重新传输。

  那么,现在让我们回到为什么RTP有序列号的问题上。该协议几乎总是与下面的以太网、IP和UDP一起使用。假设将RTP用于通过网络传输语音或音频。接收方需要知道数据包何时被丢弃。在这种情况下,它可以选择模拟语音或重复使用最后一个语音包。但是,下面的RTP协议都没有规定对数据包进行排序。因此,必须将此功能合并到RTP的特性中。同样,IP与网络层相关,数据的完整性不是所列的责任。因此,IP不需要对数据进行错误检查。

  AV目标的实现,如减少延迟、维护可靠性和控制可访问性,取决于哪个协议提供这些任务。此外,这些功能依赖于它们相关联的TCP/IP模型层。

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: