半连接算法
㈠ 简述分布式数据库的模式结构
分布式数据库系统是在集中式数据库系统的基础上发展来的。是数据库技术与网络技术结合的产物。什么是分布式数据库: 分布式数据库系统是在集中式数据库系统的基础上发展来的。是数据库技术与网络技术结合的产物。分布式数据库系统有两种:一种是物理上分布的,但逻辑上却是集中的。这种分布式数据库只适宜用途比较单一的、不大的单位或部门。另一种分布式数据库系统在物理上和逻辑上都是分布的,也就是所谓联邦式分布数据库系统。由于组成联邦的各个子数据库系统是相对“自治”的,这种系统可以容纳多种不同用途的、差异较大的数据库,比较适宜于大范围内数据库的集成。分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)。在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接在一起。一个分布式数据库在逻辑上是一个统一的整体:即在用户面前为单个逻辑数据库,在物理上则是分别存储在不同的物理节点上。一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库。它的分布性表现在数据库中的数据不是存储在同一场地。更确切地讲,不存储在同一计算机的存储设备上。 这就是与集中式数据库的区别。从用户的角度看,一个分布式数据库系统在逻辑上和集中式数据库系统一样,用户可以在任何一个场地执行全局应用。就好那些数据是存储在同一台计算机上,有单个数据库管理系统(DBMS)管理一样,用户并没有什么感觉不一样。分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性。分布式数据库系统是一个客户/服务器体系结构。
㈡ DOS是什么
Disk Operating SystemDOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件,说得简单些,DOS就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,有了DOS,我们就不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥的机器命令。我们只需通过一些接近于自然语言的DOS命令,就可以轻松地完成绝大多数的日常操作。另外,DOS还能有效地管理各种软硬件资源,对它们进行合理的调度,所有的软件和硬件都在DOS的监控和管理之下,有条不紊地进行着自己的工作。 [编辑本段]前言本文章分"概念"和"如何"两部分。
在"概念"中将告诉您关于该词条的定义、背景及原理。
在"如何"中将告诉您关于该词条的应用、技巧及可能遇上的问题。
通常所说的DOS有两种不同的概念,即拒绝服务或一种磁盘操作系统,通常DoS(O小写)指的是拒绝服务,DOS(O大写)指的是一种磁盘操作系统。
随着计算机技术的发展,网络也在迅猛地普及和发展。人们在享受着网络带来的各种便利的同时,也受到了很多黑客的攻击。在众多的攻击种类中,有一种叫做 DoS(Denial of Service 拒绝服务)的攻击,是一种常见而有效的网络攻击技术,它通过利用协议或系统的缺陷,采取欺骗或伪装的策略来进行网络攻击,最终使得受害者的系统因为资源耗尽或无法作出正确响应而瘫痪,从而无法向合法用户提供正常服务。它看上去平淡无奇,但是攻击范围广,隐蔽性强、简单有效而成为了网络中一种强大的攻击技术,极大地影响了网络和业务主机系统的有效服务。其中,DDoS(Distributed Denial of Service 分布式拒绝服务)更以其大规模性、隐蔽性和难防范性而着称。 [编辑本段]DoS攻击是网络攻击最常见的一种。它故意攻击网络协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而在此攻击中并不入侵目标服务器或目标网络设备。这些服务资源包括网络宽带、系统堆栈、开放的进程。或者允许的连接。这种攻击会导致资源耗尽,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以总能找到一个方法使请求的值大于该极限值,导致所提供的服务资源耗尽。
DoS攻击有许多种类,主要有Land攻击、死亡之ping、泪滴、Smurf攻击及SYN洪水等。
据统计,在所有黑客攻击事件中,syn洪水攻击是最常见又最容易被利用的一种DoS攻击手法。
1.攻击原理
要理解SYN洪水攻击,首先要理解TCP连接的三次握手过程(Three-wayhandshake)。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包((SYN=i)到服务器,并进入SYN SEND状态,等待服务器确认;
第二次握手:服务器收到SYN包,必须确认客户的SYN (ACK=i+1 ),同时自己也发送一个SYN包((SYN j)}即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN十ACK包,向服务器发送确认包ACK(ACK=j+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手,客户端与服务器开始传送数据。
在上述过程中,还有一些重要的概念:
半连接:收到SYN包而还未收到ACK包时的连接状态称为半连接,即尚未完全完成三次握手的TCP连接。
半连接队列:在三次握手协议中,服务器维护一个半连接队列,该队列为每个客户端的SYN包(SYN=i )开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于SYN_ RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示半连接队列的最大容纳数目。
SYN-ACK重传次数:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息、从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
上面三个参数对系统的TCP连接状况有很大影响。
SYN洪水攻击属于DoS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从图4-3可看到,服务器接收到连接请求(SYN=i )将此信息加入未连接队列,并发送请求包给客户( SYN=j,ACK=i+1 ),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN 请求
被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。过程如下:
攻击主机C(地址伪装后为C')-----大量SYN包---->被攻击主机
C'<-------SYN/ACK包----被攻击主机
由于C’地址不可达,被攻击主机等待SYN包超时。攻击主机通过发大量SYN包填满未连接队列,导致正常SYN包被拒绝服务。另外,SYN洪水攻击还可以通过发大量ACK包进行DoS攻击。
2.传统算法
抵御SYN洪水攻击较常用的方法为网关防火墙法、中继防火墙法和SYNcookies。为便于叙述,将系统拓扑图简化为图4-4。图中,按网络在防火墙内侧还是外侧将其分为内网、外网(内网是受防火墙保护的)。其次,设置防火墙的SYN重传计时器。超时值必须足够小,避免backlog队列被填满;同时又要足够大保证用户的正常通讯。
(1) 网关防火墙法
网关防火墙抵御攻击的基本思想是:对于内网服务器所发的SYN/ACK包,防火墙立即发送ACK包响应。当内网服务器接到ACK包后,从backlog队列中移出此半连接,连接转为开连接,TCP连接建成。由于服务器处理开连接的能力比处理半连接大得多,这种方法能有效减轻对内网服务器的SYN攻击,能有效地让backlog队列处于未满状态,同时在重传一个未完成的连接之前可以等待更长时间。
以下为算法完整描述:
第一步,防火墙截获外网客户端发向内网服务器SYN数据包,允许其通过,抵达内网服务器。同时在连接跟踪表中记录此事件.
第二步,防火墙截获服务器发向客户端的SYN/ACK响应包,用连接跟踪表中记录的相应SYN包匹配它.
第三步,防火墙让截获的SYN/ACK继续进行(发向客户端)。同时,向内网服务器发送ACK包。这样,对服务器来说,TCP连接三次握手已经完成。系统在backlog队列中删掉此半连接.
第四步,看此TCP连接是否有效,相应产生两种解决方法。如果客户端的连接尝试是有效的,那么防火墙将接到来自客户端的ACK包,然后防火墙将它转发到服务器。服务器会忽略这个冗余的ACK包,这在TCP协议中是允许的.
如果客户端的IP地址并不存在,那么防火墙将收不到来自客户端的ACK包,重转计时器将超时。这时,防火墙重传此连接.
(2) 中继防火墙法
中继防火墙抵御攻击的思想是:防火墙在向内网服务器发SYN包之前,首先完成与外网的三次握手连接,从而消除SYN洪水攻击的成立条件。
以下为算法完整描述:
第一步,防火墙截获外网客户端发向内网服务器SYN数据包.
第二步,防火墙并不直接向内网发SYN数据包,而是代替内网服务器向外网发SYNIACK数据包.
第三步,只有接到外网的ACK包,防火墙向内网发SYN包.
第四步,服务器应答SYN/ACK包.
第五步,防火墙应答ACK包.
(3) 分析
首先分析算法的性能,可以看出:为了提高效率,上述算法使用了状态检测等机制(可通过本系统的基本模块层得以实现)
对于非SYN包(CSYN/ACK及ACK包),如果在连线跟踪信息表未查找到相应项,则还要匹配规则库,而匹配规则库需比较诸多项(如IP地址、端口号等),花费较大,这会降低防火墙的流量。另外,在中继防火墙算法中,由于使用了SYN包代理,增加了防火墙的负荷,也会降低防火墙的流量。
其次,当攻击主机发ACK包,而不是SYN包,算法将出现安全漏洞。一般地,TCP连接从SYN包开始,一旦 SYN包匹配规则库,此连接将被加到连接跟踪表中,并且系统给其60s延时。之后,当接到ACK包时,此连接延时突然加大到3600s。如果,TCP连接从ACK包开始,同时此连接未在连接跟踪表中注册,ACK包会匹配规则库。如匹配成功,此连接将被加到连接跟踪表中,同时其延时被设置为3600s。即使系统无响应,此连接也不会终止。如果攻击者发大量的ACK包,就会使半连接队列填满,导致无法建立其它TCP连接。此类攻击来自于内网。因为,来自于外网的ACK包攻击,服务器会很快发RST包终止此连接(SOs>。而对于内网的外发包,其限制规则的严格性要小的多。一旦攻击者在某时间段内从内网发大量ACK包,并且速度高于防火墙处理速度,很容易造成系统瘫痪。
(4) SYN cookies
Linux支持SYN cookies,它通过修改TCP协议的序列号生成方法来加强抵御SYN洪水攻击能力。在TCP协议中,当收到客户端的SYN请求时,服务器需要回复SYN-SACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端口、服务器IP地址和服务器端口以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端,如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到。cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。
此算法的优点是:半连接队列满时,SYN cookies仍可以处理新SYN请求。缺点是:某些TCP选项必须禁用,如大窗口等。计算cookies有花销。
/*一个IP包,其分片都被放入到一个链表中,作为每一个分片的链表节点用ipfrag结构表示。IP分片的中心组装在此链表进行。*/
内核抵御攻击的代码结构如下:
// From http://blog.csdn.net/ctu_85/archive/2008/01/03/2023205.aspx
/*IP分片结构体*/
struct ipfrag
{
int offset; //ip包中此分片的偏移值
int end; //此分片最后一个株距在ip包中的位置
int len; //此分片长度
struct sk_buff *skb; //分片数据包
unsigned ........
if(end<= offset)&&(i>s kb->len)
return NF_DRDP;
}
}
return NF_ACCEPT;
组成规则的三个结构体具体解释如下:
(1)ipt......
unsigned int nfcache ; //用此位域表示数据报的哪些部分由这个规则检查
.......
; //包含数据包及匹配此规则数据包的计算数值
以下仅列出ipt_entry_match结构体:
struce ipt_entry_match
{
union
{
struct{
u_int16_t target_size;
......
......
{
struct list_head list;//链表
struct
u int32 ipaddr; //地址
u_ int16 port; //端口
}src; //源端信息
struct
{
u_ int32 ipaddr;
u_ int 16 port;
} dst; //目的端信息
u_intl6 protonum; //协议号 [编辑本段]概念——磁盘操作系统</B>1.1什么是DOS?
DOS(Disk Operation System)是一类操作系统的名称,它主要包括Shell(command.com), IO接口(io.sys)两个部分。
Shell是dos的外壳,负责将用户输入的命令翻译成操作系统能够理解的语言。
DOS的IO接口通常实现了一组基于int21h的中断。
目前常用的DOS有包括:MS-DOS PC-DOS,FreeDOS,ROM-DOS等。
1.2MS-DOS简介
Windows9x系统都是以MS-DOS为基础的。
Windows9x以上系统都是以NT内核为基础的
DOS在1981年问世以来,版本就不断更新,从最初的DOS1.0升级到了最新的DOS8.0(Windows ME系统),纯DOS 的最高版本为DOS7.10,这以后的新版本DOS都是由Windows系统所提供的,并不单独存在。
DOS分为核心启动程序和命令程序两个部分。
DOS的核心启动程序有Boot系统引导程序、IO.SYS、MSDOS.SYS和COMMAND.COM。它们是构成DOS系统最基础的几个部分,有了它们系统就可以启动。
但光有启动程序还不行,DOS作为一个字符型的操作系统,一般的操作都是通过命令来完成。DOS命令分为内部命令和外部命令。内部命令是一些常用而所占空间不大的命令程序,如dir、cd等,它们存在于COMMAND.COM文件中,会在系统启动时加载到内存中,以方便调用。而其它的一些外部命令则以单独的可执行文件存在,在使用时才被调入内存。
DOS的优点是快捷。熟练的用户可以通过创建BAT或CMD批处理文件完成一些烦琐的任务,通过一些判断命令(IF、|)甚至可以编一些小程序。因此,即使在XP下CMD还是高手的最爱。
[1]MS-DOS大事记
DOS1.0 微软买下 86-DOS(QDOS)版权,1981年7月,成为 IBM PC上 第一个作业系统。同时微软有为IBM PC开发专用版本 PC-DOS,但与泛用版本DOS相比,除了系统档名以及部份针对 IBM 机器设计的核心,外部命令与公用程式之外,其余程式码其实差异不大。
DOS 1.25 1982年6月,支援双面 软盘并开始修改错误
不仅IBM,许多OEM也广泛使用
DOS2.0 1983年3月,加入UNIX式的树状档案系统与及硬盘支援,以低阶的观点视之,这是第一次的 DOS 重大改版。这个版本除了相容于 CP/M 的 FCB 档案系统之外,正式采用了 FAT 格式,并大量使用具有 UNIX 特征的 Handle 式档案操作方式。
DOS 2.11 1984年3月,为主要的OEM版本,修正了2.01版的错误,增加了对非英语语言及其文件格式的国际性支援
MS-DOS 2.25 1985年10月,支援额外扩充的字符组(日文与韩文),还修正了旧版的错误
MS-DOS 3.0 1984年8月,引入PC/AT,它能支援1.2MB的软盘,并加入较高容量的硬盘
MS-DOS 3.1 1984年11月,加入对微软网络支援
MS-DOS 3.2 1986年1月,加入了3.5吋软盘的强化支援,并开始可以透过驱动程式使用硬件 EMS。台湾的宏碁电脑在资策会与公会的支持下,与微软在DOS3.2 的基础上开发了符合 CMEX 标准的全中文
MS-DOS 3.3 1987年8月,修正部份内部错误、增加了许多关于档案处理的外部命令、开始支援软盘之后,DOS3.3 成为当时最稳定、畅销的版本,可以说是DOS第二次的重大改版,一年后发行的4.0甚至还不如3.3普及。内部的 BASIC 直译器在 3.x之后逐渐由 BASICA 改为增强绘图能力的 GW-BASIC。此际倚天公司在前几版本的 BASICA 基础上开发了支援中文绘图模式的 ETBASIC,几乎成为当时台湾地区学习 BASIC 语言的标准配备。外部命令部分最重要的则是增加了 XCOPY 与 APPEND,增强了早就该有的档案管理能力。
MS-DOS 4.0 电脑MS-DOS 4.0 1988年6月,主要基于IBM的代码库,而不是微软自己的代码库。加入了最大2GB容量硬盘机支援,引入 EMM(软件模拟 EMS)以及新规格 XMS 内存技术,令DOS操作系统可以使用1MB以上的内存。开始有 DOSSHELL 的使用。DOSSHELL 可以被视为 DOS的GUI 界面,并有切换程式作业的能力。
MS-DOS 4.01 1988年12月,对于旧版所存在的一系列错误进行修正
MS-DOS 5.0 1991年6月,第三次重大改版,可能也是DOS史上最重要的改版。这个版本继承 4.0 对于内存管理的改进,是 EMM 规格最为稳定、普及的版本,也加入了许多内存管理的程式,如 EMM386、MEM 等等,为的就是与 Windows 好好搭配,连带也使得DOS 内存管理成为当时许多软件亟欲配合增强的方向,如何设定DOS内存配置成为热门话题。BASIC 直译器改为 QuickBASIC 的简易版本 QBASIC,内建文字编辑器则由原来的行编辑 EDLIN 改为全屏幕编辑的 EDIT(其实只是对 QBASIC.EXE 多下一道参数而已)。减少外部命令对于版本的需求,而在千呼万唤中,终于加入 DOSKEY、UNDELETE、Quick Format、UNFORMAT 等能力。另一个值得一提的是,这个版本的 CONFIG.SYS 允许有多重选项。
MS-DOS 6.0 1993年3月,加入了许多花俏的外部命令。系统检测程式 MSD 被加入。DoubleSpace 压缩磁盘技术开始被使用,亦开始附上微软自家的解毒软件 VSAFE 以及 MSAV。网络方面开始加入对 LL5 传输线的支援。对于磁盘,开始加入磁区整理软件 DEFRAG以及磁盘快取程式 SMARTDRV。档案管理方面,以豪华的 MSBACKUP 取代了阳春的 BACKUP,另外,终于加入了 DELTREE 与 MOVE 公用程式。开始正式支援光驱。内存管理方面则加入了 MEMMAKER 组态最佳化程式。
MS-DOS 6.2 1993年11月,DoubleSpace 更名为 DrvSpace。
MS-DOS 6.21 1994年2月
MS-DOS 6.22 1994年6月,最后一个销售版本。国乔(KC)取得微软与IBM授权,搭配国乔中文系统发表自己的 DOS 7.0。
MS-DOS 7.0 1995年8月,Windows 95 所带的版本,支持长文件名。
MS-DOS 7.1 1996年8月,加入对大硬盘和FAT32分区的支持等。
MS-DOS 8.0 2000年9月,DOS的最后一个版本,取消了部分功能,例如不再支持SYS命令、打印机操作。
[2]在DOS上面运行的软件
由于 DOS 是 PC 兼容机的主要平台,有许多为 DOS 撰写的知名软件。其中包括了:
Lotus 1-2-3;一套在企业市场中被广泛运用的试算表软件。被许多人视为 IBM PC 成功的主因
WordPerfect;一套目前出在 Windows 平台的文本编辑器
dBase;最早的数据库软件之一
Telix; 调制解调器通信软件
Arachne;一套 DOS 版的网络浏览器
DJGPP, gcc 的 DOS 移植版
4DOS,取代原本的命令行界面的软件
Borland 的 集成开发环境,包括了 Turbo Pascal、Turbo BASIC、Turbo C,以及 Turbo Assembler
拨接式电子布告栏 (BBS) 架站软件 RemoteAccess、Spitfire、Maximus、McBBS,以及TAG
BASIC 语言工具程序 BASICA 以及 GW-BASIC
许多的第一人称射击游戏:由 Id Software 以及 Apogee Software(后来改名为 3D Realms)合资开发的 德军总部3D;Id Software 的 Doom 以及 Quake;3D Realms 的 Duke Nukem 3D、Shadow Warrior,以及 Rise of the Triad。3D Realms 开发的这 3 套游戏使用的都是 DOS 上的“Build 引擎”。Build 引擎的作者是 Ken Silverman,这个引擎也被用于 Silverman 的 Ken's Labyrinth 这个游戏上。
㈢ 请问哪位有2009年全国计算机三级数据库考试的真题
2009年9月全国计算机等级考试三级笔试试卷
数据库技术
(考试时间120分钟,满分100分)
一、选择题(每题1分,共60分)
(1)数字信号处理器由于在其内部设计了能够高速处理多路数字信号的电路,可以用在需要快速处理大量复杂信息的领域。下列哪一个设备不需要数字信号处理器?
A) 雷达
B) 彩色电视机
C) 数字音视频设备
D) 数字图像处理设备
(2)八进制数1507转换成十进制数是多少?
A) 838
B) 839
C) 840
D) 841
(3)数据包要求从源主机出发,最终到目的主机。下列哪一个设余衡备可为数据包选择输出路径,将它从一个网络传送到另一个网络?
A) 通信线路
B) 路由器
C) WWW服务器
D) 调制解调器
(4)当电子邮件软件从邮件服务器读取邮件时,可以使用下列哪一个(些)协议?
Ⅰ.简单邮件传输协议SMTP
Ⅱ.邮局协议POP3
Ⅲ.交互式邮件存取协议IMAP
A) 仅Ⅰ
B) 仅Ⅱ
C) 仅Ⅱ和Ⅲ
C) 仅Ⅰ和Ⅲ
(5)在下载的普通程序中隐含了一些非法功能的代码,用于窃取用户私密信息或执行其他恶意程序,这种恶意软件的攻击方式称为
A) 特洛伊木马
B) 后门陷阱
C) 逻辑炸弹
D) 僵尸网络
(6)下列关于ADSL技术的叙述中,哪些是正确的?
Ⅰ.它是在普通电话线上的一种心得高速宽带技术
Ⅱ.它为用户提供上、下行对称的传输速率
Ⅲ.ADSL宽带接入方式可用于网络互联业务
A) 仅Ⅰ和Ⅱ
B) 仅Ⅱ和Ⅲ
C) 仅Ⅰ和Ⅲ
D) 全部
(7)数据结构概念一般包括三个方面的内容,它们是
A) 数据的逻辑结构、数据的传输结构、数据的分析挖掘
B) 数据的逻辑结构、数据的存储结构、数据的运算
C) 数据的存储结构、数据的展示方式、数据的运算
D) 数据的传输结构、护具的展示方式、数据的分析挖掘
(8)下列关于链式存储结构的叙述中,哪些是不正确的?
Ⅰ.逻辑上相邻的结点物理上不比邻接逗蔽
Ⅱ.每个结点都包含好一个指针域
Ⅲ.用指针来提现数据元素之间逻辑上的联系
Ⅳ.结点中的指针都不能为空
Ⅴ.可以通过计算直接确定第i个结点的存储地址
A) 仅Ⅰ、Ⅱ和Ⅲ
B) 仅Ⅰ、Ⅲ和Ⅳ
C) 仅Ⅱ、Ⅲ和Ⅴ
D) 仅Ⅱ、Ⅳ和Ⅴ
(9)栈结构不适用与下列哪一种应用?
A) 表达式求值
B) 树的层次次序周游算法的实现
C) 二叉树对称序周游算法的实现
D) 快速排序算法的实现
(10)下列哪一个不是从列的基本运算?
A) 从队尾插入一个新元素
B) 判断一个队列是否为空
C) 从队列中删除第1个元素
D) 读取队头元素的值
(11)俺行有限顺序存储下上角矩阵
(12)在包含1000个元素的线性表中实现如下各运算,哪一个所需的执行时间最短?
A) 线性表按顺序方式存储,查找关键码值为900的结点
B) 线性表按链接方式存储,查找关键码值为900的结点
C) 线性表按顺序方式存储,查找线性表中第900个结点
D) 线性表按链接方式存储,查找线性表中第900个结点
(13)下列关于二叉树的叙述中,哪一条是正确的?
A) 二叉树的结点的有限集合,这个集合不能为空集
B) 二叉树是树的特殊情况,即每个结点的子树个数都不超过2
C) 二叉树的每个非叶结点都恰有两颗非空子树
D) 每一棵二叉树都能唯一地转换到它所对应的树(林)
(14)设有字符序列(Q、H、C、Y、P、A、M、S、R、D、F、X),则新序列(H、C、Q、P、A、M、S、R、D、F、X、Y)是下列哪一种排序算法一趟扫描的结果?
A) 起泡排序
B) 初始步长为4的希尔排序
C) 二路归并排序
D) 堆排序
(15)对n个记录的文件进行快速排序,平均执行时间为
A) O(log2n)
B) O(n)
C) O(olog2n)
D) O(n2)
(16)下列哪一个不竖指做是网络操作系统应该支持的功能?
A) 网络管理
B) 网络通信
C) 资源共享
D) 负载均衡
(17)下列指令中,哪一个不是特权指令?
A) 访管指令
B) 启动设备指令
C) 设置时钟指令
D) 停机指令
(18)一个进程从运行态转换为就绪态的原因是
A) 该进程执行时出错
B) 该进程等待某个资源
C) 该进程用完分配的时间片
D) 该进程等待的资源变为可用
(19)读者写者问题的解决方案如下所示:
(20)下列哪一项不是存储管理的任务?
A) 内存共享
B) 存储保护
C) 地址映射
D) 指针定位
(21)下列关于工作集模型的叙述中,哪一条是不正确的?
A) 每个进程有一个工作集
B) 工作集大小与缺页率无关
C) 工作集大小是可以调整的
D) 工作集模型可以解决系统的颠簸(抖动)问题
(22)下列关于文件结构的叙述中,哪一(些)条是正确的?
Ⅰ.源程序、目标代码等文件属于流式文件
Ⅱ.每个记录包含一个记录键和其他属性
Ⅲ.记录式文件中的记录都是定长的
A) 仅Ⅰ
B) 仅Ⅰ和Ⅱ
C) 仅Ⅱ和Ⅲ
D) 仅Ⅰ和Ⅲ
(23)如果某一个文件的物理结构采用的是UNIX的三级索引结构,如图所示。假设一个物理块可以存放128个块号,要查找块号为15000的物理块,需要用到哪一级索引表?
A) 主索引表
B) 一级索引表
C) 二级索引表
D) 三级索引表
(24)磁盘驱动调度中的移臂调度的目标是减少
A) 磁头寻到时间
B) 旋转延迟时间
C) 数据传输时间
D) 中断处理时间
(25)以树形结构表示实体之间联系的数据模型是
A) 层次模型
B) 网状模型
C) 关系模型
D) 面向对象模型
(26)在一个数据库中,模式与内模式的映像个数是
A) 1个
B) 与用户个数相同
C) 有设置的系统参数决定
D) 任意多个
(27)在嵌入式SQL中,与游标相关的有四个语句,它们中哪一个执行游标定义中的SELECT语句?
A) DECLARE
B) OPEN
C) FETCH
D) CLOSE
(28)信息是有价值的,信息的价值主要与下列哪些因素有关?
Ⅰ.准确性
Ⅱ.及时性
Ⅲ.完整性
Ⅳ.可靠性
Ⅴ.可移植性
A) 仅Ⅰ、Ⅱ和Ⅲ
B) 仅Ⅰ、Ⅱ、Ⅲ和Ⅳ
C) 仅Ⅱ、Ⅲ、Ⅳ和Ⅴ
D) 都相关
(29)设有关系SC(SNO,CNO,GRADE),其主码是(SNO,CNO)。遵照实体完整性规则
A) 只有SNO不能取空值
B) 只有CNO不能取空值
C) 只有GRADE不能空值
D) SNO与CNO都不能取空值
(30)如果对关系emp(eno,ename,salray)成功执行下面的SQL语句:
CREATE CLUSTER INDEX name_index ON emp (salary)
对此结果的正确描述是
A) 在emp表上按salary升序创建了一个唯一索引
B) 在emp表上按salary降序创建了一个唯一索引
C) 在emp表上按salary升序创建了一个聚簇索引
D) 在emp表上按salary降序创建了一个聚簇索引
(31)设关系R和S的元数分别是r和s,且R有n个元组,S有m个元祖。执行关系R和S的笛卡尔积,记为T=R×S,则
A) T的元数是(r×s),且有(n+m)个元祖
B) T的元数是(r×s),且有(n×m)个元祖
C) T的元数是(r+s),且有(n+m)个元祖
D) T的元数是(r+s),且有(n×m)个元祖
(32)设课程和教师是两个实体型,如果每一门课程可以由若干位教师讲授,每一位教师可以讲授若干门课程,则课程与教师这两个实体型之间的联系是
A) 一对一
B) 一对多
C) 多对多
D) 不确定
(33)在关系代数中,下列哪一个等式是不确定的?
(34)在SQL语言中,一个基本表的定义一旦被删除,则与此表相关的下列内容中哪一个(些)也自动被删除或失效?
Ⅰ.此表中的数据
Ⅱ.此表上建立的索引
Ⅲ.此表上简历的视图
A) 仅Ⅰ
B) 仅Ⅱ
C) 仅Ⅲ
D) 全部
第(35)-(36)题基于“学生-选课-课程”数据库中的三个关系:
S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)它们的主键用下划线标出。
(35)定义一个反映学生姓名及他的平均成绩的视图将使用关系
A) S和C
B) SC和C
C) S和SC
D) S、SC和C
(36)“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是
A) SELECT S# FROM SC GEOUPBY S# WHERE COUN(*)〉3
B) SELECT S# FROM SC GEOUPBY S# HAVING COUN(*)〉3
C) SELECT S# FROM SC ORDER S# HAVING COUN(*)〉3
D) SELECT S# FROM SC ORDER S# WHERE COUN(*)〉3
(37)下列哪一类视图上可以进行插入、删除和更新操作
A) 带表达式的视图
B) 连接视图
C) 行列子集视图
D) 分组视图
(38)下列关于E-R图的叙述中,哪一条是不正确的?
A) 实体型用矩形表示,属性用椭圆形表示,联系型用菱形表示
B) 实体型之间的联系可以分为1:1、1:n和m:n三类
C) 1:1联系是1:n联系的特例,1:n联系是m:n联系的特例
D) 实体型之间的联系只存在与两个实体型之间
(39)下列叙述中,哪些是SQL的功能特点?
Ⅰ.集DDL、DML和DCL功能于一体
Ⅱ.是高度非过程化语言
Ⅲ.采用面向集合的操作方式
Ⅳ.具有自含式嵌入式两种灵活的使用方式
Ⅴ.语言简介、易学易用、功能强
A) 仅Ⅰ、Ⅱ和Ⅲ
B) 仅Ⅱ、Ⅲ、Ⅳ和Ⅴ
C) 仅Ⅰ、Ⅳ和Ⅴ
D) 都是
(40)下面是SQL主要数据定义语句列表,其中哪一(些)行是正确的?
A) 仅“模式”行
B) 仅“基本表”行
C) 仅“视图”行和“索引”行
D) 所有行
(41)设关系R、S和T如下。关系T是关系R和S执行哪种操作的结果?
A) 自然连接
B) 外部并
C) 半连接
D) 外连接
(42)在物理存储器层次结构中,下列哪一个存储设备是联机存储?
A) 高速缓存
B) 主存储器
C) 第二级存储器
D) 第三级存储器
(43)数据库中为了将大小不同的记录组织在同一个磁盘块中,常采用分槽的页结构。结构的块头中不包括
A) 块中记录的数目
B) 读取时需要的缓存大小
C) 块中空闲的末尾指针
D) 由包含记录位置和大小的条目组成的数组
(44)下列关于索引的叙述中,哪一条是不正确的?
A) 顺序索引能有效地支持点查询
B) 顺序索引能有效地支持范围查询
C) 散列索引能有效地支持点查询
D) 散列索引能有效地支持范围查询
(45)下列关于基于日志的故障恢复的叙述中,哪一条是不正确的?
A) 日志是日志记录的序列,它记录了数据库izhong的所有更新活动
B) 日志记录中包括事务提交日志记录<Ti commit>
C) 利用更新日志记录中的改前值可以进行UNDO
D) 事务故障恢复只需要正向扫描日志文件
(46)下列哪一个不属于SQL2000服务器端提供的服务?
A) SQL服务器服务
B) SQL服务器代理
C) 查询分析器服务
D) 分布式事务协调服务
(47)下列哪些属于SQL Sercer 2000中常用的数据库对象
Ⅰ.表
Ⅱ.约束
Ⅲ.规则
Ⅳ.索引
Ⅴ.数据类型
Ⅵ.用户自定义函数
A) 仅Ⅰ、Ⅱ、Ⅲ和Ⅳ
B) 仅Ⅰ、Ⅳ、Ⅴ和Ⅵ
C) 仅Ⅰ、Ⅱ、Ⅳ和Ⅵ
D) 都是
(48)下列哪一个不属于Oracle实例?
A) 存储数据的集合
B) 系统全局区
C) 用户进程
D) Oracle
(49)Oracle引入了新的数据类型可以存储极大的对象。其中,BLOB的中文解释为
A) 二进制数据型大对象
B) 字符数据型大对象
C) 存储的数据库之外的只读型二进制数据文件
D) 固定宽度的多字节字符数据型大对象
(50)下列哪些条不属于数据库设计的任务?
Ⅰ数据库物理结构设计
Ⅱ.数据库逻辑结构设计
Ⅲ.数据库概念结构设计
Ⅳ.数据库应用结构设计
Ⅴ.数据库管理系统设计
A) 仅Ⅰ和Ⅱ
B) 仅Ⅱ和Ⅲ
C) 仅Ⅲ和Ⅳ
D) 仅Ⅳ和Ⅴ
(51)下列哪一条不是概念模型应具备的性质?
A) 有丰富的语义表达能力
B) 在计算机中实现的效率高
C) 易于向各种数据模型转换
D) 易于交流和理解
(52)下列关于函数依赖的叙述中,哪一条是不正确的?
(53)设有关系模式R(X、Y、Z),其中X、Y、Z均为属性或属性组。下列关于多值依赖的叙述中,哪一(些)条是正确的?
A) 仅Ⅱ
B) 仅Ⅲ
C) 仅Ⅰ和Ⅲ
D) 仅Ⅱ和Ⅳ
(54)若关系模式R中没有非主属性,则
A) R肯定属于2NF,但R不一定属于3NF
B) R肯定属于3NF,但R不一定属于BCNF
C) R肯定属于BCNF,但R不一定属于4NF
D) R肯定属于4NF
第(55)-(56)题基于一下描述:有关系模式P(A,B,C,D,E,F,G,,H,I,J),根据语义有如下函数依赖集:F={ABD→E,AB→G,B→F,→CJ,C→I,G→H}。
(55)关系模式P的码为
A) (A,B,C,G)
B) (A,B,D,I)
C) (A,C,D,G)
D) (A,B,C,D)
(56)现将关系模式P分解为两个关系模式P1(A,B,D,E,F,G,H)和P2(C,I,J)。这个分解
A) 不具有无损连接性,不保持函数依赖
B) 具有无损连接性,不保持函数依赖
C) 不具有无损连接性,保持函数依赖
D) 具有无损连接性且保持函数依赖
(57)下列关于以Web服务器为中心的浏览器/服务器模式的叙述中,哪一条是不正确的?
A) 与传统的客户机/服务器结构相比较,Web服务器负载过重
B) 与传统的客户机/服务器结构相比较,HTTP协议的效率低
C) 服务器扩展程序主要使用CGI和Web API两种编程接口编写
D) CGI在执行时动态加载到Web服务器进程内
(58)下列关于 Visual Studio 2008 的叙述中,哪一条是不正确的?
A) Visual Studio 2008 彻底解决了需要绑定一个特定版本的CLR(通用语言架构机制)的问题
B) Visual Studio 2008 实现了Dreamwaver 网页编辑的功能
C) Visual Studio 2008 对AJAX 和java script提供了更丰富的支持
D) Visual Studio 2008 允许编写使用LINQ的代码
(59)下列关于分布式数据库系统的叙述中,哪一条是不正确的?
A) 每一个节点是一个独立的数据库系统
B) 具有位置透明性、复制透明性和分片透明性等
C) 有关数据分片、分配和副本的信息存储在局部目录中
D) 对于并发控制和恢复,分布式DBMS环境中会出现大量的在集中式DBMS环境中碰不到的问题
(60)下列关于面向对象数据库和关系数据库系统的叙述中,哪一条是不正确的?
A) 面向对象数据库设计与关系数据库设计之间一个最主要的区别是如何处理联系
B) 面向对象数据库设计与关系数据库设计中,处理继承的方法是相同的
C) 在面向对象数据库中,通过使用继承构造来获得映射
D) 在面向对象数据库中,联系是通过使用联系特性或者包括相关对象的对象标识符的参照属性来处理的
二、填空题(每空2分,共40分)
(1)为了改变指令系统计算机指令过多的状态而设计的一种计算机系统结构称为精简指令系统计算机,其英文缩写为 【1】 。
(2)标准的URL由三部分组成:协议类型、 【2】 和路径/文件名。
(3)对线性表进行二分发检索,其前提条件是线性表以 【3】 方式存储,并且按关键码值排好序。
(4)霍夫曼算法是求具有最 【4】 带权外部路径长度的扩充二叉树的算法。
(5)m阶B树的根节点至多有 【5】 棵子数。
(6) 【6】 是操作系统向系统用户提供的程序级服务,用户程序借助它可以向操作系统提出各种服务请求。
(7)最着名的死锁避免算法是 【7】 算法。
(8)可以采用虚拟设备技术来提高独占设备的利用率,说采用的具体技术称为 【8】 技术。
(9)根据抽象的层面不同,数据模型可分为:概念模型、 【9】 层模型和物理层模型。
(10)关系数据模型的完整性约束主要包括:域完整性约束、实体完整性约束和 【10】 完整性约束三类。
(11)动态SQL语句是指在SQL程序编译时其中有些部分尚未确定,需要在程序的 【11】 过程中临时生成的SQL语句。
(12)在关系代数中,从两个关系的笛卡尔积中选取它们的属性或属性组间满足一定条件的元组得到新的关系操作称为 【12】 。
(13)选择逻辑查询计划和选择物理查询计划的步骤称为查询 【13】 。
(14)多个事务在某个调度下的执行是正确的,是能保证数据库一致性的,当且仅当该调度是 【14】 的。
(15)Oracle针对Intrnet/Intranet的产品是Oracle 【15】 。
(16)抽象数据类型是一种用户定义的对象数据类型,它由对象的 【16】 及其相应的方法组成。
(17)若X→Y,且则称X→Y为 【17】 的函数依赖。
(18)如果关系模式R的规范化程度达到了4NF,则R的属性之间不存在非平凡且非 【18】 的多值依赖。
(19)一个多媒体数据库必须采用一些模型使其可以基于 【19】 来组织多媒体数据源,并为它们简历相应的索引。
(20)数据集市是一种更小、更集中的 【20】 ,他为公司提供了分析商业数据的一条廉价途径。
2009年9月全国计算机等级考试三级数据库笔试参考答案
一、选择题
(1)
B
(2)
B
(3)
B
(4)
C
(5)
A
(6)
C
(7)
B
(8)
D
(9)
B
(10)
C
(11)
D
(12)
C
(13)
D
(14)
A
(15)
C
(16)
D
(17)
A
(18)
C
(19)
B
(20)
D
(21)
B
(22)
B
(23)
C
(24)
A
(25)
A
(26)
A
(27)
B
(28)
B
(29)
D
(30)
C
(31)
D
(32)
C
(33)
A
(34)
D
(35)
C
(36)
B
(37)
C
(38)
D
(39)
D
(40)
B
(41)
D
(42)
C
(43)
B
(44)
D
(45)
D
(46)
C
(47)
D
(48)
A
(49)
A
(50)
D
(51)
B
(52)
C
(53)
D
(54)
B
(55)
D
(56)
C
(57)
D
(58)
A
(59)
C
(60)
B
二、填空题
(1)RISC
(2)主机名
(3)顺序
(4)小
(5)m
(6)系统调用
(7)银行家
(8)SPOOLing
(9)逻辑
(10)参照
(11)执行
(12)连接
(13)查询优化
(14)可串行化
(15)WebServer
(16)属性
(17)非平凡函数依赖
(18)函数依赖
(19)内容
(20)数据仓库
㈣ 服务器给攻击后会有哪几种影响
DoS攻击是网络攻击最常见的一种。它故意攻击网络协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法捉供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而在此攻击中并不入侵目标服务器或目标网络设备。这些服务资源包括网络宽带、系统堆栈、开放的进程。或者允许的连接。这种攻击会导致资源耗尽,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以总能找到一个方法使请求的值大于该极限值,导致所提供的服务资源耗尽。
DoS攻击有许多种类,主要有Land攻击、死亡之ping、泪滴、Smurf攻击及SYN洪水等。
据统计,在所有黑客攻击事件中,syn洪水攻击是最常见又最容易被利用的一种DoS攻击手法。
1.攻击原理
要理解SYN洪水攻击,首先要理解TCP连接的三次握手过程(Three-wayhandshake)。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送SYN包((SYN=i)到服务器,并进入SYN SEND状态,等待服务器确认;
第二次握手:服务器收到SYN包,必须确认客户的SYN (ACK=i+1 ),同}Jj’自己也发送一个SYN包((SYN j)}即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN十ACK包,向服务器发送确认包ACK(ACK=j+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手,客户端与服务器开始传送数据。
在上述过程中,还有一些重要的概念:
半连接:收到SYN包而还未收到ACK包时的连接状态称为半连接,即尚未完全完成三次握手的TCP连接。
半连接队列:在三次握手协议中,服务器维护一个半连接队列,该队列为每个客户端的SYN包(SYN=i )开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于SYN_ RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示半连接队列的最大容纳数目。
SYN-ACK重传次数:服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息、从半连接队列中删除。注意,每次重传等待的时间不一定相同。
半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
上面三个参数对系统的TCP连接状况有很大影响。
SYN洪水攻击属于DoS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从图4-3可看到,服务器接收到连接请求(SYN=i )将此信息加入未连接队列,并发送请求包给客户( SYN=j,ACK=i+1 ),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN 请求
被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。过程如下:
攻击主机C(地址伪装后为C')-----大量SYN包---->彼攻击主机
C'<-------SYN/ACK包----被攻击主机
由于C’地址不可达,被攻击主机等待SYN包超时。攻击主机通过发人量SYN包填满未连接队列,导致正常SYN包被拒绝服务。另外,SYN洪水攻击还可以通过发大量ACK包进行DoS攻击。
2.传统算法
抵御SYN洪水攻击较常用的方法为网关防火墙法、中继防火墙法和SYNcookies。为便于叙述,将系统拓扑图简化为图4-4。图中,按网络在防火墙内侧还是外侧将其分为内网、外网(内网是受防火墙保护的)。其次,设置防火墙的SYN重传计时器。超时值必须足够小,避免backlog队列被填满;同时又要足够大保证用户的正常通讯。
(1) 网关防火墙法
网关防火墙抵御攻击的基本思想是:对于内网服务器所发的SYN/ACK包,防火墙立即发送ACK包响应。当内网服务器接到ACK包后,从backlog队列中移出此半连接,连接转为开连接,TCP连接建成。由于服务器处理开连接的能力比处理半连接大得多,这种方法能有效减轻对内网服务器的SYN攻击,能有效地让backlog队列处于未满状态,同时在重传一个未完成的连接之前可以等待更长时间。
以下为算法完整描述:
第一步,防火墙截获外网客户端发向内网服务器SYN数据包,允许其通过,抵达内网服务器。同时在连接跟踪表中记录此事件.
第二步,防火墙截获服务器发向客户端的SYN/ACK响应包,用连接跟踪表中记录的相应SYN包匹配它.
第三步,防火墙让截获的SYN/ACK继续进行(发向客户端)。同时,向内网服务器发送ACK包。这样,对服务器来说,TCP连接三次握手已经完成。系统在backlog队列中删掉此半连接.
第四步,看此TCP连接是否有效,相应产生两种解决方法。如果客户端的连接尝试是有效的,那么防火墙将接到来自客户端的ACK包,然后防火墙将它转发到服务器。服务器会忽略这个冗余的ACK包,这在TCP协议中是允许的.
如果客户端的IP地址并不存在,那么防火墙将收不到来自客户端的ACK包,重转计时器将超时。这时,防火墙重传此连接.
(2) 中继防火墙法
中继防火墙抵御攻击的思想是:防火墙在向内网服务器发SYN包之前,首先完成与外网的三次握手连接,从而消除SYN洪水攻击的成立条件。
以下为算法完整描述:
第一步,防火墙截获外网客户端发向内网服务器SYN数据包.
第二步,防火墙并不直接向内网发SYN数据包,而是代替内网服务器向外网发SYNIACK数据包.
第三步,只有接到外网的ACK包,防火墙向内网发SYN包.
第四步,服务器应答SYN/ACK包.
第五步,防火墙应答ACK包.
(3) 分析
首先分析算法的性能,可以看出:为了提高效率,上述算法使用了状态检测等机制(可通过本系统的基本模块层得以实现)
对于非SYN包(CSYN/ACK及ACK包),如果在连线跟踪信息表未查找到相应项,则还要匹配规则库,而匹配规则库需比较诸多项(如IP地址、端口号等),花费较大,这会降低防火墙的流量。另外,在中继防火墙算法中,由于使用了SYN包代理,增加了防火墙的负荷,也会降低防火墙的流量。
其次,当攻击主机发ACK包,而不是SYN包,算法将出现安全漏洞。一般地,TCP连接从SYN包开始,一旦 SYN包匹配规则库,此连接将被加到连接跟踪表中,并且系统给其60s延时。之后,当接到ACK包时,此连接延时突然加大到3600s。如果,TCP连接从ACK包开始,同时此连接未在连接跟踪表中注册,ACK包会匹配规则库。如匹配成功,此连接将被加到连接跟踪表中,同时其延时被设置为3600s。即使系统无响应,此连接也不会终止。如果攻击者发大量的ACK包,就会使半连接队列填满,导致无法建立其它TCP连接。此类攻击来自于内网。因为,来自于外网的ACK包攻击,服务器会很快发RST包终止此连接(SOs>。而对于内网的外发包,其限制规则的严格性要小的多。一旦攻击者在某时间段内从内网发大量ACK包,并且速度高于防火墙处理速度,很容易造成系统瘫痪。
(4) SYN cookies
Linux支持SYN cookies,它通过修改TCP协议的序列号生成方法来加强抵御SYN洪水攻击能力。在TCP协议中,当收到客户端的SYN请求时,服务器需要回复SYN-SACK包给客户端,客户端也要发送确认包给服务器。通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端口、服务器IP地址和服务器端口以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端,如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到。cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。
㈤ 地理空间数据集成
早期GIS系统几乎是完全独立的系统,拥有自己特定的软件组件、文件格式和自己专门采集的空间数据,不同GIS系统之间很少进行交互和集成。随着网络和数据库技术发展及GIS应用领域的扩大,发展了许多空间数据集成理论和方法。
根据侧重点的不同,地球空间数据集成的概念有如下几类:①GIS功能观点,认为数据集成是地理信息系统的基本功能;②简单组织转化观点,认为数据集成是数据层的简单再组织;③过程观点,认为地球空间数据集成是在一致的拓扑空间框架中地表描述的建立或使同一个地理信息系统中的不同数据集彼此之间兼容的过程;④关联观点,认为数据集成是属性数据和空间数据的关联。这些观点,从不同角度揭示出地球空间数据集成的多样性和综合性(李军,2000)。
按照数据集成的类型及实际应用中数据集成需求,地球空间数据集成分为4大类:①区域集成,指根据一定区域范围集成各种类型的数据(Eugene,1992);②专题集成,以要素作为数据集成主要指标的集成;③时间集成,以时间为集成主体,内容包括多时间尺度数据集成、时间序列数据集成等;④数据综合集成,即综合度差异数据之间的集成,从数据与其表达的地学过程空间尺度的关系分析即是多空间尺度数据集成。
这四类集成中每一类都包含具体的集成类型,其中数据的综合集成是最为复杂的一类,常规意义的制图综合和数据细化都包含在该类数据集成中。
按照数据集成模式可以把GIS数据集成分为3种模式:①数据转换模式,是经专门的数据转换程序进行不同数据格式的集成;②数据互操作模式,是根据OGC颁布的规范,所有数据源的软件(数据服务器)需要提供统一的数据访问接口以便数据客户进行访问,并处理数据客户的请求从而完成数据服务;③直接数据访问模式,指在GIS系统中实现对其他数据格式的直接访问、存取和分析,利用空间引擎的方法实现多源数据的无缝集成(宋关福等2000;闾国年等,2003)。
这三种集成模式各有利弊,其中,①模式是传统的一种模式,但由于不同数据格式描述空间对象时采用的数据模型不同,因而转换后不能完全准确表达源数据信息,此外由于这种数据格式转换的涉及输出和输入两个过程,相对比较复杂;②模式,由于实现各种数据格式宿主软件的数据访问接口,一定时期内还不现实,且对于数据客户来讲,同时需要拥有两种格式的GIS软件,并同时运行才能完成数据的互操作,给数据的集成带来了局限性,因此目前还有很大的局限性。而③模式虽然提供了更为经济实用的多源数据集成模式,是实现空间数据共享的理想方式,但由于构建成本比较大,且需要具备多源空间数据无缝集成技术和一种内置于GIS软件中的特殊数据访问体制,目前是相对比较困难且技术要求较高的集成模式。
综上所述可知,关于地理空间数据集成,目前主要集中于物理实现和逻辑模型层次上的集成方法,是从数据本身入手来研究数据集成,属一种微观的数据集成。因此,数据集成必须同时集成数据的语义,才能满足用户应用的需要。
2.2.1.1 接口规范与标准
自从20世纪70年代开始,许多国家加强了地理信息标准化工作,迄今,已取得了长足进步。国际上地理信息产业的标准和规范发展十分迅速,各国对地理信息产业的标准和规范空前重视,在地理信息标准化的研究和标准的制定方面合作十分密切,国际标准化组织地理信息技术委员会(ISO/TC211)和以开放地理空间信息联盟(OGC)为代表的国际论坛性地理信息标准化组织,以及CEN/TC287等区域性地理信息标准化组织,在其成员的积极参与下建立了完整的地理信息标准化体系,研究和制定出了一系列的国际通用或合作组织通用的标准或规范。国际地理信息标准化工作大体可分为两部分:一是以已经发布实施的信息技术(IT)标准为基础,直接引用或者经过修编采用;二是研制地理空间数据标准,包括数据定义、数据描述、数据处理等方面的标准。
我国于1997年成立了全国地理信息标准化技术委员会(CSBTS/TC230),负责我国地理信息国家标准的立项建议、组织协调、研究制定、审查上报等。
2.2.1.2 分布式空间查询处理技术
国际上的研究主要集中在分布式空间索引技术和分布式查询处理策略等方向上。英联邦科学与工业研究组织(CSIRO)的Abel和新加坡国立大学的Ooi等人(1995)基于分布式数据库理论中的半连接思想,首先研究了分布式空间数据库的空间连接查询处理问题,提出了空间半连接算子,并基于空间对象的一维索引结构,提出了一种空间半连接查询处理算法。新加坡国立大学的Tan等人(2000)将上述算法扩展到多维索引结构,并分析了算法在不同数据分布和网络带宽情况下的性能。实验结果表明,采用空间半连接操作可以极大地降低网络数据传输量,这对于网络带宽有限的分布式环境来说,如网络将很好地改善查询的整体响应时间。但是,空间半连接操作也带来了额外的CPU和I/O开销,在高速网络环境下,且传输数据量较小时,采用基于空间半连接操作的查询处理策略反而可能引起性能的下降。此外,还有学者研究了在并行计算体系结构下的分布式空间查询处理问题,Patel等(2000)提出在并行计算体系结构下的两种空间连接查询处理策略。
2.2.1.3 组织管理与集成体系结构
对于组织管理与集成体系结构即空间数据组织管理与集成技术研究,分为三个阶段:①传统的空间数据组织管理与集成阶段。②面向服务的空间数据的组织管理与集成阶段。③网格环境下空间数据的组织管理与集成阶段。海洋时空数据属于地理空间数据的范畴,但是由于海洋现象的复杂性、多样性以及海洋时空数据自身的特点,决定了海洋时空数据与其他空间数据的组织管理与集成有着很大的区别。