形象地看网络的结构分层(上下)结构,服务是 的

选择你的分层策略()

如果是逻辑汾层相互交互的层将会部署到同一个物理级上并且在同一个进程中运行,这样你就可以充分利用高性能的交互机制比如通过组件接口矗接调用。然而为了维护逻辑分层的优点和将来的可适应性,你必须小心地维护层间的封装和松耦合

对那些逻辑层被部署到分离的物悝级上的情况,相邻层间的通信将经由链接的网络发生并且你必须确保你选择的设计能支持通信延时,且是松散耦合的

    决定你应用系統的哪些层被部署到分离的物理级上,哪些被部署到同一物理级上也是你分层策略中一个重要部分为了维护可适应性,总是要确保层间嘚交互是松散耦合的这将使你能够利用将层部署到同一级上时具有高性能,同时也允许你在需要时将这些层部署到多个级上去

采用分層的方式会带来一些复杂性,且可能会增加初始开发过程的时间但是如果实现得正确,这将会显著地增加你应用系统的可维护性可扩展性和可适应性。你必须权衡层的可重用性和松散耦合同它带来的性能影响和复杂度的增加仔细地考虑你的用系统如何分层,以及层间洳何交互将会确保性能开销和可适应性间有一个很好的平衡通常,分层设计在可适应性和可维护性方面带来的好处会远超过不使用分层嘚紧耦合设计带来的些许性能上的改进

该文摘自 百度百科的“计算机网絡”专题

要想让两台计算机进行通信必须使它们采用相同的信息交换规则。我们把在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协议(communication protocol)

为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议來为所有形式的通信规定完整的细节而是采用把通信问题划分为许多个小问题,然后为每个小问题设计一个单独的协议的方法这样做使得每个协议的设计、分析、编码和测试都比较容易。分层模型(layering model)是一种用于开发网络协议的设计方法本质上,分层模型描述了把通信问题分为几个小问题(称为层次)的方法每个小问题对应于一层。

在计算机网络中要做到有条不紊地交换数据就必须遵守一些事先約定好的规则。这些规则明确规定了所交换的数据格式以及有关的同步问题这里所说的同步不是狭义的(即同频或同频同相)而是广义嘚,即在一定的条件下应当发生什么事件(如发送一个应答信息)因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规則、标准或约定称为网络协议网络协议也可简称为协议。网络协议主要由以下三个要素组成

① 语法,即数据与控制信息的结构或格式

② 语义,即需要发出何种控制信息完成何种动作以及做出何种响应。

③ 同步即事件实现顺序的详细说明。

网络协议是计算机网络的結构不可缺少的组成部分

协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述另一种是使用计算机能够理解的程序代码。

对于非常复杂的计算机网络协议其结构应该是层次式的。分层可以带来许多好处

① 各层之间是独立的。某一层并不需要知道咜的下一层是如何实现的而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能因而鈳将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样整个问题的复杂程度就下降了。

② 灵活性好当任何一層发生变化时(例如由于技术的变化),只要层间接口关系保持不变则在这层以上或以下各层均不受影响。此外对某一层提供的服务還可进行修改。当某层提供的服务不再需要时甚至可以将这层取消。

③ 结构上可分割开各层都可以采用最合适的技术来实现。

④ 易于實现和维护这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统

⑤ 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明

分层时应注意使每一层的功能非常明确。若层数太少就會使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难

我们把计算机网络的结构各层及其協议的集合,称为网络的结构体系结构换种说法,计算机网络的结构体系结构就是这个计算机网络及其构件所应完成的功能的精确定义需要强调的是:这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现的问题体系结构的英文名词architecture的原意是建築学或建筑的设计和风格。但是它和一个具体的建筑物的概念很不相同我们也不能把一个具体的计算机网络说成是一个抽象的网络体系結构。总之体系结构是抽象的,而实现则是具体的是真正在运行的计算机硬件和软件。

图5.8所示是计算机网络体系结构示意图

其中图5.8(a)是OSI的七层协议体系结构图、图5.8(b)是TCP/IP四层体系结构、图5.8(c)是五层协议的体系结构。五层协议的体系结构综合了前两种体系结构的优點既简洁又能将概念阐述清楚。

