扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
摘要:计算机网络的硬件设备,它们是承载计算机通信的实体。然而它们是怎样有序地完成计算机之间的通信任务的呢?
计算机网络的硬件设备,它们是承载计算机通信的实体。然而它们是怎样有序地完成计算机之间的通信任务的呢?
具体地说,共享计算机网络的资源,以及在网中交换信息,就需要实现不同系统中的实体的通信。实体包括用户应用程序、文件传送包、数据库管理系统、电子设备以及终端等,系统包括计算机、终端和各种设备等。一般说来,实体是能发送和接收信息的任何东西,而系统是物理上明显的物体,它包含一个或多个实体。两个实体要想成功地通信,它们必须具有相同的语言。交流什么,怎样交流及何时交流,都必须遵从有关实体间某种互相都能接受以一些规则,这些规则的集合称为协议,它可以定义为两实体间控制数据交换的规则的集合。
上面洋洋洒洒地一大通话,可能早已让读者晕头转向了。简单地说,所谓的协议,就象人与人交流的语言一样,它是计算机网络通信实体之间语言。不同的网络结构可能使用不同的网络协议;而同样的,不同的网络协议设计也就造就了不同的网络结构。下面将从计算机网络协议参考模型开始,逐一介绍局域网、广域网、Internet的计算机网络通信协议。
6.1 开放系统互连参考模型OSI
自从计算机网络面世以来,它不断地促进着社会的发展,而且人类对计算机网络的依赖与需求都愈演愈烈,所以许许多多的计算机厂商都建立了自己一套与众不同的网络协议体系,然后配套一系列相对应的计算机网络硬件设备来完成计算机的连网需求,而且它们之间并不能通用。这样造成了如果你选择了一个厂商的网络产品,就被捆绑在这个厂商上,不得不“从一而终”,这显然降低了整个网络系统的可扩展性,甚至妨碍了计算机网络的更一步发展。
为此,国际标准化组织(ISO、International Standard Organization)在1979年建立了一个专门的分委员会来研究和制定一种开放的、公开的、标准化了的网络结构模型,以期用它来实现计算机网络之间相互联接与沟通。
经过一段时间后,ISO组织提出了一套称为“开放系统互联参考模型”(OSI、Open System Interconnection)。它定义了一套用于连接异种计算机的标准框架。由于ISO组织的权威性,加上人们需要一个相互兼容、共同发展的,新的网络体系,所以OSI参考模型成为了各大厂商努力遵循的标准。到了今天,虽然网络协议并不是完全与它一致的,但却都是根据它来制定的,所以确保了它们的开放性和兼容性。从某种意义上说,OSI参考模型已成为了计算机网络协议的“金科玉律”。
OSI参考模型采用了分层的结构化技术,将功能逻辑上划分开来,以使整个结构具有较高的灵活性。OSI参考模型共七层:应用层(Application Layer)、表示层(Presentation Layer)、会话层(Session Layer)、传输层(Transport Layer)、网络层(Network Layer)、数据链路层(Data Link Layer)、物理层(Physical Layer)。
7. 应用层(Application)
6. 表示层(Presentation)
5. 会话层(Session)
4. 传输层(Transport)
3.网络层(Network)
2.数据链路层(Data Link)
1. 物理层(Physical)
表6-1 OSI七层结构
有一句英文短句可以帮助你来记住它们的顺序:All people seem need to data process.每个单词的最前一个字母与每一个层相对应。下面我们就逐层作一相对简单的介绍:
6.1.1 物理层
物理层,它通过一系列协议定义了通信设备的机械的、电气的、功能的、规程的特征。
机械特征:规定线缆与网络接口卡的连接头的形状、几何尺寸、引脚线数、引线排列方式、锁定装置等一系列外形特征;
电气特征:规定了在传输过程中多少伏特的电压代表“1”,多少伏特代表“0”;
功能特征:规定了连接双方每个连接线的作用:用于传输数据的数据线、用于传输控制信息的控制线、用于协调通信的定时线、用于接地的地线;
过程特征:具体规定了通信双方的通信步骤。
一句话,物理层的所有协议就是人为规定了不同种类传输设备、传输媒介如何将数字信号从一端传送到另一端,而不管传送的是什么数据。从这里我们可以判断出中继器和非交换技术的集线器是一种工作在物理层上的设备,因为它们都不关心它们传送的是什么设备,也不负责数据的正确到达目的地。
6.1.2 数据链路层
数据链路层,在物理层已能将信号发送到通信链路中的基础上,完成保证相邻结点之间有效地传送数据的任务。正在通信的两个站在某一特定时刻,一个发送数据,一个接收数据。数据链路层通过一系列协议将实现以下功能:
1) 封装成帧:把数据组成一定大小的数据块,我们称之为帧。然后以帧为单位发送、接收、校验数据;
2) 流量控制:对发送数据的一方,根据接收站的接收情况,实时地进行传输速率控制,以免出现发送数据过快,接收方来不及处理而丢失数据;
3) 差错控制:对接收数据的一方,当接收到数据帧后对其进行检验,如果发现错误,则通知发送方重传;
4) 传输管理:在发送端与接收端通过某种特定形式的对话来建立、维护和终止一批数据的传输过程,以此对数据链路进行管理。
就发送端而言,数据链路层将来自上层的数据按一定规则就成比特流送到物理层处理;就接收端而言,它通过数据链路层将来自物理层的比特流合并成完整的数据帧供上层使用。
根据数据链路层的需要,必须唯一的标识出每个站点。现在最常用的方法是将网络接口卡(网卡)编上一个唯一的编号。习惯上,这个编号称为MAC地址。
实际上很大一部分的数据链路层的功能是由网卡来完成的,网卡工作在数据链路层,网桥需要将物理层的比特流合并成完整的数据帧,以得知其接收站点的地址,所以也是工作在数据链路层的一种网络设备。
6.1.3 网络层
网络层,用于从发送端向接收端传送分组。
也许读者会觉得不可思议,不是数据链路层已经保证了相邻节点之间无差错传送数据帧了吗?那么网络层到底有什么用呢?它存在的主要目的就是解决以下问题:
1) 通信双方并不相邻:在计算机网络中,通信双方可能是相互邻接的,但也可能并不是邻接的,这样当一个数据分组从发送端发送到接收端的过程中,就可能在这个中间要经过多个其它网络结点,这些结点暂时存储“路过”的数据分组,再根据网络的“交通状况”选择下一个结点将数据分组发出去,直到发送到接收方为止。
2) 正如前面所阐述的一样,由于OSI参考模型是出现在许多网络协议之后的,它就必须为使用这些已经存在的网络协议的计算机网络之间的相互通信作出贡献。事实上,网络层的一些协议解决了这样的异构网络的互联问题。
另外,上一章所提到的路由器、第三层交换机都是用于实现根据网络的“交通状况”
选择下一个站点将数据分组发出去的功能,所以它们都是网络层的设备。
6.1.4 传输层
传输层,实现发送端和接收端的端口到端口的数据分组传送。
传输层的出现是为了更加有效地利用网络层所提供的服务。它主要体现在以下两方面:
1) 将一个较长的数据分成几个小数据报发送:由于实际在网络上传递的每个数据帧都是有一定大小限制的。假设如果我们要传送一个字串“123456789”,它太长了,网络服务程序一次只能传送一个数字(当然在实际中不可能这么小,这里仅是为了方便讲解作的假设),因此,网络就需要将其分成9次来传递。就发送端而言当然是从1传到9的,但是由于每个数据分组传输的路径不会完全相同(因为它是要根据当时的网络“交通状况”而选择路径的嘛),先传送出去的包,不一定会先被收到,因此接收端所收到的数据的排列顺序是与发送的顺序不同的。而传输层的协议就给每一个数据组加入排列组合的记号,以便接收端能根据这些记号将它们“重组”成原来的顺序。
2) 解决通信双方不只有一个数据连接的问题:这个问题从字面上可能不容易理解,实际上就是指,比如我用电脑与另一台电脑连接拷贝数据是同时,又通过一些交谈程序进行对话。这个时候,拷贝的数据与对话的内容是同时到达的,传输的协议还负责将它们分开,分别传给相应的程序端口。这也就是端到端的通信。
6.1.5 会话层
相对于其它层来说,会话层比较简单,它主要的服务是管理对话控制。比如说,在传输的数据中加入检查点来使通信双方同步。
6.1.6 表示层
表示层以下的各层只关心从这里到那里可靠地传输数据,而表示层则关心的是所传送的信息的语义与语法。它负责将收到的数据转换为计算机内的表示方法或特定的程序的表示方法。也就说,它负责通信协议的转换、数据的翻译、数据的加密、字符的转换等工作。
6.1.7 应用层
应用层,就是直接提供服务给使用者的应用软件。比如电子邮件、在线交谈程序都属于应用层的范畴。
6.1.8 OSI参考模型工作模式
上面一大段的文字也许让大家都感到晕头转向了,让我们一起来整理一个思路。
图6-1 OSI参考模型工作模式
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。