计算机网络体系结构与参考模型(1)

1.概述

  在计算机网络的基本概念中,分层次的体系结构是最基本的。
国际标准
  很早之前,很多公司都推出自己的计算机网络体系结构。像IBM公司的SNA体系结构,美国国防部的TCP/IP体系结构,DEC公司的DNA体系结构…只有使用这些公司的产品才能使用这些特定的体系结构。造成市场比较混乱。
  国际标准化组织(ISO)与1984年提出开放系统互联(OSI)参考模型。是一个很好模型。但是,在现如今的实际生活中,OSI应用却很少。
  现今规则最大的、覆盖全球的、基于 TCP/IP 的互联网并未使用 OSI 标准。在20世纪90年代初期,虽然整套的 OSI 国际标准已制定出来,但基于 TCP/IP 的互联网已抢先在全球相当大的范围成功地运行了,而同时却几乎找不到有厂家生产出符合 OSI 标准的商业产品。OSI 只获得了一些理论研究的成果,市场化方面则彻底失败了。
  TCP/IP 常被称为是事实上的国际标准。OSI模型只用来做学术研究模型使用。
  此文先介绍一下OSI七层模型,后面再接着介绍TCP/IP协议栈。

2.为什么要分层?

  想想我们平时是如何发送文件的?
在这里插入图片描述
发送文件前要完成的工作:

  • 发起通信的计算机必须将数据通信的通路进行激活
  • 要告诉网络如何识别目的主机
  • 发起通信的计算机要查明目的主机是否开机,并且与网络链接正常
  • 发起通信的计算机要弄清楚,对方计算机文件管理程序是否已经做好准备工作
  • 确保差错和意外可以解决
  • 。。。。。。
      发送一个文件之前要历经这么多的问题,问题很多、很杂,很难一次性解决。所计算机网络想到了将这些问题分成好多个小问题来解决。这是借助模块化思想,这个思想很重要,以后的编程中会经常遇到。

3.如何分层

  3.1 对等实体、协议、服务、接口

  想象这样一个场景:你想寄一个快递给你的朋友。你要包装,然后填写姓名、目的地等。你的朋友要拆包装…计算机网络中的消息也是这样传输的。
在这里插入图片描述

这里解释几个重要的名词:

实体:每一层当中的活动元素。例如物品与物品。
对等实体:同一层的实体就叫做对等实体。
协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。(水平的
接口(访问服务点SAP):上层使用下层服务的入口(垂直的
服务:每两个层次之间的服务,下层为相邻上层提供的功能调用。(垂直的

  3.2分层的基本原则
  • 各层之间相互独立,每层只实现一种相对独立的功能
  • 每层之间界面自然清晰,易于理解,相互交流尽可能少。
  • 结构上可分割开。每层都采用最合适地技术来实现。
  • 保持下层对上层地独立性,上层单向使用下层提供地服务。
  • 整个分层结构应该能促进标准化工作。
  3.3分层的好处
  • 各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间接口(即界面)所提供的服务
  • 灵活性好。当任何一层发送变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响
  • 结构上可分割开。各层都可以采用最合适的技术来实现
  • 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统
  • 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明

4.概念总结

  • 网络体系结构是从功能上描述计算机网络结构
  • 计算机网络体系结构简称网络体系结构是分层结构
  • 每层遵循某个/些网络协议以完成本层功能
  • 计算机网络体系结构是计算机网络的各层及其协议的集合
  • 第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能
  • 仅仅在相邻层间有接口,且所提供服务的具体实现细节都对上一层完全屏蔽
  • 体系结构是抽象的,而实现是指能运行的一些软件和硬件

5.计算机网络分层(OSI七层)

在这里插入图片描述
每层完成特定的功能。例如:
  两个主机之间传递消息DATA,要经历如下过程:下图为源主机要传递消息DATA的过程,自上往下,将消息DATA逐层封装在这里插入图片描述
  目的主机的工作也与源主机类似,将接收到的比特流进一步解封装,将头部与尾部一层一层的去除,最终得到纯消息DATA。这个和上边寄快递的例子非常相似。


  要发送的消息,经过以上七道工序最终产生了二进制流,除了物理层之外,每道工序都会在原始数据前添加一串属于自己的协议头,每个协议头由源主机的每层工序产生,自然有理解(拆除)这些协议头的对端(目的主机),举例来说:
  链路层协议头,这个协议头只有源主机、端接路由器可以理解,只会存活在源主机与其端接的中继路由器,换句话说,其生命周期只限于一根链路,只要端接路由器能顺利接收,其使命就算完成了,那路由器会将其从二进制流剥离掉,剩下打头阵的就是网络层的协议头。
  网络层协议头这个最特殊),其中包含了目的地网络地址,用于指示沿途的路由器,这一串二进制流的目的地是哪里,路由器查询自己的网络地址表,决定再发给更靠近目的地的下一跳路由器。假如找到了一个出接口与下一跳路由器直连,则又要考虑如何添加链路层的协议头了(因为要在链路上进行传输了),依据不同的接口类型,添加了适合此链路的链路层协议头,然后再依据物理层介质的不同,物理层将其以光、电、电磁波的信号发送出去。依照上面类似的步骤,一串二进制流每经过沿途一跳路由器,变换一次链路特有的协议头,但网络层协议头一直不会变,最终这一串二进制流到达了终点。至此,网络层协议头也完成了其使命,剥离掉网络层协议头,把剩下这一串二进制流发给传输层,剩下打头阵的就是传输层的协议头。
  传输层协议,依据传输层协议头里会话层协议代码,先剥离掉传输层协议头,把这一串二进制流发给会话层,剩下打头阵的就是会话层协议头。
  会话层协议,依据会话层议头里表示层协议代码,先剥离掉会话层协议头,把这一串二进制流发给表示层,剩下的头阵的就是表示层协议头。
  表示层协议,依据表示层议头里应用层协议代码,先剥离掉表示层协议头,把这一串二进制流发给应用层,剩下的头阵的就是应用层协议头。
  应用层协议,经过以上一跳一跳路由器的中继、目的主机的一层层协议头的剥离,源主机发给目的主机的数据终于到达终点了,至于数据是文字、图片、音频、视频,则由应用层协议来最终解释。

6.分层

两台主机之间的消息互通,主机A发送给主机B的过程如下:
在这里插入图片描述
  两台主机之间进行通信,通常还需要中间系统的支持。中间系统,例如:路由器、网关、网桥、交换机等。中间系统只涉及到物理层、数据链路层和网络层。
  上面四层属于端到端通信,下面三层属于点到点通信。那么,何为端到端、点到点呢?
  端到端,就像直接由主机A将消息传递到消息B,而忽略传输链路。上面四层是在主机上完成的。点到点,是在链路上完成的。每一次数据的传输过程中间可能会历经很多的中间系统,下一目的地并不一定是目的主机,而可能是下一中间系统。所以称为点到点。

PS:一个小的规范:物理层上传输的叫“比特流”。数据链路层上传输的是“”。网络层上传输的是“”。传输层传输的是“”。

7.总结

  文章主要介绍了计算机的体系结构——OSI参考模型,后面我会接着写现如今最流行的TCP/IP协议栈,包括一些重要的协议。
  文章如有不对之处,还请多多指教~~

发布了14 篇原创文章 · 获赞 25 · 访问量 5370

猜你喜欢

转载自blog.csdn.net/weixin_43275558/article/details/104131455