IRQ是什么?*
23RN}LUi
|8My42yf IRQ就是一个中断,通过中断,外设可以取得CPU的处理时间。下表表示了通常的NT系统中的IRQ设置。
u~WVGjoQ EfCx`3~EX 中断级别 通常用途 说明
Hn5|B 3vN 0 时钟
@d
mV 1 键盘
Exc9`
7%. 2 与IRQ 9级连
_j< K=){ 3 COM2或COM4
G
8g<>d{j 4 COM1或COM3
l'/R&`-n 5 LPT2 因为许多用户没有第二个并行口,因此它常常空闲,声卡可以使用此中断
??M"6k 6 软盘控制器
xKuRh}^K 7 LPT1 声卡可以使用此中断
8 ~J(](QA 8 实时时钟
0yuS3VY) 9 与IRQ 2级连 直接与2相连,有时通知软件9时意味着2
{^\+iK4bS 10 未使用 通常用于网卡
qI#;j%V 11 未使用 由SCSI控制器使用
+trC,D 12 PS/2,总线鼠标 如果用户没有PS/2或总线鼠标,此中断空闲
+
HK8jCa 13 协处理器 通知CPU协处理器错误
i36eBjT 14 硬盘控制器 如果用户未使用IDE硬盘,可以将它用于其它设备
SL#0kc0x 15 有些计算机将此中断分配为第二个IDE控制器 I如果用户未使用第二个IDE硬盘控制器,可以将它用于其它设备
hc>HQrd <{V(.=11 Mxyb5h 什么是网络操作系统 (NOS)?*
glM$R &/ 7UVzp v s$Z
_48 网络操作系统(NOS)是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。例如像前面已谈到的当在LAN上使用字处理程序时,用户的PC机操作系统的行为像在没有构成LAN时一样,这正是LAN操作系统软件管理了用户对字处理程序的访问。网络操作系统运行在称为服务器的计算机上,并由联网的计算机用户共享,这类用户称为客户。
l49*<nkmq gMWjk7 NOS与运行在工作站上的单用户操作系统或多用户操作系统由于提供的服务类型不同而有差别。一般情况下,NOS是以使网络相关特性达到最佳为目的的,如共享数据文件、软件应用,以及共享硬盘、打印机、调制解调器、扫描仪和传真机等。一般计算机的操作系统,如DOS和OS/2等,其目的是让用户与系统及在此操作系统上运行的各种应用之间的交互作用最佳。
/OLFcxEWh cx&>#8s& 为防止一次由一个以上的用户对文件进行访问,一般网络操作系统都具有文件加锁功能。如果系统没有这种功能,用户将不会正常工作。文件加锁功能可跟踪使用中的每个文件,并确保一次只能一个用户对其进行编辑。文件也可由用户的口令加锁,以维持专用文件的专用性。
}o(zj=7 MvK !u NOS还负责管理LAN用户和LAN打印机之间的连接。NOS总是跟踪每一个可供使用的打印机,以及每个用户的打印请求,并对如何满足这些请求进行管理,使每个端用户感到进行操作的打印机犹如与其计算机直接相连。
g#Sl %Y %s|}Fz-> NOS还对每个网络设备之间的通信进行管理,这是通过NOS中的媒体访问法来实现的。
5=v}W:^v. 什么是网络操作系统Netware?
zNxW'?0Z? c:<005\Bg 鉴于Novell公司的Netware是目前使用最普遍的一种网络操作系统,下面将对这种操作系统进行讨论。
WST8SEzJ Novell公司的Netware 3.X和4.X是32位的NOS,可运行在Intel 80386和Intel 80486处理器上。这种NOS支持所有的主流台式机操作系统,其中包括DOS,Microsoft Windows,Apple Macintosh, OS/2和Unix,如图5所示。Novell公司从1983年公布Netware第一个版本以来,
9x>d[-#y:J 已逐渐演变成一种十分完善的NOS。从技术角度来说,Netware 的成功应归功于其体系结构设计的特点:图5
-likj#Z (1)支持所有的主流台式机操作系统,并保留了台式工作站具有的交互操作方式。每个工作站看到的诸如打印机和硬盘之类的网络资源犹如是与本地资源进行交写的一种扩充。例如,网络驱动器可看作是DOS工作的另一个硬盘, 同时又可看作是UNIX工作站的可安装的文件系统。
y\Ic@-aWI (2)Netware具有的灵活性表现在它可利用范围广泛的第三方的硬件设备和元件, 其中包括文件服务器,磁盘存储系统、网络接口卡、磁带备份系统和其它元件。
}<@b=_>S (3)支持所有主流局域网标准,如Ethernet(IEEE 802.3)、令牌环(IEEE 802.5)、ARCnet和Local Talk等。
d1AioQ9 (4)将高效和高速的机制建在所有NOS组成部分的核心结构中,其中包括文件系统, 高速缓冲系统和协议堆栈中
5-aj2>=7 (PS: 从这开始是本人自己写的~ 另外netware当初在世界可以说是现在微软的地位 可以说更高 那个时期 基本上都称局域网为novell网 局域网操作系统netware占据了主导地位 ,但是 不得不佩服比尔盖茨这个计算机和商业上的天才 他通过购买16位微机操作系统和成功投标
W6?pswQ 于IBM公司的IBM-PC发家以来,采取了培养客户群的策略 并且决定性的采用苹果公司的首先开发的视窗系统 笔者(不是我 书上的)曾总结了用户的大特点 1懒2笨3急性子的特点
\m(VdE 迅速获得市场(看出来了把 盖茨老大抓住我们的弱点。。。。)在windowsNT4。0面世以后
kYG/@7f/ 一个性能优良的网络操作系统就这样击败了 (netware为什么会被击败 个人感觉 太注重局域网 没有注重当时人们需要局域网和互联网铰链 而盖茨老大看准了这一点 IT界 不光要有技术
wO'TBP 商业头脑很重要)
YG@t5j#b 9 7GV2]-M =t9\^RIx)? Cs9.&Y 什么是无盘网络?*
8u6:=fxb VH9dleZ 简言之,就是一个网络中的所有工作上都不安装硬盘,而全部通过网络服务器来启动,这样的网络就是无盘网络,这些工作站被称为无盘工作站。没有接触过无盘网络的人可能会很快对这样的网络产生应趣,每台工作站省掉一个硬盘,一套三四十台机器的网络省掉的钱就相当可观,这可能是每个刚接触无盘网络的人的第一印象。的确,省钱是无盘网络的一大优点,而实际上无盘网络的最主要优点却并不是省钱,而是"管理和维护"。负责网络管理的管理员们对"管理和维护"应该有比较深的认识,网络管理员的主要工作就是要保证一个网络能正常运行。一个普通的有盘网络,例如一个网络教室,如果网络中的工作站出了什么问题,开不了机、上不了网,或者网络中的软件需要升级,把Offce97升级为Office2000,这时网络管理员就要忙起来了,他要负责把每台机器都调整好,安装上新的软件,甚至每台机器的硬盘都要重新格式化、分区、安装好系统等。也许过不了多久,系统又被学生不小心破坏掉,于是又是繁琐的安装、调试等,麻烦不说,还要耽误工作、影响用户的正常使用。
^(vs.U^U< _ba>19csq% #gz
M| 9$cWU_q{ 因此,一种新的网络结构:无盘网络出现了。无盘网络的本意一个是为了降低工作站的成本,但主要却是为了管理和维护的方便。试想,如果把工作站要用到的操作系统的文件和软件文件都放到服务器上,系统的管理和维护都在服务器上完成,软件升级只需要配置一次,网络中的所有计算机就都能用上新软件,这对网络管理员来说的确是福音。但事实上情况并没有那么简单,微软最初推出的传统无盘Window95己经使人们对"无盘网络"失去了信心,无盘网络配置的繁琐比之有盘网络配置更加麻烦、结构的不合理导致传统无盘网络系统不稳定、软件运行不正常甚至很多软件无法运行,这些使无盘技术几乎己经走到了尽头,正是在这个时候,无盘Windows98、Windows2000终端网络系统应运而生了。
q8/MMKCbX t&H?\)!4 应用范围:
#gRM i)(F l_o@miG/ }+.}J 无盘网络系统可以应用在网络教室,企业内部局域网、网吧、酒店、点歌娱乐行业及一切无盘网络的组建和改造。
[x+FcXb tnH2sHby 1、 适用于学校无盘网络教室的组建或改造
$*e2YQdLo B*
?]H*K 2、 适用于大中小型公司、企事业单位、营业厅等办公室
DJ'zz&K U>]$a71 3、 适用于游戏吧及Internet 网吧
_I@9HC 4 Fv~20G(O 4、 适用于酒店、KTV歌厅等以VCD 为主的网络
<0b)YJb4M c~z82iXNO 无盘的好处:
s/$?^qtyC 省银子每个工作站都不用硬盘,节约大量资金。但这不是无盘的主要优点。
qh9Z50E9 易管理工作站10秒自动还原,由于无硬盘,所以不怕随意关机或人为破坏。
8K:y\1 速度快12秒进WIN98, 这是有盘无法想像的。服务器用高速磁盘阵列,加上大内存,大缓存,高速CPU,所以响应速度极高,使普通工作站性能大幅提升。
lAb*fafQy 内容丰富每个工作站都共享240G或更多节目,比有盘多6倍。2000多首MP3,1000多集电影,上1000个游戏,足以让每个网民乐不思蜀,网吧财源滚滚。
2oVSn" O(fM?4w 安全性好独一无二的超级保护功能足以让有盘工作站相形见拙,不怕恶意攻击和破坏,实现无人值守及零维护,再也不用整天手忙脚乱地Ghost硬盘了。游戏升级快升级服务器游戏相当于同时升级几百台工作站的游戏。安装快速简单原有网络原封不动,100台改无盘只要3个小时左右。
(;T^8mI2 :r{<zd>; /]K^
rw[ 什么是asp*
a1EOJ^}0 &"yx<&c} 什么是ASP(Active Server Pages)?
]^h]t~ T|nDTezr Active Server Pages(ASP,活动服务器页面)就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。 如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。
z@!`:'ak "W6uV! ASP的工作原理:
OLyf8&AU@ 当在Web站点中融入ASP功能后,将发生以下事情:
't:;irLW. 1 用户调出站点内容,默认页面的扩展名是.asp。
OI|[roMK 2 浏览器从服务器上请求ASP文件。
b$N2z 3 服务器端脚本开始运行ASP。
9IjIIM2y 4 ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
yA)/Q
Yge 5 页面信息发送到浏览器。
01wX `"I 因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。
mk.9OhYY 这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容。
uatm/o^~, l4F%VR4KT 2BQ
j q]T1dz? 什么是DDoS?*
z[b@V iW$_zgN 纵观网络安全攻击的各种方式方法,其中DDoS类的攻击会给你的网络系统造成更大的危害。因此,了解DDoS,了解它的工作原理及防范措施,是一个计算机网络安全技术人员应必修的内容之一。
d' !]ZWe RIlwdt
一、DDoS的概念
ns9U/:L /rK}?U 要想理解DDoS的概念,我们就必须先介绍一下DoS(拒绝服务),DoS的英文全称是Denial of Service,也就是“拒绝服务”的意思。从网络攻击的各种方法和所产生的破坏情况来看,DoS算是一种很简单但又很有效的进攻方式。它的目的就是拒绝你的服务访问,破坏组织的正常运行,最终它会使你的部分Internet连接和网络系统失效。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。。
(?n=33}Ci 我们可以看出DoS攻击的基本过程:首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽。
8EW_V$>R f.D?sH An DDoS(分布式拒绝服务),它的英文全称为Distributed Denial of Service,它是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,象商业公司,搜索引擎和政府部门的站点。从图1我们可以看出DoS攻击只要一台单机和一个modem就可实现,与之不同的是DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。
MqW7cjg DDoS攻击分为3层:攻击者、主控端、代理端,三者在攻击中扮演着不同的角色。
TrlZ9?3#D mWoAO@}Y 1、攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。
o}
J&E{Tk "|EM;o 2、主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。
]D?"aX'q> ")SFi^] 3、代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击。
T1 ut"Zu KI)M JG:t 攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。
;O,+2VzP%^ 7?#J~.d5 二、DDoS攻击使用的常用工具
dMh:ulIY> 3eb%OEMYk DDoS攻击实施起来有一定的难度,它要求攻击者必须具备入侵他人计算机的能力。但是很不幸的是一些傻瓜式的黑客程序的出现,这些程序可以在几秒钟内完成入侵和攻击程序的安装,使发动DDoS攻击变成一件轻而易举的事情。下面我们来分析一下这些常用的黑客程序。
Si_ _8D Z"/p,A9W9| 1、Trinoo
uZNTHD 9B{k , 1
Trinoo的攻击方法是向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力的垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃。它对IP地址不做假,采用的通讯端口是:
c23oCfB> 8[a=OP 攻击者主机到主控端主机:27665/TCP
<^VJy5> 主控端主机到代理端主机:27444/UDP
[)H&'5 +F 代理端主机到主服务器主机:31335/UDP
,|3MG",@@h ^X=arTE 2、TFN
Y\D!/T n`#tKwWHYx TFN由主控端程序和代理端程序两部分组成,它主要采取的攻击方法为:SYN风暴、Ping风暴、UDP炸弹和SMURF,具有伪造数据包的能力。
H=<S 9M ND'E8Ke pq 3、TFN2K
BL0 {HV! t_o['F TFN2K是由TFN发展而来的,在TFN所具有的特性上,TFN2K又新增一些特性,它的主控端和代理端的网络通讯是经过加密的,中间还可能混杂了许多虚假数据包,而TFN对ICMP的通讯没有加密。攻击方法增加了Mix和Targa3。并且TFN2K可配置的代理端进程端口。
m4**~xfC bp*
^z,w 4、Stacheldraht
\d6C%S! .!Oo|m`V@ Stacheldraht也是从TFN派生出来的,因此它具有TFN的特性。此外它增加了主控端与代理端的加密通讯能力,它对命令源作假,可以防范一些路由器的RFC2267过滤。Stacheldrah中有一个内嵌的代理升级模块,可以自动下载并安装最新的代理程序。
R cAwrsd h?AS{`.1 三、DDoS的监测
=m!-m\B/ Dt}JG6 S 现在网上采用DDoS方式进行攻击的攻击者日益增多,我们只有及早发现自己受到攻击才能避免遭受惨重的损失。
B-xGX$<z p,
h9D_ 检测DDoS攻击的主要方法有以下几种:
E%yNa]\P o*b] p- 1、根据异常情况分析
*QpMF/<? m}C>ti`VD 当网络的通讯量突然急剧增长,超过平常的极限值时,你可一定要提高警惕,检测此时的通讯;当网站的某一特定服务总是失败时,你也要多加注意;当发现有特大型的ICP和UDP数据包通过或数据包内容可疑时都要留神。总之,当你的机器出现异常情况时,你最好分析这些情况,防患于未然。
ap.K=-H b LB:MW\% 2、使用DDoS检测工具
vUN22;Z\ %P<hW+P! 当攻击者想使其攻击阴谋得逞时,他首先要扫描系统漏洞,目前市面上的一些网络入侵检测系统,可以杜绝攻击者的扫描行为。另外,一些扫描器工具可以发现攻击者植入系统的代理程序,并可以把它从系统中删除。
zZ7;jyD b+%f+zz*h 四、DDoS攻击的防御策略
3_ r*y9l Hkk/xNP 由于DDoS攻击具有隐蔽性,因此到目前为止我们还没有发现对DDoS攻击行之有效的解决方法。所以我们要加强安全防范意识,提高网络系统的安全性。可采取的安全防御措施有以下几种:
P2NQHX
Tl%`P_J)-S 1、及早发现系统存在的攻击漏洞,及时安装系统补丁程序。对一些重要的信息(例如系统配置信息)建立和完善备份机制。对一些特权帐号(例如管理员帐号)的密码设置要谨慎。通过这样一系列的举措可以把攻击者的可乘之机降低到最小。
EMh7z7}Rr ERUz3mjA/ 2、在网络管理方面,要经常检查系统的物理环境,禁止那些不必要的网络服务。建立边界安全界限,确保输出的包受到正确限制。经常检测系统配置信息,并注意查看每天的安全日志。
]_Vx{oT7 hW%TM3l} 3、利用网络安全设备(例如:防火墙)来加固网络的安全性,配置好它们的安全规则,过滤掉所有的可能的伪造数据包。
t#V!8EpBg (]Z_UTT 4、比较好的防御措施就是和你的网络服务提供商协调工作,让他们帮助你实现路由的访问控制和对带宽总量的限制。
|ax3sAg sGi"rg# 5、当你发现自己正在遭受DDoS攻击时,你应当启动您的应付策略,尽可能快的追踪攻击包,并且要及时联系ISP和有关应急组织,分析受影响的系统,确定涉及的其他节点,从而阻挡从已知攻击节点的流量。
S
^"y4-2 )SaGH3~*C 6、当你是潜在的DDoS攻击受害者,你发现你的计算机被攻击者用做主控端和代理端时,你不能因为你的系统暂时没有受到损害而掉以轻心,攻击者已发现你系统的漏洞,这对你的系统是一个很大的威胁。所以一旦发现系统中存在DDoS攻击的工具软件要及时把它清除,以免留下后患。
?ME6+Z\ 什么是跨站攻击?
[glLre^ 35A|BD)q 跨站攻击是指入侵者在远程Web页面的HTML代码中插入具有恶意目的的数据,使得用户认为该页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行。”
?8I?'\F;
zkt+7,vI 跨站攻击有多种方式,典型的方式有两种:其一,由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码——例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。
<->{ $ZUdT 18|m)(W '<jyw 什么是Internet路由?
u#Pa7_zBj] srr
:!5 路由概述
|v`AA?@{8 }K7#Q 路由的过程可以概述为一个节点找到通往每个可能目的地的路径。路由出现在从第一层到第七层的每一层中。人们所熟悉的路由是出现在第三层(网络层)的,因此我们也只讨论第三层的IP路由。
Umz KY <5-[{Q/2z 交换路由信息的协议联接世界上的许多路由器,尽管这些路由器并不同类,通过路由表还是可以提供它们共同的网络视图。路由表为路由器存储了到达网络上任一目的地所需要的一切必要的信息。
%<)2/|lCd <C_jF w;;BSJ]+[ 路由协议
c>,'Y)8 @GPCwE1 各种各样的路由协议被用来填写网络中的路由表。象BGP,OSPF,RIP和ISIS这样的协议可以传输给所有的路由器一个正确和一致的网络视图。
o@r7
n>G
Hn7_FOC 路由协议想要实现目标
Mz9r5 ~xbe~$$Q@ 你能够想象如果每个路由器都存储从它的节点所能到达的每个目标点所需的信息,很可能该路由器会积累一张庞大的路由表。由于物理上(cpu,内存)的限制路由器很难有时就根本不可能处理一个庞大的路由表。因此在不影响到达每个目的地的能力的情况下,我们要使路由表最小化。例如,一个路由器通过连接到另一个路由器一个DS1链路连接到Internet,那么这个路由器可以将Internet上所有节点的信息都存储,或者它也可以将所有DS1串行链路外的非本地的信息都不存储。也就是说路由器没有在它的路由表中存储任何有关数据“包”要寻找的非本地网络目的地的信息,而是将这些“包”发送到串行链路另一端的路由器,由这个路由器来提供必要的信息。我们常把像本例中我们所说的在串行DS1链路另一端的路由器称为“Gateway of Last Resort”。这种简单的小把戏可以替路由表节省30个数量级的条目。路由信息没有必要被过于频繁地在路由器之间交换。通常路由表中的搅拌器给任何路由器所能提供的贫乏的内存和CPU施加了许多不必要的压力。信息的复制不应该影响路由器的转发操作。尽管没有必要每毫秒都刷新路由表,当然也不能每隔一个星期才刷新一次路由表。路由的一重要的目标就是为主机提供能够准确反映当前网络状态的一张路由表。
L(/e&J@>< /1Qr#OJ(] 路由器最重要的操作是将接收的包发送到正确的路径。未经路由的包可能会导致数据丢失。而路由表的不一致将会导致路由环路并使某个数据包在两个相邻的界面之间被循环发送。
&VhroHO z#8~iF1 人们十分希望所有的路由器都能有快速的收敛性。收敛性可以被非正式地定义为计量所有路由器获得一致的网络视图的速度的单位。人们希望有极小的收敛时间,因为如此网络上的每个路由器即使在网络拓扑(即网络视图)被严重改变的情况下也能准确地反映当前的网络拓扑。当网络拓扑被改变时,每个路由器必须传输数据以帮助其它路由器来收敛出正确的网络视图。但是在刷新路由表时快速收敛也存在着它的问题。如果一个链路在迅速地振动(一会儿断开,一会儿合上),它会产生大量的安装和撤销的请求。这个链路最终将会耗尽网络上每个路由器的资源,因为其它路由器被强迫快速安装或撤消这个路由。因此,即使快速收敛是路由协议的目标,它也不是所有网络难题的万能药。
i)o2klIkB 7yG#Z)VE zbXI% 距离矢量路由
uX"H4lO~ bh s5x 距离矢量路由协议向路由器的所有邻居分发一张记录形式为<目标,开销>的列表。这些记录为网络中的每个非本节点的其它节点赋上了开销这个值。值得注意的是这些信息只分发给源路由器的邻路由器。这里的邻路由器常常是物理上的,但在eBGP中也有适用于逻辑上的情况。开销的意思是从源路由器到目标节点的链路开销的总和。源路由器定期地刷新它的距离矢量记录并把记录分发给它的邻路由器。邻路由器将过去接收到的记录与现在的比较,如果过去的开销较小路由器将沿过去接收的距离矢量记录所指的路径发送输出。
:I"2V I.WvLLK2 XQrF4l 许多距离矢量在实际使用时将会碰到无穷大的问题。例如,我们假设所有的链路都有一个开销单元并且每一对相邻节点之间的链路对应一个单元。如果路由器X连接到路由器Y并且路由器Y连接到路由器Z如图1,我们将会发现无穷大的问题。Y知道到Z要有1个单元的开销并且X知道到Z要2个单元的开销。假设链路YZ关闭,这条链路的开销就成为无穷大(如图2)。现在Y知道到达Z的开销是无穷大,它就将这个距离矢量路由发送给X。假设X这时发送给Y一个距离矢量路由声称它到达Z要2个单元的开销。现在Y就会认为它能通过X到达Z,它就发送给X一个刷新的距离矢量路由声称它到达Z的开销是3个单元(如 图3)。请注意X没有想到Y发给它的这个距离矢量路由是由它发送给Y的那个距离矢量路由推算来的。这就是距离矢量路由的严重缺陷,在它们未改进的结构中不包含路由障碍的信息。正如图例所示路由器将会不断改变到Z的路径信息。X和Y这两个路由器将会永远交换这个有关Z路由器的路径信息或者直到开销单元的值到达某一个事先约定的无穷大的值(例如,在RIP中是15)。
S(o#K|)> \(3y7 D !lREaSM )mI 05 X--------------------Y--------------------Z
}Q)#[#e ~t@cO.c Y:1 X:1 X:2
\6S7T$$ 1m Z:2 Z:1 Y:1
&X`C%h a_[Eh fE [ 图一 ]
*]. 7dec/ sW Qfr$^A X--------------------Y--------* *---------Z
`uq8G A;G;^s Y:1 <------------- Z:无穷大
@d^Grm8E Z:2 -------------> X:1
F;>V>" edl u~r=)His [ 图二 ]
K#l:wH_ _ ?TN; X--------------------Y--------* *---------Z
Bt[/0>i \@-@Y Z:无穷大(从 Y) -> X:1
f"B3,6m Y:1 <------------- Z:3
)) Zf|86N >lmi@UN|k [ 图三 ]
+ylTGSZS PUz*!9HC 使用路径矢量路由就可以解决无穷大的问题。每个距离矢量也包括他所通过的路径(如图4)。路由器如果接收到一个路径矢量中包含自己的刷新记录,路由器将不会刷新该记录(如图5)。边界网关协议(The Border Gateway Protocol)就使用了上述的方法以解决无穷大的问题。很明显如果你想使路由表包含路由器所传输的AS(Autonomous Systems on the internet)路径信息,你将必须要向路由表中添入更多的信息。因此BGP的设计者决定牺牲一点路由器能够承受的起的存储空间和处理能力。
ZufR{^W OGBHos "HX<,l8f% X--------------------Y--------------------Z
Qf58ig-vCY 2{M^,=^> Y:1 (Y) X:1 (X) X:2 (YX)
VGLaN%| Z:2 (YZ) Z:1 (Z) Y:1 (Y)
T\:4qETQF] 7@C<oy_bb [ 图四 ]
x9NEFtqjm ".f ;+wH X--------------------Y--------* *---------Z
xpNH?#& LO'**}vm Y:1 (Y) X:1 (X)
-Q2, " Z:2 (Y Z) Z:infinity
cy*?&~; *EI6dD" [ 图五 ]
@(l^]9(V\ |D'4uN8\ 另一个无穷大问题的解决之道是分离范围。主要思想是,如果邻路由器处在通往目的地的路径上的第二个节点,路由器就不向该邻路由器广播该路径。这个解决的办法可以用刚才的例子来说明。因为到Z的路径是从X通过Y再到Z,又因为Y是X的邻路由器,所以该路径从X广播时Y不被广播。
!y#"l$"xK <3(LWxw 链路状态路由
uvgdY h}-3\8 > 一个路由器在使用链路状态路由时,它将会向网络上所有其它的路由器分发它到它邻路由器的距离。这就使每个路由器不用知道从某一源节点到目的节点的开销,该路由器就可以产生一张路由表。环路的问题不会出现,因为每个路由器都拥有整个网络的拓扑。主要思想是一个路由器产生有3个部分的记录包含源路由器(它自己)、邻路由器和到邻路由器的开销。因此,如果路由器A通过一条开销为3的链路连接到路由器B,并且路由器A通过一条开销为5的链路连接到路由器C,那么路由器将会向网络上所有的路由器广播链路状态包(LSPs)和。每个路由器将可以从接收到的LSPs中推算出一条通向目的节点的最短路径。
BK*x] zG$ vrl;"Fm+ 很显然,LSP是收敛过程中的一个组成部分。如果向网络中加入了错误的LSP。将会导致错误的路由信息(会使包沿比原来更长的路径传输)甚至产生路由黑洞。如果路由器C向其它路由器广播一条到他的邻路由器的路径信息,但当该链路断开时路由器C撤回了刚才的广播。不幸的是第二个LSP先到而第一个LSP先到,这时其它路由器的路由表就不能正确地反映网络的拓扑,而只能等到另一个正确的LSP来到。
d[[]PX cD@(/$wt 为了解决这个问题,LSP引进了序列码。因此网络上所有的路由器都会以一些值作为起始值来初始化他们的序列码,然后在广播他们的LSP。这就解决了刚才的问题。
.=U#eHBdAQ Pnw]Tm}g 当使用序列码时会碰到序列码空间是有限这一问题。LSPs可以用的序列码都被设置成有限值。因此,当序列码到达最大值后,有要从最小值重新开始。这就给路由器在比较链路状态的当前记录和刷新记录时带来困难,因为序列码大的有优先权。为了解决这个问题,可以为LSP定义一个最大老化时间。也就是说,如果路由器在X段时间内没有收到刷新记录,它就将现有的记录丢弃而去等待更新的记录。要注意必须使到目的地的路径信息无效。例如,当路由器Y连向某一局网的链路断开时,路由器Y向路由器Z广播了这条链路的信息,这时局网中的路由器们此时还在认为它们仍可以到达Z。如果它们在最大老化时间内接收不到刷新记录,它们就会假设到Y的链路已经不可达。这样所有的路由器的路由表才会一致,路由器Y和Z也可以使用有限的序列码。
T}
`x- y@]_+2Vo 序列码的初始化也是这个问题中另一个重要的方面。假设路由器Y重起了,而此时网络又开始重新计算路径。当该路由器的链路状态协议开始工作,它必须知道重新初始化它的序列码为何值以使它和其它路由器保持一致。因此,它就广播一个带有特别的初始化集合的路径信息。这条记录会告诉其它路由器它需要那个序列码,并且其它路由器会告诉它。
wWgWWXGT} 9K/HO!z m 2-Sx =Xm@YVf&ZD 什么是ICS ?*
(As#^q\>B -VZ-<\uH ICS(Internet Connection Sharing)是Win 2000针对家庭网络或小型的Intranet网络提供的一种Internet连接共享服务。
c~6>1w7SZ4 ICS实际上相当于一种网络地址转换器,所谓网络地址转换器就是当数据包向前传递的过程中,可以转换数据包中的IP地址和TCP/UCP端口等地址信息。有了网络地址转换器,家庭网络或小型的办公网络中的电脑就可以使用专有地址,并且通过网络地址转换器将专有地址转换成ISP分配的单一的公共IP地址。ICS使用专有网络192.168.0.0,子网掩码为255.255.255.0。下面来了解一下ICS转换地址的过程:
mCRt8rY; 1.当网络中的一台客户机连接Internet时,客户机的TCP/IP协议将创建一个IP数据包,这个数据包包含如下地址信息:目的IP地址-Internet主机地址;源IP地址-专有IP地址;目的端口-Internet主机的TCP/UDP端口;源端口-源应用程序的TCP/UDP端口。
;g8R4!J 2.数据包传送到ICS电脑后,ICS对这个向外发出的数据包进行了地址转换和端口重配置,数据包的目的IP地址和目的端口不变;源IP地址变为ISP分配的公共IP地址;源端口变为重配置的源应用程序TCP/UDP端口。
so^lb?g 3.ICS电脑将修改过的数据包传送到Internet上,Internet上的主机向ICS电脑发回响应数据包,ICS收到的数据包包含如下地址信息:目的IP地址-ISP分配的公共IP地址;源IP地址-Internet主机IP地址;目的端口-重配置的源应用程序TCP/UDP端口;源端口-Internet主机的TCP/UDP端口。
>82@Q^O 4.ICS电脑将这个数据包的地址进行转换和配置后,将数据包传送给内部网络中的客户机。ICS对数据包包含的地址信息进行了如下的修改:源IP地址和源端口保持不变;目的IP地址变为专有IP地址;目的端口变为源应用程序TCP/UDP端口。
YgKZ#?* 上述过程可以简单地概括为,对于向外发出的数据包,ICS将源IP地址和源TCP/UDP端口号转换成一个公共的源IP地址和可能改变的端口号;对于流入内部网络的数据包,ICS将目的地址和TCP/UCP端口转换成专有的IP地址和最初的TCP/UDP端口号。
YX%[ipgB |].pDwgt \Fl+\?~D 什么是网关 ?*
h"lX4 网关就是一个网络连接到另一个网络的“关口”。
$GYm6x\4 ??按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“关”均指TCP/IP协议下的网关。
ODZ5IO}v ??那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为""255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
QS0:@.}$E) PEc,l>u9 +
r!1<AAE$ 什么是循环冗余校验CRC (Cyclic Redundancy Check) *
l|xZk4@_uE _a_7,bk5 数据通信中应用最广的一种检验差错方法。方法是在发送端用数学方法产生一个循环码,叫做循环冗余检验码。在信息码位之后随信息一起发出。在接收端也用同样方法产生一个循环冗余校验码。将这两个校验码进行比较,如果一致就证明所传信息无误;如果不一致就表明传输中有差错,并要求发送端再传输。
QFfK0X8cC 什么是FSO
NHB4y /2 SH3|sXH< FSO(FileSystemObject)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作。是ASP编程中非常有用的一个控件。
9Kr+\F EDGE是什么?
r$5i Wu .#wqXRd EDGE 是一种基于GSM/GPRS网络的数据增强型移动通信技术,通常又被人们称为2.75代技术,被定位于第3代移动通信WCDMA的过渡方式,其目的是使现有的网络运营商可以最大限度地利用现有的无线网络设备,在第三代移动网络商业化之前提前为用户提供个人多媒体通信业务。由于使用了新的无线传输技术,因此 GSM网络和手机都需要进行升级才能使用EDGE服务
J~=n`pW 什么是MAC地址表?
>oea{u )S`jFQ1 交换机之所以能够直接对目的节点发送数据包,而不是像集线器一样以广播方式对所有节点发送数据包,最关键的技术就是交换机可以识别连在网络上的节点的网卡MAC地址,并把它们放到一个叫做MAC地址表的地方。这个MAC地址表存放于交换机的缓存中,并记住这些地址,这样一来当需要向目的地址发送数据时,交换机就可在MAC地址表中查找这个MAC地址的节点位置,然后直接向这个位置的节点发送。所谓MAC地址数量是指交换机的MAC地址表中可以最多存储的MAC地址数量,存储的MAC地址数量越多,那么数据转发的速度和效率也就就越高。
ktI/3Mb@ 但是不同档次的交换机每个端口所能够支持的MAC数量不同。在交换机的每个端口,都需要足够的缓存来记忆这些MAC地址,所以Buffer(缓存)容量的大小就决定了相应交换机所能记忆的MAC地址数多少。通常交换机只要能够记忆1024个MAC地址基本上就可以了,而一般的交换机通常都能做到这一点,所以如果对网络规模不是很大的情况下,这参数无需太多考虑。当然越是高档的交换机能记住的MAC地址数就越多,这在选择时要视所连网络的规模而定了。
n 9\
C2r tc_286'x `))\}C@k H|,Oswk~- 什么是telnet?*
zG+R5: 是进行远程登录的标准协议和主要方式它为用户提供了在本地计算机上完成远程主机工作的能力。通过使用Telnet,Internet用户可以与全世界许多信息中心图书馆及其它信息资源联系。Telnet远程登录的使用主要有两种情况。第一种是用户在远程主祝上有自己的帐号(Account),即用户拥有注册的用户名和口令;第二种是许多Internet主机为用户提供了某种形式的公共Telnet信息资源,这种资源对于每一个Telnet用户都是开放的。Telnet是使用最为简单的Internet工具之一。在Unix系统中,要建立一个到远程主机的对话,只需在系统提示符下输人命令:
yPM3a7-Bm Telnet IP
]FD'5p{ 用户就会看到远程主机的欢迎信息或登录标志。在Windows系统中,用户将以具有图形界面的Telnet客户端程序与远程主机建立Telnet连接。
t'9*R7= u?>B)PW DQMHOd7g cQG
+$0( ?/TSi0R 什么是FTP FTP的使用命令?*
rJFc({ 0
qNI,
62 )q0. 0<f 文件传输协议FTP(File Transfer Protocol)是Internet传统的服务之一。FTP使用户能在两个联网的计算机之间传输文件,它是Internet传递文件最主要的方法。使用匿名(Anonymous)FTP, 用户可以免费获取Internet丰富的资源。除此之外,FTP还提供登录、目录查询、文件操作及其他会话控制功能。
M@h|bN CQwL|$)]Y G,TM-l_uw FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIXa作系统下使用FTP,都会遇到大量的FTP内部命令,熟悉并灵活应用FTP的内部命令,可以大大方便使用者,对于现在拨号上网的用户,如果ISP提供了shell可以使用nohup,那么ftp将是你最省钱的上download方式,ftp的命令行格式为:ftp -v -d -i -n -g[主机名]
+$X#q8j06 -v 显示远程服务器的所有响应信息。 -d 使用调试方式。
A3vUPWdDk -n 限制ftp的自动登录,即不使用.netrc文件。 -g 取消全局文件名。
tcI}Ca>u ftp使用的内部命令如下(其中括号表示可选项):
x2@U.r"zo 1.![cmd[args]]在本地机中执行交互shell、exit回到ftp环境,如!ls*.zip 。
0_k'.5l% 2.¥ macro-ame[args]执行宏定义macro-name。
&GNxo$CG 3.account[password]提供登录远程系统成功后访问系统资源所需的补充口令 。
"dsU>3u 4.appendlocal-file[remote-file]将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
}
$uxJB 5.ascii 使用ascii类型传输方式。
Mb"J@5P[4 6.bell每个命令执行完毕后计算机响铃一次。
aqYa{hXio 7.bin使用二进制文件传输方式。
fKp#\tCc y 8.bye退出ftp会话过程。
*o-.6OxZ$ 9.case在使用mget时,将远程主机文件名中的大写转为小写字母。
gWrgnlq 10.cd remote-dir 进入远程主机目录。
RZ6xdq}> 11.cdup进入远程主机目录的父目录。
6Ztq 12.chmod modefile-name将远程主机文件file-name的存取方式设置为mode,如chmod 777 a.out。
F&])P-
!3 13.close中断与远程服务器的ftp会话(与open对应)。
c<uN"/gi* 14.cr使用asscii方式传输文件时,将回车换行转换为回行。
'#LQN<"4 15.delete remote-file删除远程主机文件。
'sLiu8G 16.debug[debug-value]设置调试方式,显示发送至远程主机的每条命令,如 debup3,若 设为0,表示取消debug。
"+\ lws 17.dir[remote-dir][local-file]显示远程主机目录,并将结果存入local -file。
:1 (p.q= 18.disconnection同close。
$|]" W=h 19.form format将文件传输方式设置为format,缺省为file方式。
e`d%-9 20.getremote-file[local-file]将远程主机的文件remote-file传至本地硬盘的local-file。
,REJt 21.glob设置mdelete、mget、mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
V<D.sd< 22.hash每传输1024字节,显示一个hash符号(#)。
hOFOO_byzO 23.help[cmd]显示ftp内部命令cmd的帮助信息,如help get。
:,WtR 24.idle[seconds]将远程服务器的休眠计时器设为[seconds]秒。
eFBeJZuE| 25.image设置二进制传输方式(同binary)
R-NS,i={ 26.lcd[dir]将本地工作目录切换至dir。
Q9Uf.Lh2 27.ls[remote-dir][local-file]显示远程目录remote-dir,并存入本地local-file。
4VHqBQ4
28.macdef macro-name定义一个宏,遇到macdef下的空行时,宏定义结束。
;^La"m xBUya4w 29.mdelete[remote-file]删除远程主机文件。
HODz*pI 30.mdir remote-files local-file与dir类似,但可指定多个远程文件,如
kxp); mdir*.o.*. zipoutfile。
0E?jW7yr 31.mget remote-files传输多个远程文件。
YhbZ'SJ 32.mkdir dir-name 在远程主机中建一目录。
*\(r+>*x* 33.mls remote-file local-file同nlist,但可指定多个文件名。
-6Oz^
34.mode[mode-name]将文件传输方式设置为mode-name,缺省为stream方式。
6&DX] [G 35.modtime file-name显示远程主机文件的最后修改时间。
i O/K nH 36.mput local-file将多个文件传输至远程主机。
4Y,R-+f 37.newerfile-name如果远程机中file-name的修改时间比本地硬盘同名文
_2k]3z? 件的时间更近,则重传该文件。
1^_U;O:I 38.nlist[remote-dir][local-file]显示远程主机目录的文件清单,并存入本地硬盘的local-file。
iv?gZg 39.nmap[inpatternoutpattern]设置文件名映射机制,使得文件传输时,文件
k=4N(i/s 中的某些字符相互转换,如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],则传输文件a1
\ {qI4= .a2.a3时,文件名变为a1、a2,该命令特别适用于远程主机为非U-NIX机的情况。
xfy1pS.[: a^Tmu 40.ntrans[inchars[outchars]]设置文件名字符的翻译机制,如ntrans1R,则
u)3 $~m~ 文件名LL L将变为RRR。
&=<x#h- 41.open host[port]建立指定ftp服务器连接,可指定连接端口。
g8Q5m=O* 42. passive进入被动传输方式。
!Gu%U $d 43.prompt设置多个文件传输时的交互提示。
BYTnrPA&Z; 44.proxyftp-cmd在次要控制连接中,执行一条ftp命令,该命令允许连接两
<c)+Fno[E_ 个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建
:@1eph0 立两个服务器间的连接。
uHH/rMV 45.put local-file[remote-file]将本地文件local-file传送至远程主
%7#-%{ 机。
CNQC^d\ h 46.pwd显示远程主机的当前工作目录。
TT50(_8 47.quit同bye,退出ftp会话。
*.~6S3} 48.quote arg1,arg2……将参数逐字发至远程ftp服务器,如quote syst。
BBH0OiV= 49.recv remote-file[local-file]同get。
`Ja?fI'H- 50.regetremote-file[local-file]类似于get,但若local-file存在,则从上次传输中断处续传。
!>BZ6gn5 51.rhelp[cmd-name]请求获得远程主机的帮助。
v^)bhIPe; 52.rstatus[file-name]若未指定文件名,则显示远程主机的状态,否则显示
e%4:)
IV!; 文件状态。
CNr/U*+ 53.rename[from][to]更改远程主机文件名。
vo\fUT@k 54.reset清除回答队列 。
2-=\~<) 55.restart marker从指定的标志marker处,重新开始get或put,如restart
j<2m,~k`V 130。
w?zKjqza=v 56.rmdir dir-name删除远程主机目录。
56e r`=ms 57.runique设置文件名唯一性存储,若文件存在,则在原文件后加后缀。
YLwnhy>dD 58.send local-file[remote-file]同put。
nB%;S 59.sendport设置PORT命令的使用。
4|mD*o 60.site arg1,arg2……将参数作为SITE命令逐字发送至远程ftp主机。
0dA7pY9 61.size file-name显示远程主机文件大小,如site idle 7200。
28/ ADZ 62.status显示当前ftp状态。
mNb ?*3\ 63.struct[struct-name]将文件传输结构设置为struct-name,缺省时使用stream结构。
V$"ujRp 64.sunique将远程主机文件名存储设置为唯一(与runique对应)。
QCH}-q) 65.system显示远程主机的a作系统类型。
`(1K
66.tenex将文件传输类型设置为TENEX机所需的类型。
JYrY[',u 67.tick设置传输时的字节计数器。
[q_`X~3 68.trace设置包跟踪。
txZ?=8j_Y 69.type[type-name]设置文件传输类型为type-name,缺省为ascii,如typ
neXeAU ebinary,设置 二进制传输方式。
-zp0S*iP7 70.umask[newmask]将远程服务器的缺省umask设置为newmask,如umask 3。
?OE.O/~l d"5oD@JG: 71.useruser-name[password][account]向远程主机表明自己的身份,需要
Y4cYZS47 口令时,必须输入口令,如user anonymous my@email。
1"pI^Ddt 72.verbose同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
7_.11$E=H 73.?[cmd]同help。
VA"*6F 1G0fp:\w 那么如何应用这些命令提高效率呢?下面我举一个例子,如何利用fttp进行
7]x3!AlV 后台下载,假设你的ISP给你提供了shell并且可以用nohup,你想由fttp.downlo
2RqbrY n ad.com/pub/internet/下载一个30M的程序aaa.zip具体步骤如下:
2$14q$eb 1.用notepad做一个文件如aaa1内容如下 open ftp.dwonload.com user anonymous
zyz@cenpok.net cd /pub/internet/ i get aaa.zip close bye
zaFt*~@X 2.拨号登录到你的ISP上。用telnet 或netterm登录到shell,一般都在你的home子目录里bbs~/
sp7*_&'J 3.用fttp上传aaa1到ISP服务器你的子目录。
%&->%U|' 4. 执行nohup fttp-invd aaa2& 这样这个进程就被放在ISP服务器的后台进行了,如果你想知道情况如何,可以more aaa2就可以知道情况如何了。这时你可以断线了或干点别的,估计时间到了(time约=30M/(33.6K/9)s)拨号上去,more aaa2如果显示成功下载aaa.zip就表示aaa.zip已经被下载到ISP的服务器上了,你再由ISP的服务器拉回来就相当与点对点了,记得下载完成后del掉你的文件(aaa.zip),免得浪费ISP资源,它会关掉shell的。
tG8jFou ~go
fQ yfjK2 什么是SSL VPN?*
&K43x&mFF uQ=^~K :Z~ SSL VPN是什么?@梢哉饷此担琒SL是Internet上应用最为广泛的安全协议。SSL协议提供了数据私密性、端点验证、信息完整性等特性。SSL协议由许多子协议组成,其中两个主要的子协议是握手协议和记录协议。握手协议允许服务器和客户端“在应用协议传输第一个数据字节以前,彼此确认,协商一种加密算法和密码钥匙”。在数据传输期间,记录协议利用握手协议生成的密钥加密和解密后来交换的数据。
)J_\tv 26dUA~|KJ S@}1t4Ls: SSL独立于应用,因此任何一个应用程序都可以享受它的安全性而不必理会执行细节。SSL置身于网络结构体系的传输层和应用层之间。此外,SSL本身就被几乎所有的Web浏览器支持。这意味着客户端不需要为了支持SSL连接安装额外的软件。这两个特征就是SSL能应用于VPN的关键点。什么是Windows API
!eAo (x"BR 一、什么是Windows API? *
r6;$1K*0 ZxG}ViS4I 1.什么是Windows API?
'8fk+>M $`8Ar,Xz` Windows 这个多作业系统除了协调应用程式的执行、分配内存、管理系统资源…之外, 她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由於这些函数服务的对象是应用程式(Application), 所以便称之为 Application Programming Interface,简称 API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。
E,wVe[0)f ZT[3aXS 凡是在 Windows 工作环境底下执行的应用程式, 都可以调用Windows API。
YAL=!~6 277ASCWLkU 2.Windows API的历史与现状
UWZa|I~:J e/*$^i+S 当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。
anj#@U;! +vNZW@_$D 但是,没有合适的Windows编程平台,程序员想编写具有Windows风格的软件,必须借助API,API也因此被赋予至高无上的地位。那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。
ari7 iF~j (faK+z,*6R 这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。
%*o8L6Hn 'qArf 实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。
=\,uy8HX zP:cE 这也是API函数使用的场合,所以我们对待API函数不必刻意去研究每一个函数的用法,那也是不现实的(能用得到的API函数有几千个呢)。正如某位大虾所说:API不要去学,在需要的时候去查API帮助就足够了。但是,许多API函数令人难以理解,易于误用,还会导致出错,这一切都阻碍了它的推广。本专题就是想帮助那些想快速掌握API函数用法的同志们。通过对API函数的分类,结合一些有趣的实例,应该可以达到快速掌握的目的。
4<lQwV6= BaO1/zk Tzt ,/e [L6w1b, 什么是Windows Mobile平台?*
^9_UUzf\ c(U Windows Mobile是基于一系列智能设备的操作系统(例如,Pocket PC, Pocket PC Phone和Smartphone)。 Windows Mobile 与微软的Windows 操作系统很相似,拥有与Windows操作系统同样强大的功能,同时拥有相似的操作方式。所以使用装有Windows Mobile操作系统智能设备的人士,会感到亲切与熟悉,丝毫没有难以接受的困惑。
[w0/\]o Z2Zq'3* 2[B4f7 Windows Mobile为移动设备提供了熟悉的视窗界面,让您充分利用时间,享受休闲时刻,无论是关心的人或者重要的事,您都可以随时随地的与他们保持联系。
[3W*9j ;uqx@sx ; `:wvh( 与Outlook 同步, Word, Excel, Media Player9都被整和到一个小小的移动设备上,这就意味着您不用手里拎着各种各样的设备到处走,只用这一个设备就可以把移动电话,Outlook, Word, Excel和多媒体播放器的所有功能统统做到。用户可以携带重要的信息,Outlook同步、收发电子邮件、浏览网页、处理各种约会、打电话、收发短信、彩信或者在线聊天。
f`8OM}un& Q\Gq|e* 9Ew7A(BG_3 对于商务人士而言,Windows Mobile可以帮助用户在路上的时候就完成工作,而不用回到办公室。移动终端设备上装有Word, Excel, 以及Outlook,不管办公室里有什么新情况,都能够使用户第一时间得到讯息。Pocket PC Phone和Smartphone的电话功能加上Outlook,用户就可以将收件箱,日程表,联系人以及各种任务保持同步。
B-*E:O0y 什么是Windows DNA
SVa6V}"Iv FZ|CqD"# Windows DNA是Windows Distributed interNet Applications Architecture 的缩写,如果直译成中文,是 "Windows 分布式集成网络应用体系结构" 的意思。
yoRU_%xA N7%TYs 计算机领域的两种发展趋势
v!42DA) ckjrk 20世纪下半叶发生了两件大事,一是全球性多媒体信息网络即所谓“Internet”的出现;另一件则是基于工业化PC标准的,廉价却有强大计算能力的个人计算机的出现。
C{Asp 这二者在其发展道路上在某些时间段是并行的,或者可以从某种意义上说是互相推动的。(今天超过80%的连接到Internet上的机器是基于Windows PC标准的。)但是由于Internet和Web技术最初是在70年代初开发的,而后在90年代初增强和完善的,它们在设计时根本没有想象到连接到Internet上的个人计算机会有今天这么强大的功能,因而也就没有考虑到如何充分发挥这些个人计算机的能力这个问题。
MlJVeod 另一方面,大多数为个人计算机设计的应用软件也没有完全开发出整个网络的协作能力,放着一个能够提供电子商务应用的全球性网络而不加以利用。这样用户就不能充分发挥他们机器的性能。
(>=7ng^ 2/36dGFH Windows DNA简介
0Rz(|jlbS j'HkBW:L Microsoft推出Windows DNA 这一套体系结构是为了创建一个构造基于Microsoft Windows平台的应用程序的框架,而这套结构则能够将个人计算机和Internet 统一和集成起来。Windows DNA打开了一个能够同时充分发挥个人计算机和Internet的能力的新模式。
A])P1c. 7" 在最高的层次上,Windows DNA通过将核心服务高度集成到操作系统中,使计算机在内部网和公共网上都能够充分发挥协同工作的能力。这使我们的开发人员可以更容易地创建复杂的,能够支持大量用户的网络应用程序。更加重要的是,Windows DNA提供了一种基于开放式协议和公共接口的具有高度协作能力的框架,并允许客户对现存的系统扩充新的功能,如Web。这种开放的模型具有很强的扩展功能,第三方的厂家也可以创建他们的兼容的产品以扩展的这一结构。Windows DNA应用使用一套标准的基于Windows 的服务,可以满足各个层次最新的分布式应用程序的需求,如用户界面和导航,业务处理和存储等。
KECElK3uj Windows DNA的核心是将Web和客户机/服务器的应用开发模型通过一套公共对象模型集成起来。Windows DNA使用一套公共服务集,如组件、动态 HTML、Web浏览器和服务器、脚本、事务处理、消息队列、安全性、目录、数据库和数据访问、系统管理以及用户界面等。这些服务在各个层次上以同一种方式开放给应用程序使用。
yMc:n"-[ 另外由于 Windows DNA是在W3C和IETF等制定的标准上构建的,所以它充分支持开放式的Web功能。
v)f7};"z 利用Windows DNA提供的优势,开发人员可以构建全新的应用程序,包括电子商务和其它个人之间及企业之间的通信应用,由于充分利用了标准网络服务和先进的基于组件的开发模式,开发人员可以比以往更快地开发出全新的应用。Windows DNA支持和旧有的计算机软硬件之间的集成和扩展,所以UNIX和一些大型机的系统在Windows DNA模式下仍然可以使用。
`_5GG3@Ff Windows DNA为网络应用提供了所有最基本的组件,所以开发人员可以把精力集中在产品的创新上,而无须关注底层结构和服务的构造。今天Windows DNA大部分的组件已被Microsoft的客户和合作伙伴广泛地利用了。在不远的日子里,随着Microsoft Windows NT 5.0操作系统和COM+(组件对象模型COM的增强版)的出现,将使Windows DNA的结构和组件更易于被开发人员创建和使用。
sVoW=4V8 :Pq.,s Windows DNA为应用程序带来了哪些变化
659v\51* 1/ZR*fa Windows DNA的应用程序和当今大多数的应用程序有着本质的区别。这是因为Windows DNA使开发人员可以充分利用Internet和传统基于LAN的客户机/服务器系统各自的优势,使应用程序更加易于创建且功能更加强大。
451'>qS ?-OPX_i_ 1.和Web结合:Windows DNA充分利用了Internet的优势,通过Microsoft Internet Information Server, Windows DNA的应用可以提供用动态HTML语言创建的用户界面。这样就给出了一个简单的浏览器的界面,集中的维护和高效的软件发送模型可以为用户提供最新的软件。通过Microsoft Internet Explorer 4.0, Windows DNA提供了对各种客户端操作系统的广泛支持,包括Windows NT , Windows 95, Windows CE, Macintosh和UNIX。
-fgC"2H 2.易于管理:通过Microsoft首创的零管理方案(Zero Administration),Windows DNA结构和它的组件都可以被集中地管理。这样网络管理员无须手工调整每个用户的PC就可以安装和更新应用程序。
_Mc>W0'5@ 3.动态:Windows DNA可以通过COM+中新增加的侦听功能动态地改变它的配置和能力。所以如果一旦业务条件或者其它环境因素改变了,应用程序逻辑也会自动随之改变。
"BVdPS DBk 4.支持固定或移动用户:差不多40%的个人计算机是所谓“膝上型计算机”,即意味着这些计算机是用于一个没有联网的环境中。所以我们的重要的任务之一就是充分考虑这些用户的需求。Windows DNA中包含了这样一种功能:当移动用户接入网络中时,智能地将数据和函数进行分区和存储。这样当用户离线时,仍可以使用一些特定的应用程序。
xMs]Hs 5. Internet 和Intranet的透明性:由于Windows DNA将Internet和客户机/服务器工作模式集成起来,用户可以如同浏览Web一样地浏览应用程序。通过提供单一的集成化的结构将Intranet和Internet紧紧捆绑起来,Windows DNA降低了系统维护和人员培训的费用。
/u`3VOn 6.更进一步的集成:Windows DNA结构不仅和网络紧密结合,而且和网络数据以及现存的应用程序都紧密联系。Windows DNA并没有构建一个独立的数据和应用的底层结构,而是将现存的系统进行扩展,使之能够共享数据和应用逻辑,并为它们创建可以在Web上使用的接口。
.>Z,uT^A 总而言之,Windows DNA将各种客户的各种系统集成起来,包括从基于页面的HTML应用程序到基于代码的Windows应用程序的用户界面,移动或是离线的用户,结构化的或是非结构化的存储,基于Web的或是基于客户机/服务器的应用程序。而且它还在充分发挥分布式计算资源的能力的同时,提供了集中管理的工具以降低系统部署和技术支持的开销。
r7]"?# mxFn7.|r~ =q(GHg;' Windows DNA是如何改变应用程序的开发工作的。
'R9g7,53R |xr\H8:(! 使用Windows DNA,开发人员可以用同样的底层结构和工具开发所有的应用,从最大的Fortune 500内部信息系统到Web TV的“频道向导”。他们可以选择最适合自己的开发风格和工具,从基于局域网的到基于Web的。由于Windows DNA提供了一套扩展的、标准的、可以共同工作的系统服务,IT专家将可以致力于开发业务的解决方案而不再充当系统集成工作者的角色。他们的公司,同样的,将可以致力于业务工作以提高市场竞争力而不是努力帮助雇员以使之掌握技术的使用。
1%J.WH6eQ `Zz uo16 造成这一变革的主要原因是:
;pJ2V2 g8 ogeL[7 1.内置的可扩展性。Windows DNA可以用同一套应用程序逻辑和工具集支持一个用户或是几万个并发用户的应用程序。由于开发人员无须在构建扩展性和管理能力上花费时间和精力,他们可以构建更加丰富的应用程序。
h?UVDzI!O 2.基于组件的结构。Windows DNA使用一种经过广泛测试的、交叉平台的组件主干——COM。所有Microsoft的工具、应用和系统产品都提供公开发布的基于COM的可扩展接口。COM是第三方厂家将其产品集成到Windows DNA中的主要方式。COM使各种解决方案由一块块可重复使用的软件组件构成,使开发人员能够快速地构建和测试应用程序。
[9mL $;M
W 3.众多的供应商。开发人员可以从大量供应商所提供的组件、服务和工具中挑选出自己所需要的,使它们共同工作以创建Windows DNA的应用。
]lS@}W\ 4.任意的编程语言。Windows DNA支持来自各家厂商的多种编程语言,有Microsoft, Borland International Inc. 以及Sybase Inc. 等等。
Q0_>'sEM 5.互操作时一致的编程模型。无论是基于主机或是UNIX的应用程序,甚至是来自Solaris平台的产品都可以通过COM为程序员所利用。
Ybg-"w yPu4T6Vv Windows DNA近观
(0Naf J?n<ydZSH Windows DNA由一组分布式的应用程序服务、分布式的底层服务和公共接口构成。它们包括:(表1)
Zt@Z=r:& Gzt=u"FV 服务
;\y; 接口
b!$ }ma;B 相应的产品
kw,$NK' /.V0ag'G 应用程序服务:
#\4 b:dv Qu%D Di Or{)a 6'OO-o Web服务器
XidxNPz0^ HTML
{hqAnZ@]vr Internet Information server
F9XT
lA !:fv>FEI9 Web浏览器
NvtM3 HTML
Wv K(G3 Internet Explorer
fP%Fyg^k (A/0@f1# 脚本
S<6k0b(,_3 VBScript, JScript
S{p}ux[}= “Denali,” Dynamic HTML
.dq
"k
N<JHjq 事务处理服务
vz`@x45K OLE Transactions
59B&2861 MTS
tkuc/Z/@ Xt,X_o2m|] 消息队列服务
)u@c3?$6 “Falcon” API
MonS hIz
MMQS
FfM nul V!|e#}1/ 数据库
SFjU0*B$ ODBC, OLE DB
=^h~!ovj: Microsoft SQL Server
<%bw/ _zC (J 邮件和协作
(TSqc5^H MAPI, POP3
~!+h?[miV Outlook, Exchange Server
\&A+s4c") w@]jpH;WX Java虚拟机
mVm4fHEYwU Java
Rt=
X%[YL Microsoft Java虚拟机
J(h3]J/Yw zTCP)x 统一的数据访问
D\]&8w6& ADO, OLE DB, ODBC
5n:71$6[ 多种
,EhVSrh)_4 X<MpN5%|Wo 底层服务:
6Dm+'y]l 目录
:%_q[}e ADSI
HdQj?f3 Active Directory, Windows NT Server
Li`hdrO'ii ]TK=>;& 安全性
3n(*E_n SSL
t]m!ee8*X< Windows NT Server, Internet Explorer
02 f9 w V TGWdyIk 网络
(:$9%,x TCP/IP,管道,Winsock等
EI`vVI Windows家族
'M%5v'$y dl[ob,aCK 远程文件和打印
boQ)fV" CIFS, SMB
rB]W,8~% Windows家族
*Wyl2op6 0#|7U_n 组件
t*+! n.p COM, DCOM, ActiveX
t.3\/ Windows家族
0 K3Hf^>m jmW^`%;7 ~Q!~ eTw 这些应用服务、底层服务和公共接口在一个多层的框架中进行操作,而COM和其他的标准协议则作为各个应用层之间的粘合剂。
fykI,! `
py}99G Windows DNA服务
d 7i#w
# rycJyiw<- 7,_-XV2 工具
\j:gr>4 用户界面和导航
E\e]K
! 分布式的操作环境
=jIxI, _'*DT=H'U COM
wr@GN8e` HTML/脚本编写
b:x7)$( 基本HTML
}|He?[TR 动态HTML
ib50LCm 窗体
3}M\c) Native
5!:._TcO 管理
u&3EPu my[,w$YM 组件的创建
'jbMTI 事务处理
RV]a%mVlM 目录
BD1K H; wG:$6 快速应用程序的开发(RAD)
UT-ewXh Web
pYGYy'%A' FH
-p!4+] 服务器
n8FT<pUq 事务
8dV=1O$/ GEi
MmH? 处理
vU9~[I`^p 消息
}wkaQQh -,@bA @& 队列
=|#w.(3y 脚本
-y <