zoukankan      html  css  js  c++  java
  • DARPA互联网协议的设计(二)

    <接上文>

    第2层目标中的第2个目标是支持不同种类的服务Types of Service
    在现在的语境中,ToS代表Qos中的服务质量,而以当时的语境来看,这里表示网络需要支持不同种类的应用服务。典型的服务有两种,远程登录和文件传输,前者更关注低时延,而后者更关注高带宽,TCP传输层协议设计之初也是为了满足这两种需求。
    在本文中,作者还说明了TCP没有被设计成什么样子,其中举了两个例子。一个是XNET协议,一个是远程会议中的实时语音传输。XNET是跨网络调试工具,可靠传输虽然有用,但是在调试场景不适合,因为调试场景本来就可能不可靠;远程实时语音需要保证实时和可靠,丢包会导致语音中断,但是网络设计者认为这应该是应用层考虑的,或者最坏情况是使用者重复说一遍。在这里,我们看到了网络应该做什么和不该做什么之间的取舍。如果TCP被设计为满足上面所有需求,可能就不是现在的网络了。

    虽然TCP没有满足所有应用对于网络的需求,但是在TCP+IP外还是预留了一个类似于网络层的尽力而为传输层,也就是UDP。这就是说,如果TCP不满足用户要求,他们可以基于UDP实现自己的可靠传输层。不得不说,这一点很有远见,因为既提供了传输层的可靠实现,也提供了用户的自定义选择,类似于编程中的可定制化。

    以上考虑和设计还有其他因素,那就是TCP/IP层设计的足够简单,对底层网络的依赖就会越小。如果网络设计的服务类型多种多样,那么对底层的网络要求就会越多。另一方面,可能底层网络提供了可靠的通信服务,比如X.25网路,那么直接为上层提供UDP这种服务,可以简化网络数据流程,降低复杂度。从这一点可以引出第3个目标:支持不同种类的网络。

    可能有人会认为支持不同的网络很容易,将TCP/IP报文封装在底层网络就可以了。这当然是其中一方面,但是还有一方面需要考虑,那就是TCP/IP网络对底层都有哪些要求。如果要求越多,TCP/IP层的设计会简单,但是可适用网络类型就越少;如果要求越少,TCP/IP层的设计会变复杂,但是可以适用网络类型就越多。在TCP/IP的实际实现中,几乎做到了对底层网络的最小需求,那就是点对点网络的直接传输,广播网络中的寻址传输。

    <未完待续>

  • 相关阅读:
    c#自动更新+安装程序的制作
    VS2013项目受源代码管理向源代码管理注册此项目时出错
    WinDbg配置和使用基础
    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
    PowerDesigner 如何生成数据库更新脚本
    用户故事(User Story)
    Troubleshooting Record and Playback issues in Coded UI Test
    Coded UI
    compare two oracle database schemas
    How to: Use Schema Compare to Compare Different Database Definitions
  • 原文地址:https://www.cnblogs.com/lionelgeng/p/15155025.html
Copyright © 2011-2022 走看看