前言
上一篇文章中对计算机网络的发展历史进行了简单的认识,在这篇文章开始正式记录我对计算机网络知识的回顾学习过程,首先是对于计算机网络的层次结构的知识回顾总结。计算机网络的层次结构从层次结构设计的基本原则、OSI七层模型,TCP/IP四层模型三个方面来进行学习。
一、层次结构设计的基本原则
1. 计算机网络解决的问题
在了解计算机网络的层次结构设计的基本原则之前,我们先来了解一下为什么计算机网络要使用层次结构的设计?
我们首先假设有计算机A和计算机B两台计算机要进行通信,他们是通过计算机网络连接起来的,因此我门可以设想计算机网络中我们要解决什么样的问题:
- 首先计算机网络要解决的第一个问题就是,在两个计算机进行通信时要保证数据通路的顺畅
- 其次在互联网中有特别多的计算机,计算机A是如何准确的识别到计算机B?计算机B又是怎么样识别到计算机A?,因此对于计算机网络要解决的第二个问题就是识别目的计算机
- 通过计算机网络我们还要查询到目的计算机的状态,如果计算机A要和计算机B要进行通信,那么计算机A就要通过计算机网络来查看计算机B是否在线、是否能够接收数据,因此计算机网络要解决的第三个问题就是识别目的计算机的状态
- 在两台计算机建立了网络通信后,在传输数据时很有可能因为西伯利亚寒流等原因导致数据在传输的过程中发生错误,因此计算机网络的第四个要解决的问题就是数据是否错误的判断以及数据出错以后该怎样解决
很多现实的问题都是计算机网络需要去考虑并且要进行解决的,同时计算机网络要解决的问题也是繁多并且复杂的,因此计算机网络采用了分层设计,分层去解决不同的问题,分别实现不同的功能,以此来让计算机网络正常的运行起来。
2. 层次设计的基本原则
对于计算机网络层次的作用,可以举一个例子,如下图:
对于用户来说,主要直接进行接触的数据就是顶层网络应用的数据,例如视频、文件、游戏等,在这一层之下就是数据的可靠通信,例如数据错误、重复这些用户不关心的问题,再下一层就是物理层面的问题,例如数据是通过光纤还是网线连接到其他计算机的,属于比较底层的特性。以上就是使用网络层次比较形象的一个例子。可以从这个例子中看到,某一层并不需要上一层或下一层是如何实现的,仅仅需要当前层的接口如何提供服务的即可,每一层仅仅需要实现相对独立的功能,并且层与层之间的耦合度是比较低的。
因此就引出了层次设计的基本原则:
- 各层之间是相互独立的
- 每一层要有足够的灵活性
- 各层之间完全解耦
二、OSI七层模型
OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。
参考资料:OSI七层模型_百度百科
OSI七层模型以及每一层的作用可以用一张图来进行简要的概括:
OSI七层模型曾经也试图成为全球计算机都遵循的标准,而且在20世纪80年代很多的公司也都推崇OSI七层模型。但是OSI在市场化的过程中困难重重,因为在OSI标准制定出来之前TCP/IP模型在全球范围内已经成功的运行,因此OSI七层模型只是获得了很多理论上的研究成果,但是在市场方面却没有成功的推进,因此OSI并没有成为广为使用的标准模型。对于原因分析,有以下几点:
- OSI的专家缺乏实际经验
- OSI标准制定周期过长,按OSI标准生产的设备无法及时进入市场
- OSI模型设计的并不合理,一些功能在多层中重复出现
三、TCP/IP四层模型
TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层(主机到主机)、传输层、和应用层。
参考资料:TCP/IP参考模型_百度百科
1. TCP/IP四层模型定义
在计算机网络的实际运行中,采用的更多的就是TCP/IP四层模型,TCP/IP协议有以下四层:
- 应用层
- 传输层
- 网络层
- 网络接口层
在TCP/IP模型中每一层中都有要遵循的协议,同时TCP/IP的四层模型也能与OSI七层模型有着对应,如图所示:
2. TCP/IP模型的实际应用
作为一个已经成功应用的模型,对于在物理链中的实际应用也非常成熟与广泛
假设计算机A与计算机B通过路由器连接了起来,此时计算机A会通过应用层、传输层、网络层以及网络接口层和路由器进行通信,数据会通过网络接口层以及网络层来到路由器。在路由器中的层面只到了网络层以及网络接口层,路由器会通过网络层的数据进行数据的转发,转发到计算机B后,数据也是通过网络接口层、网络层、传输层、应用层来到计算机B。
总结
呼~
终于码完了计算机网络的层次结构的内容,在这里对本篇文章的内容进行一个简单的总结。
本文对层次结构设计的基本原则进行了简单的认识,通过对计算机网络要解决的问题来引申到了采用层次结构设计的原因以及层次结构设计的基本原则,之后又对OSI七层模型进行了简单的介绍,对每一层的作用概述也都在图中进行了简单的展示,同时也分析了OSI七层模型没有在市场上成功应用的原因。对TCP/IP四层模型以及每一层对应于OSI七层模型的内容进行了简单的概括,TCP/IP的实际应用流程也简单的进行了阐述。以上便是本篇文章的基本内容。
写在本文的最后:
回顾大学三年的经历,深刻的认识到了计算机基础知识的重要性。在实习的过程中,更加深刻的认识到了团队的重要性,曾经很天真的认为一个人就能拿下一整个大的项目,但是真的在见识到了大型的项目后,才明白曾经的自己是多么的幼稚和无知,大型的项目不是写出来、能跑就行的项目,对性能的要求更高、对技术的选型也更为严谨…完成大型项目需要团队中每个人的全力以赴,更需要大家每个人的互补,齐心协力才能所向披靡。
在这里我也希望自己能和各位前辈、各位同学、大佬们一些学习交流,欢迎大家加入到技术交流群中,我们一起分享技术知识、一起进步!