谁能详细地解释一下TCPIP?
分类: 电脑/网络 >> 互联网
问题描述:
我想学黑客技术,听说这个很重要,谁能给我解释一下,非常感谢!也可以提供免费的关于TCP/IP的书的网址。一定要免费的哦!
解析:
仔细看看这归咎好啦,不过别做损人利己的事哦,呵呵
TCP/IP(请参考我的参考资料网址)
1 前言
本文用于介绍TCP/IP协议的最基本内容,十分简单,也十分基本,如果希望了解详细的内容,请参阅其它资料,这只是给初学者用的。
2 TCP/IP介绍
TCP/IP通常指的是关于TCP和IP的任何东西,它是一个统称,它既可以包括其它协议,其它应用程序,还可以包括网络介质。
21 基本结构
为了理解这个技术,最好称理解下图:
这个结构存在于Inter中计算机之中,它决定了计算机在网络上的动作。
22 名词
数据块的名称会因为它处于不同的协议栈而不同。这里给出一个总结:在以太网时,它称为一个以太网帧,在IP上时,它称为IP包,如果数据在IP和UPD之间一般称为UDP数据报,而数据如果在IP和TCP之间,则称为TCP段(或消息),而数据在应用程序中时,则称为应用程序消息。这种定义不是绝对的,不同的文章会有不同的说法。
23 数据流
数据流从应用程序流向TCP或UDP,我们通常知道的FTP是应用TCP协议的,而SNMP协议却是使用UDP协议的。数据由不同协议模块流向同一个以太网适配器。由适配器将数据传送到网络介质上去。上面的过程在接收方反向发生。
以太帧传送到ARP或IP模块中,而以太帧中的数据决定此数据是由IP还是由ARP处理。如果是供IP处理的包,则由IP模块直接传送给TCP或UPD,具体传送给谁这由IP包头决定。而UDP包内的数据决定了应该由UPD协议上层的哪一个应用程序接收这个数据,这一点和TCP是一致的。数据在从应用程序下传到网络时,过程比较简单,各层把在数据上加入自己的包头信息,然后传送给下一层就行了。虽然Inter支持多种网络介质,但是一般我们都拿以太网范例。这里我们需要记住的是以太地址是唯一的,全球唯一的。计算机同时也拥有一个四个字节的IP地址,这个地址用于标记IP模块的地址,但对于Inter来说,IP地址不见得是唯一的。一台运行着的计算机通常知道自己的IP地址和以太地址。
24 两个网络接口
下图中一台计算机连接了两个以太网。
请注意:上图中的计算机拥有两个IP地址和以太地址。这时IP模块将对应于多个物理适配器。
多个IP模块对应多个物理适配器时,情况要复杂一些。
上图说明了IP转发的过程,专用于转发IP包的计算机我们称为IP路由器。从上图中我们可以看出,IP转发的时候根本不需要TCP和UDP,所以有些IP路由器的实现中根本没有TCP和UPD模块。
25 IP创建信号逻辑网络
数据在从应用程序向网络介质传送的过程中,被各种协议加上包头,而由网络介质向应用程序传送时,这些加入的包头被一个个取消,而IP层加入的信息构成了一个逻辑网络,这个逻辑网络是相对于多个物理网络而言的。多个物理网络相互连接,就是我们现在经常听到的Inter的由来。
26 物理网络独立性
IP将下层的网络结构对上层的应用程序隐藏起来,如果您发明了一种新的网络,您只需要实现一种驱动程序,让它能够和IP进行通信就可以使您的网络连接入Inter。
27 互连性
如果Inter上的两台计算机能够进行通信,我们称它们互连了。我们的计算机一般都具有互连性,因此我们购买的计算机一般都可以在网络上相互通信。
3 Ether
下面我们看看以太技术,一个以太帧包括源地址,目的地址,类型域和数据。一个以太地址6个字节,每个以太适配器都有唯一的以太地址,而地址"FF-FF-FF-FF-FF-FF"代表一个广播地址。以太网使用CSMA/CD技术,这个技术使设备共享一条传输介质,某一时刻只能一台设备传送数据,如果两台同时传送就会产生冲突,而解释这种冲突的办法就是两个设备停一会儿(一个随机的时间)再传送数据。
我们可以把以太技术想成许多人在一个黑屋子里说话,如果每次只有一个人说,那么对这个话感兴趣的人就会听到,记录下来,而不感兴趣的人就不管它就是了。如果两个人同时说,两个人就会听到自己在说话的时候还有另外一个人也在说,于是就停下来,过一会儿再说,这样来达到传送消息的目的。这里需要注意的是,屋子里的每个人有一个唯一的名字,这个名字就是以太地址,而如果某个人想对所有人说话,它就应用那个广播地址传送消息就可以了。
4 ARP
ARP是为了解决IP包发出后,目的以太地址如何确定的问题。ARP是用来将IP地址解释为以太地址的协议,这个协议只对由IP传出的数据有用。
41 ARP地址翻译表
这个翻译的过程中通过查询一张表进行的,每个机器的IP地址和以太网卡号就在这个表中,如果我想向一个IP地址发送消息,只需要查询一下这张表,知道目的以太地址是什么就可以了。下面就是一张这个的ARP表:
IP地址 以太地址
223121 08-00-39-00-2F-C3
223123 08-00-5A-21-A7-22
223124 08-00-10-99-AC-54
图1 ARP表
IP地址在机器内部是一个4字节数,而人类的表示是如上表中的表示方法,这种方法称为点为十进制。这种翻译表是必须的,因为IP地址的选择和以太地址的选择是独立进行的。以太地址是生产厂商根据分配给它的地址空间直接烧结在网卡上的。
42 经典的翻译过程
在通常网络操作进行时,应用程序发送消息到TCP(或UDP),由TCP(或UDP)传送消息到IP模块,目的IP地址是已知的,在将这个包传送到以太适配器时一定要查找这个翻译表知道目的以太地址是什么。而这时ARP就管用了。
43 ARP请示/响应对
但是,ARP表如何从空变得那么充实呢?这是由ARP协议来完成填充工作的,它工作的基本过程是“需时再取”的原则。当ARP不能用于查询以太地址时,会发生下面两件事情:
1 ARP用以太广播地址发送一个以太包到网络上,所有的计算机都会接收到这个包;
2 将需要发送的IP包放入发送队列中;
发出的那个以太包就象一个问路的人一样,它带有如下信息:“如果您的IP地址和我想找的IP地址一样,请告诉我您的以太地址”,下面是一个ARP请示包的例子:
发送者IP地址 223121
发送者以太地址 08-00-39-00-2F-C3
目标IP地址 223122
目标以太地址 (空)
表2 ARP请示包例子
每台计算机的ARP模块检查自己的IP地址是不是和这个包内的IP地址一致,如果不一致,就什么也不干,如果一致,则返回一个响应,其中包括的信息指出了这个IP地址的以太地址。下面是一个响应包的例子:
发送者IP地址 223122
发送者以太地址 08-00-28-00-38-A9
目标IP地址 223121
目标以太地址 08-00-39-00-2F-C3
表3 ARP响应包例子
这个响应由原来发出请求的计算机接收,ARP就将相应的IP地址和以太地址加入ARP表中,这个过程不断地发生,这个表也就不断地加大了,更新过的ARP表如下图所示:
IP地址 以太地址
223121 08-00-39-00-2F-C3
223122 08-00-28-00-38-A9
223123 08-00-5A-21-A7-22
223124 08-00-10-99-AC-54
表4 更新后的ARP表
这个请求与响应的过程十分迅速,放入队列的IP包现在可以取出发送了,因为所需要的以太地址已经有了,可以发送了。如果没有目的主机,发出的请求就不会有回应,IP层抛弃需要发送的IP包,而上层协议也不清楚是网络断了,还是不存在目的主机,IP层不负责报告错误类型。
5 Inter协议
IP模块是Inter技术的核心,而它的路由技术是它成为核心的基础。了解路由需要也解互连是什么。
51 直接路由
下图是一个只有三台计算机的小网络,每台计算机有运行一个TCP/IP协议栈,每个计算机配有以太适配器,每个计算机都被指定一个独立的IP地址。
当A发送IP包到B时,IP包头包括A的IP地址(这是源地址)和A的以太地址(这是源以太地址);同时这个包也包括B的IP地址和以太地址作为目的地址。
地址 源 目的
IP头 A B
以太头 A B
表5 从A到B的IP包
在这种情况下,使用IP是多余的,因为它根本没有起到什么作用,用IP只能增加多余的处理时间,占用了多余的传输带宽。B接收到这个包后,IP层检查这个包内的目的地址是不是和自己的IP地址一致,如果一致则将数据返回给上层协议。这称为直接路由。
52 间接路由
下面这个示意图更接近Inter真实的情况。三个小的以太网,每个网络中有三台计算机,它们有唯一以太地址,IP地址,这三个网络通过一台路由器连接,这台路由器有一个IP地址和三个以太地址,因为它和三个网络连接,当然要三个了。这里一定要记住,IP地址只有一个。
计算机D是一台路由器,它的TCP/IP协议栈内可能根本没有TCP和UDP,而可能有多个ARP模块和多个以太驱动程序(因为有多个以太适配器,所以要多个驱动程序才可以)。网络管理员为每个子网(上图中有三个子网)指定一个网络号,是这个网络的名称,这个名称在上图是没有表示。
如果计算机A希望和计算机B通信,采用直接路由就可以了。这个过程上面已经说过了。在同一个子网内均采用直接路由。如果计算机D希望和计算机A通信,这也是直接路由,直接通信就行了,D和其它所有计算机的通信都是直接通信。但是如果计算机A希望和非本子网内的计算机通信就不能采用直接路由了,它发送的IP包必须发到计算机D,由计算机D向其它网络发送,这种通信就是非直接的。
路由对于IP协议上层的协议来说是透明的,它们根本不知道有什么路由存在。
请注意下面的图,源地址是计算机A的,目的IP地址是计算机E,而目的以太地址却是计算机D的,这是因为计算机A和计算机E不处于同一个子网内,不能直接通信,需要由计算机D进行转发,因此这包只能发往计算机。
地址 源 目的
IP头 A E
以太头 A D
表6 从计算机A到计算机E以太帧示意图
对于计算机D来说,它的以太帧地址如下:
地址 源 目的
IP头 A E
以太头 D E
表7 从计算机D到计算机E以太帧示意图
因为计算机D和计算机E可以直接通信。我们可以看到,在直接通信时,目的IP地址和以太地址都是接收者的,而在非直接通信时,目的IP地址是接收者的,而目的以太地址却是路由器的。上面的例子比较简单,真实的路由要比这个复杂得多,因为现实中的网络十分大,要许多路由器同时工作,这时的情况就比较复杂了。
53 IP路由规则
对于要发出的IP包,IP必须决定如何发送,是采用直接发送还是非直接发送,这是在路由表的帮助下完成的。对于传入的IP包,IP模块必须能够识别它是不是自己需要的包,如果是自己需要的,就把数据传送到上一层协议中,如果不需要则进行转发。在IP包达到目的地址后,它不再转发了。
54 IP地址
IP地址是由网络管理者为一台计算机指定的地址,IP地址的一部分作为网络号,另一部分作为网络中的主机号。具体内容请大家查询相关资料。IP地址是由NIC管理的,所有直接连接到Inter上的计算机如果需要IP地址,必须和NIC联系,则它指定;如果您需要建立自己的网络,那相应的网络号也需要从NIC取得。
55 名称
人们喜欢使用计算机的名称,而不喜欢使用数字来标记一台计算机,对于小型网络,计算机名和IP地址的对应表可以保存在每台计算机上,如果是一个大型网络,则需要一台专用的计算机来负责IP地址到计算机名的转换。下面就是一个IP地址和计算机名的对应表。
223121 alpha
223122 beta
223123 gamma
223124 delta
223132 epsilon
223142 iota
前一列是IP地址,后一列是计算机名。您可以为一个计算机名指定多个IP地址,那么通过哪一个IP地址都可以访问这台计算机。这个拥有多个IP地址的计算机在接收到包后,可以根据目的地址知道是不是发向自己的包,这个目的地址可以是自己的任何一个地址。名称也用于网络号,下面就是一个例子:
22312 development
22313 accounting
22314 factory
前一列是IP地址,后一列是网络名。我们可以这个表上面的表对比一下,看看各个计算机属于什么网络。
56 IP路由表
我们上面已经提到过路由表这个名词,下面我们就仔细看一下这张表。它通常是由下面几列构成的:IP网络号,直接/非直接标记,路由器IP地址和接口号。这张表一般由管理员负责维护,因为是他为你的计算机指定了IP地址。
57 直接路由
下面我们仔细看一下我们上面看过的直接路由的例子。
在计算机alpha内的路由表如下所示:
网络 直接/非直接标记 路由器 接口号
development 直接 (空) 1
表8 路由表范例
我们可能通过UNIX下的"stat -r"命令看到类似这样的结果。
58 实例
Alpha发送IP包到beta,alpha中的IP包的目的地址是beta的地址(223122)。IP取得网络号部分,查询路由表中的第一部分,看这个包应该包到什么地方,它发现这个网络和表中的第一个项目一致。而这个项目中的其它信息表示,目的计算机可以直接通信,于是直接进行ARP翻译(解析),通过接口1发送数据。
59 非直接路由
下面我们仔细看一下我们上面看过的非直接路由的例子。
计算机alpha内的路由表如下所示:
网络 直接/非直接标记 路由器 接口号
development 直接 (空) 1
accounting 非直接 devrouter 1
factory 非直接 devrouter 1
表10 Alpha内的路由表
510 实例
Alpha发送IP包到epsilon,IP包内的目的地址是epsilon的(223132)。IP分析目的地址的网络号部分,查询路由表中的第一列,发现第二个项目符合条件。此项目中的信息表示计算机可以由路由器devrouter达到,Alpha的IP模块进行ARP解析,将数据通过接口1传送到devrouter的IP地址上。这个包仍然包括着目的机IP地址223132。这个包到达development网络接口,传送到delta计算机的IP模块,delta计算机发现这个包不是给它的,于是决定转发。Delta的IP模块从目的地址中解析出网络号,查询路由表,Delta的路由表如下所示:
网络 直接/非直接标记 路由器 接口号
development 直接 (空) 1
factory 直接 (空) 3
accounting 直接 (空) 2
表11 Delta的路由表
第二条符合条件,于是IP模块接口3将数据发送到计算机epsilon,IP包到达epsilon时,epsilon的IP模块发现目的地址和自己的一致,于是将接收到的数据向上一层协议传送。
511 路由总结
在一个大型网络中,IP包在到达目的计算机前一般需要经过多个路由器,它前进的路线不是事先定好的,而是在各个路由器上一步步查询出来的,每个计算机只管一段,只保证把数据传送到下一站,至于下一站怎么办,它就不管了。
512 管理路由
在大型网络的每台机器上支持一张路由表可不是件容易事,路由器如果出了问题会对网络传输不能进行。我们也可以使用ICMP协议对网络进行监控。一台机器从一个地方移到另一个地方必须更改计算机的IP地址,如果要更新主机地址文件,这简单是不可能的,而DNS帮助解决这个问题。
6 用户数据报协议(UDP)
UDP是在IP上的两个重要协议之一,它为用户的网络应用程序提供服务,我们经常使用的NFS,SNMP就是使用UDP协议的。UDP协议不是面向连接的。这一点是和TCP协议不同的。UDP在IP包上加上了端口号和校验码两个参数。
61 端口
一台计算机上的客户程序如何达到服务器呢?应用程序和UDP的通信线路是通过UDP端口一样的,这些端口是数字的,以0开始,一个端口一般和一个服务对应。服务器和客户就在这个端口等待对方的请求(或应答)。UDP保留由应用程序定义的消息边界。它决不把两个消息连接起来,或把一个消息分成两部分。
62 校验码
如果接收到的IP包内有一个标记“UDP”,IP模块就把数据传送到UDP,UDP检查校验码,如果运算得出的结果为0,数据是正确的。UDP的校验码可以产生也可以不产生。传送来的UDP包如果超过了上层应用程序的处理能力,就会暂时保存起来,如果保存的数据已经超过一定限制,则把UDP丢弃。
7 传输控制协议(TCP)
TCP提供的服务不同于UDP,它们的最大区别在于TCP是面向连接的,TCP保证数据一定传送到接收者,而UDP可不保证。TCP用于一定要保证数据传输的场合,我们通常知道的FTP,TELNET是基于TCP协议的,而其它的一些TCP网络应用程序包括X-Window系统,rcp(远程复制)和R系列命令也是使用TCP的,TCP提供这样好的服务也是有代价的,它需要更多的CPU处理时间和网络带宽,TCP模块的复杂度也比UDP大得多。
与UDP相同的是,应用程序必须和TCP端口连接请求服务,接收和发送数据。在应用程序开始运行时,服务器和客户机上的TCP模块开始相互通信,这两个TCP包含了状态信息,维持一条虚链路,这条虚链路是全双工的。TCP可以任意打包数据,不必管什么边界。例如,应用程序可以在一个端口写5次,远方的应用程序可以读10次把数据读完,这和UDP不同,在UDP下,在一个端口写几次,远程应用程序就要读几次。
TCP支持滑动窗口协议,双方都进行流量控制,因此不会让缓冲区满。这也和UDP不同,在UDP的情况下,缓冲区可能因为应用程序的处理能力不足而变满。对于滑动窗口协议,它指定了一个窗口大小,这个大小指的是,在未接收到确认信息之前允许发送的数据数,在TCP中,窗口的大小是以字节为单位的。
8 网络应用程序
TCP和UDP提供不同的服务,不同的应用程序会选择不同的协议,这里请您注意,如果您选择使用UDP进行可靠传输,那只能在UDP上层来提供可靠性。下面我们举出几个常用的应用程序。
TELNET使用TCP提供远程登录。TELNET工作得非常好,它虽然古老,但是现在仍然在广泛使用,它经常用于在不同的操作系统间进行互连。 FTP协议和TELNET岁数差不多大了,它也使用TCP服务,在FTP时,您好象登录到远程计算机上,但您能够使用的命令却不那么多,FTP提供用户在计算机间复制文件的服务。UNIX中的远程命令一般都以R开始,这些命令一般都通过网络进行,我们就称它们为R系列命令,这些命令通常在UNIX系统中使用,它对安全性考虑不多,但是非常好用。NFS由Sun公司开发,它使用UDP,它用于在不同的计算机上加载UNIX文件系统,在这一点上它做得非常好。NFS为网络加重了负担,在慢速连接的网络上工作得不好,但它的功能可却是不错。随着网络规模不断扩大,原来的网络管理协议ICMP已经不能提供满意的服务了,于是在这一要求下提出了SNMP协议,它检测网络中各种设备的情况,根据这种情况对网络进行监控。X Window系统使用X Window协议,X Window协议也使用TCP服务
FTP的工作原理是在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用TCP传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的。
在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。
但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
扩展资料
FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。
在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口。
而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
-ftp
1、简单说client直接访问DBserver为两层结构。
client通过中间件等应用服务器访问DBserver为三层结构。
三层结构比两层结构安全。
2、可以这样理解:客户端程序访问服务器的结构叫两层结构。中间加一个事务逻辑处理封装的中间件作为沟通就是三层结构,这样可以均衡数据负载!
3、拷贝一些基础知识你看一下。(没有)
附:相关知识
现代社会的软件开发体系结构简单概括就是N层体系结构,这里的N大于等于1。换而言之就是:单机体系(N=1)、Client/Server结构体系(N=2)、多层体系结构(N>2)。下面我们就对这几种体系结构进行简单的介绍和比较。
单机体系:这种软件适用于单机状态,一般情况下是针对某一种单一的应用,如字典软件、翻译软件等等。这种开发方式不适用于综合管理系统的开发。
C/S结构:c/s结构是在局域网上发展起来的,它具有数据集中管理的能力,在出现之初确实解决了很多计算机发展的难题,同时随着4GL语言的发展,用户的界面也比较丰富,在CLIENT端的事物处理能力也使整个系统的性能得到全面的提高,并使管理信息系统(MIS:Management Information System)得到快速的发展。其大概的图例见图1。
我们根据两层结构体系的概念来分解C/S结构的话,可以将他分为表现层(也叫表达层)和数据层。数据层提供数据存放的载体,而表现层则通过一定技术将数据层中数据取出,进行一定的分析并以某一种格式向用户进行显示。在两层体系结构中,表现层对数据库进行直接操作,且大部分的商业处理逻辑(Business Logic,数据之间的关系规则)也在表现层中实现.
图1:Client/Server 体系结构示例
三层体系结构:三层体系结构是N层体系结构的典型,所谓的三层体系结构就是将原来在两层体系结构中的商业逻辑部分从数据层和表现层中提炼出来,形成中间件服务器,所以三层就是:表现层、商业逻辑层(Business Logic)、数据层。在此之外,还有一种系统结构就是分布式系统,其结构系统图见图2。
图2:分布式系统的结构示意图
在分布式系统中,其介于客户端和数据端之间的仅仅是一个应用服务器,它管理客户端的软件,但不做性能调整,比如每一个客户端调用时均产生一个新的数据库连接,而不能够将连接保持形成一个连接缓冲池。虽然在分布式应用中已经结合了一些商业处理逻辑,但是并没有真正改变原来的C/S体系结构。
在三层体系结构中,表现层将主要提供与客户的交互功能,数据层提供系统中的所有的数据保存载体,而商业逻辑层将整个系统中的商业处理逻辑整和在一起,形成中间件,在三层中。中间件起了承前启后的作用,表现层将客户端的请求通过IDL调用中间件,中间件在将其转化成数据处理原则,并从数据库中获得相应的数据,返回给客户端的软件,转换成客户要求的方式显示。关于三层体系结构的示意图见图3。
图3:三层体系结构示意图
我们已经简单的介绍了C/S结构和三层体系结构,有关的优点已经昭然若揭,为了更好的让您了解两者的区别,我们将两者进行一些比较。
C/S结构的缺点:
缺乏有效的集权控制:在众多的C/S软件中我们不难看出,所有的构件不能够在一个地点(如一台机器)进行统一的管理,而不得不将他们分化在各个CLIENT的应用中,使得维护和安全保密均很困难。
缺乏安全性:在分散的计算机系统中,控制信息的访问安全是非常困难的,由于客户端经常需要对一些敏感的数据进行分析导致安全漏洞很容易发生。
客户端工作量重:当将一个应用中的所有的商业逻辑全部在各个客户端来实现的时候,仅仅是使用桌面电脑的客户端资源将发生不堪负载的情况。
软件的重用性差:由于C/S结构下的应用软件一般均是根据操作系统进行定制,且开发工具也是有一定的限定,一旦需要改变某一个要素的话,很可能只能重做,例如原来用C语言来开发,现在需要转向PB进行开发,那么,原来的所有工作都需要重新来过。
随着应用的不断复杂,桌面电脑将需要不断的升级以适应系统的性能需求,甚至有时侯会完全超出桌面系统能够承受的限度。例如:诸如多线程和对称多重处理技术等先进操作系统的特性可能不能在标准桌面电脑系统中提供,不通过访问具有这些技术的服务器,客户端的桌面系统将可能永远不能获得这些新的技术的性能。
针对这些问题,三层体系结构给予了很好的解决方案。
在三层体系结构中,提供在客户端和服务器端进行应用功能的分割,系统通过应用将用户定义的界面系统从商业处理逻辑中分割出去。通过将商业处理逻辑集中在中间件服务器中,将能够减小客户端的工作量并使敏感数据访问控制变得简单。
在三层结构中,客户端将与服务器端的数据变化隔离,简单的说,商业处理逻辑不受客户端的用户界面的改变而影响。三层体系中有一个非常重要的特性就是系统具有良好的组件重用性,例如在PB中开发的组件,可以在VC中进行使用。
0条评论