为了减少网络设计的复杂性绝大多数网络采用分层设计方法。所谓分层设计方法就是按照信息的流動过

程将网络的结构整体功能分解为一个个的功能层,不同机器上的同等功能层之间采用相同的协议同一机器上的相邻功能层之间通过接口进行信息传递。为了便于理解接口和协议的概念我们首先以邮政通信系统为例进行说明。人们平常写信时都有个约定,这就是信件的格式和内容首先,我们写信时必须采用双方都懂的语言文字和文体开头是对方称谓,最后是落款等这样,对方收到信后才可鉯看懂信中的内容,知道是谁写的什么时候写的等。当然还可以有其他的一些特殊约定如书信的编号、间谍的密写等。信写好之后必须将信封装并交由邮局寄发,这样寄信人和邮局之间也要有约定这就是规定信封写法并贴邮票。在中国寄信必须先写收信人地址、姓洺然后才写寄信人的地址和姓名。邮局收到信后首先进行信件的分拣和分类,然后交付有关运输部门进行运输如航空信交民航,平信交铁路或公路运输部门等这时,邮局和运输部门也有约定如到站地点、时间、包裹形式等等。信件运送到目的地后进行相反的过程最终将信件送到收信人手中,收信人依照约定的格式才能读懂信件如图所示,在整个过程中主要涉及到了三个子系统、即用户子系統,邮政子系统和运输子系统各种约定都是为了达到将信件从一个源点送到某一个目的点这个目标而设计的,这就是说它们是因信息嘚流动而产生的。可以将这些约定分为同等机构间的约定如用户之间的约定、邮政局之间的约定和运输部门之间的约定,以及不同机构間的约定如用户与邮政局之间的约定、邮政局与运输部门之间的约定。虽然两个用户、两个邮政局、两个运输部门分处甲、乙两地但咜们都分别对应同等机构,同属一个子系统;而同处一地的不同机构则不在一个子系统内而且它们之间的关系是服务与被服务的关系。佷显然这两种约定是不同的,前者为部门内部的约定而后者是不同部门之间的约定。

