【摘要】:OSI参考模型和TCP/IP参考模型有很多相似之处。TCP/IP参考模型最初没有明确区分服务、接口和协议,虽然后来人们试图改进它以便接近于OSI。因此,OSI模型中的协议比TCP/IP参考模型的协议具有更好的隐藏性,在技术发生变化时能相对比较容易地替换掉。OSI参考模型产生在协议发表之前。而TCP/IP却正好相反。现在我们从一般问题转向更具体一些,两个模型间明显的差别是层的数量:OSI模型有7层,而TCP/IP模型只有4层。
OSI参考模型和TCP/IP参考模型有很多相似之处。它们都是基于独立的协议栈的概念。而且,层的功能也大体相似。例如,在两个模型中,传输层及传输层以上的层都为希望通信的进程提供端到端的、与网络无关的传输服务。这些层形成了传输提供者。同样,在两个模型中,传输层以上的层都是传输服务的由应用主导的用户。
OSI模型有三个主要概念:
1)服务。
2)接口。
3)协议。
可能OSI模型的最大贡献就是使这三个概念之间的区别明确化了。每一层都为它上面的层提供一些服务。服务定义该层做些什么,而不管上面的层如何访问它或该层如何工作。
某一层的接口告诉上面的进程如何访问它。它定义需要什么参数以及预期结果是什么样的。同样,它也和该层如何工作无关。
最后,某一层中使用的对等协议是该层的内部事务。它可以使用任何协议,只要能完成工作(例如提供承诺的服务)。也可以改变使用的协议而不会影响到它上面的层。
这些思想和现代的面向对象的编程技术非常吻合。一个对象(像一个层一样)有一组方法(操作),该对象外部的进程可以使用它们。这些方法的语义定义该对象提供的服务。方法的参数和结果就是对象的接口。对象内部的代码即是它的协议,在该对象外部是不可见的。(www.chuimin.cn)
TCP/IP参考模型最初没有明确区分服务、接口和协议,虽然后来人们试图改进它以便接近于OSI。例如,互联网层提供的真正服务只是发送IP分组(SEND IP PACKET)和接收IP分组(RECEIVE IP PACKET)。
因此,OSI模型中的协议比TCP/IP参考模型的协议具有更好的隐藏性,在技术发生变化时能相对比较容易地替换掉。最初把协议分层的主要目的之一就是能做这样的替换。
OSI参考模型产生在协议发表之前。这意味着该模型没有偏向于任何特定的协议,因此非常通用。但不利的方面是设计者在协议方面没有太多的经验,因此不知道该把哪些功能放到哪一层最好。
例如,数据链路层最初只处理点到点的网络。当广播式网络出现以后,就不得不在该模型中再加上一个子层。当人们开始用OSI模型和现存的协议组建真正的网络时,才发现它们不符合要求的服务规范,因此不得不在模型上增加子层以弥补不足。最后,委员会本来期望每个国家有一个网络,由政府运行并使用OSI的协议,因此没有人考虑互联网。总而言之,事情并不像预计的那样顺利。
而TCP/IP却正好相反。首先出现的是协议,模型实际上是对已有协议的描述。因此,不会出现协议不能匹配模型的情况,它们配合得相当好。唯一的问题是该模型不适合于任何其他协议栈。因此,它对于描述其他非TCP/IP网络并不特别有用。
现在我们从一般问题转向更具体一些,两个模型间明显的差别是层的数量:OSI模型有7层,而TCP/IP模型只有4层。它们都有(互联)网络层、传输层和应用层,但其他层并不相同。
另一个差别是面向连接的和无连接的通信。OSI模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信,这是它所依赖的(因为传输服务对用户是可见的)。然而TCP/IP模型在网络层仅有一种通信模式,但在传输层支持两种模式,给了用户选择的机会。这种选择对简单的请求-应答协议是十分重要的。
相关推荐