对比之前,先定义几个名词:
层:为了降低网络设计的复杂性,绝大多数网络都组织成一堆相互叠加的层。
协议:通信双方关于如何进行通信的一种约定。一组规则,用来规定同一层上的对等体之间所交换的信息或者分组的格式和含义。
接口:下层向上层提供哪些原语操作和服务。
协议栈:一个指定的系统所使用的一组协议称为协议栈。
面向连接的服务:基于电话系统模型的,用户要先建立一个连接,然后使用该连接,然后释放该连接。
面向无连接的服务:基于邮政系统模型的,每一条报文都携带了完整的目标地址,所以,每条报文都可以被系统独立的路由。
服务:某一层向它上一层提供的一些原语操作。
OSI与TCP/IP有很多共同点:
都以分层协议栈的概念为基础,协议栈中的协议彼此相互独立。
传输层以及传输层以上的各层都为希望进行通信的进程提供了一种端到端的,与网络无关的服务。
对于OSI模型,有三个概念是它的核心:
服务:定义指明了该层该做什么,而不是上一层的实体如何访问这一层,或者这一层是如何工作的。
接口:定义它上层的进程如何访问该层。
协议:对等协议定义了它内部的事情。
最初,TCP/IP模型并没有明确地区分服务,接口和协议三者之间的差异,但是在它成型之后,已经有了很多改进,更加接近于OSI。互联网提供的真正服务只有发送IP分组和接受IP分组。
OSI模型中的协议比TCP/IP协议中的协议有更好的隐蔽性,该参考模型在协议发明之前就已经产生了。
OSI模型和TCP/IP协议最大的区别就是:OSI模型有7层,TCP/IP只有4层。
无连接的和面向对象的通信范围有所不同,OSI模型的网络层同时支持无连接的和面向连接的通信,但是传输层只支持面向连接的通信,TCP/IP模型的网络层上只有一种模式:无连接模式,但是在传输层上同时支持两种通信模式。
OSI参考模型是在协议发明之前已经产生的,TCP/IP是在在协议出现之后出现的,而且它只是已有协议的一个描述而已。
OSI模型存在很多问题,但是,事实证明它对于讨论计算机网络非常有用,但是OSI协议并没有流行起来。TCP/IP正好相反,模型本身并不存在,但是协议却被广泛使用了。