OSI与TCP/IP模型之比较
摘要:OSI参考模型和Internet模型(或称TCP/IP模型)作为计算网络发展过程影响力大的两大模型,它们共同之处是:都采用了层次结构的概念,从分析两者的异同入手,找出OSI的消亡和Internet模型(TCP/IP)的发展原因。
关键词:OSI参考模型,TCP/IP参考模型
引言
OSI参考模型与TCP/IP模型的共同之处是:他们都采用了层次结构的概念,在传输层定义了相似的功能,但是二者在层次划分与使用的协议上是有很大差别的,也正是这种差别对两个模型的发展产生的两个截然不同的局面,OSI参考模型走向消亡而TCP/IP模型得到了发展,原因何在呢?本文从对OSI参考模型与TCP/IP模型的异同入手,从两者在现在网络领域的使用情况来分析两个模型的前景。
OSI参考模型和TCP/IP参考模型简介
计算机网络中已经形成的网络体系主要有两个:OSI参考模型和TCP/IP参考模型。OSI开放系统互联参考模型(open system interconnection reference model)由国际标准化组织(ISO)制定。
OSI参考模型分为7层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP参考模型是因特网(Internet)的基础。TCP/IP是一组协议的总称,TCP和IP是其中最主要的两个协议,TCP/IP体系还包含其他协议。和OSI的7层协议比较,TCP/IP参考模型中没有会话层和表示层。互联网协议IP(Internet Protocol)是网络层最主要的协议。传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)是传输层的最主要的协议。TCP是提供可靠服务、面向连接的协议;UDP是不可靠、无连接的协议。
OSI参考模型和TCP/IP参考模型比较
OSI参考模型和TCP/IP参考模型之共同点
1) 都是基于独立的协议栈的概念;
2) 它们的功能大体相似,在两个模型中,传输层及以上的各层都是为了通信的进程提供点到点、与网络无关的传输服务;
3) OSI参考模型与TCP/IP参考模型传输层以上的层都以应用为主导。
OSI参考模型与TCP/IP参考模型的主要差别
1) TCP/IP一开始就考虑到多种异构网的互联问题,并将网际协议IP作为TCP/IP的重要组成部门。但ISO最初只考虑到使用一种标准的公用数据网将各种不同的系统互联在一起。
2) TCP/IP一开始就对面向连接各无连接并重,而OSI在开始时只强调面向连接服务。
3) TCP/IP有较好的网络管理功能,而OSI到后来才开始这个问题,在这方面两者有所不同。
OSI参考模型和TCP/IP参考模型评价
对OSI参考模型的评价
无论是OSI参考模型与协议,还是TCP/IP参考模型与协议都是不完美的。造成OSI参考模型不能流行的主要原因是之一是其自身的缺陷。会话层在大多数应用中很少用到,表示层几乎是空的。在数据链路层与网络层之间有很多的子层插入,每个子层有不同的功能。OSI模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,将它的实现起是困难的。同时,寻址、流控与差错控制在每一层里都重复出现,必然降低系统效率。虚拟终端协议最初安排在表示层,现在安排在应用层。关于数据安全性,加密与网络管理等方面的问题也在参考模型的设计初期被忽略了。参考模型的设计更多是被通信思想所支配,很多选择不适合于计算机与软件的工作方式。很多“原语“在软件的很多高级语言中实现起来很容易,但严格按照层次模型编程的软件效率很低。
TCP/IP模型的评价
TCP/IP参考模型与协议也有它自身的缺陷
1) 它在服务、接口与协议的区别上不清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好的做到这点,这就使得TCP/IP参考模型对于使用新技术的指导意义不够。
2) TCP/IP的主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点。
TCP/IP与OSI参考模型不同的命运
OSI参考模型一开始是由ISO来制定,但后来的许多标准都是ISO与原来的CCITT联合制定,更多的是从通信思想考虑模型的设计,很多选择不适合于计算机与软件的工作方式。但是TCP/IP协议从70年代诞生以后,成功得赢得大量的用户和投资。TCP/IP协议的成功促进了Internet的发展,Internet的发展又进一步扩大了TCP/IP协议的影响。TCP/IP不仅在学术界争取了一大批用户,同时也越来越受到计算机产业的青睐。IBM、DEC等大公司纷纷宣布支持TCP/IP协议,局域网操作系统NetWare、LAN Manager争相将TCP/IP纳入自己的体系结构,数据库Oracle支持TCP/IP协议,UNIX、POSIX操作系统也一如既往地支持TCP/IP协议。相比之下,OSI参考模型与协议显得有些势单力薄。人们普遍希望网络标准化,但OSI迟迟没有成熟的产品推出,妨碍了第三方厂家开发相应的硬件各软件,从而影响了OSI产品的市场占有率与今后的发展。
结论
OSI参考模型与TCP/IP参考模型都不完美,但TCP/IP参考模型发展是因为在ISO制定OSI参考模型过程中总是着眼于一次制定达到完美,所以的制定过程中考虑的方面比较多,但去忽略了IP这一协议的重要性,但当ISO认识到时只好在网络层划出一个子层来完成类似的功能,在无连接服务一开始也不在考虑之列,还有就是网络管理功能的过度复杂等,造成了OSI迟迟没有成熟的产品推出的成因,进而影响了厂商对它的支持,而这时的TCP/IP通过实践得到到不断的完善,也得到了大厂商的支持,所以TCP/IP参考模型得到了发展。
参考文献
鲍居武、曹军,计算机网络基础及典型案例:北京理工大学出版社,2000
谢希仁等,计算机网络:大连理工大学出版社,2006
Comer,D.E,用TCP/IP进行网际互连第I卷:原理、协议和体系结构:电子工业出版社,1998 作者:小钱 \
原文链接:http://market.c114.net/154/a189387.html
OSI与TCP/IP模型之比较的更多相关文章
- OSI与TCP/IP模型
1 OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考.在现实网络世界里,T ...
- OSI、TCP/IP
计算机网络分层的目的:支持异构网络系统的互联互通 7层OSI参考模型是法定标准(国际标准化组织ISO提出) 4层TCP/IP参考模型是事实标准 OSI参考模型 应用层.表示层.会话层.传输层.网络层. ...
- TCP/IP模型及OSI七层参考模型各层的功能和主要协议
注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...
- OSI七层协议与TCP/IP模型
OSI为Open System Interconnection的缩写,意为开放式系统互联,国际标准化组织(ISO,International Organization for Standardizat ...
- 网络 OSI参考模型与TCP/IP模型
ISO是国际标准化组织.OSI,开放互联系统.IOS,思科交换机和路由器的操作系统. TCP/IP模型是OSI模型的简化.所有的互联网协议都是基于OSI模型开发的. 分层:便于管理,每层只管理下层,总 ...
- OSI参考模型和TCP/IP模型基本知识
OSI七层模型 为了解决网络之间的兼容性问题,实现网络设备间的相互通信,ISO于1984年提出的OSI参考模型(开放系统互连参考模型).但是由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行 ...
- 【转】挟天子以令诸侯博客关于TCP/IP模型与OSI模型的区别
挟天子以令诸侯 博客园 首页 新随笔 联系 订阅 管理 随笔 - 21 文章 - 0 评论 - 9 TCP/IP四层模型与OSI参考模型 TCP/IP四层模型: 1.链路层(数据链路层/网络接 ...
- OSI模型与TCP/IP模型基础
一.OSI七层模型 OSI(Open System Interconnection),OSI是一个开放性的通行系统互连参考模型,是一个协议规范.OSI七层模型是一种框架性的设计方法 ,建立七层模型的主 ...
- OSI网络七层模型、TCP/IP 模型(四)
OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”. OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层.数据链路层.网络层.传输层.会话层 ...
随机推荐
- jQuery Validate 插件[表单验证]
在客户端添加信息提交表单时我们经常需要做一些验证,比如验证不能为空,验证客户输入手机格式,验证客户输入email,url等的格式,我们可以通过EL表达式结合js 进行自主验证,今天总结一个JQuery ...
- 通用超级强大的基于Oracle数据库的代码生成器
项目中使用了Oracle数据库,命名基本规范为表名和字段名全部大写,用下划线分割各个单词: 如“BASE_USER_LOGON_EXTEND”这个表表示用户登录的扩展表. 基于这个规范,通用权限管理系 ...
- [Android]应用的前后台运行
在开发中,你是不是没有抽象一个出常用的类,那你可能要为你的懒惰付出很大的代价.要时刻记得自己的工具箱,不断往里面添加一些小小玩意.今天就给大家带来一个很有意思的例子.前后台运行!! 在Android开 ...
- 向MyEclipse添加Oracle数据库
向MyEclipse添加Oracle数据库 1.点击下面圈起来的位置,打开MyEclipse database Explorer视图. 2.在如图空白处右击,选择new进入New Database C ...
- scope重定义
.directive('myAttr', function() { return { restrict: 'E', scope: { customerInfo: '=info' }, template ...
- loadrunner做webservice接口之简单调用
今天听大神讲了webservice做接口,我按照他大概讲的意思自己模拟实战了下,可能还有很多不对,一般使用webservice做接口,会使用到soapui,但是用了loadrunner以后发现lr很快 ...
- nmap命令-----基础用法
系统漏洞扫描之王-nmap NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包. 其基本功能有三个: (1)是扫描主机端口,嗅探所提供的网络服务 (2)是探测一 ...
- poj3264
Balanced Lineup Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 45777 Accepted: 21499 ...
- CSS中link和@import的区别是:
Link属于html标签,而@import是CSS中提供的 在页面加载的时候,link会同时被加载,而@import引用的CSS会在页面加载完成后才会加载引用的CSS @import只有在ie5以上才 ...
- CSS3动画与过渡
transform:在使用2D或3D转换前需用transform-style申明转换的类型,preserve-3d或者preserve-2d 属性 translate(): 通过 translate( ...