tcp/ip 探秘(一) : tcp/ip和OSI模型

一、tcp/ip的诞生

tcp/ip 诞生于80年代,它的前身是arpanet。在美苏冷战期间,美方的军事指挥中心面临着被苏联的核武器摧毁,所有军事设施都将立即瘫痪的巨大风险,因为必要设计一个分散的指挥系统,在这个背景下,arpanet诞生了,arpanet是ARPA(美国国防部高级研究计划管理局)将分布在加利福尼亚州大学洛杉矶分校加州大学圣巴巴拉分校、斯坦福大学、犹他州大学四所大学的4台大型计算机,使用包交换技术成功连接起来。在此基础上,越来越多的主机加入arpanet,arpanet网络中使用的协议逐渐演变成tcp/ip协议。

二、tcp/ip与OSI的区别

tcp/ip协议在后来发展得这么成功,其实并不是偶然,它是在实践中诞生的,符合当时人们迫切希望机器互联的需求。与之对应的是OSI模型,OSI定义了计算机互联的另一标准,OSI将网络通信分成了7层,tcp/ip只有4层,OSI同时定义了面向连接和无连接的通信,TCP/IP只提供无连接服务,但是传输层上可以同时提供两种通信模式(tcp有连接,udp无连接),可以说OSI比tcp/ip更加规范。如下图:
OSI是通信领域专家制定的,他们的想法是让计算机通信更加可靠和标准,而tcp/ip更倾向于怎么更简单、更小成本的实现计算机互联(如果通信不是特别可靠,终端通过tcp可以纠错和重传,事实上通信线路越来越可靠)。tcp/ip的应用层对应OSI的应用层、表示层和会话层,原因是因为tcp/ip关注的是传输和网络,比如http属于tcp/ip的应用层,http协议黑盒实现了OSI的应用层、表示层、会话层,tcp/ip不关心http应用层、表示层、会话层的具体实现,也不关心http的应用层、表示层、会话层能否扩展,tcp/ip认为这是应用层自己该干的事情,应用层只需要把需要传输的数据传递给传输层和网络层寻址传送。OSI却认为表示层和会话层是独立于应用层的,这是因为当时大部分终端只是作为输入输出的工具,表示层和会话层都是通信组件完成的。后来终端性能越来越高,可以独立处理表示层和会话层。从这可以看出通信领域的专家和计算机领域专家的思路是不一样的。
另外OSI将数据链路层和物理层单独分层,而tcp/ip是不关心物理硬件的,比如以太网卡同时定义了数据链路层(帧)和物理层(双绞线等)的标准,tcp/ip直接将ip报文交给以太网卡就行了,不关心数据是在双绞线中以什么形式和数据格式传输。

三、tcp/ip的胜利

可以说tcp/ip是OSI的简化版,OSI追求大而全,想要将所有层都标准化和易于扩展,而tcp/ip更加关注数据在不同计算机中传输,所以主要关注传输层和网际层。在实际工程实现中,tcp/ip运行稳定,并随着通信线路质量提高、支持tcp/ip以太网卡的出现等多种因素,tcp/ip的优势越来越明显,逐渐成为互联网的主流协议(其他协议还有X.25、帧中继和ATM),而符合OSI模型的工程实现很晚才出现,已无法撼动tcp/ip的地位。

 👉👉👉 自己搭建的租房网站:全网租房助手,m.kuairent.com,每天新增 500+房源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值