什么是N层体系结构?包括哪几层?请详细说明 爱问知识人

来源:百度文库 编辑:神马文学网 时间:2024/04/28 08:42:59
上面说的那个是网络的7结构。软件的(包括Java)的所谓N实际上是一步一步来的。最早的软件不但在物理上是单机的,在逻辑上也是融为一体的,面向用户的部分和处理业务逻辑的部分混在一起,致使程序非常复杂,而且不易维护。后来出现了两架构,C/S,Client/Server,实际上就程序会为面向用户的只处理人机交互的客户端和处理业务逻辑的服务端,而且通常客户端和服务端分别部署在不同的机器上。再后来,服务端进一步分化为业务和数据,即对数据库的操作都封装在数据,对业务逻辑的处理封装在业务。再向后发展,业务再次细,特别是对于Java来说,或者说对于J2EE来说,从人机交互到最后的数据处理,可为客户,Web,业务和EIS。客户对于BS的软件来说主要就是各种浏览器,或者说Html解释器,Web主要是Jsp的代码,业务对于J2SE来说主要是Servlet,对于J2EE来说主要是EJB,EIS主要是物理数据存储系统。再进一步细,Web按照MVC规范又可为模型、试图和控制三,EJB又为Session Bean,Entity Beans和Message-driven Beans,Session Bean用于处理会话,实体Bean实际上是逻辑数据的处理,和物理数据相对应。对于逻辑数据的处理,herbnate是EJB之外的另一个较为常用的架构。
实际上所谓的N可以理解为,为了软件本身体系架构的合理,理论上可以将软件本身更加需要任意,每处理不同层面的问题。
回答:2008-06-29 00:20
修改:2008-06-29 00:20提问者对答案的评价: 共0条评论...其他回答 共1条回答评论 ┆ 举报
可以的话
[新手]国际标准组织(ISO)制定了OSI模型。这个模型把网络通信的工作为7。1至4被认为是低层,这些与数据移动密切相关。5至7是高层,包含应用程序级的数据。每一负责一项具体的工作,然后把数据传送到下一

  物理(也即OSI模型中的第一),它看起来似乎很简单。但是,这一的某些方面有时需要特别留意。物理实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。甚至一个信鸽也可以被认为是一个1设备(参见RFC 1149)。网络故障的排除经常涉及到1问题。我们不能忘记用五类线在整个一楼进行连接的传奇故事。由于办公室的椅子经常从电缆线上压过,导致网络连接出现断断续续的情况。遗憾的是,这种故障是很常见的,而且排除这种故障需要耗费很长时间。

  第2是以太网等协议。我们要使这个问题简单一些。第2中最重要的是你应该理解网桥是什么。交换机可以看成网桥,人们现在都这样称呼它。网桥都在2工作,仅关注以太网上的MAC地址。如果你在谈论有关MAC地址、交换机或者网卡和驱动程序,你就是在第2的范畴。集线器属于第1的领域,因为它们只是电子设备,没有2的知识。第2的相关问题在本网络讲座中有自己的一部分,因此现在先不详细讨论这个问题的细节。现在只需要知道第2把数据帧转换成二进制位供1处理就可以了。

  如果你在谈论一个IP地址,那么你是在处理第3的问题,这是“数据包”问题,而不是第2的“帧”。IP是第3问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3处理。地址解析和路由是3的重要目的。

  第4是处理信息的传输。第4的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。理解第4的另一种方法是,第4提供端对端的通信管理。像TCP等一些协议非常善于保证通信的可靠性。有些协议并不在乎一些数据包是否丢失,UDP协议就是一个主要例子。

  现在快要到7了,我们很想知道第5和第6有些什么功能。可以说,它们都是没有用的。

  有一些应用程序和协议在5和6。但是,对于理解网络问题来说,谈论这些问题没有任何益处。请大家注意,第7是“一切”。7也称作“应用”,是专门用于应用程序的。如果你的程序需要一种具体格式的数据,你可以发明一些你希望能够把数据发送到目的地的格式,并且创建一个第7协议。SMTP、DNS和FTP都是7协议。

  学习OSI模型中最重要的事情是它实际代表什么意思。

  假如你是一个网络上的操作系统。在1和2工作的网卡将通知你什么时候有数据到达。驱动程序处理2帧的出口,通过它你可以得到一个发亮和闪光的3数据包(希望是如此)。作为操作系统,你将调用一些常用的应用程序处理3数据。如果这个数据是从下面发上来的,你知道那是发给你的数据包,或者那是一个广播数据包(除非你同时也是一个路由器,不过,暂时不用担心这个问题)。如果你决定保留这个数据包,你将打开它,并且取出4数据包。如果它是TCP协议,这个TCP子系统将被调用并打开这个数据包,然后把这个7数据发送给在目标端口等待的应用程序。这个过程就结束了。

  当要对网络上的其它计算机做出回应的时候,每一件事情都以相反的顺序发生。7应用程序将把数据发送给TCP协议的执行者。然后,TCP协议在这些数据中加入额外的文件头。在这个方向上,数据每前进一步体积都要大一些。TCP协议在IP协议中加入一个合法的TCP字段。然后,IP协议把这个数据包交给以太网。以太网再把这个数据作为一个以太网帧发送给驱动程序。然后,这个数据通过了这个网络。这条线路中的路由器将部分地分解这个数据包以获得3文件头,以便确定这个数据包应该发送到哪里。如果这个数据包的目的地是本地以太网子网,这个操作系统将代替路由器为计算机进行地址解析,并且把数据直接发送给主机。