OSI和TCP/IP

TCP/IP协议栈具有简单的分层设计,与OSI参考模型有清晰的对应关系。

 
OSI是Open System Interconnection 的缩写,意为开放式系统互联参考模型。
这个模型把网络通信的工作分为7层第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为OSI参考模型的高四层,具体负责端到端的数据通信
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。当然并不是每一通信都需要经过OSI的全部七层,有的甚至只需要双方对应的某一层即可。物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。

<span style="font-family: 'Times New Roman';"><strong>OSI参考模型的评价
</strong>
  无论是OSI参考模型与协议,还是TCP/IP参考模型与协议都是不完美的。造成OSI参考模型不能流行的主要原因是之一是其自身的缺陷。会话层在大多数应用中很少用到,表示层几乎是空的。在数据链路层与网络层之间有很多的子层插入,每个子层有不同的功能。OSI模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,将它的实现起是困难的。同时,寻址、流控与差错控制在每一层里都重复出现,必然降低系统效率。虚拟终端协议最初安排在表示层,现在安排在应用层。关于<a target=_blank target="_blank" class="inner-link decor-none" href="http://www.baidu.com/s?wd=%E6%95%B0%E6%8D%AE%E5%AE%89%E5%85%A8&hl_tag=textlink&tn=SE_hldp01350_v6v6zkg6" rel="nofollow" style="color: rgb(45, 100, 179); text-decoration: none;">数据安全</a>性,加密与<a target=_blank target="_blank" class="inner-link decor-none" href="http://www.baidu.com/s?wd=%E7%BD%91%E7%BB%9C%E7%AE%A1%E7%90%86&hl_tag=textlink&tn=SE_hldp01350_v6v6zkg6" rel="nofollow" style="color: rgb(45, 100, 179); text-decoration: none;">网络管理</a>等方面的问题也在参考模型的设计初期被忽略了。参考模型的设计更多是被通信思想所支配,很多选择不适合于计算机与软件的工作方式。很多“原语“在软件的很多<a target=_blank target="_blank" class="inner-link decor-none" href="http://www.baidu.com/s?wd=%E9%AB%98%E7%BA%A7%E8%AF%AD%E8%A8%80&hl_tag=textlink&tn=SE_hldp01350_v6v6zkg6" rel="nofollow" style="color: rgb(45, 100, 179); text-decoration: none;">高级语言</a>中实现起来很容易,但严格按照层次模型编程的软件效率很低。

<strong>TCP/IP模型的评价</strong>

  TCP/IP参考模型与协议也有它自身的缺陷

  1) 它在服务、接口与协议的区别上不清楚。一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好的做到这点,这就使得TCP/IP参考模型对于使用新技术的指导意义不够。

  2) TCP/IP的主机-网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点。</span>


