计算机网络架构有哪些(计算机架构两大体系)

在研究这个问题之前。我们得先思考一下,假如你现在遇到一件特别困难的事情,而且这个事情自己以前完全没有做过,也没有现成的经验可以参考,那么你会怎么办呢?

我在转行想当程序员之前,就曾经有过这样的困惑。那个时候我经常会想,计算机程序会不会很难,自己会不会学不进去,我真的适合这个行业吗?可当我真正定下心来思考,其实摆在面前的就只有一件事,把它学会。只有真正把它弄明白了,那些所谓的困惑才会不解自消。

但是,通常一件比较抽象的事情,会很难坚持与实施下去。比如,计算机程序在设计初期,就是要对实际中遇到的问题进行严格化,然后把严格化的问题经过深入分析后变为很多具体需求,再根据对应的需求来设计程序,最后用某种合适的计算机语言将它们实现出来。试想,如果仅仅是一个很抽象的问题,就想着通过编程语言将它解出来,肯定是不切实际的。

同样,想要把计算机弄懂其实也是一个很大的抽象的问题,事实上也不可能完全完成。因此,我做的第一步就是把它细分,先从程序员需要具备哪些计算机技能开始,然后再根据相关的技能,寻找相关的理论教材,然后对比每个技术领域的教材,选出一本或几本权威的教科书。下面就是如何规划自己学习进度的问题了。

这里的关键就是对问题本质的把握,然后进行细分,归类。计算机网络体系结构也是一样的。现在连在网络上的两台计算机A、B需要互相进行通信,那么怎么才能让它们联系上呢?那必须得解决以下几个问题:

2、B必须得在家(计算机不能关机,并与网络相连)。

3、如果A发送的信息特别大,B还得准备空间进行存放。

4、信息在途中如果丢了,怎么办。

5、对于A写的字(信息格式不统一)B能不能看懂。

6、在发信息之前,先得保证道路是通畅的(必须将通信道路进行激活)。

根据这些问题,我们可以将它们划分为三类:

1>、文件传送模块(比如问题3、5)。

2>、通信服务模块(比如问题1、2、4)。

3>、网络接口模块(比如问题6)

计算机网络架构有哪些(计算机架构两大体系)

这样的划分可以带来很多的好处,比如各层独立,易于维护,灵活性好等等。但最主要的好处是这样的划分使计算机网络体系结构更易于实现。它不在是停留在一个抽象阶段的概念性东西,而是由许多可以真正实现并运行的计算机硬件和软件构成。

ARPA在设计ARPANET的时候就是根据这种分层的方法。之后,IBM也根据分层体系推出了自己的网络结构SNA。其他大的网络公司也都相继推出自己的体系结构,只是名字不一样。

但是,只是有好的方法实现出来还不行。你想想,大家各自用各自的网络体系,完全没有统一的标准,那不同公司之间的计算机设备就很难互相连通了,更不用说全球范围内的通信了。

于是,1977年国际标准化组织ISO(并不是之前管理互联网的ISOC,它比这个晚了15年)专门成立机构解决此事,为此开始制定开放系统…..OSI/RM(这个中文名字好长的),简称OSI,但是由于没有什么实际经验,并且缺乏商业驱动力,直到90年代初,才最终完成。这个时候,TCP/IP已经在全球范围成功运行了(ARPANET就是因为在83年使用了TCP/IP协议,才有了互联网的诞生)。

其实,当初OSI在制定的时候,有很多国家政府跟大公司都是很支出的。但是最终让TCP/IP成为了事实上的国际标准。关于这两个之间的成败问题,我觉得可以用一句话来解释:说那么多干什么,先做出来。当然,它们之间还有很多的原因,导致两种不同结局。比如,下面这个体系分层问题,OSI分了七层,TCP/IP分了四层。其实,从本质上讲TCP/IP只有上面的三层,最下面的网络接口层并没有什么实质的内容。所以,这里采用了一种五层协议的体系结构来说明一下它们的具体内容。计算机网络的整个课程大多都是在讲这几个层次的功能以及实现的算法。

1、应用层。它是体系的最高层,主要的任务就是通过在应用进程(正在运行的程序)之间的交互来完成特定的网络应用。就是完成在应用软件层面的网络交互。因此,应用层的协议规定的就是应用进程间的通信和交互规则。比如:HTTP协议(浏览网页的),SMTP协议(发送邮件的),DNS协议(获取域名的)等等。

2、运输层。它的主要任务是为两个主机中进程之间的通信提供数据传输服务。就是为两个主机中的软件来提供数据传输的,并且这种服务是通用的,并不是针对某一个网络应用,这点跟应用层不一样,应用层针对是某一类软件开发的协议,比如HTTP协议就是针对的浏览器这类应用的。但是运输层的协议,不管是哪个网络应用都可以使用。它主要有两种协议:TCP和UDP。

TCP是提供面向连接(必须先建立连接)的、可靠的数据传输服务(保证对方能收到)。它的数据传输的单位是报文段。

UDP是提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性)。它的数据传输的单位是用户数据报。

3、网络层。它的主要任务是为分组交换(参考文章:互联网的核心还真不是主机)网上的不同主机提供通信服务。这次层次就脱离了主机的进程,还是为主机之间的通信服务的。在TCP/IP协议体系中,网络层使用的是IP协议。因此分组叫做IP数据报(注意跟UDP的用户数据报区分)。IP协议是无连接的。

网络层的另外一个任务就是选择合适的路由。从源主机发送的分组,经过网络层的时候,就能通过路由器来找到目的主机。

5、物理层。它传输的单位是比特。主要考虑用多大的电压代表0和1,接受方如何识别发送方发的比特等。这里传递信息用的物理媒体,比如双绞线,光纤,无线信道等还在物理层的下面。有人将它称为第0层。

当主机1的进程AP1向主机的进程AP2发送数据时,数据会在各层之间怎样传送?

图中用虚线之间传递对方的层次叫做对等层。而整个数据传输过程,看起来特别想一个栈的结构,因此将它称为协议栈。

好了,有了标准就好办事了。这样,在网络中进行交换的数据格式和网络同步的标准就有了明确的规定。在这里,我们把那些在网络中进行数据交换而建立的规则、标准或者约定称为网络协议。至此,计算机网络的主角登场了。它主要由三部分构成:语法、语义、同步。

书上说,语法是数据与控制信息的结构或者格式。语义是需要发出何种控制信息,完成何种动作以及做出何种响应。同步是事件实现顺序的详细说明。

我觉得它就相当于学生时代写的命题作文。语法就是用来控制作文的体裁,什么议论文,散文,说明文……,而语义就是作文的内容,我写的是什么事情,这个事情起到什么作用。同步相当于对作文中的段落顺序做一个解释说明。

最后,简单了解一下计算机网络的分类。

按照网络不通的作用范围,可将其分为广域网WAN(可以覆盖到不同的国家,范围很广)、城域网MAN(可以覆盖一个城市5~50km)、局域网LAN(可以覆盖一个学校1km左右)、个人区域网PAN(范围很小10米左右)。

按照网络的使用者进行分类,可分为公用网(缴纳费用就可以用)和专用网(一般指国家单位的本系统网络,不向外部提供)。

ps:文中图片与书都是指的谢希仁教授的计算机网络(第七版)

发表评论

登录后才能评论