这里我们专门来讲一下计算机网络中的体系结构。其实我们之前在Linux系列的《网络基础入门》中已经略微提及了一下(点此查看),今天在这里着重讲一下吧。这也算是比较重要的一节了,因为基本的框架都是基于这个模型构建的。所以仔细来学习一下吧!!!
计算机网络是一个非常复杂的系统。也由此产生了不同的网络体系结构,而为了让不同的网络体系结构的计算机网络都能互联,国际标准化组织 ISO 于 1977 年成立了专门机构的开放系统互联基本参考模型 OSI/RM,简称为 OSI。
开放:非独家垄断的。 系统:在现实的系统中与互联有关的各部分。
OSI模型是一个七层协议的体系结构。他是法律上的国际标准。虽然在20世纪80年代,很多公司都表示支持OSI,但是到了20世纪90年代初期,由于基于 TCP/IP 的互联网已经在全球相当大的范围成功运行了。所以现在很多人认可的是TCP/IP四层模型。
• OSI七层模型 是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输; • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚, 理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
OSI(Open Systems Interconnection)七层模型每一层具有特定的功能和职责。下面是对OSI七层模型各层的详细解释:
其实在网络角度,OSI 定的协议 7 层模型其实非常完善,但是在实际操作的过程中,会话层、表示层是不可能接入到操作系统中的,所以在工程实践中,最终落地的是 5 层协议(物理层我们考虑的比较少,我们只考虑软件相关的内容. 因此很多时候我们直接称为TCP/IP 四层模型)。
TCP/IP 是一组协议的代名词,它还包括许多协议,组成了 TCP/IP 协议簇. TCP/IP 通讯协议采用了 5 层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
该模型去掉了OSI七层模型中的表示层、会话层以及物理层。
一般而言
• 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容; • 对于一台路由器, 它实现了从网络层到物理层; • 对于一台交换机, 它实现了从数据链路层到物理层; • 对于集线器, 它只实现了物理层;
所以可以知道,在模型中越在高层的一般会兼容下层的功能。
网络传输流程如下:
用户在主机1应用层发送消息,不能直接传递到对方主机2应用层,而是往下层经过传输层、网络层、数据链路层,在经过每层时,会在数据前方添加对应层的报头,这个过程叫封装。
再通过局域网发送给对方,对方拿到有多层报头修饰的数据时,由于各主机相同层报头属性相同,那么数据会在对方主机上向上层经过数据链路层、网络层、传输层,在经过每层时,会取下对应的报头,这个过程叫做解包与分用。由此对方就拿到了用户发送的数据。
下面来明确一下概念:
然后,我们在明确一下不同层的完整报文的叫法:
那么不同层对应的协议:
上述是同一个网段(以太网)内传输,那么如果两台主机分别位于不同的网段呢?
跨网段的主机的数据传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器
根据封装与解包流程:
我们首先来看实体,实体是指任何可发送或接收信息的硬件或软件进程。例如这是通信双方的五层原理体系结构,我们在他们的各层中用标有字母的小方格来表示实体。
有了实体的概念,那么对等实体就是指通信双方相同层次中的实体。
例如,A与F就是对等实体。
介绍完实体,我们再来介绍协议,协议是控制两个对等实体进行逻辑通信的规则的集合。
在网络中,为了确保数据传输的稳定性、高效性,实现互联互通,也定义了属于网络的协议-----网络协议。那为什么要存在网络协议呢?以及网络协议解决了什么问题?
我们可以看到,随着网络的发展,客观事实是主机之间距离越来越远了,这就产生了问题:
那我们就需要一种解决方法来解决这些问题。即我们的网络协议,也就是说,网络协议是一种解决方案。
在实际生活中,网络协议是按层划分的。为什么呢?是因为这样层与层之间是松耦合的,方便维护与随时替换。
我们再来介绍一下服务:在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
每个层次在实现本层功能之前,本层协议还需要使用下面一层所提供的服务:
很明显,协议是水平的,而服务是垂直的。需要特别注意的是,实体看得见下层所提供的服务,但并不知道实现该服务的具体协议。换句话说,下层的协议对上层的实体是透明的,这就好比我们肯定看得见电脑为我们提供的各种服务,但我们只是享受这些服务,而没有必要弄懂电脑的工作原理。
总结:
好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。
祝大家越来越好,不用关注我(疯狂暗示)