<p style="color: rgb(51, 51, 51);"><strong>ISO 7层模型</strong></p><p style="color: rgb(51, 51, 51);"></p><div class="para" style="color: rgb(51, 51, 51); margin: 15px 0px 5px; text-indent: 2em;">1.<a target=_blank target="_blank" href="http://baike.baidu.com/view/239585.htm" style="color: rgb(19, 110, 194); text-decoration: none;">物理层</a>:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种<a target=_blank target="_blank" href="http://baike.baidu.com/view/305337.htm" style="color: rgb(19, 110, 194); text-decoration: none;">传输介质</a>的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。</div><div class="para" style="color: rgb(51, 51, 51); margin: 15px 0px 5px; text-indent: 2em;">2.<a target=_blank target="_blank" href="http://baike.baidu.com/view/239592.htm" style="color: rgb(19, 110, 194); text-decoration: none;">数据链路层</a>:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的<a target=_blank target="_blank" href="http://baike.baidu.com/view/1832003.htm" style="color: rgb(19, 110, 194); text-decoration: none;">可靠传输</a>。(基于帧的可靠性传输)</div><div class="para" style="color: rgb(51, 51, 51); margin: 15px 0px 5px; text-indent: 2em;">3.<a target=_blank target="_blank" href="http://baike.baidu.com/view/239600.htm" style="color: rgb(19, 110, 194); text-decoration: none;">网络层</a>:在位于不同地理位置的网络中的两个<a target=_blank target="_blank" href="http://baike.baidu.com/view/4520804.htm" style="color: rgb(19, 110, 194); text-decoration: none;">主机系统</a>之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而<a target=_blank target="_blank" href="http://baike.baidu.com/view/239600.htm" style="color: rgb(19, 110, 194); text-decoration: none;">网络层</a>正是管理这种连接的层。</div><div class="para" style="margin: 15px 0px 5px; text-indent: 2em;"><span style="color:#333333;">4.</span><a target=_blank target="_blank" href="http://baike.baidu.com/view/239605.htm" style="color: rgb(19, 110, 194); text-decoration: none;">传输层</a><span style="color:#333333;">:定义了一些传输数据的协议和</span><a target=_blank target="_blank" href="http://baike.baidu.com/view/642103.htm" style="color: rgb(19, 110, 194); text-decoration: none;">端口号</a><span style="color:#333333;">(WWW端口80等),如:TCP(</span><a target=_blank target="_blank" href="http://baike.baidu.com/view/544903.htm" style="color: rgb(19, 110, 194); text-decoration: none;">传输控制协议</a><span style="color:#333333;">,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(</span><a target=_blank target="_blank" href="http://baike.baidu.com/view/468464.htm" style="color: rgb(19, 110, 194); text-decoration: none;">用户数据报协议</a><span style="color:#333333;">,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做</span><span style="color:#ff6666;">段</span><span style="color:#333333;">。(基于数据包的可靠性传输)</span></div><div class="para" style="color: rgb(51, 51, 51); margin: 15px 0px 5px; text-indent: 2em;">5.会话层:通过<a target=_blank target="_blank" href="http://baike.baidu.com/view/239605.htm" style="color: rgb(19, 110, 194); text-decoration: none;">传输层</a>(<a target=_blank target="_blank" href="http://baike.baidu.com/view/642103.htm" style="color: rgb(19, 110, 194); text-decoration: none;">端口号</a>:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是<a target=_blank target="_blank" href="http://baike.baidu.com/view/1617349.htm" style="color: rgb(19, 110, 194); text-decoration: none;">主机名</a>)。(传输中断,重发,断点控制)</div><div class="para" style="color: rgb(51, 51, 51); margin: 15px 0px 5px; text-indent: 2em;">6.<a target=_blank target="_blank" href="http://baike.baidu.com/view/239615.htm" style="color: rgb(19, 110, 194); text-decoration: none;">表示层</a>:可确保一个系统的<a target=_blank target="_blank" href="http://baike.baidu.com/view/239619.htm" style="color: rgb(19, 110, 194); text-decoration: none;">应用层</a>所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制<a target=_blank target="_blank" href="http://baike.baidu.com/view/5481005.htm" style="color: rgb(19, 110, 194); text-decoration: none;">交换码</a>(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,<a target=_blank target="_blank" href="http://baike.baidu.com/view/239615.htm" style="color: rgb(19, 110, 194); text-decoration: none;">表示层</a>会通过使用一种通格式来实现多种数据格式之间的转换。</div><div class="para" style="color: rgb(51, 51, 51); margin: 15px 0px 5px; text-indent: 2em;">7.<a target=_blank target="_blank" href="http://baike.baidu.com/view/239619.htm" style="color: rgb(19, 110, 194); text-decoration: none;">应用层</a>:是最靠近用户的OSI层。这一层为用户的应用程序(例如<a target=_blank target="_blank" href="http://baike.baidu.com/view/1524.htm" style="color: rgb(19, 110, 194); text-decoration: none;">电子邮件</a>、<a target=_blank target="_blank" href="http://baike.baidu.com/view/543341.htm" style="color: rgb(19, 110, 194); text-decoration: none;">文件传输</a>和<a target=_blank target="_blank" href="http://baike.baidu.com/view/190233.htm" style="color: rgb(19, 110, 194); text-decoration: none;">终端仿真</a>)提供网络服务。</div><p style="color: rgb(51, 51, 51);"><img src="https://img-blog.csdn.net/20151225155322556?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-family: Arial; font-size: 14px; line-height: 26px;" alt="" />
</p><p style="color: rgb(51, 51, 51);">
</p><p style="color: rgb(51, 51, 51);">
</p>
<span style="font-family: 'Times New Roman';"><strong>TCP/IP参考模型</strong></span>
<div class="para" style="margin: 15px 0px 5px; text-indent: 2em;"><span style="font-family: 'Times New Roman';"></span></div>

物理层(RS-232、V.35)和 数据链路层(HDLC、X.25)涉及到在通信信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段,提供检错、纠错、同步等措施,使之对网络层显现一条无错线路;并且进行流量调控BitsFrames

网络层检查网络拓扑,以决定传输报文的最佳路由,执行数据转发。其关键问题是确定数据包从源端到目的端如何选择路由。网络层的主要协议有IPICMP(Internet Control Message Protocol,互联网控制报文协议)、IGMP(Internet Group Management Protocol,互联网组管理协议)、ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,反向地址解析协议)等。Packets

传输层的基本功能是为两台主机间的应用程序提供端到端的通信。传输层从应用层接受数据,并且在必要的时候把它分成较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。传输层的主要协议有TCPUDP(User Datagraph Protocol,用户数据报协议)。Segments

应用层负责处理特定的应用程序细节。应用层显示接收到的信息,把用户的数据发送到低层,为应用软件提供网络接口。应用层 包含大量常用的应用程序,例如HTTP(HyperText Transfer Protocol文本传输协议)、Telnet(远程登录)、FTP(File Transfer Protocol)等。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值