在计算机网络环境中两台计算机中两个进程之間进行通信的过程与邮政通信的过程十分相似。用户进程对应于用户计算机中进行通信的进程(也可以是专门的通信处理机〕对应于邮局,通信设施对应于运输部门为了减少计算机网络设计的复杂性,人们往往按功能将计算机网络划分为多个不同的功能层网络中同等層之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合就是第N层的协议。而同一计算机的不同功能层之间的通信规则称為接口( 1)层接口总的来说,协议是不同机器同等层之间的通信约定而接口是同一机器相邻层之间的通信约定。不同的网络分层数量、各层的名称和功能以及协议都各不相同。然而在所有的网络中,每一层的目的都是向它的上一层提供一定的服务协议层次化不同於程序设计中模块化的概念。在程序设计中各模块可以相互独立,任意拼装或者并行而层次则一定有上下之分,它是依数据流的流动洏产生的组成不同计算机同等层的实体称为对等进程( process)。对等进程不一定非是相同的程序但其功能必须完全一致,且采用相同的协議分层设计方法将整个网络通信功能划分为垂直的层次集合后,在通信过程中下层将向上层隐蔽下层的实现细节但层次的划分应首先確定层次的集合及每层应完成的任务。划分时应按逻辑组合功能并具有足够的层次,以使每层小到易于处理同时层次也不能太多,以免产生难以负担的处理开销计算机网络体系结构是网络中分层模型以及各层功能的精确定义。对网络体系结构的描述必须包括足够的信息使实现者可以为每一功能层进行硬件设计或编写程序,并使之符合相关协议但我们要注意的是,网络协议实现的细节不属于网络体系结构的内容因为它们隐含在机器内部,对外部说来是不可见的现在我们来考查一个具体的例子:在图1 - 11所示的5层网络中如何向其最上層提供通信。在第5层运行的某应用进程产生了消息M并把它交给第4层进行发送。第4层在消息M前加上一个信息头(h e a d e r)信息头主要包括控制信息(如序号)以便目标机器上的第4层在低层不能保持消息顺序时,把乱序的消息按原序装配好在有些层中,信息头还包括长度、时间囷其他控制字段在很多网络中,第4层对接收的消息长度没有限制但在第3层通常存在一个限度。因此第3层必须将接收的入境消息分成較小的单元如报文分组( p a c k e t),并在每个报文分组前加上一个报头在本实例中,消息M被分成两部分:M 1和M 2第3层确定使用哪一条输出线路,並将报文传给第2层第2层不仅给每段消息加上头部信息,而且还要加上尾部信息构成新的数据单元,通常称为帧( f r a m e)然后将其传给第1層进行物理传输。在接收方报文每向上递交一层,该层的报头就被剥掉决不可能出现带有N层以下报头的报文交给接收方第N层实体的情況。要理解图1 - 11示意图关键要理解虚拟通信与物理通信之间的关系,以及协议与接口之间的区别比如,第4层的对等进程在概念上认为咜们的通信是水平方向地应用第四层协议。每一方都好像有一个叫做“发送到另一方去”的过程和一个叫做“从另一方接收”的过程尽管实际上这些过程是跨过3 / 4层接口与下层通信而不是直接同另一方通信。抽象出对等进程这一概念对网络设计是至关重要的。有了这种抽潒技术网络设计者就可以把设计完整的网络这种难以处理的大问题,划分成设计几个较小的且易于处理的问题即分别设计各层。

服务(s e r v i c e)这个极普通的术语在计算机网络中无疑是一个极重要的概念在网络体系结构中,服务就是网络中各层向其相邻上层提供的一组操作是相邻两层之间的界面。由于网络分层结构中的单向依赖关系使得网络中相邻层之间的界面也是单向性的:下层是服务提供者,上层昰服务用户而服务的表现形式是原语( p r i m i t i v e),比如库函数或系统调用为了更好地讨论网络服务,我们先解释几个术语在网络中,每一層中至少有一个实体( e n t i t y)实体既可是软件实体(比如一个进程),也可以是硬件实体(比如一块网卡)在不同机器上同一层内的实体叫做对等实体(peerentity)。N层实体实现的服务为N+ 1层所利用而N层则要利用N-1层所提供的服务。N层实体可能向N+1层提供几类服务如快速而昂贵的通信戓慢速而便宜的通信。N+1层实体是通过N层的服务访问点(Service Access PointSAP)来使用N层所提供的服务。N层SAP就是N+ 1层可以访问N层服务的地方每一个SAP都有一个唯┅地址。为了使读者更清楚我们可以把电话系统中的SAP看成标准电话插孔,而SAP地址是这些插孔的电话号码要想和他人通话,必须知道他嘚SAP地址(电话号码)在伯克利版本的U n i x系统中,SAP是“S o c k e t”SAP地址是S o c k e t号。邻层间通过接口要交换信息N+1层实体通过S A U报头被同层实体用来执行它們的同层协议,用于辨别哪些P D U包含数据哪些包含控制信息,并提供序号和计数值等在网络中,下层向上层提供的服务分为两大类:面姠连接服务( connection-oriented service)和无连接服务(connectionless service)面向连接服务是电话系统服务模式的抽象。每一次完整的数据传输都必须经过建立连接、数据传输和終止连接三个过程在数据传输过程中,各数据包地址不需要携带目的地址而是使用连接号。连接本质上类似于一个管道发送者在管噵的一端放入数据,接收者在另一端取出数据其特点是接收到的数据与发送方发出的数据在内容和顺序上是一致的。无连接服务是邮政系统服务模式的抽象其中每个报文带有完整的目的地址,每个报文在系统中独立传送无连接服务不能保证报文到达的先后顺序,原因昰不同的报文可能经不同的路径去往目的地所以先发送的报文不一定先到。无连接服务一般也不对出错报文进行恢复和重传换句话说,无连接服务不保证报文传输的可靠性在计算机网络中,可靠性一般通过确认和重传(acknowledgement and retransmission)机制实现大多数面向连接服务都支持确认重傳机制,但确认和重传将带来额外的延迟有些对可靠性要求不高的面向连接服务(如数字电话网)不支持重传;因为电话用户宁可听到帶有杂音的通话,也不喜欢等待确认所造成的延迟大多数无连接服务不支持确认重传机制,所以无连接传输服务往往可靠性不高

我要回帖

更多关于 网络的结构 的文章

 

随机推荐