通过前面的讨论,大家已经看到TCP/IP 模型和ISO/OSI模型有许多相似之处。例如,两种模型中都包含能提供可靠的进程之间端到端传输服务的传输层,而在传输层之上是面向用户应用的传输服务。尽管ISO/OSI模型和TCP/IP模型基本类似,但是它们还是有许多不同之处。接下来我们将讨论两种模型的不同之处。有一点需要特别指出:我们是比较两种参考模型的差异,并不对两个模型中所使用的协议进行比较。 在ISO/OSI参考模型中,有3个基本概念:服务、接口和协议。也许ISO/OSI模型的最重要的贡献是将这3个概念区分清楚了。每一层都为其上层提供服务,服务的概念描述了该层所做的工作,并不涉及服务的实现以及上层实体如何访问的问题。层间接口描述了高层实体如何访问低层实体提供的服务。接口定义了服务访问所需的参数和期望的结果。接口仍然不涉及到某层实体的内部机制,而只有不同机器同层实体使用的对等进程才涉及层实体的实现问题。只要能够完成它必须提供的功能,对等层之间可以采用任何协议。如果愿意,对等层实体可以任意更换协议而不影响高层软件。 上述思想也非常符合现代的面向对象的程序设计思想。一个对象(如模型中的某一层),有一组它的外部进程可以使用的操作。这些操作的语义定义了对象所能提供的服务的集合。对象的内部编码和协议对外是不可见的,也与对象的外部世界无关。TCP/IP模型并不十分清晰地区分服务、接口和协议这些概念。相比TCP/IP模型,ISO/OSI模型中的协议具有更好的隐蔽性并更容易被替换。 下面我们来看看两种模型的具体差异。其中显而易见的差异是两种模型的层数不一样: |
|
来自: Frank_Chia > 《网络》