计算机网络 之 体系结构

要想让计算机之间进行通信,必须是他们采用相同的信息交换规则。把在计算机网络中用于规定信息的格式以及如何发送和接受信息的规则成为网络协议或通信规则。
为了减少网络协议设计的复杂性,网络设计者并不是设计一个巨大的协议来实现所有形式通信的细节,而是采用把通信问题划分为许多个字问题,然后为每一个字问题设计一个单独协议的方法。这样可以使得每个协议的设计、分析、编码、和测试都比较容易。分层技术是一种用于开发网络协议的设计方法。
计算机网络体系结构概述
计算机网络体系结构的定义
计算机网络体系结构是关于计算机网络应设置哪几层,每层应提供哪些功能的精确定义。功能如何实现,则不属于网络体系结构部分。网络体系结构知识从功能上描述计算机网络的结构,而不涉及每层硬件和软件的组成,也不涉及这些硬件或软件的实现问题。因此,计算机网络体系结构是抽象的。定义和描述一组用于计算机之间之间互联的标准和规范的集合遵循这组规范可以分方便的时间计算机之间的通信。
计算机网络的层次及其各层协议的集合,称为计算机网络体系结构。
计算机网络体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件。
国际标准化组织提出了开放系统互联参考模型OSI
网络协议
大多数的计算机网络都采用层次结构,即将一个计算机网络分为若干层次,处在高层次的系统仅是利用较低层次的系统提供的接口和功能,不需了解底层实现该功能所采用的算法和协议;较低层次也仅是使用从高层系统传来的参数,这就是层次间的无关性。因为有了这种无关性,层次间的每个模块可以用一个新的模块取代,只要新的模块与旧的模块相同的功能和接口,即使他们使用的算法和协议都不一样。当任何一曾发生技术上的变化,只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可以进行修改。当某曾提供的服务不再需要时,甚至可以将这层取消。
网络中的计算机与计算机之间要能够正确的传送信息和数据,必须在数据传输的顺序、数据的格式及内容方面有一个约定或规则,这种约定或规则称作网络协议。网络协议主要有三个部分组成:
1)语法:将若干个协议元素和数据组合在一起,用来表达一个完成的内容所应遵循的格式,也是对信息的数据结构做一种规定。例如用户数据与控制信息的结构结构与格式。
2)语义:是对协议元素的含义进行解释,不同类型的协议元素所规定的寓意是不同的。例如:需要发出何种控制信息,完成何种动作及得到的响应。
3)规则:对事件实现顺序的详细说明。例如在双方进行通信时,发送点发出一个数据报文,如果目标点正确收到,则回答源节点接受正确;若接收到错误的信息,则要求源节点再发一次
由此可以看出,协议(Protocol)实质上是网络通信是所使用的一种语言,是计算机网络不可缺少的组成部分
层次模型及其划分原则
1)层次模型
计算机网络系统是一个十分复杂的系统。讲一个复杂系统分解成若干个容易处理的系统,然后分而治之,这种结构化设计方法是工程设计中最常见的手段。分层就是系统分解的最好方法之一。在图中所示的一般分层结构中,n层是n-1层的用户,又是n+1层的服务提供者。n+1层虽然直接使用了n层提供的服务,实际上他通过n层间接地使用了n-1层以及以下各层的服务。
层次结构的好处在于是每一层实现一种相对独立功能。分层结构还有一与交流、理解和标准化。计算机网络的层次结构一般以垂直分层模型还表示。
2)层次结构的特点
把功能作为划分层次的基础,第n层的实体在实现自身定义的功能时,只能使用第n-1层提供的服务,第n层在向第n+1层提供的服务时,此服务不仅包含第n层本身的功能,还包含有下层服务提供的功能,尽在相邻层间有接口,且所提供服务的具体实现细节上对上一层完全屏蔽。因此,层次结构的主要特点:
1)除了对物理媒体上进行的实时通信外,其余各对等实体间进行的都是虚通信。
2)对等曾的虚通信必须遵循盖层的协议。
3)n层的虚通信是通过n/n-1层间接口处n-1层提供的服务以及n-1层的通信来实现的
(3)层次结构划分的原则
分层时应注意使每一层的功能非常明确。当层次数太少,就会使每一层的协议太复杂。层次太多就会在描述和综合各层功能的系统工程任务时遇到较多的困难。层次结构划分层次的原则:
1)每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上下层的借口不变,便不会对邻居产生影响
2)层间接口必须清晰,跨越接口的信息量应尽可能少
3)层数应适中
网络标准化组织
OSI==Open System Interconnection开放系统互连参考模型
开放的含义:只要遵循OSI标准,一个系统就可以和世界上任何地方的、也遵循这同一标准的任何系统进行通信。
系统:按一定关系或规则工作在一起的一组物体或一组部件
实系统:在现实世界中能够进行信息处理或信息传递的自治整体,他可以是一台计算机或者多台计算机以及这些计算机相关的软件、外部设备、终端、操作员、信息传递手段的集合。
分层是制定网络体系结构时常采用的方法,分层是一种处理复杂问题的好方法,但分层本身是一件很复杂的事情。分层好坏往往是影响某个网络体系结构性能的主要因素。目前还没有中最佳的分层方法,OSI/RM遵循以下规则:
1)结构的层次不能太多,以免造成系统结构的繁杂;结构的层次太少会使每层协议过于复杂
2)当必须区分不同类型功能群时,应设置一个层次
3)每一层只与他相邻的上下层发生关系,且层与层边界的选取应使通过边界的信息量尽可能少。
4)每层功能应非常明确
根据这些原则,经反复讨论研究,OSI参考模型采用了7个层次的体系结构。
OSI参考模型各层的主要功能
OSI/RM的概念比较抽象,他并没有规定具体的实现方法和措施,更为对网络的性能提出具体的要求,他只是一个为制定标准用的概念性框架。OSI/RM七层协议模型上下大,中间小,这是因为最高层要为各种类型的应用进程提供接口,而最底层要提供各种类型的网络接口,因此上下两头标准特别多,而中间几层标准就少简单些。有些层的任务过于繁重,如数据链路层和网络层,有些层的人物有太清如会话层和表示层。
1)物理层
物理层是OSI参考模型的最底层,也是在同级层之间直接进行信息交换的唯一层。物理层负责传输二进制位流,他的任务就是为上层(数据链路层)提供一个物理连接,以便在相邻结点之间无差错的传送二进制位流,至于那几个比特代表什么意义,则不是物理层所要管的。物理层要考虑的是多大的电压代表1,多大的电压代表0,连接电缆的插头尺寸多大等。
2)数据链路层
数据链路层的主要作用是通过一些数据链路层协议和链路控制规程,在不太可靠的物理链路上实现可靠的数据传输。
线路(Line)、链路(Link)、数据链路是不同的概念。
线路中间没有任何交换节点,而链路是一条无源的端到端的物理线路段,在进行数据通信时,两台计算机之间的通信链路往往是由许多线路串接而成的。把实现控制数据传输的一些规程的硬件和软件加到链路上就构成了像数据管道一样的数据链路。有时往往将链路称为物理链路,而将数据链路成为逻辑链路,及物理链路上加上必要的通信规程就是数据链路。
数据链路层的作用是将物理层提供的可能出错的物理链路改造成为逻辑上无差错的数据链路,即使之对网络层表现为一条无差错的链路。数据链路层的基本功能是向网络层提供透明的和可靠的数据传送服务。
3)网络层
网络层是在数据链路层提供的两个节点之间的数据帧的转送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务,网络层关系到通信子网的运行控制,体现了网络应用环境中资源子网访问通信子网的方式,是OSI模型中面向数据通信的第三层中最为复杂、最关键的一层。网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括路由选择、阻塞控制和网际互联。
4)传输层
传输层的任务是在端到端之间提供可靠的报文传输,向会话层提供一个可靠的端到端的服务,使会话层以上看不见传输层以下的通信细节,传输层以上各层不再管数据传输的问题了。传输层是OSI/RM模型中负责数据通信的最高层,也是面向网络通信的低三层和面向信息处理的高三层之间的中间层。传输层位于网络层之上、会话层之下,他利用网络层提供给他的服务开发本层的功能,并实现本层对对话层的服务。正因为如此,传输层是计算机网络体系结构中最重要的一层,传输协议也是最复杂的协议,其复杂程度取决于网络层所提供的服务类型以及上层对传输层的要求。传输层协议通常由网络操作系统的一部分来完成。
5)会话层
会话层是建立在传输层之上,由于利用传输层提供的服务,使得两个会话实体之间不考虑他们隔多远、使用了什么样的通信子网等网络通信细节,进行透明的、可靠的数据传输。会话层是在两个相互通信的实体之间建立、组织、协调其交互。两个应用程序进程进行相互通信时,希望有个第三方的进程能管理他们的对话,协调他们之间的数据流,以便是应用进程专注于信息交互。会话层就是为了达到这个目的,因此,会话层是在传输层的基础上进行增值服务,向会话的应用程序之间提供会话管理和同步服务,对数据的传输提供控制和管理,以达到协调会话过程,为表示层实体提供更好的服务。
6)表示层
表示层位于OSI参考模型的第六层。OSI的第五层用于将数据从源主机传送到目的主机,而表示层则要保证所传输的的数据经传输后其意义不改变。因此,表示层要解决的是处理两个应用实体之间进行数据交换的语法问题。解决数据交换中存在的数据格式不一致以及数据表示方法不相同等问题,如何描述数据结构并使之与机器无关。表示层还必须提供数据压缩,数据加密解密等服务。
7)应用层
应用层是用户应用程序访问网络服务的接口,他为用户的应用进程访问OSI环境提供服务。OSI/RM模型中应用层包含的协议最多。
虚拟通信与实际信息流向
在OSI/RM中,通信在对等层的实体之间进行。实际上,除了物理层之外,同等层之间并没有直接的物理通信。尽管第N层协议时不同机器上两个N曾实体之间的通信规则,但这个通信是虚的。因此对等层之间的通信为虚拟通信。实际的通信在相邻层之间通过层间接口进行。
实际的信息流如图:
应用进程A现将其数据交给第7层(应用层),第7层在这个报文(MESSAGE)上加上若干比特的控制信息,这些控制信息称为报头(Header),成为下一层的数据单元。第6层收到这个报文后,加上该层的报头传送给第5层。第5层对收到的报文加上第5层的包头传到第4层。假定因报文过长第四层对收到的报文做一些处理,把M分成两个分组P1和P2。每个分组分别加上第四层的控制信息发送到第三层。第三层把第四层传来的保温分组及包头看成是高层数据单元,再加上第三层的报头发往第二层。第二层加上自己的头部和尾部构成第二层的数据单元“帧”,传送给第1层,第1层(物理层)由于是比特流的传送,所以不再加控制信息。当比特流经网络的传输介质送到目的站时,就从第一层依次上升到最高层,每层根据控制信息进行必要的操作,然偶将控制信息丢弃,将剩下的数据单元交给相邻上层,最后把应用进程APA发送的数据交给目的应用进程APb。由此可见。除物理层外,信息交换是在同一系统中纵向进行的,并没有在不同系统的同级层间进行。但对每一实体来讲,由于这些复杂的过程都交给通信处理软件来处理,队进行通信的实体来讲是透明的,所以从进行通信的同等层实体来看们好像信息是直接传递给对方。这就是所谓的对等层之间的通信,即虚拟通信。
协议、服务、服务访问点
研究开放系统中进行交换信息时,发送或者接受信息的究竟是一个进程、是一个文件还是一个终端,都没有实质上的影响。为此,可以用实体这一名词表示任何可发送或接受信息的硬件或者软件进程,在很多情况下,实体就是一个特定的软件模块。
协议是控制两个对等实体进行通信规则的集合,协议语法方面的规则定义了所交换信息的格式,而协议语义方面的规则就定义了发送者或者接受者所要完成的操作,例如:在何种条件下数据必须重发或者丢弃。在协议的控制下,两个对等实体间的通信使得本层能够像上层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。协议和服务在概念上是有区别的。第一:协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而不能看见下面的协议,下面的协议对上面的服务用户是透明的。第二:协议是控制对等实体之间通信的规则,是实现虚通信的;而服务是由下层向上层通过层间接口提供的,实现的实通信。并非在一个层内完成的全部功能都成为服务,只有那些能够被告一层看得见的功能才能称之为服务。上层是用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语。
在同一系统中相邻两层的实体进行交互(即交换信息)的地方成为服务访问点。服务访问点SAP是一个抽象的概念,是相邻两层实体的逻辑接口。在一个系统的两层之间可以允许有多个服务访问点SAP,每一个SAP都有为一个地址码,供服务用户间建立连接之用。
信息传送单元
OSI参考模型中,信息传送的单位(各种数据单元)共分为3种
1)协议数据单元(PDU,Protocol Data Unit协议数据单元)
在OSI(Open System Interconnection开放系统互联参考模型)中,每一层都将建立协议数据单元(PDU,Protocol Data Unit协议数据单元)。PDU包含来自上层的信息,以及当前层的实体附加的信息。然后,这个PDU被传送到下一较低的层。接收端自下而上传送的这些PDU,在每一层分理出PDU的相关信息。重要的一点是:每一层附加到PDU上的信息,是制定给另一个系统的同等层的。因此,协议数据单元就是在不同站点的各层对应实体之间,为实现该层协议所交换的信息单元。值得纸糊的是,PDU在不同的层有不同的叫法,在物理层称作比特流(PDU),在数据链路层称作帧,在网络层称做数据报,在传输层中称做数据段,在应用层中称作报文。
第N层协议数据单元记作(N)PDU
(N)PDU包含两个部分::本层的用户数据和本层的协议控制信息
(N)PDU=(N)用户数据+(N)PCI(Procotol Control Information)
2)接口数据单元(IDU,Interface Data Unit接口数据单元)
相邻层通过接口通信交换的数据单元称为接口数据单元(IDU)。IDU由接口控制信息ICI和服务数据单元SDU组成。相邻层间的服务是通过器接口界面上的服务服务访问点SAP进行的,n层的SAP是n+1层可以访问n层的访问点。
IDU=ICI+SDU
3)服务数据单元(SDU)
实体为了完成服务用户所请求的功能所需要的数据单元(为了完成服务所需要的数据单元)。服务数据单元是层与层之间交换的数据单位。
协议数据单元(PDU)、接口数据单元(IDU)、服务数据单元(SDU)的关系如图:
PDU==PCI+SDU
PDU+PDU=IDU
本层的协议[控制信息]+本层的[服务数据]单元==本层的协议数据单元
本层协议数据单元+下一层的协议数据单元—>服务访问点SAP===下一层的服务数据单元
总之:本层协议控制信息(PCI)+本层服务数据单元(SDU)==本层协议数据单元(PDU),本层数据单元(PDU)+下层数据单元(PDU)–>服务访问点(SAP)===下一层的服务数据单元(SDU)
服务方式
OSI参考模型中服务方式有两种:面向连接服务与无连接服务
1)面向连接服务
连接是两个对等实体为进行数据通信而进行的一种结合。面向连接服务是在数据交换之前,必须建立连接。数据交换结束后,则终止这个连接。因此,面向连接服务在网络层中又称为虚电路服务。虽然在两个服务用户的通信过程中并没有自始至终专用一条端到端的完整物理电路,但却好像一直占用了这样的一条电路。面向连接服务比较适合在一定期间内要向同一目的地发送许多报文的情况。
面向连接服务具有连接建立、数据传输、连接释放这三个阶段。在传送数据时为按序传送,是可靠的服务,可提供流量控制、差错控制和序列控制。
面向连接服务的特点:
1)在连接建立时,需要给出双方地址,连接成功后,在数据传输时,仅仅使用连接符。
2)保温能够按顺序发送,质量好,不会丢失
3)通信的两个实体必须同时是活跃的
(2)无连接服务
再无连接服务的情况下,两个实体之间的通信不需要先建立好一个连接,传输数据过程中每个分组都必须携带完整的目标地址和源地址,个分组在系统中独立传送。无连接服务不能保证接受发送数据的一致。无连接服务适合传送少量零星的数据。
无连接服务的特点是:
1)灵活方便,但不能防止报文的丢失
2)每个报文都需要提供双方的地址,网络传输的开销大
3)不需要通信的两个实体同时处于激活状态,发送端实体或者接收端实体在发送或者接受时,它才必须是活跃的。
其他著名体系结构简介
1、TCP/IP体系结构
TCP/IP协议已发展成为计算机之间最长应用的网络协议。
TCP/IP是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统,如图:包括应用层(Telnet远程连接,FTP和e-mail)、传输层(TCP和UDP,传输控制协议和用户数据协议),网络层(IP,ICMP和IGMP,网际协议,Internet控制报文协议,Internet组管理协议),链路层(设备驱动程序以及接口卡)
1)链路层
有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。他们一起处理与电缆(或者其他任何传输媒介)的物理接口细节。
2)网络层
有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议组中,网络层协议包括IP协议(网际协议),ICMP(Internet控制报文协议),IGMP(Internet组管理协议,Internet Group Management Procotol)。不同的物理网络技术有不同的编址方式。不同物理网络中的主机,有不同的物理网络地址。互联网技术是将不同的物理网络技术统一起来的高层软件技术。互联网技术采用一种全局通用的地址格式,为全网每一网络和每一主机都分配一个网间地址,以此屏蔽物理网络地址的差异。IP协议提供一种全互联网通用的地址格式,并在统一管理下进行地址分配,保证一个地址对应一台主机,这样物理地质的差异被IP层所屏蔽。IP提供的是无连接服务。
3)传输层
主要为两台主机上的应用程序提供端到端的通信。从通信和信息处理的角度看,传输层属于面向通信部分的最高层。但是从网络功能或者用户功能来划分,则传输层又属于用户功能中的最底层。传输层向高层用户屏蔽了下面通信子网的细节,使用户看不到实现通信功能的物理链路数据链路采用的协议,在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。他所作的工作包括把应用程序交给他的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。TCP协议提供的是面向连接服务,是在不可靠的网络服务上提供端到端的可靠字节流。UDP则向应用层提供一种非常简单的服务。他只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另外一端,任何必须的可靠性必须有应用层来提供。这两种传输协议分别在不同的应用程序中有不同的用途。
4)应用层
负责处理特定的应用程序的细节。应用层协议并不是解决用户各种具体应用的协议,而是规定应用进程在通信时所遵循的协议。TCP/IP体系结构中常用的应用层协议有:
1)文件传输协议FTP、TFTP
FTP是Internet上使用最广泛的文件传输协议,他屏蔽了各计算机系统的字节编码,因而适合于异构网络中任意计算机之间传送文件,它支持许多不同文件类型和文件组织形式。FTP是基于TCP协议。TFTP(Trivial File Transfer Protocol)是FTP功能的一个子集,简化了FTP实现的复杂性,TFTP使用的是UDP数据报,因此,TFTP要有自己的差错纠正措施。TFTP只支持文件传输,而不支持交互,因此没有庞大的命令集。
2)简单邮件传输协议SMTP(Simple Message Transfer Procotol,SMTF简单文件传输协议)
SMTP是在两个报文传送代理之间的通信协议。SMTP规定了十四条命令和二十一种应答信息。SMTP通信的三个阶段主要是连接建立,邮件传送,连接释放。
3)远程登录TELNET
TELNET是一个简单的终端协议。用户用TELNET就可以在其所在的通过TCP链接注册到远地的另一个主机上。TELNET能把用户的击键传到远地主机,也能把远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,用户感觉好像键盘和现实其实直接连在原地主机上。
4)SNMP简单网络管理协议(Simple Network Management Procotol简单网络管理协议)
SNMP是简单网络管理协议,它是由Internet工程任务组织的研究小组为了解决Internet上的路由器管理问题而提出的,提供了一种从网络上的设备中收集网络管理信息的方法,也为设备向网络管理中心报告问题和错误提供了可能。具有远程管理能力的SNMP使管理人员可以对整个子网进行管理,而不是对整个子网的设备进行管理。SNMP是一个标准的用于管理IP网络上节点的协议。SNMP模型引入了管理器和代理的概念,管理器是指以人类管理员身份负责所在网络的软件;代理指的被管理设备中的软件,他用已完成管理器所需要的进行的局部管理和应急通知管理的功能。
图中为TCP/IP体系结构中与OSI参考模型之间的对应关系
OSI 应用层+表示层+会话层<==>应用层 TCP/IP
传输层<==============>传输层
网络层<==============>网络层
数据链路层+物理层<=====>网络接口/链路层
SNA体系结构
SNA(System Network Architecture)是指经过同性系统传输信息的逻辑结构、格式、协议、和操作顺序的总称。相应的,对于服从SNA机构的设备就称为SNA设备。
1)SNA路径控制器
类似OSI网络层,提供分组装拆,路由选择,流量控制和拥塞处理等功能
2)SNA传输控制层
类似于OSI传输层,并增加了OSI表示层的部分能力,在提供端到端数据可靠和有序传输的同时,可以增加加密/解密功能。
APPN:提供对等通信的能力,提供路由选择、目录服务和窗口流量控制服务。
VTAM(虚拟远程通信访问机制):控制SNA网络中的通信和数据流量,提供单域、多域及互联的能力。
3)SNA数据流控制层
类似OSI会话层,控制请求和应答的时序,控制请求和应答的时序,确定数据的流向,并提供必要的数据差错矫正,保证数据传输的完整性。
4)网络可寻址部件服务(NAU)层
类似OSI表示层,执行数据的转换、以及数据的压缩,提高传输效率;同时还支持应用进程与网络地址的映射,保证应用进程的寻址能力,以及协调资源共享和同步操作等。
APPC(高级程序间通信):允许节点之间的对等通信,支持定义的服务实现,提供系列通信平台,提供编程接口CICS(客户信息控制系统):支持事务处理应用,提供终端到应用的通信
5)SNA事务服务层
包括为实现用户需求而开发的应用进程,以程序的方式提供用户使用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值