入侵网站的各种漏洞的利用

0

分类 : 系统安全 | 发表时间 13-06-2006

信息来源:慕容小雨’s blog

慕容小雨何许人也,偶不认识,不过听neeao说过多次,再从作品上看,当非凡人也!呵

各种漏洞的利用和一些搜索参数
说到漏洞,首先应该提到的就是动网的上传漏洞了。

“洞网”漏洞拉开了上传漏洞文件的序幕,其他系统的上
传漏洞接踵而来!

asp动网论坛漏洞分析

1、这个漏洞不算太严重,用过动网论坛的人都知道,发帖时直接写javascript会被过滤拆分,写http会自动加上链接,漏洞就在此,在这两个地方变通一下,把两个单词的某个字母换成编码形式,然后系统再对应地解码回字母,就达到了避免被过滤的目的。例子说明一下,在发帖时写入[img]javas&#x63ript:window.open(‘htt&#x70://www.fwcn.com’,”)[/img] 很清楚地看到,#x63解码的字母是”c”,#x70解码的字母是”p”,&起到连接作用,最后加上[img],使JS被触发,如果论坛支持flash插入,用[swf]也可。利用这个漏洞可以搞些恶作剧,写上诱人的主题,点进去结果是他的主页(骗点击率,作广告),甚至更绝,连到一个有病毒、木马的网页上,让你直想骂娘。这个漏洞存在于动网的各个版本,包括较新的0519版,覆盖面积之广让人瞠目,各人认为应该对某些非法字符进行检测剔除,而非简简单单地拆分了事,真希望动网开发者能尽早补上这漏洞。

2、比起前者,第二个漏洞问题就大啦,利用该漏洞可以破解掉论坛上所有注册会员的密码(恐怖~~~),由于论坛管理员通常直接把论坛程序载下来梢加以美工就拿来使用了,图方便直接导致了漏洞的出现,我们也载一个回来,只要看一下动网的数据库,就知道了密码的字段为userpassword,接着例如要破一个名叫abc的用户密码,首先察看abc的用户资料,给出的连接是http://xxxxx/dispuser.asp?name=abc ,在dispuser.asp中,读取参数的语句是:username=trim(request(“name”)),数据库的查询的语句是: sql=”select * from [user] where username=’”&username&”‘”,看得出来, abc就是直接被作为了dispuer的一个参数username,另外,如果该用户不存在,程序就会给出提示,既然如此,我们就再写入个查询密码的条件,在where username=abc后面加上and userpassword=”******”,理论上这样就可以实现对密码的破解了,但这么破要破到何年何月,现在就要轮到VBS函数大显身手了,可以先用len函数试出用户的密码位数,地址就这么写http://xxxxx/dispuser.asp?name=abc'%20and%20len(userpassword)=5%20and%20’1′=’1,这么看可能不好理解,放到sql语句里其实就是这副样子:sql=”select * from [User] where username=’abc’ and len(UserPassword)=5 and ’1′=’1′”,现在明白点了吧,%20是空格,abc后面的单引号和’1′=’1里的单引号都是为了和sql语句相匹配。奇怪,该用户不存在,喔?那就说明符合这个条件的用户没有,继续,把5换成6,7,8,依此类推,只要能显示出用户资料了,就说明密码位数猜对了。接下来要做的就是试每位的密码是多少了,继续要用到VBS,可以用left或right或mid函数,http://xxxxx/dispuser.asp?name=abc'%20and%20left(userpassword,1)=’a,如果猜对了就给出用户资料,猜对了就给出该用户不存在的提示,这样子还是嫌太慢,那就在外面再套个asc函数,http://xxxxx/dispuser.asp?name=abc'%20and%20asc(mid(userpassword,1,1))>’50 试出用户密码的ASCII码是否大于50,不断地缩小范围,相信很快就能将范围缩小至个位数,看到这里你是否惊出了一身冷汗,起码我是如此,*几个函数的灵活运用,保守地说,不出半小时就能破解出密码。真是不幸中的大幸,动网开发者在后来的05**版后使用了MD5的加密,这下子总算放心了,但介于国内还有许多地方在使用老版本的动网论坛(包括一个小有名气的flash站点)

3 、动网SQL语句漏洞
此漏洞针对动网SQL版本。
测试方法:在http://ip/bbs/admin_index.asp 输入用户名是’or”=’ 密码也是这个
这样可以跳过认证
原理:利用SQL语法。输入的密码和ID就成为一个合法的SQL语句,直接跳过认证。
此漏洞并不针对动网。很多SQL的ASP都会有这个漏洞

4、动网论坛sp2漏洞 (此漏洞影响范围甚大,动网官方站、黑客防线、安全基地都曾因此被黑过,具体资料大家可以在百度搜一下)
上传漏洞路径:reg_upload.asp及upfile.asp

青创文章系统

打开google 输入.tw qcdn (或者是去百度搜索 Powered by:QCDN_NEWS 但大多数是中国的)
青创文章系统
上传漏洞。在网址后加/admin_upfile.asp 如果出现。
Microsoft VBScript 磅︽顶琿岿粇 岿粇 ’800a01b6′
ンぃや穿妮┦┪よ猭: ‘form’
/article/admin_upfile.asp, 21
就代表已经有90%以上的希望了
桂林老兵的上传工具上传木马
入侵的時候發現admin_upfile.asp改了。你也可以改成user_upfile.asp也上傳傳馬馬。還有一個方法就是把admin_upfile.asp user_upfile.asp加到注入工裏邊

青创文章管理系统注入功击
关键字”list.asp?unid=”
工具:
  1、NBSI好像大部分黑客站点都有得下。
  2、MD5Crack2,破解MD5加密的软件(磊子推荐:dos下DV.exe比较好用)
第一次检测的时候,会报告”暂未检测到注入漏洞”;然后在”特征字符”输入”Unid”
(提示:”Unid”中的” U “一定要是大写的

“飞龙文章管理系统” 漏洞

飞龙文章管理系统 Ver 2.0 Build 20040620 正式版漏洞利用
搜索”Article.asp?ArtID=”关键字
漏洞文件在
admin_upfile.asp
user_upfile.asp
这两个文件”upfile.asp”
动网漏洞的再现
上传时cookie中加”ArtID=1111;”

phpwind 1.3.6 的论坛漏洞的利用
搜索关键字”POWER BY PHPWIND v1.3.6″

phpwind1.3.6论坛利用程序 “群共享”中有上传

保存后,木马地址为当前目录下的faq.php

在本机用如下表单进行提交:

METHOD=”POST”>




上传成功后的木马存在论坛目录下
直接访问就行!

漏洞集合

1)Co Net MiB Ver1.0~4.0 用’or’='or’登陆管理员(一个比较经典的漏洞)

2)ASP Calendar漏洞 请在google搜索Maintained with the Ocean12 ASP Calendar Manager v1.01这个信息,程序的默认数据库为o12cal.mdb(非MD5加密,明文保存)

3)六合彩漏洞 我们打开www.baidu.com或是www.google.com
在搜索里输入 请各位验证会员料
http://www.3589.com/tian/4login.asp把4login.asp改成conn.inc

<%DBPath=Server.MapPath("wz520#.mdb")
Set conn=Server.CreateObject(“ADODB.Connection”)
conn.Open “Driver={Microsoft Access Driver (*.mdb)};DBQ=”&DBPath%>

wz520#.mdb,他就是数据库了。#改成%23就可以下载数据库了

4)青创文章系统出现严重漏洞 在网址后加/admin_upfile.asp上传WEBSHELL

百度搜索 Powered by:QCDN_NEWS 台湾.tw qcdn。

还可以用%5c暴库,通杀

“list.asp?unid=” ” .tw/list.asp?unid= ” 存在注入 在”特征字符”输入”Unid”
(”Unid”中的” U “一定要是大写的)

5)自由动力3.6的软件上传过滤不严 用WinHex.exe和WSockExpert.exe修改上传木马

E时代驿站漏洞
百度搜索”E时代驿站”
漏洞利用页面 /upload.asp 用老
兵直接上传

沸腾新闻系统上传漏洞
搜索:沸腾展望新闻系统[核心:尘缘雅境]授权使用
漏洞:没有对空格进行严格的限制。
所以,我们直接选定要上传的asp木马,然后在后面加上空格
它的上传文件是UploadFaceOK.asp

尘缘雅境

在GOOGLE里搜索关键词: V1.0 ACCESS Finish,就会看
到出现了
一大堆
使用尘缘雅境系统的网站.比如说他的网站首页
是http://www.xx.com/asfq/index.asp,那么就要这样填写
http://www.xx.com/asfq/admin/uploadfaceok.asp,[漏洞目
录]:/asfq/admin
(注意一定要加上admin),[漏洞文件]一般不用改,不过有
些老版的
尘缘系统
的漏洞文件是uploadok.asp,如果uploadfaceok.asp不成功
再改

OFSTAR论坛漏洞利用程序(群共享中)
搜索: powered by ofstar.net
1:输入管理员用户名 2:输入任意一个帖子的路径!

3:单击获取密码,可以截取到管理员的MD5密码!是32位加密的!

4:单击直接登陆按钮!程序会自动构造Cookies进行登陆!单击管理栏的”超管”可直接进入后台!

上传木马: 选择后台的论坛管理=>风格摸版设置 插入以下代码! (其实上传shell部分和PHPWind一样)

然后使用提交页面提交“可以直接拿到shell!



路由和交换是网络世界中两个重要的概念。传统的交换发生在网络的第二层,即数据链路层,而路由则发生在第三层,网络层。在新的网络中,路由的智能和交换的性能被有机的结合起来,三层交换机和多层交换机在园区网络中大量使用。本文将介绍一些路由和交换的基本概念,分为网络层次结构、交换、路由和全交换园区网络四个部分。
网络层次结构
网络参考模型的定义给出了清晰的功能层次划分。最常被提及的是ISO OSI参考模型和TCP/IP协议簇。
国际标准化组织定义的OSI参考模型将计算机网络按功能划分为七个层次,这就是我们常说的七层模型或七层结构。网络功能分层的直接好处是这些层次可以各司其职,由不同厂家开发的不同层次的软硬件设备可以配合使用。一个层次的设备更新或软件重写也不会影响到其它层次。TCP/IP协议体系中的各个层次和ISO的参考模型有大致的对应关系。
OSI中间一层,即第四层执行传输功能,它负责提供从一台计算机到另外一台计算机之间的可靠数据传输。传输层(Transport Layer)是承上启下的一层,在它的下面有三层,都是与数据传输相关的功能;上面也有三层,提供与网络应用相关的功能。
OSI下三层中。物理层(Physical Layer)负责实际的传送数据信号,数据链路层(Data Link Layer)负责网络内部的帧传输,而网络层(Network Layer)负责网络间的计算机寻址和数据传输。
OSI上三层中。应用层(Application Layer)是最高的层次,它负责提供用户*作的界面,因特网中常用的电子邮件服务,文件传输服务等都是这一层提供的。表示层(Presentation Layer)负责数据的表示,比如发送数据之前的加密,接收数据时的解密,中英文的翻译等等都是这一层提供的功能。会话层(Session Layer)负责建立和终止网络的数据传输,计算机名字转换成地址的工作也在这层完成。
传统意义上的交换是第二层的概念。数据链路层的功能是在网络内部传输帧。所谓”网络内部”是指这一层的传输不涉及网间的设备和网间寻址。通俗的理解,一个以太网内的传输,一条广域网专线上的传输都由数据链路层负责。所谓”帧”是指所传输的数据的结构,通常帧有帧头和帧尾,头中有源目二层地址,而帧尾中通常包含校验信息,头尾之间的内容即是用户的数据。
数据链路层涵盖的功能很多,所以又将它划分为两个子层, MAC(Media Access Control,介质访问控制)层和LLC(Logical Link Control,逻辑链路控制)层。常见的局域网和城域网的二层标准是IEEE的802协议。而在广域网中,HDLC(High-level Data Link Control,高级链路控制)、PPP(Point-to-Point Protocol,点对点协议)和Frame Relay(帧中继)等协议都有广泛的使用。
路由是第三层的概念。网络层在Internet中是最重要的,它的功能是端到端的传输,这里端到端的含义是无论两台计算机相距多远,中间相隔多少个网络,这一层保障它们可以互相通信。例如我们常用的PING命令就是一个网络层的命令,PING通了,就是指网络层的功能正常了。通常,网络层不保障通讯的可靠性,也就是说,虽然正常情况下数据可以到达目的地,但即便出现异常,网络层也不作任何更正和恢复的工作。
网络层常用的协议有IP、IPX、APPLETALK等等,其中IP协议更是Internet的基石。在TCP/IP协议体系中,第三层的其他辅助协议还包括ARP(地址解析) 、RARP(反向地址解析)、 ICMP(网际报文控制)和IGMP(组管理协议)等等。由于网络互连设备都具有路径选择功能,所以我们经常将 RIP、OSPF等路选协议也放在这一层讨论。
交换
谈到交换的问题,从广义上讲,任何数据的转发都可以称作交换。当然,现在我们指的是狭义上的交换,仅包括数据链路层的转发。做网络的人理解交换大多是从交换机开始的,电路交换机在通信网中已经使用了几十年了,做帧交换的设备,尤其是以太网交换机的大规模使用则是近几年的事情。
理解以太网交换机的作用还要从网桥的原理讲起。传统以太网是共享型的,如果网段上有四台计算机A、B 、C和D,那么A与B通信的同时,C和D只能是被动的收听。假如将缆段分开(即微化),A、B在一段上,C、D在另一段上,那么A和B通信的同时,C和D也可以通信,这样原有10M的带宽从理论上讲就变成20M了。同时,为了确保这两个网段可以互相通信,需要用桥将它们连接起来,桥是有两块网卡的计算机。
在整个网络刚刚启动时,桥对网络的拓朴一无所知。这时,假设A发送数据给B,因为网络是广播式的,所以桥也收到了,但桥不知到B在自己的左边还是右边,它就进行缺省的转发,即在另外一块网卡上发送这个信息。虽然做了一次无用的转发,但通过这个过程,桥学习到数据的发送者A在自己的左边。当网络上的每一台计算机都发送过数据之后,桥就是智能的了,它了解每一台计算机在哪一个网段上。当A再发送数据给B时,桥就不进行数据转发了,与此同时,C可以发送数据给D。
从上面的例子可以看出,桥可以减少网络冲突发生的几率,这就是我们使用桥的主要目的,称作减小冲突域。但桥并不能阻止广播,广播信息的隔绝要靠三层的连接设备,路由器。
按照缆段微化的思想,缆段越多,可用带宽就越高。极限情况是每一台计算机处在一个独立的缆段上,如果网络上有十台计算机,就需要一个十端口的桥将它们连接起来。但实现这样一个桥不太现实,软件转发的速度也跟不上,于是有了交换机,交换机就是将上述多端口的桥硬件或固件化,以达到更低的成本和更高的性能。
交换机的一个重要的功能是避免交换循环,这就涉及到了STP(Spanning Tree Protocol,分支树协议)。分支树协议的功能是避免数据帧在交换机构成的网络中循环传送。如下图所示,如果网络中有冗余链路的话,STP协议现选出根交换机(Route Bridge),然后确定每一台非根交换机到根交换机之间的路径,最后,将此路径上的所有链路置成转发(Forward)状态,其余的交换机之间的连接就是冗余链路,置为阻塞(Block)状态。
交换机的另外一个重要功能是VLAN(Virtual LAN,虚拟局域网)。VLAN的好处主要有三个:
*端口的分隔。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的。这样一个物理的交换机可以当作多个逻辑的交换机使用。
*网络的安全。不同VLAN不能直接通信,杜绝了广播信息的不安全性。
*灵活的管理。更改用户所属的网络不必换端口和联线,只该软件配置就可以了。
VLAN可以按端口或MAC地址来划分。
有时,我们需要在交换机所构成的网络上保持VLAN的配置的一致性。这就需要交换机之间按照VTP(VLAN Trunk Protocol,VLAN骨干协议)交流VLAN信息。VTP协议只在骨干端口(Trunk Port),即交换机之间的端口,上运行。
路由
路由器是网络间的连接设备,它重要工作之一是路径选择。这个功能是路由器智能的核心,它是由管理员的配置和一系列的路由算法实现的。
路由算法有动静之分,静态路由是一种特殊的路由,它是由管理员手工设定的。手工配置所有的路由虽然可以使网络正常运转,但是也会带来一些局限性

无线网络隐藏术之终极大法

0

分类 : 技术文摘 | 发表时间 12-06-2006

无线信号一搜即到,无线网络一连即上,这是很多安全隐患的根源,没有一定的保护措施,无线网络犹如毫无遮挡在市井裸奔,所以在无线网络中隐藏电脑和无线路由器非常重要。想深度潜水,请看无线网络隐藏终极大法。

  在无线网络中隐藏电脑

  要在无线网络中隐藏自己的电脑,方法有很多,例如单击“开始/运行”,然后输入“cmd”开启命令提示符窗口,在该窗口中输入“net config server /hidden:yes”,或者在无线网络连接的属性窗口中,取消“Microsoft网络的文件和打印机共享”,这样其他人通过网上邻居就无法找到自己的电脑了。

  为了防止电脑的IP地址泄漏,可以启动无线网络连接的防火墙功能,并在防火墙属性的“高级”标签中设置ICMP,将所有传入和传出请求都禁止,这样别人就无法用ping.exe来判断自己的电脑是否在线了。

  WinXP默认自动管理无线网络,实际上只有需要访问无线网络资源时,才有必要让系统自动连接到无线网络,所以在平时可以取消“用indows配置我的无线网络设置”选项,这不但安全,而且更加节省了资源。或者点击“高级”按钮,取消“自动连接到非首选的网络”,这样系统不会轻易连接到以前没有检测到的无线网络。

  让无线路由器隐身却可访问

  要在空气中隐藏无线路由器最直接的方法是让它停止SSID广播,SSID广播功能将无线路由器所创建的无线网络让客户端可以搜索到,这虽然方便了用户接入无线网络,但是也方便了非法接入,所以在需要安全的场合,比如公司网络,最好将它禁止。

  这样一来,用WinXP或无线网卡自带程序就无法像平常一样搜寻到该无线路由器创建的无线网络,要访问它就只能手动添加首选网络并指定SSID名称。

  隐藏SSID广播却无法对付NetStumber,它还是可以检测到隐藏的无线网络,所以必须再利用无线路由器本身的一些功能,包括了停止DHCP服务并且修改LAN口的默认IP地址,由于无线网络的SSID采用广播方式向外发散,即使无线网络被检测到,如果入侵者没有获得或配置与无线路由器同网段的IP地址,还是无法连接到无线路由器的,这也是TCP/IP网络连通讯的先决条件,即同个网络间设备的IP地址必须在同一网段。

教你如何调试思科路由器[学习]

0

分类 : 技术文摘 | 发表时间 10-06-2006

一、基本设置方式
一般来说,可以用5种方式来设置Cisco思科路由器:

1.Console口接终端或运行终端仿真软件的微机;

2.AUX口接MODEM,通过电话线与远方的终端或运行终端仿真软件的微机相连;

3.通过Ethernet上的TFTP服务器;

4.通过Ethernet上的TELNET程序;

5.通过Ethernet上的SNMP网管工作站。

但Cisco思科路由器的第一次设置必须通过第一种方式进行,一般用超级终端通过com口进行控制。此时终端的硬件设置如下:
波特率 :9600
数据位 :8
停止位 :1
奇偶校验: 无

二、命令操作
Cisco思科路由器所用的操作系统是IOS.共有以下几种状态:
1、router>
在router>提示符下,Cisco思科路由器处于用户命令状态,这时用户可以看Cisco思科路由器的连接状态,访问其它网络和主机,但不能看到和更改Cisco思科路由器的设置内容。此时输入?并回车,可以查看到在此状态下可以用的命令。(IOS允许你在任何时候用这种方式查看在某种状态下可以用的命令)。在敲入enable并回车后,按照系统提示输入密码,(在新的Cisco思科路由器第一次进行调试的时候不需要输入密码,直接回车即可)进入#提示符,就可以对Cisco思科路由器进行各种操作了。
2、router#
Cisco思科路由器进入特权命令状态router#后,不但可以执行所有的用户命令,还可以看到和更改Cisco思科路由器的设置内容。此时就可以对Cisco思科路由器的名字、密码等进行设置。
3、router(config)#
在router#提示符下键入configure terminal,出现提示符router(config)#,此时Cisco思科路由器处于全局设置状态,这时可以设置Cisco思科路由器的全局参数。
4、router(config-if)#;
router(config-line)#;
router(config-router)#;…
Cisco思科路由器处于局部设置状态,这时可以设置Cisco思科路由器某个局部的参数。
5、Cisco思科路由器处于RXBOOT状态,在开机后60秒内按ctrl-break可进入此状态,这时Cisco思科路由器不能完成正常的功能,只能进行软件升级和手工引导。在此状态下,可以进行口令恢复。

三、常用命令
1.帮助
在IOS操作中,无论任何状态和位置,都可以键入“?”得到系统的帮助。系统会显示此时可以使用的命令。
2.改变命令状态
任务命令
进入特权命令状态enable
退出特权命令状态disable
进入设置对话状态Setup
进入全局设置状态config terminal
退出全局设置状态End
进入端口设置状态interface type slot/number
进入子端口设置状态interface type number.subinterface [point-to-point | multipoint]
进入线路设置状态line type slot/number
进入路由设置状态router protocol
退出局部设置状态Exit
3.显示命令
任务命令
查看版本及引导信息show version
查看运行设置show running-config
查看开机设置show startup-config
显示端口信息show interface type slot/number
显示路由信息show ip router
4.拷贝命令
用于IOS及CONFIG的备份和升级
5.网络命令
任务命令
登录远程主机telnet hostname|IP address
网络侦测ping hostname|IP address
路由跟踪Trace hostname|IP address
6.基本设置命令
任务命令
全局设置config terminal
设置访问用户及密码username username password password
设置特权密码enable secret password
设置Cisco思科路由器名hostname name
设置静态路由ip route destination subnet-mask next-hop
启动IP路由ip routing
启动IPX路由Ipx routing
端口设置interface type slot/number
设置IP地址ip address address subnet-mask
设置IPX网络Ipx network network
激活端口no shutdown
物理线路设置line type number
启动登录进程login [local|tacacs server]
设置登录密码password password

四、总体设置
在router#特权命令状态下,可以用setup对Cisco思科路由器进行总体设计,利用这个设计过程可以省略手工设置的烦琐。但它还不能完全代替手工设置,一些特殊的设置还必须通过手工输入的方式完成。
进入设置对话过程后,Cisco思科路由器首先会显示一些提示信息:
— System Configuration Dialog —
At any point you may enter a question mark ‘?’ for help.
Use ctrl-c to abort configuration dialog at any prompt.
Default settings are in square brackets ‘[]‘.
这是告诉你在设置对话过程中的任何地方都可以键入“?”得到系统的帮助,按ctrl-c可以退出设置过程,缺省设置将显示在‘[]’中。然后Cisco思科路由器会问是否进入设置对话:
Would you like to enter the initial configuration dialog? [yes]:
如果按y或回车,Cisco思科路由器就会进入设置对话过程。首先你可以看到各端口当前的状况:
First, would you like to see the current interface summary? [yes]:
Any interface listed with OK? value “NO” does not have a valid configuration
InterfaceIP-AddressOK?MethodStatusProtocol
Ethernet0unassignedNOunsetupup
Serial0unassignedNOunsetupup
……………………………
然后,Cisco思科路由器就开始全局参数的设置:
Configuring global parameters:
1.设置Cisco思科路由器名:
Enter host name [Router]:
2.设置进入特权状态的密文(secret),此密文在设置以后不会以明文方式显示:
The enable secret is a one-way cryptographic secret used
instead of the enable password when it exists.
Enter enable secret: cisco
3.设置进入特权状态的密码(password),此密码只在没有密文时起作用,并且在设置以后会以明文方式显示:
The enable password is used when there is no enable secret
and when using older software and some boot images.
Enter enable password: pass
4.设置虚拟终端访问时的密码:
Enter virtual terminal password: cisco
5.询问是否要设置Cisco思科路由器支持的各种网络协议:
Configure SNMP Network Management? [yes]:
Configure DECnet? [no]:
Configure AppleTalk? [no]:
Configure IPX? [no]:
Configure IP? [yes]:
Configure IGRP routing? [yes]:
Configure RIP routing? [no]:
………
6.如果配置的是拨号访问服务器,系统还会设置异步口的参数:
Configure Async lines? [yes]:]
1)设置线路的最高速度:
Async line speed [9600]:
2)是否使用硬件流控:
Configure for HW flow control? [yes]:
3)是否设置modem:
Configure for modems? [yes/no]: yes
4)是否使用默认的modem命令:
Configure for default chat script? [yes]:
5)是否设置异步口的PPP参数:
Configure for Dial-in IP SLIP/PPP access? [no]: yes
6)是否使用动态IP地址:
Configure for Dynamic IP addresses? [yes]:
7)是否使用缺省IP地址:
Configure Default IP addresses? [no]: yes
是否使用TCP头压缩:
Configure for TCP Header Compression? [yes]:
9)是否在异步口上使用路由表更新:
Configure for routing updates on async links? [no]: y
10)是否设置异步口上的其它协议。接下来,系统会对每个接口进行参数的设置。
1.Configuring interface Ethernet0:
1)是否使用此接口:
Is this interface in use? [yes]:
2)是否设置此接口的IP参数:
Configure IP on this interface? [yes]:
3)设置接口的IP地址:
IP address for this interface: 192.168.162.2
4)设置接口的IP子网掩码:
Number of bits in subnet field [0]:
Class C network is 192.168.162.0, 0 subnet bits; mask is /24
在设置完所有接口的参数后,系统会把整个设置对话过程的结果显示出来:
The following configuration comm
and script was created:
hostname Router
enable secret 5 $1$W5Oh$p6J7tIgRMBOIKVXVG53Uh1
enable password pass
…………
请注意在enable secret后面显示的是乱码,而enable password后面显示的是设置的内容。就是说,secret密码的优先级比较高,在两个密码都设了的情况下,secret密码起作用。
显示结束后,系统会问是否使用这个设置:
Use this configuration? [yes/no]: yes
如果回答yes,系统就会把设置的结果存入Cisco思科路由器的NVRAM中,然后结束设置对话过程,使Cisco思科路由器开始正常的工作。
广域网协议设置
PPP
PPP(Point-to-Point Protocol)是SLIP(Serial Line IP protocol)的继承者,它提供了跨过同步和异步电路实现Cisco思科路由器到Cisco思科路由器(router-to-router)和主机到网络(host-to-network)的连接。
CHAP(Challenge Handshake Authentication Protocol)和PAP(Password Authentication Protocol) (PAP)通常被用于在PPP封装的串行线路上提供安全性认证。使用CHAP和PAP认证,每个Cisco思科路由器通过名字来识别,可以防止未经授权的访问。
任务命令
设置PPP封装encapsulation ppp1
设置认证方法ppp authentication {chap | chap pap | pap chap | pap} [if-needed] [list-name | default] [callin]
指定口令username name password secret
设置DCE端线路速度clockrate speed
举例
Cisco思科路由器Router1和Router2的S0口均封装PPP协议,采用CHAP做认证,在Router1中应建立一个用户,以对端Cisco思科路由器主机名作为用户名,即用户名应为router2。同时在Router2中应建立一个用户,以对端Cisco思科路由器主机名作为用户名,即用户名应为router1。所建的这两用户的password必须相同。
设置如下:
Router1:
hostname router1
username router2 password xxx
interface Serial0
ip address 192.200.10.1 255.255.255.0
clockrate 1000000
ppp authentication chap
!
Router2:
hostname router2
username router1 password xxx
interface Serial0
ip address 192.200.10.2 255.255.255.0
ppp authentication chap
!
ISDN
1.综合数字业务网(ISDN)
综合数字业务网(ISDN)由数字电话和数据传输服务两部分组成,一般由电话局提供这种服务。ISDN的基本速率接口(BRI)服务提供2个B信道和1个D信道(2B+D)。BRI的B信道速率为64Kbps,用于传输用户数据。D信道的速率为16Kbps,主要传输控制信号。在北美和日本,ISDN的主速率接口(PRI)提供23个B信道和1个D信道,总速率可达1.544Mbps,其中D信道速率为64Kbps。而在欧洲、澳大利亚等国家,ISDN的PRI提供30个B信道和1个64Kbps D信道,总速率可达2.048Mbps。我国电话局所提供ISDN PRI为30B+D。
2.基本命令
任务命令
设置ISDN交换类型isdn switch-type switch-type1
接口设置interface bri 0
设置PPP封装encapsulation ppp
设置协议地址与电话号码的映射dialer map protocol next-hop-address [name hostname] [broadcast] [dial-string]
启动PPP多连接ppp multilink
设置启动另一个B通道的阈值dialer load-threshold load
显示ISDN有关信息show isdn {active | history | memory | services | status [dsl | interface-type number] | timers}
注:1.交换机类型如下表,国内交换机一般为basic-net3。
按区域分关键字 交换机类型
Australia
basic-ts013 Australian TS013 switches
Europe
basic-1tr6 German 1TR6 ISDN switches
basic-nwnet3 Norway NET3 switches (phase 1)
basic-net3 NET3 ISDN switches (UK, Denmark, and other nations); covers the Euro-ISDN E-DSS1 signalling system
primary-net5 NET5 switches (UK and Europe)
vn2 French VN2 ISDN switches
vn3 French VN3 ISDN switches
Japan
ntt Japanese NTT ISDN switches
primary-ntt Japanese ISDN PRI switches
North America
basic-5ess AT&T basic rate switches
basic-dms100 NT DMS-100 basic rate switches
basic-ni1 National ISDN-1 switches
primary-4ess AT&T 4ESS switch type for the U.S. (ISDN PRI only)
primary-5ess AT&T 5ESS switch type for the U.S. (ISDN PRI only)
primary-dms100 NT DMS-100 switch type for the U.S. (ISDN PRI only)
New Zealand
basic-nznet3 New Zealand Net3 switches
3.ISDN实现DDR(dial-on-demand routing)实例:
设置如下:
Router1:
hostname router1
user router2 password cisco
!
isdn switch-type basic-net3
!
interface bri 0
ip address 192.200.10.1 255.255.255.0
encapsulation ppp
dialer map ip 192.200.10.2 name router2 572
dialer load-threshold 80
ppp multilink
dialer-group 1
ppp authentication chap

dialer-list 1 protocol ip permit
!
Router2:
hostname router2
user router1 password cisco
!
isdn switch-type basic-net3
!
interface bri 0
ip address 192.200.10.2 255.255.255.0
encapsulation ppp
dialer map ip 192.200.10.1 name router1 571
dialer load-threshold 80
ppp multilink
dialer-group 1
ppp authentication chap

dialer-list 1 protocol ip permit
!
CiscoCisco思科路由器同时支持回拨功能,我们将Cisco思科路由器Router1作为Callback Server,Router2作为Callback Client。
与回拨相关命令:
任务命令
映射协议地址和电话号码,并在接口上使用在全局模式下定义的PPP回拨的映射类别。dialer map protocol address name hostname class classname dial-string
设置接口支持PPP回拨ppp callback accept
在全局模式下为PPP回拨设置映射类别map-class dialer classname
通过查找注册在dialer map里的主机名来决定回拨. dialer callback-server [username]
设置接口要求PPP回拨ppp callback request
设置如下:
Router1:
hostname router1
user router2 password cisco
!
isdn switch-type basic-net3
!
interface bri 0
ip address 192.200.10.1 255.255.255.0
encapsulation ppp
dialer map ip 192.200.10.2 name router2 class s3 572
dialer load-threshold 80
ppp callback accept
ppp multilink
dialer-group 1
ppp authentication chap

map-class dialer s3
dialer callback-server username
dialer-list 1 protocol ip permit
!
Router2:
hostname router2
user router1 password cisco
!
isdn switch-type basic-net3
!
interface bri 0
ip address 192.200.10.2 255.255.255.0
encapsulation ppp
dialer map ip 192.200.10.1 name router1 571
dialer load-threshold 80
ppp callback request
ppp multilink
dialer-group 1
ppp authentication chap

dialer-list 1 protocol ip permit
!
相关调试命令:
debug dialer
debug isdn event
debug isdn q921
debug isdn q931
debug ppp authentication
debug ppp error
debug ppp negotiation
debug ppp packet
show dialer
show isdn status
举例:
执行debug dialer命令观察router2呼叫router1,router1回拨router2的过程.
router1#debug dialer
router2#ping 192.200.10.1
router1#
00:03:50: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up
00:03:50: BRI0:1PP callback Callback server starting to router2 572
00:03:50: BRI0:1: disconnecting call
00:03:50: %LINK-3-UPDOWN: Interface BRI0:1, changed state to down
00:03:50: BRI0:1: disconnecting call
00:03:50: BRI0:1: disconnecting call
00:03:51: %LINK-3-UPDOWN: Interface BRI0:2, changed state to up
00:03:52: callback to router2 already started
00:03:52: BRI0:2: disconnecting call
00:03:52: %LINK-3-UPDOWN: Interface BRI0:2, changed state to down
00:03:52: BRI0:2: disconnecting call
00:03:52: BRI0:2: disconnecting call
00:04:05: : Callback timer expired
00:04:05: BRI0:beginning callback to router2 572
00:04:05: BRI0: Attempting to dial 572
00:04:05: Freeing callback to router2 572
00:04:05: %LINK-3-UPDOWN: Interface BRI0:1, changed state to up
00:04:05: BRI0:1: No callback negotiated
00:04
:05: %LINK-3-UPDOWN: Interface Virtual-Access1, changed state to up
00:04:05: dialer Protocol up for Vi1
00:04:06: %LINEPROTO-5-UPDOWN: Line protocol on Interface BRI0:1, changed state
to up
00:04:06: %LINEPROTO-5-UPDOWN: Line protocol on Interface Virtual-Access1, chang
ed state to up
00:04:11: %ISDN-6-CONNECT: Interface BRI0:1 is now connected to 572
#router1
4.ISDN访问首都在线263网实例:
本地局部网地址为10.0.0.0/24,属于保留地址,通过NAT地址翻译功能,局域网用户可以通过ISDN上263网访问Internet。263的ISDN电话号码为2633,用户为263,口令为263,所涉及的命令如下表:
任务命令
指定接口通过PPP/IPCP地址协商获得IP地址ip address negotiated
指定内部和外部端口ip nat {inside | outside}
使用ppp/pap作认证ppp authentication pap callin
指定接口属于拨号组1dialer-group 1
定义拨号组1允许所有IP协议dialer-list 1 protocol ip permit
设定拨号,号码为2633dialer string 2633
设定登录263的用户名和口令ppp pap sent-username 263 password 263
设定默认路由ip route 0.0.0.0 0.0.0.0 bri 0
设定符合访问列表2的所有源地址被翻译为bri 0所拥有的地址ip nat inside source list 2 interface bri 0 overload
设定访问列表2,允许所有协议access-list 2 permit any
具体配置如下:
hostname Cisco2503
!
isdn switch-type basic-net3
!
ip subnet-zero
no ip domain-lookup
ip routing
!
interface Ethernet 0
ip address 10.0.0.1 255.255.255.0
ip nat inside
no shutdown
!
interface Serial 0
shutdown
no description
no ip address
!
interface Serial 1
shutdown
no description
no ip address
!
interface bri 0
ip address negotiated
ip nat outside
encapsulation ppp
ppp authentication pap callin
ppp multilink
dialer-group 1
dialer hold-queue 10
dialer string 2633
dialer idle-timeout 120
ppp pap sent-username 263 password 263
no cdp enable
no ip split-horizon
no shutdown
!
ip classless
!
! Static Routes
!
ip route 0.0.0.0 0.0.0.0 bri 0
!
! Access Control List 2
!
access-list 2 permit any
!
dialer-list 1 protocol ip permit
!
! Dynamic NAT
!
ip nat inside source list 2 interface bri 0 overload
snmp-server community public ro
!
line console 0
exec-timeout 0 0
!
line vty 0 4
!
end

路由协议配置
RIP协议
RIP(Routing information Protocol)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。
RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的Cisco思科路由器的数目。如果到相同目标有二个不等速或不同带宽的Cisco思科路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多Cisco思科路由器的数目为15,跳数16表示不可达。
1.有关命令
任务命令
指定使用RIP协议router rip
指定RIP版本version {1|2}1
指定与该Cisco思科路由器相连的网络network network
注:1.Cisco的RIP版本2支持验证、密钥管理、路由汇总、无类域间路由(CIDR)和变长子网掩码(VLSMs)
2.举例
Router1:
router rip
version 2
network 192.200.10.0
network 192.20.10.0

相关调试命令:
show ip protocol
show ip route
IGRP协议
IGRP (Interior Gateway Routing Protocol)是一种动态距离向量路由协议,它由Cisco公司八十年代中期设计。使用组合用户配置尺度,包括延迟、带宽、可靠性和负载。
缺省情况下,IGRP每90秒发送一次路由更新广播,在3个更新周期内(即270秒),没有从路由中的第一个Cisco思科路由器接收到更新,则宣布路由不可访问。在7个更新周期即630秒后,Cisco IOS 软件从路由表中清除路由。
1.有关命令
任务命令
指定使用igrp协议router igrp autonomous-system1
指定与该Cisco思科路由器相连的网络network network
指定与该Cisco思科路由器相邻的节点地址neighbor ip-address
注:1、autonomous-system可以随意建立,并非实际意义上的autonomous-system,但运行IGRP的Cisco思科路由器要想交换路由更新信息其autonomous-system需相同。
2.举例
Router1:
router igrp 200
network 192.200.10.0
network 192.20.10.0
!
虚拟局域网(VLAN)
当前在我们构造企业网络时所采用的主干网络技术一般都是基于交换和虚拟网络的。交换技术将共享介质改为独占介质,大大提高网络速度。虚拟网络技术打破了地理环境的制约,在不改动网络物理连接的情况下可以任意将工作站在工作组或子网之间移动,工作站组成逻辑工作组或虚拟子网,提高信息系统的运作性能,均衡网络数据流量,合理利用硬件及信息资源。同时,利用虚拟网络技术,大大减轻了网络管理和维护工作的负担,降低网络维护费用。随着虚拟网络技术的应用,随之必然产生了在虚拟网间如何通讯的问题.
交换机间链路(ISL)协议
ISL(Interior Switching Link)协议用于实现交换机间的VLAN中继。它是一个信息包标记协议,在支持ISL接口上发送的帧由一个标准以太网帧及相关的VLAN信息组成。如下图所示,在支持ISL的接口上可以传送来自不同VLAN的数据。
虚拟局域网(VLAN)路由实例
3.1. 例一:
设备选用Catalyst5500交换机1台,安装WS-X5530-E3管理引擎,多块WS-X5225R及WS-X5302路由交换模块,WS-X5302被直接插入交换机,通过二个通道与系统背板上的VLAN 相连,从用户角度看认为它是1个1接口的模块,此接口支持ISL。在交换机内划有3个虚拟网,分别名为default、qbw、rgw,通过WS-X5302实现虚拟网间路由。
以下加重下横线部分,如set system name 5500C为需设置的命令。
设置如下:
Catalyst 5500配置:
begin
set password $1$FMFQ$HfZR5DUszVHIRhrz4h6V70
set enablepass $1$FMFQ$HfZR5DUszVHIRhrz4h6V70
set prompt Console>
set length 24 default
set logout 20
set banner motd ^C^C
!
#system
set system baud 9600
set system modem disable
set system name 5500C
set system location
set system contact
!
#ip
set interface sc0 1 10.230.4.240 255.255.255.0 10.230.4.255
set interface sc0 up
set interface sl0 0.0.0.0 0.0.0.0
set interface sl0 up
set arp agingtime 1200
set ip redirect enable
set ip unreachable enable
set ip fragmentation enable
set ip route 0.0.0.0 10.230.4.15 1
set ip alias default 0.0.0.0
!
#Command alias
!
#vtp
set vtp domain hne
set vtp mode server
set vtp v2 disable
set vtp pruning disable
set vtp pruneeligible 2-1000
clear vtp pruneeligible 1001-1005
set vlan 1 name default type ethernet mtu 1500 said 100001 state active
set vlan 777 name rgw type ethernet mtu 1500 said 100777 state active
set vlan 888 name qbw type ethernet mtu 1500 said 100888 state active
set vlan 1002 name fddi-default type fddi mtu 1500 said 101002 state active
set vlan 1004 name fddinet-default type fddinet mtu 1500 said 101004 state active bridge 0×0 stp ieee
set vlan 1005 name trnet-default type trbrf mtu 1500 said 101005 state active bridge 0×0 stp ibm
set vlan 1003 name token-ring-default type trcrf mtu 1500 said 101003 state active parent 0 ring 0×0 mode srb aremaxhop 7 stemaxhop 7
!
#set boot command
set boot config-register 0×102
set boot system flash bootflash:cat5000-sup3
.4-3-1a.bin
!
#module 1 : 2-port 1000BaseLX Supervisor
set module name 1
set vlan 1 1/1-2
set port enable 1/1-2
!
#module 2 : empty
!
#module 3 : 24-port 10/100BaseTX Ethernet
set module name 3
set module enable 3
set vlan 1 3/1-22
set vlan 777 3/23
set vlan 888 3/24
set trunk 3/1 on isl 1-1005
#module 4 empty
!
#module 5 empty
!
#module 6 : 1-port Route Switch
set module name 6
set port level 6/1 normal
set port trap 6/1 disable
set port name 6/1
set cdp enable 6/1
set cdp interval 6/1 60
set trunk 6/1 on isl 1-1005
!
#module 7 : 24-port 10/100BaseTX Ethernet
set module name 7
set module enable 7
set vlan 1 7/1-22
set vlan 888 7/23-24
set trunk 7/1 on isl 1-1005
set trunk 7/2 on isl 1-1005
!
#module 8 empty
!
#module 9 empty
!
#module 10 : 12-port 100BaseFX MM Ethernet
set module name 10
set module enable 10
set vlan 1 10/1-12
set port channel 10/1-4 off
set port channel 10/5-8 off
set port channel 10/9-12 off
set port channel 10/1-2 on
set port channel 10/3-4 on
set port channel 10/5-6 on
set port channel 10/7-8 on
set port channel 10/9-10 on
set port channel 10/11-12 on
#module 11 empty
!
#module 12 empty
!
#module 13 empty
!
#switch port analyzer
!set span 1 1/1 both inpkts disable
set span disable
!
#cam
set cam agingtime 1-2,777,888,1003,1005 300
end
5500C> (enable)
WS-X5302路由模块设置:
Router#wri t
Building configuration…
Current configuration:
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname Router
!
enable secret 5 $1$w1kK$AJK69fGOD7BqKhKcSNBf6.
!
ip subnet-zero
!
interface Vlan1
ip address 10.230.2.56 255.255.255.0
!
interface Vlan777
ip address 10.230.3.56 255.255.255.0
!
interface Vlan888
ip address 10.230.4.56 255.255.255.0
!
no ip classless
!
line con 0
line aux 0
line vty 0 4
password router
login
!
end
Router#
3.1. 例二:
交换设备仍选用Catalyst5500交换机1台,安装WS-X5530-E3管理引擎,多块WS-X5225R在交换机内划有3个虚拟网,分别名为default、qbw、rgw,通过Cisco3640Cisco思科路由器实现虚拟网间路由。交换机设置与例一类似。
Cisco思科路由器Cisco3640,配有一块NM-1FE-TX模块,此模块带有一个快速以太网接口可以支持ISL。Cisco3640快速以太网接口与交换机上的某一支持ISL的端口实现连接,如交换机第3槽第1个接口(3/1口)。
Router#wri t
Building configuration…
Current configuration:
!
version 11.2
no service password-encryption
no service udp-small-servers
no service tcp-small-servers
!
hostname Router
!
enable secret 5 $1$w1kK$AJK69fGOD7BqKhKcSNBf6.
!
ip subnet-zero
!
interface FastEthernet1/0
!
interface FastEthernet1/0.1
encapsulation isl 1
ip address 10.230.2.56 255.255.255.0
!
interface FastEthernet1/0.2
encapsulation isl 777
ip address 10.230.3.56 255.255.255.0
!
interface FastEthernet1/0.3
encapsulation isl 888
ip address 10.230.4.56 255.255.255.0
!
no ip classless
!
line con 0
line aux 0
line vty 0 4
password router
login
!
end
Router#

安全性管理
对Cisco思科路由器的安全性管理主要包括:建立口令以保护访问Cisco思科路由器的安全,使用正确的访问表以管理通过Cisco思科路由器的可接受数据流等。
1、口令管理
下面显示了设置控制从终端进行访问的口令的命令。
命令 操作效果
Line console 0 为控制台终端建立一个口令
Line vty 0 4 telnet连接建立一个口令
Enable-password 为特权exec模式建立一个口令
Enable-secret 使用MD5加密方法建立密码口令
Service password-encryption 保护口令,避免其通过idsplay命令
将口令显示出来
2、报文过滤
cisco的防火墙功能主要是通过报文的过滤实现的。
它可以实现对多种数据流的控制,如限制流入、以及流出等。通过对访问列表的编写,我们可以实现对特定网络或主机的数据流限制。
Accsess-list 的编号有特定的范围:
IP standard access list
IP extended access list
Extended 48-bit MAC address access list
Protocol type-code access list
48-bit MAC address access list
例如我们可以定义如下的访问表来实现允许任何主机到主机160..10.2.101的报文:
Accsess-list 101 permit ip any host 160.10.2.101
而下面的语句允许使用客户源端口(小于1024的端口留给服务器用)方式的主机发往160.10.2.100的udp报文通过,且报文的目的端口必须为dns端口(53)。其中gt为great than。
Accsess-list 101 permit udp any gt 1023 host 160.10.2.100 eq 53
建立好访问列表以后,要想让它进行报文过滤,必须将它应用到端口上。在进入要控制的端口后,用如下的命令应用此访问表:
router(config-if)#ip access-group 101 in
其中的in表示对向里(针对此端口来说)的数据进行过滤。要注意的是,一个端口只能有一个向里和向外的列表,如果有几个,则只有第一个起作用。
参考:
CiscoCisco思科路由器口令恢复
当CiscoCisco思科路由器的口令被错误修改或忘记时,可以按如下步骤进行操作:
1.开机时按使进入ROM监控状态
2.按o 命令读取配置寄存器的原始值
> o
3.作如下设置,使忽略NVRAM引导
>o/r0x**4*Cisco2500系列命令
rommon 1 >confreg 0x**4*Cisco2600、1600系列命令
一般正常值为0×2102
4.重新启动Cisco思科路由器
>I
rommon 2 >reset
5.在“Setup”模式,对所有问题回答No
6.进入特权模式
Router>enable
7.下载NVRAM
Router>configure memory
8.恢复原始配置寄存器值并激活所有端口
“hostname”#configure terminal
“hostname”(config)#config-register 0x“value”
“hostname”(config)#interface xx
“hostname”(config)#no shutdown
9.查询并记录丢失的口令
“hostname”#show configuration (show startup-config)
10.修改口令
“hostname”#configure terminal
“hostname”(config)line console 0
“hostname”(config-line)#login
“hostname”(config-line)#password xxxxxxxxx
“hostname”(config-line)#
“hostname”(config-line)#write memory(copy running-config startup-config)

2、IP地址分配
地址类网络主机网络地址范围标准二进制掩码
AN.H.H.H1-1261111 1111 0000 0000 0000 0000 0000 0000
BN.N.H.H128-1911111 1111 1111 1111 0000 0000 0000 0000
CN.N.N.H192-2231111 1111 1111 1111 1111 1111 0000 0000
子网位个数子网掩码子网数主机数
B类地址
2255.255.192.0216382
3255.255.224.068198
4255.255.240.0144894
5255.255.248.0302846
6255.255.252.0621822
7255.255.254.0126518
8255.255.255.0254254
9255.255.255.128518126
10255.255.255.192182262
11255.255.255.224284630
12255.255.255.240489414
13255.255.255.24881986
14255.255.255.252163822
C类地址
2255.255.255.192262
3255.255.255.224630
4255.255.255.2401414
5255.255.255.248306
6255.255.255.252622

Cisco思科路由器
最简单的网络可以想象成单线的总线,各个计算机可以通过向总线发送分组以互相通信。但随着网络中的计算机数目增长,这就很不可行了,会产生许多问题:
1、带宽资源耗尽。
2、每台计算机都浪费许多时间处理无关的广播数据。
3、网络变得无法管理,任何错误都可能导致整个网络瘫痪。
4、每台计算机都可以监听到其

安全突破后恢复网络的五个步骤

0

分类 : 技术文摘 | 发表时间 10-06-2006

如果你拥有投资某些功能强大的网络管理系统的时间和金钱,你可以投入到仅需按下几个按钮就能恢复你的网络的设备上。如果你在制定一个典型的中型网络的预算,这里列出了你发现故障后应该采取的措施。我这里所说的网络指的是路由器、交换机、防火墙等基础设施,不包括以不同方式连接到网络的服务器和PC。路由器、交换机和同类的产品仍然容易受到“rootkits”和恶意软件/固件的攻击。但是,路由器和交换机等产品并不像基于Windows、Linux或者OS X操作系统的设备那样容易受到攻击。最普通的攻击是针对协议实施的并且导致出现黑洞,添满你的交换机FDB地址,使交换机不能学习到新的的MAC地址,或者通过耗尽你的带宽来拒绝服务。

  另一个需要指出的是,你在实施下列任务时,由于机构的性质的不同,执行的顺序可能有很大的不同。例如,在一个企业,你担心的主要问题是尽快恢复连接。而另一个企业也许管理非常严格和可以容忍暂时的断开连接,因此这样的企业将愿意花一些时间做收集法律证据的工作。

  1.保留日志:几乎在每一个案例中,你都要保留每一台设备中的日志。如果你要得到更多的日志作证据,你还可以采取本指南范围以外的一些步骤。

  2.通知有关当局:根据攻击的性质,你要通知某些人。根据你的机构的情况,这个需要通知的人也许是一位审查经理或者一位IT官员。你也许还要通知警察或者联邦调查局等有关当局。你也许还应该通知服务提供商和运营商。而且,你还需要通知你的用户,特别是通过你的网络实施的攻击中暴露的那些网络的用户。你有这些人上班时和下班后的联系方式信息,对吗?

  3.检查你的基础设施是否被攻破:如果攻击的性质不是拒绝服务攻击,而且一个服务器管理员在几台使用P2P文件共享软件的PC中发现了“rootkit”,或者你的入侵检测系统通知你这些攻击来自于你的一台路由器的时候,你就需要检查你的路由器和交换机,确保这些设备没有被攻破。简单的方法是验证软件镜像的效验核是否与厂商提供的一致。

  4.恢复你的设置:如果你确保你是正确的,你可以卸载这些软件镜像并且把设备恢复到厂商默认的设置,然后从备份资料中恢复你的设置。你确实对你的全部设置做过备份,对吗?

  额外说一个小窍门:虽然大多数管理员都在他们的网络上的设置管理工具中保留他们的设备设置文件,但是,网络中断会使你在最需要这些信息的时候无法访问这些信息。好的方法是在U盘或者CD盘中保存全部的设置文件,以便在需要恢复操作台时使用。但是,你一定要采取措施保证这些备份设备的物理安全。你不要让这些备份文件落入坏人手中,因为在许多配置文件中很容易找到破解的口令。

  5.分步骤防御攻击:如果这种攻击的实质是拒绝服务攻击,那么,你有很多种方法阻止这种攻击。你有可能不能在攻击一开始就阻止,因为像微软和联邦政府这样采取严格预算的公司也一直受到拒绝服务攻击。但是,你应该准备好采取一些常用的步骤,如手工分流防火墙的通信或者在你的屏蔽路由器上使用一些临时的ACL(访问控制列表),或者干脆关闭被攻击的内部机器的端口。替代的方法是,你可以设置一个入侵防御系统自动做这些事情。

  同以往一样,关键是有备无患。同保险一样,它令人讨厌,但是,偶尔会得到巨大的回报。

企业网管员防杀网络病毒经验谈

0

分类 : 技术文摘 | 发表时间 08-05-2006

随着网络信息技术的发展,企业的日常业务越来越多地和互联网发生着联系。然而,互联网是一把双刃剑,人们在享受互联网带来便利的同时,不得不面对病毒的一轮又一轮进攻。

  如果在若干年前,在联网计算机不多,病毒危害不大的情况下,按部就班地一台台机器查杀毒或升级病毒库,显然还在网管员可以忍受的范围内。可如今计算机病毒已经越来越普遍,每天都有好几种新的网络病毒诞生。公司的网络也越来越大,网络病毒一旦爆发可以在几小时内感染公司内部数百台电脑,而且病毒会游走在整个网络内,往往是清除了这台机器的病毒,那台机器又被感染了;解决了那边的问题,这边又开始“造反”。

  笔者担任网络管理员并主要负责安全问题已经有好几年了,在工作中积累了防杀网络病毒的丰富经验,今天就和各位读者一起探讨如何有效的防杀网络病毒。

  一、网络病毒的分类:

  目前流行的网络病毒从类型上分主要有木马病毒和蠕虫病毒。木马病毒实际上是一种后门程序,他常常潜伏在操作系统中监视用户的各种操作,窃取用户QQ,传奇游戏和网上银行的帐号和密码。蠕虫病毒是一种更先进的病毒,他可以通过多种方式进行传播,甚至是利用操作系统和应用程序的漏洞主动进行攻击,每种蠕虫都包含一个扫描功能模块负责探测存在漏洞的主机,在网络中扫描到存在该漏洞的计算机后就马上传播出去。

这点也使得蠕虫病毒危害性非常大,可以说网络中一台计算机感染了蠕虫病毒可以在一分钟内将网络中所有存在该漏洞的计算机进行感染。由于蠕虫发送大量传播数据包,所以被蠕虫感染了的网络速度非常缓慢,被蠕虫感染了的计算机也会因为CPU和内存占用过高而接近死机状态。

  按照网络病毒的传播途径划分的话又分为邮件型病毒和漏洞性病毒。前者是通过电子邮件进行传播的,病毒将自身隐藏在邮件的附件中并伪造虚假信息欺骗用户打开该附件从而感染病毒,当然有的邮件性病毒利用的是浏览器的漏洞来实现。

这时用户即使没有打开邮件中的病毒附件而仅仅浏览了邮件内容,由于浏览器存在漏洞也会让病毒趁虚而入。漏洞型病毒则更加可怕,大家都知道目前应用最广泛的是WINDOWS操作系统,而WINDOWS系统漏洞非常多,每隔一段时间微软都会发布安全补丁弥补漏洞。

因此即使你没有运行非法软件没有打开邮件浏览只要你连接到网络中,漏洞型病毒就会利用操作系统的漏洞进入你的计算机,例如2004年风靡的冲击波和震荡波病毒就是漏洞型病毒的一种,他们造成全世界网络计算机的瘫痪,造成了巨大的经济损失。

  网络在发展病毒也在发展,现在的病毒已经不是传统意义上的单一病毒了,往往一个病毒载体身兼数职,自身就是文件型,木马型,漏洞型和邮件型的混合体。这样的病毒危害性更大,查杀起来更困难。

  二、防范网络病毒的方法:

  俗话说“防范于未然”,如何最大限度的将网络病毒阻挡在计算机及内部网络之外呢?笔者根据多年网络安全方面的经验总结了如下几点,如果网络管理员可以在这几方面引起足够重视的话,就可以有效阻止99%的网络病毒的入侵。

  第一步:将计算机中的帐户密码设置得复杂些,不要保留空密码或弱口令的帐号,将GUEST帐户禁用,并删除无用的用户。

  第二步:及时更新操作系统的漏洞补丁,将WINDOWS UPDATE服务启用。并保证每周均执行补丁安装工作,安装完毕后需要重新启动计算机。因为很多补丁只有在重新启动后才能生效。

  第三步:关闭不必要的系统服务,如MESSENGER,REMOTE REGISTRY SERVICE等。关闭无用的共享资源,象系统默认的共享都要关闭,如c$,d$,ipc$,admin$等。

  第四步:为本机安装杀毒软件及防火墙,从而有效的防范病毒和黑客的入侵。不要以为安装其中之一就可以大功告成,需要两者兼得才能起到最大的效果。在防火墙上要配置恰当的规则,杀毒软件也要及时更新病毒库。

  第五步:所有防范工作完毕之后还要对员工进行安全培训,严格要求员工不随便运行网上下载的可疑程序,不随便执行别人发来的文件,不随便运行电子邮件中的附件。

  公司内网中的计算机严格遵照这五步执行后作为网络管理员的你会发现网络病毒的爆发率降低了很多,你的工作量也大大减少了。
  三、查杀网络病毒的方法:

  俗话说“亡羊补牢尤未迟也”,如果自己的计算机已经感染了网络病毒我们应该如何清除呢?这就需要我们在日常工作中积累经验,自己多动手查杀几次就熟悉了病毒的习性。下面笔者就自己的查杀经验为大家进行总结,希望给读者提供足够的帮助。

  1、查找病毒:

  其实电脑中毒跟人生病一样,总会有一些明显的症状表现出来,例如机器运行十分缓慢,上不了网,杀毒软件升不了级,WORD文档打不开,电脑反复重启等等,这些都是中毒的征兆。接下来我们就要开始搜索病毒体了。

  第一步:按CTRL+SHIFT+ESC键调出WINDOWS任务管理器,查看系统运行的进程,找出不熟悉的进程并记下名称,通过搜索引擎查询判断这些进程是否是病毒产生的,也可以点击任务管理器的性能查看CPU和内存的当前状态,如果CPU的利用率接近100%或内存的占用值居高不下,电脑中毒的可能性是95%。

  第二步:运行注册表编辑器,通过任务栏的“开始->运行->输入regedit”,查看都有哪些程序随WINDOWS的启动而启动。主要看hkey_local_machine\software\microsoft\windows\currentversion\run和runonce等以及hkey_current_user\software\microsoft\windows\currentversion\run和runonce等键值下是否有非法程序加载。

  小提示:

  在WIN98或XP系统下可以直接通过“开始->运行->msconfig”查看启动项程序。

  第三步:查看WINDOWS当前启动的服务项,在“控制面板”的“管理工具”里打开“服务”,查看右边状态为“启动”的行,一般而言正常的WINDOWS服务基本上都有描述内容,双击打开认为有问题的服务项,查看其属性里的可执行文件的路径和名称,假如其路径为c:\winnt\system32\,则很有可能是病毒程序,因为大部分病毒都会将自身主程序复制到该目录下。

  第四步:用浏览器上网判断,如果你的计算机可以浏览SOHU,新浪等网站但不能访问诸如www.symantec.com,www.ca.com这样的安全厂商站点的话很有可能是中了网络病毒并被修改了HOSTS文件。

  2、清除病毒:

  由于计算机感染了网络病毒,所以首先应该将网线从计算机上拔下,断开计算机和网络的连接,防止病毒的二次入侵及再度感染。接着按照以下的方法清除病毒。

  第一步:在注册表里删除随系统启动的非法程序,然后在注册表中搜索所有该键值并全部删除。当病毒以系统服务的方式启动话还应该在hkey_local_machine\system\controlset001\services和controlset002\services里藏身,找到后全部删除。

  第二步:停止所有有问题的服务,启动方式从自动改为禁用。

  第三步:如果上文提到的HOSTS文件被篡改,则恢复它本来面目,即
只剩下一行有效值“127.0.0.1 localhost”,其余的行全部删除。

  第四步:重新启动计算机,按F8进入安全模式,搜索病毒的执行文件,手动将其删除。

  第五步:在安全模式下用升级了最新病毒库的杀毒软件对系统进行全面扫描,剿灭漏网之鱼。扫描后就可以重启计算机完成全部查杀网络病毒的操作了。

  总结:

  至此我们就系统的学习了防范网络病毒,查杀网络病毒的方法,相信读者按照本文介绍的内容可以有效的防杀网络病毒,将网络病毒带来的灾害和损失降低到最低点。当然网络病毒也是在发展的,新病毒层出不穷,我们只有不断补充新的查杀知识,在工作中不断积累实践经验才能在网络管理员与网络病毒的战斗中处于更加有利的地位。

成功网络管理员必备“软件”素质

0

分类 : 技术文摘 | 发表时间 08-05-2006

做一名成功的网管员不仅要进行网络的规划设计、网络设备的招投标、系统集成等事项外,必须具备一定的“硬件”素质,能选择和采购好的网络设备,进行安装、配置和调试,保证局域网正常、稳定地运行,要想做好这些工作,则必须要具备一定“软件”素质。本文就和大家一起讨论成功网管员必备的“软件”素质。

  一、成功网管员必备的“软件”素质

  由于许多网络设备的软件以及服务器的操作系统都是英文版的,因此要想熟练地使用和掌握这些软件,我们的网管员必须有一定的英文阅读能力,能够掌握大量的计算机专业词汇,从而能够流畅地阅读原版的白皮书和技术资料,最主要是看懂网络设备和管理软件说明书,了解网络技术的最新发展动态。

  若欲提高企业网络应用水平,就必须要有恰当的管理培训。根据企业网建设的经验,技术培训是企业网络建设能否成功的关键环节。因此,网络管理员还往往承担着繁重的技术培训任务,必须能够胜任教师的工作。根据企业网中不同人员的责任和地位,分别对其进行内容以及深度不同的培训,重点是对软件的应用方面的。例如,对网络管理维护人员的培训、对网络开发人员的培训,以及对普通工作人员的培训。培训必须面向应用、富有针对性,真正做到因材施教、学以致用。

  1、掌握服务器软件的安装和配置方法

  操作系统

  计算机是由硬件和软件组成的,缺了任何一样都无法运行。我们对计算机进行操作,都是利用操作系统来完成。服务器上运行的是网络操作系统,网络操作系统(NOS)是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。它在计算机操作系统下工作,使计算机操作系统增加了网络操作所需要的能力。

一般情况下,NOS是以使网络相关特性达到最佳为目的的,如共享数据文件、软件应用,以及共享硬盘、打印机、调制解调器、扫描仪和传真机等。NOS还对每个网络设备之间的通信进行管理,这是通过NOS中的媒体访问法来实现的。

  大家目前比较熟悉的可能就是windows 操作系统,在服务器上运行早期是windows NT Server,现在普遍使用是windows 2000/2003 Server;除了Windows外,一类是UNIX,代表产品包括SUN Solaris、HP-UX、IBM AIX等;还有一类是Linux,它虽说是后起之秀,但由于其开放性和高性价比等特点,近年来获得了长足发展,象redhat、红旗等产品;还有就是Novell系统。

  总的来说,Windows是简单易用的操作系统,适合中小型企业及网站建设;UNIX具有非常好的安全性和实时性,广泛用在金融、银行、政府、军事及大型企业;Linux具有高的安全性和稳定性,一般用做网站的服务器和邮件服务器;Novell是工业控制、生产企业、证劵系统比较理想的操作系统。

  首先作为网管员必须要了解这些操作系统的使用场合,操作系统在服务器上安装和配置方法,系统的日常运行和管理,掌握出现问题如何解决等技巧,操作系统的安全设置(系统补丁的安装)等等。完成这些工作是我们网管员必须具备软件的素质之一。

  应用软件

  我们在对操作系统掌握比较熟练后,在OS基础上架构网站(WEB),DNS、DHCP、FTP、Email等服务,以及视频、短信、游戏、BBS等等,都是服务器上的应用软件,还有代理软件、局域网内服务器/客户机上网络防病毒软件的安装与运行;以及企业本身的财务软件、办公系统、管理信息系统以及ERP等应用系统,保证这些应用软件(系统)的正常、稳定运行,是我们成功网管员必须具备软件的重点素质之一。

  2、网管软件及网管工具软件

  网络管理的需求决定网管系统的组成和规模,任何网管系统无论其规模大小,基本上都是由支持网管协议的网管软件平台、网管支撑软件、网管工作平台和支撑网管协议的网络设备组成。

其中网管软件平台提供网络系统的配置、故障、性能及网络用户分布方面的基本管理,也就是说,网络管理的各种功能最终会体现在网管软件的各种功能的实现上,软件是网管系统的“灵魂”,是网管系统的核心。

  网管平台软件的主要作用是收集网络设备的硬件信息,通过这些网管软件可以观看网络拓扑图、设置警报等。网络管理员在很多情况必须借助各种管理软件监控整个网络的运行情况,了解网络服务和用户。

此外,使用管理软件的设备诊断功能是查找故障的好方法。借助网络管理的一些小的工具软件,可以大大减轻网管员日常的重复性劳动和工作压力,提高工作效率,为实现提高生产力,保障企业效益最大化提供基础。这肯定是我们成功网管员必须具备软件的重点素质之一。

  3、掌握数据库的安装和配置方法

  数据库服务也是服务器提供的重要服务之一,常见的数据库系统有MS SQL Server、MySQL、Oracle、Sybase、DB2等。许多应用系统都是在数据库系统基础上进行的,比如企业信息管理系统、计费系统等,特别是一些大型的Web网站,一般都使用数据库来作为后台支撑,完成三级的Web/Server构架。因此我们也必须要掌握各种数据库的安装和配置方法,做好数据库管理员的日常运行维护工作。

  4、掌握数据备份与灾难恢复

  在网络系统安全建设中必不可少的一个环节就是数据的常规备份和历史保存。一般在生产本地的备份目的主要有两个:一是生产系统的业务数据由于系统或人为误操作造成损坏或丢失后,可及时在生产本地实现数据的恢复;另一个目的是在发生地域性灾难(地震、火灾、机器毁坏等)时,可及时在本地或异地实现数据及整个系统的灾难恢复。

  对于大多数网管员来说,备份是一项繁重的任务。网络备份最好能够实现定时自动备份,这样可以大大减轻管理员的压力。一般来说,为了保护数据安全和提高数据的持续可用性,企业要从RAID保护、冗余结构、数据备份、故障预警等多方面考虑。

  作为网管员还必须要学会和掌握备份软件的使用和操作,这样才能做好日常的数据备份和恢复工作。要做到灾难恢复,首先备份系统时要做到满足系统容量不断增加的需求,并且备份软件必须能支持多平台系统。

当网络上连接上其它的应用服务器时,对于网络存储管理系统来说,只需安装支持这种服务器的客户端软件即可将数据备份到磁带库或光盘库中。其次,网络数据存储管理系统是指在分布式网络环境下,通过专业的数据存储管理软件,结合相应的硬件和存储设备,来对全网络的数据备份进行集中管理,从而实现自动化的备份、文件归档、数据分级存储以及灾难恢复等。

  5、掌握网络设备与防火墙的配置和调试方法

  网管员要熟悉思科等主流厂商的基本网络设备(包括交换机、路由器)的配置和调试方法,这也是网管员最基本的工作之一;为了保障网络的正常稳定运行,网管员还必须了解和掌握网络安全设备(包括防火墙、IDS)的配置和调试方法,因此要学习和调试这些设备命令语句,制定安全策略,根据实际需求,配置好网络设备和安全设备,使它们能发挥最优的、最好的效果



  二、总结

  网管员必须具备创造和应变能力,硬件设备、管理工具、应用软件所提供的直接功能往往是有限的,而显示的网络需求却是无限的,如何用有限的功能满足无限的需要呢?这就需要网络管理员具有很强的、有创造性的应变能力,从而利用现有的功能、手段和技术,通过不同功能的排列、组合和巧妙结合,创造性地实现各种复杂的功能,满足用户各种需求。

  网络还是一个系统,因此一项功能的实现往往需要借助于多种措施和设置,而导致故障发生往往由于多种原因,既可能是一因多果,也可能是一果多因。所以网络管理员必须拥有非常强的分析和判断能力,用全面、动态和联系的眼光分析问题,善于进行逻辑推理,从纷繁复杂的现象中发现事物的本质。

  网络管理员必须拥有充沛的体力、旺盛的精力和坚韧不拔的毅力。网络总是在不问地断运行,网络管理工作也同样是在日复一日,年复一年地重复进行。长时间的、大强度的脑力劳动无疑是非常辛苦的,所以,网络管理员既要非常热爱自己的工作,又要有强健的体魄支持,两者缺一不可。

  除了技术过硬之外,网络管理员还必须具有较好的沟通能力。与网络公司沟通,既可传达公司对功能的需求,构建令人满意的网络,也可以了解网络设计理念,掌握相关的知识和技术;与用户沟通,可以及时掌握用户的需求,更好地为用户提供服务;与领导沟通,可以及时了解领导意图,调整网络服务策略和内容。

  因此作为一名成功的网管员还必须具备上面所说的“软”素质,结合“硬件”素质和“软件”素质,才能真正做好企业的“网管”工作。

JAVA 的多线程浅析

0

分类 : 编码知识 | 发表时间 08-05-2006

一 JAVA 语言的来源、及特点在这个高速信息的时代,商家们纷纷把信息、产品做到Internet国际互连网页上。再这些不寻常网页的背后,要属功能齐全、安全可靠的编程语言,Java是当之无愧的。Java是由Sun Microsystem开发的一种功能强大的新型程序设计语言。是与平台无关的编程语言。它是一种简单的、面象对象的、分布式的、解释的、键壮的、安全的、结构的中立的、可移植的、性能很优异的、多线程的、动态的、语言。
Java自问世以后,以其编程简单、代码高效、可移植性强,很快受到了广大计算机编程人士的青睐。Java语言是Internet上具有革命性的编程语言,它具有强大的动画、多媒体和交互功能,他使World Web进入了一个全新的时代。Java语言与C++极为类似,可用它来创建安全的、可移植的、多线程的交互式程序。另外用Java开发出来的程序与平台无关,可在多种平台上运行。后台开发,是一种高效、实用的编程方法。人们在屏幕前只能看到例如图案、计算的结果等。实际上操作系统往往在后台来调度一些事件、管理程序的流向等。例如操作系统中的堆栈,线程间的资源分配与管理,内存的创建、访问、管理等。可谓举不盛举。下面就多线程来谈一谈。

二 JAVA的多线程理论

2.1引入
Java提供的多线程功能使得在一个程序里可同时执行多个小任务。线程有时也称小进程是一个大进程里分出来的小的独立的进程。因为Java实现的多线程技术,所以比C和C++更键壮。多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(UNIX,Windows,Macintosh等),在开发难易程度和性能上都比单线程要好。传统编程环境通常是单线程的,由于JAVA是多线程的。尽管多线程是强大而灵巧的编程工具,但要用好却不容易,且有许多陷阱,即使编程老手也难免误用。为了更好的了解线程,用办公室工作人员作比喻。办公室工作人员就象CPU,根据上级指示做工作,就象执行一个线程。在单线程环境中,每个程序编写和执行的方式是任何时候程序只考虑一个处理顺序。用我们的比喻,就象办公室工作人员从头到尾不受打扰和分心,只安排做一个工作。当然,实际生活中工作人员很难一次只有一个任务,更常见的是工作人员要同时做几件事。老板将工作交给工作人员,希望工作人员做一这个工作,再做点那个工作,等等。如果一个任务无法做下去了,比如工作人员等待另一部门的信息,则工作人员将这个工作放在一边,转入另一个工作。一般来说,老板希望工作人员手头的各个任务每一天都有一些进展。这样就引入了多线程的概念。多线程编程环境与这个典型的办公室非常相似,同时给CPU分配了几个任务或线程。和办公室人员一样,计算机CPU实际上不可能同一时间做几件事,而是把时间分配到不同的线程,使每个线程都有点进展。如果一个线程无法进行,比如线程要求的键盘输入尚未取得,则转入另一线程的工作。通常,CPU在线程间的切换非常迅速,使人们感觉到好象所有线程是同时进行的。
任何处理环境,无论是单线程还是多线程,都有三个关键方面。第一个是CPU,它实际上进行计算机活动;第二个是执行的程序的代码;第三个是程序操作的数据.。
在多线程编程中,每个线程都用编码提供线程的行为,用数据供给编码操作。多个线程可以同时处理同一编码和数据,不同的线程也可能各有不同的编码和数据。
事实上编码和数据部分是相当独立的,需要时即可向线程提供。因此经常是几个线程使用同一编码和不同的数据。这个思想也可以用办公室工作人员来比喻。会计可能要做一个部门的帐或几个或几个部门的帐。任何情况的做帐的任务是相同的程序代码,但每个部门的数据是不同的。会计可能要做整个公司的帐,这时有几个任务,但有些数据是共享的,因为公司帐需要来自各个部门的数据。
多线程编程环境用方便的模型隐藏CPU在任务切换间的事实。模型允许假装成有多个可用的CPU。为了建立另一个任务,编程人员要求另一个虚拟CPU,指示它开始用某个数据组执行某个程序段。下面我们来建立线程。


建立线程
在JAVA中建立线程并不困难,所需要的三件事:执行的代码、代码所操作的数据和执行代码的虚拟CPU。虚拟CPU包装在Thread类的实例中。建立Thread对象时,必须提供执行的代码和代码所处理的数据。JAVA的面向对象模型要求程序代码只能写成类的成员方法。数据只能作为方法中的自动(或本地)变量或类的成员存在。这些规则要求为线程提供的代码和数据应以类的实例的形式出现。
Public class SimpleRunnable implemants Runable{
Private String message;
Public static void main(String args[]){
SimpleRunnable r1=new SimpleRunnable(“Hello”);
Thread t1=new Thread(r1);
t1.start();
}
public SimpleRunnable(String message){
this.message=message;
}
public void run(){
for(;;){
System.out.println(message);
}
}
}
线程开始执行时,它在public void run()方法中执行。这种方法是定义的线程执行的起点,就象应用程序从main()开始、小程序从init()开始一样。线程操作的本地数据是传入线程的对象的成员。
首先,main()方法构造SimpleRunnable类的实例。注意,实例有自己的数据,这里是一个String,初始化为”Hello”.由于实例r1传入Thread类构造器,这是线程运行时处理的数据。执行的代码是实例方法run()。


2.2 线程的管理
单线程的程序都有一个main执行体,它运行一些代码,当程序结束执行后,它正好退出,程序同时结束运行。在JAVA中我们要得到相同的应答,必须稍微进行改动。只有当所有的线程退出后,程序才能结束。只要有一个线程一直在运行,程序就无法退出。线程包括四个状态:new(开始),running(运行),wait(等候)和done(结束)。第一次创建线程时,都位于new状态,在这个状态下,不能运行线程,只能等待。然后,线程或者由方法start开始或者送往done状态,位于done中的线程已经结束执行,这是线程的最后一个状态。一旦线程位于这个状态,就不能再次出现,而且当JAVA虚拟机中的所有线程都位于done状态时,程序就强行中止。当前正在执行的所有线程都位于running状态,在程序之间用某种方法把处理器的执行时间分成时间片,位于running状态的每个线程都是能运行的,但在一个给定的时间内,每个系统处理器只能运行一个线程。与位于running状态的线程不同,由于某种原因,可以把已经位于waiting状态的线程从一组可执行线程中删除。如果线程的执行被中断,就回到waiting状态。用多种方法能中断一个线程。线程能被挂起,在系统资源上等候,或者被告知进入休眠状态。该状态的线程可以返回到running状
态,也能由方法stop送入done状态,
方法
描述
有效状态
目的状态
Start()
开始执行一个线程
New
Running
Stop()
结束执行一个线程
New或running
Done
Sleep(long)
暂停一段时间,这个时间为给定的毫秒
Running
Wait
Sleep(long,int)
暂停片刻,可以精确到纳秒
Running r/>Wait
Suspend()
挂起执行
Running
Wait
Resume()
恢复执行
Wait
Running
Yield()
明确放弃执行
Running
Running


2.3线程的调度
线程运行的顺序以及从处理器中获得的时间数量主要取决于开发者,处理器给每个线程分配一个时间片,而且线程的运行不能影响整个系统。处理器线程的系统或者是抢占式的,或者是非抢占式的。抢占式系统在任何给定的时间内将运行最高优先级的线程,系统中的所有线程都有自己的优先级。Thread.NORM_PRIORITY是线程的缺省值,Thread类提供了setPriority和getPriority方法来设置和读取优先权,使用setPriority方法能改变Java虚拟机中的线程的重要性,它调用一个整数,类变量Thread.MIN_PRIORITY和Thread.MAX_PRIORITY决定这个整数的有效范围。Java虚拟机是抢占式的,它能保证运行优先级最高的线程。在JAVA虚拟机中我们把一个线程的优先级改为最高,那么他将取代当前正在运行的线程,除非这个线程结束运行或者被一条休眠命令放入waiting状态,否者将一直占用所有的处理器的时间。
如果遇到两个优先级相同的线程,操作系统可能影响线程的执行顺序。而且这个区别取决于时间片(time slicing)的概念。
管理几个线程并不是真正的难题,对于上百个线程它是怎样管理的呢?当然可以通过循环,来执行每一个线程,但是这显然是冗长、乏味。JAVA创建了线程组。线程组是线程的一个谱系组,每个组包含的线程数不受限制,能对每个线程命名并能在整个线程组中执行(Suspend)和停止(Stop)这样的操作。

2.4信号标志:保护其它共享资源
这种类型的保护被称为互斥锁。某个时间只能有一个线程读取或修改这个数据值。在对文件尤其是信息数据库进行处理时,读取的数据总是多于写数据,根据这个情况,可以简化程序。下面举一例,假设有一个雇员信息的数据库,其中包括雇员的地址和电话号码等信息,有时要进行修改,但要更多的还是读数据,因此要尽可能防止数据被破坏或任意删改。我们引入前面互斥锁的概念,允许一个读取锁(red lock)和写入锁(write lock),可根据需要确定有权读取数据的人员,而且当某人要写数据时,必须有互斥锁,这就是信号标志的概念。信号标志有两种状态,首先是empty()状态,表示没有任何线程正在读或写,可以接受读和写的请求,并且立即提供服务;第二种状态是reading()状态,表示有线程正在从数据库中读信息,并记录进行读操作的线程数,当它为0时,返回empty状态,一个写请求将导致这个线程进入等待状态。
只能从empty状态进入writing状态,一旦进入writing状态后,其它线程都不能写操作,任何写或读请求都必须等到这个线程完成写操作为止,而且waiting状态中的进程也必须一直等到写操作结束。完成操作后,返回到empty状态,发送一个通知信号,等待的线程将得到服务。
下面实现了这个信号标志
class Semaphore{
final static int EMPTY=0;
final static int READING=1;
final static int WRITING=2;
protected int state=EMPTY;
protected int readCnt=0;
public synchronized void readLock(){
if(state==EMPTY){
state=READING;
}
else if(state==READING){
}
else if(state==WRITING){
while(state==WRITING){
try {wait();}
catch(InterruptedException e){;}
}
state=READING;
}
readCnt++;
return;
}
public synchronized void writeLock(){
if(state==EMPTY){
state=WRITING;
}
else{
while(state!=EMPTY){
try {wait();}
catch(InterruptedException e) {;}
}
}
}
public synchronized void readUnlock(){
readCnt–;
if(readCnt==0){
state=EMPTY;
notify();
}
}
public synchronized void writeUnlock(){
state=EMPTY;
notify();
}
}
现在是测试信号标志的程序:
class Process extends Thread{
String op;
Semaphore sem;
Process(String name,String op,Semaphore sem){
super(name);
this.op=op;
this.sem=sem;
start();
}
public void run(){
if(op
catch(InterruptedException e){;}
System.out.println(“Unlocking readLock:”+getName());
sem.readUnlock();
}
else if(op
catch(InterruptedException e){;}
System.out.println(“Unlocking writeLock:”+getName());
sem.writeUnlock();
}
}
}
public class testSem{
public static void main(String argv[]){
Semaphore lock = new Semaphore();
new Process(“1″,”read”,lock);
new Process(“2″,”read”,lock);
new Process(“3″,”write”,lock);
new Process(“4″,”read”,lock);
}
}
testSem 类从process类的四个实例开始,它是个线程,用来读或写一个共享文件
。Semaphore类保证访问不会破坏文件,执行程序,输出结果如下:
Trying to get readLock:1
Read op:1
Trying to get readLock:2
Read op:2
Trying to get writeLock:3
Trying to get readLock:4
Read op:4
Unlocking readLock:1
Unlocking readLock:2
Unlocking readLock:4
Write op:3
Unlocking writeLock:3
从这可看到,


2.5死锁以及怎样避免死锁:
为了防止数据项目的并发访问,应将数据项目标为专用,只有通过类本身的实例方法的同步区访问。为了进入关键区,线程必须取得对象的锁。假设线程要独占访问两个不同对象的数据,则必须从每个对象各取一个不同的锁。现在假设另一个线程也要独占访问这两个对象,则该进程必须得到这两把锁之后才能进入。由于需要两把锁,编程如果不小心就可能出现死锁。假设第一个线程取得对象A的锁,准备取对象B的锁,而第二个线程取得了对象B的锁,准备取对象A的锁,两个线程都不能进入,因为两者都不能离开进入的同步块,既两者都不能放弃目前持有的锁。避免死锁要认真设计。线程因为某个先决条件而受阻时,如需要锁标记时,不能让线程的停止本身禁止条件的变化。如果要取得多个资源,如两个不同对象的锁,必须定义取得资源的顺序。如果对象A和B的锁总是按字母顺序取得,则不会出现前面说道的饿死条件。

三、Java多线程的优缺点
由于JAVA的多线程功能齐全,各种情况面面具到,它带来的好处也是显然易见的。多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(UNIX,Windows,Macintosh 等),在开发难易程度和性能上都比单线程要好。当然一个好的程序设计语言肯定也难免有不足之处。由于多线程还没有充分利用基本OS的这一功能。这点我在前面已经提到,对于不同的系统,上面的程序可能会出现截然不同的结果,这使编程者偶会感到迷惑不解。希望在不久的将来JAVA的多线程能充分利用到操作系统,减少对编程者的困惑。我期待着JAVA会更好

系统服务与应用程序相关性的分析

0

分类 : 技术文摘 | 发表时间 04-05-2006

出处:PConline论坛 作者:RedAce
关于文章和作者:

  堪称目前最完整、最通俗易懂的系统服务解释及应用。此文最大的特色莫过于作者用通俗易懂地语言,通过实践,告诉我们,禁用了某项服务会带来什么后果。还非常体贴地为我们把各种服务分类。绝对通俗易懂,绝对经典。推荐电脑配置一般地朋友都来优化一下!

  作者很谦虚,投稿时把文章称为《简析各项系统服务与日常应用程序的相关性》。不过小编认为:过分的谦虚就是骄傲。相信您看完这篇文章后,肯定会认同我的看法。

文章正文:

  经常有人问起,XP系统里各项服务哪些可以关闭,以节省系统资源,此前我也曾多次在太平洋论坛答复过一些此类问题,每次都要花费一定的时间来分辨各人的系统进程,而且只能帮助一个人。这一次,我就将自己使用WINDOWS XP系统五年来,对于系统服务的一点认识写出来,供大家参考、拍砖。

  首先要说明一下我现用的机器配置、常用软件和网络环境。

  我现用的机器配置是奔三 650MHz,256M内存,40G硬盘,ATI 8M显卡,呵呵,很古董吧,不过应付日常办公娱乐还是没问题的,优化一下还可以玩CS和极品飞车6。常用的操作系统是WINDOWS XP SP2,最常用办公软件是OFFICE 97,也装有OFFICE 2003和WPS OFFICE 2005以应付一些特殊需要。

  上网用的是MYIE2和OPERA,使用卡巴斯基防病毒。这台本本每天至少要在两种网络环境中切换:日常办公使用公司局域网、在家使用GPRS(与ADSL拨号上网一样使用动态IP),我尔通过切换代理服务软件使用FOXMAIL收私人邮件。

  所以,个人认为我的机器使用环境还是具有一定代表性的,因此所进行的系统服务优化方案具有较广的适用范围。系统服务进行优化后,以后的使用就基本上无需再进行调整了。

  评价一个操作系统,最常用的指标包括安全性、稳定性、易用性、运行效率等。下面,就按照这个顺序,对WINDOWS XP系统的服务分类进行逐一说明。

一、关系到系统安全的服务

  在病毒横行的今天,系统安全可能是最受关注的问题了,除了病毒、外来恶意程序以外,微软默认开启的系统服务也存在一些值得反思的问题。

  1、Portable Media Serial Number Service
  描述:Retrieves the serial number of any portable media player connected to this computer. If this service is stopped, protected content might not be down loaded to the device.
  进程名:svchost.exe
  这项服务表面上看只有一个作用,向微软报告你有的Windows Media Player播放器的序列号,但我们实在不知道它是否还报告了其他东西,所以我坚决设为禁用,这并不影响使用WMP收看网络电影、电视。

  2、Remote Registry
  描述:使远程用户能修改此计算机上的注册表设置。如果此服务被终止,只有此计算机上的用户才能修改注册表。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:svchost.exe
  光看描述就知道这绝对是一项垃圾服务,实在不明白微软为什么会默认将其设为自动,我是坚决将其改为禁用,因为从不使用远程协助功能。
  3、Security Accounts Manager
  描述:存储本地用户帐户的安全信息。
  进程名:lsass.exe
  存储是为了留给谁的?不知道。那我就不存储了,禁用。

  4、Shell Hardware Detection
  描述:为自动播放硬件事件提供通知。
  进程名:svchost.exe
  当放入一张光盘或U盘后,机器就自动出现光盘里的引导程序画面或询问用什么程序打开U盘里的文件,这就是该项服务辛勤工作的成果。是否关闭看个人的使用习惯,从安全的角度出发,我还是习惯将其禁用,这样就不怕光盘自启动程序夹带恶意程序,也不会占用大量系统资源运行一些不必要的程序。

二、关系到系统稳定、便捷的服务

  现今,各种针对WIDNOWS XP系统的优化方法数不胜数,在有GHOST保驾下,我们完全可以积极尝试。如果不想过多的进行那种高风险试验,又让自己的操作系统方便易用、稳定且兼容性良好,那就千万不要禁用下面这些服务,这是我进行N次高风险试验后总结的一点心得。

  5、COM+ System Application
  描述:管理 基于COM+ 组件的配置和跟踪。如果服务停止,大多数基于 COM+ 组件将不能正常工作。如果本服务被禁用,任何明确依赖它的服务都将不能启动。
  进程名:dllhost.exe
  可以设为手动,若禁用的话,WPS OFFICE 2005及其他一些需要调用COM+组件的软件就无法启动。

  6、DCOM Server Process Launcher
  描述:为 DCOM 服务提供加载功能。
  进程名:svchost.exe
  不知道微软是怎么想的,关于这项重要的服务的描述居然这么短,而那些莫名其妙的服务的描述却又那么长而难懂。我将其设为自动,原因是设为手动的话,任何一个程序都不会在需要的时候自动开启该服务,而WPS OFFICE 2005和磁盘管理、磁盘整理等程序都要用上它。将其禁用的话,重启系统后,系统栏那个反映网络连通状况的小电脑图标就会消失了,哪怕你拔掉网线它也不会冒出来。这项服务似乎与任何一项网络应用均无实际关联,禁用后仍可正常使用局域网或使用ADSL拨号、GPRS上网。

  7、Event Log
  描述:启用在事件查看器查看基于 Windows 的程序和组件颁发的事件日志消息。无法终止此服务。
  进程名:services.exe
  与DCOM Server Process Launcher服务一样,确是无法终止,但可以禁用。不过禁用了至少会有一个麻烦,系统开机时会让你至少多等一分钟,所以还是老老实实设为自动的好。

  8、kavsvc
  描述:Provides anti-virus functionality of Personal, installed on your computer.
  进程名:kavsvc.exe
  这个就不必说了吧,大名鼎鼎的卡巴斯基,后台监控程序,设为自动。

  9、Logical Disk Manager
  描述:监测和监视新硬盘驱动器并向逻辑磁盘管理器管理服务发送卷的信息以便配置。如果此服务被终止,动态磁盘状态和配置信息会过时。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:svchost.exe
  设为手动即可。遇上U盘之类的东东插上机器却无反应需要用到磁盘管理时,它是会自动启用的。

  10、Logical Disk Manager Administrative Service
  描述:配置硬盘驱动器和卷。此服务只为配置处理运行,然后终止。
  进程名:dmadmin.exe
  只在硬盘分区调整后的第一次系统重启时会用到,其他时候基本在放假,设为手动就行了。

  11、Net Logon
  描述:支持网络上计算机 pass-through 帐户登录身份验证事件。
  进程名:lsass.exe
  你会用到这个莫名其妙的帐户吗?估计很少有人会,但若设为禁用,在某些机器上会出现系统无法登录的现象,设为手动即可。

  12、NT LM Security Support Provider
  描述:为使用传输协议而不是命名管道的远程过程调用(RPC)程序提供安全机制。
  进程名:lsass.exe
  不清楚具体作用是什么,但禁用的话极有可能导致系统无法登录,设为手动即可。

  13、P
lug and Play
  描述:使计算机在极少或没有用户输入的情况下能识别并适应硬件的更改。终止或禁用此服务会造成系统不稳定。
  进程名:services.exe
  不管你是否相信微软,但他的这个描述你一定得相信,否则使用U盘、打印机时麻烦一定不少,此项服务应该设为自动。

  14、Remote Procedure Call (RPC)
  描述:提供终结点映射程序 (endpoint mapper) 以及其它 RPC 服务。
  进程名:svchost
  还记得冲击波吗?那东东就是拿它下手。不过,要是你禁用或将其设为了手动以后还能正常进入系统,那真的叫奇迹。

  15、Windows Audio
  描述:管理基于 Windows 的程序的音频设备。如果此服务被终止,音频设备及其音效将不能正常工作。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:svchost.exe
  在WINDOWS 2003中,这项服务被默认禁用,想听歌得手动启用。估计现今不会有谁的机器没有声卡吧,那就设为自动吧。

  16、Windows Management Instrumentation
  描述:提供共同的界面和对象模式以便访问有关操作系统、设备、应用程序和服务的管理信息。如果此服务被终止,多数基于 Windows 的软件将无法正常运行。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:svchost.exe
  搞不清这东东存在有什么意义,经验告诉我,禁用它,系统稳定性反而会有所好转。

三、一些安装大型软件必须用到的服务
  这些服务平时基本不用,但在安装OFFICE、一些大型游戏等软件时却必须开启,否则肯定会反复报错,无法安装。

  17、Application Management
  描述:提供软件安装服务,诸如分派,发行以及删除。
  我的进程中通常有5个svchost.exe,但不会是它。一般在安装一些程序时会被开启,比如OFFICE 2003,通常设为手动。一般的安装程序不会用到这项服务,若有程序安装时提示某项服务未启用,再手动启用下就OK。

  18、ASP.NET State Service
  描述:Provides support for out-of-process session states for ASP.NET. If this service is stopped, out-of-process requests will not be processed. If this service is disabled, any services that explicitly depend on it will fail to start.
  若有安装.NET开发环境,就会有这项服务,我装了Framework,目的是运行nlite精减系统安装程序。通常设为禁用,用的时候临时启用下便是。我想,不会有人有事没事制作系统精简光盘吧。

  19、Windows Installer
  描述:添加、修改和删除以 Windows 安装程序(*.msi)的软件包提供的应用程序。如果禁用了此服务,任何完全依赖它的服务不会被启动。
  进程名:msiexec.exe
  只在安装OFFICE、大型游戏、微软补丁等东东时会用上,设为手动即可,要用的时候它会自个启动。

四、一些非必需服务

  下列服务并不是系统正常工作所必须启动的,但却与我们一些日常应用息息相关,可以有选择的启动或禁用。

  20、Fast User Switching Compatibility
  描述:为在多用户下需要协助的应用程序提供管理。
  进程名:svchost.exe
  若系统只有一个用户名,大胆设为禁用吧。就算有多个用户名,设为手动就行。事实上,我用两个用户名的时候,设为禁用也可以进行切换。

  21、Human Interface Device Access
  描述:启用对智能界面设备 (HID)的通用输入访问,它激活并保存键盘、远程控制和其它多媒体设备上的预先定义的热按钮。如果此服务被终止,由此服务控制的热按钮将不再运行。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:svchost.exe
  若在用USB鼠标或手写板一类的东东,禁用这项服务会带来灾难。若用PS/2鼠标,大胆设为禁用吧。不过有些主板似乎不受影响,禁用该服务后照样能正常使用USB鼠标。

  22、Network Connections
  描述:管理“网络和拨号连接”文件夹中对象,在其中您可以查看局域网和远程连接。
  进程名:svchost.exe
  局域网用户可以设为手动,开机时会自动启动,若禁用,将无法使用网络邻居。非局域网用户设为禁用。禁用后,进程中的svchost.exe会由5个减至4个。

  23、Network Location Awareness (NLA)
  描述:收集并保存网络配置和位置信息,并在信息改动时通知应用程序。
  进程名:svchost.exe
  与22、Network Connections服务配套使用,设置原则相同。若禁用,进程中的svchost.exe也会减少1个。若与Network Connections一同禁用,进程中的svchost.exe就会减少到3个。

  24、Performance Logs and Alerts
  描述:收集本地或远程计算机基于预先配置的日程参数的性能数据,然后将此数据写入日志或触发警报。如果此服务被终止,将不会收集性能信息。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:smlogsvc.exe
  系统预读,你有启用吗?我觉得启用前后对启动速度并无影响,所以“禁用”。如果你有用到启动预读功能,那就设为自动吧。

  25、Print Spooler
  描述:将文件加载到内存中以便迟后打印。
  进程名:spoolsv.exe
  要使用打印机或打印预览功能的机器,必须将此项服务设为自动。没有这项服务需要的用户,可以设为禁用。注意,绝大部分局域网安装的OA、ERP系统会需要这项服务读写电子版公文。

  26、Protected Storage
  描述:提供对敏感数据(如私钥)的保护性存储,以便防止未授权的服务,过程或用户对其的非法访问。
  进程名:lsass.exe
  登录网站时,单击用户名那一栏,会有一个以往登录时输入的用户名,只要选中,相应的密码就会自动填上,支持这种偷懒功能的就是这项服务。若想确保系统安全或个人隐私,禁用是个好办法,我就是这么干的。

  27、Remote Access Connection Manager
  描述:创建网络连接。
  进程名:svchost.exe
  若是局域网,完全可以设为禁用。若是ADSL,我是GPRS上网,就必须设为手动或自动,否则没法上网。ADSL拨号的用户也必须设为手动或自动,否则一样不能上网。

  28、Remote Procedure Call (RPC) Locator
  描述:管理 RPC 名称服务数据库。
  进程名:locator.exe
  设为手动,有需要时会自动启用,但我忘了是在什么时候启用过。

  29、Routing and Remote Access
  描述:在局域网以及广域网环境中为企业提供路由服务。
  进程名:svchost.exe
  一般用户根本用不上,禁用。要用它的人根本就不会再问别人它是干什么的了。

  30、Secondary Logon
  描述:启用替换凭据下的启用进程。如果此服务被终止,此类型登录访问将不可用。如果此服务被禁用,任何依赖它的服务将无法启动。
  进程名:svchost.exe
  不知微软想干什么,一个简单的东西硬要说得这么复杂,这项服务只有一个功能,那就是支持在不同用户间进行切换。机器上只有一个用户名的完全可以设为禁用,就像我这样。

  31、Server
  描述:支持此计算机通过网络的文件、打印、和命名管道共享。如果服务停止

IP网络设计系列讲座(四):局域网设计

0

分类 : 技术文摘 | 发表时间 01-05-2006

这是IP网络设计系列讲座的最后一部分。本讲将讨论园区局域网设计中遇到的一些问题。以太网交换机优越于传统的集线器环境的好处将首先介绍一下。应用虚拟局域网的动机已经同规划和配置虚拟局域网遇到的问题一起进行了研究。本文还将讨论确保园区网络设计具有可伸缩性和弹性的一些技术。本文还将讨论生成树协议以及如何在大型交换的网络中优化这个协议。最后,在本文的结论部分将涉及到与推出IP电话有关的设计问题。

  以太网交换的好处

  传统的共享的以太网是一种基带介质。这就意味着在任何一个时间只能有一个站点能够向这个介质发送数据。多个信号不能像在宽带网介质中那样成为多路复用的信号。在一个共享的以太网集线器,各个站点通过监听一对儿接收的线路来检查是否有其它站点在发送数据,用这种方法来解决访问冲突问题。以太网交换的应用取代了共享的以太网,从而产生了如下改善的运行功能:

  专用的冲突域

  交换机的每一个端口都在自己的冲突域中,因此,一个站点通过一台交换机的端口连接到这个局域网,而不是通过一个集线器的端口。这样,这个站点就不需要在发送数据之前通过监听是否有冲突来竞争接入到线路的权限。这将提高局域网的有效带宽。

  通信过滤和转发

  一台交换机像一个多口网桥一样工作,并且通过监听实况通信来了解每一个站点的MAC地址的位置。对于交换机交换的每一帧,交换机仅把通信转发到目的地MAC地址所在的端口。这台交换机据说要过滤所有其它端口的帧。这将显著减少局域网中不必要的通信,提高带宽的利用率。然而,广播帧将涌向所有的端口,这样,一个交换机据说要创建多个冲突域,但是,所有的端口仍在同一个广播域中。这通常是一种理想工作方式,因为广播时必要的,通常是局域网中的一种有效的通信手段。这与广域网有些不同。微软的Windows就使用严重依赖广播的NetBios。另一个例子是地址解析协议(ARP)。根据地址解析协议,一个地址解析协议广播必须要达到IP子网的每一个站点以便把一个目的地的IP地址解析为MAC地址。

  全双工传输

  传统共享的以太网以半双工的模式工作。换句话说,各个站点不能同时发送和接收数据。由于以太网基带的性质,只有一个站点能够访问这个介质并且在任何一个时间发送数据。一个共享的以太网介质上的各个站点通过监听冲突来解决通信冲突。全双工传输意味着所有的站点都能够同时发送和接收数据。在以太网中,这并不是通过监视冲突来实现的。如果这个站点附加到自己专用的交换机端口,它只是合法地关闭了冲突检测功能。这就意味着在冲突域只有两个站点:这个站点本身和这台交换机的端口。然后,每个站点都可以相互收发数据,而不必监听冲突。这种方式称作点对点的以太网。同许多网络词汇一样,全双工一直被滥用而且有些说法是不真实的。交换机厂商之间的市场营销大战促使这些厂商声称全双工作业能够使数据吞吐量提高一倍。全双工作业确实能够显著改善数据吞吐量,但是,还不能说把数据吞吐量提高了一倍,因为同一个站点不可能以线速的速度同时发送和接收应用程序的通信。

  理解客户机-服务器通信流

  当实施一个交换的局域网设计时,获得对客户机-服务器通信流的详细了解大概是一项最大的挑战。一个网络正在进行重新设计,要把一个共享的局域网环境转变为一个交换的局域网,以满足日益增长的带宽需求。在这种情况下,有可能收集到详细的大量有关通信状况的信息。在一个全新的网络,在网络推出之前收集这些信息是不容易的。然而,没有严格数量的通信状况分析,对通信状况进行合理的质量分析也是应该达到的。获得下列信息的合理的预测是非常重要的:什么用户在与什么服务器进行通话,通话的时间有多长,现在消耗的带宽是多少,将来消耗的带宽是多少?所有的客户机和服务器的物理位置和逻辑位置是什么。换句话说,要清楚地了解每个应用程序的客户机与服务器之间数据通道。服务器之间的通信水平是什么?再次说明一下,这与了解整个网络的全部主要通信流的需求是一致的。如果不充分理解这些通信流,介绍局域网交换机的作用也是很有限的。举一个极端的例子,假设一台服务器在远方并且必须通过一个56K的广域网线路访问这台服务器。在这种情况下,一台局域网交换机将不能显著提高性能,因为瓶颈是在广域网而不是在局域网。

  高速内核

  一些专有的方法与802.3ad标准的存在允许把多个连接集成为一个逻辑的高速连接。两台交换机之间的多个物理连接必须被当作一个逻辑连接对待,否则,生成树将封锁多余的连接。这种功能可以用来提供核心交换机之间的高速连接并且向高带宽服务器提供高速连接。即使在应用万兆以太网之前,就存在最多把8个以太网端口集成在一起提供高速园区干线的功能。

  虚拟局域网的概念

  广播封闭

  一台交换机中的每一个端口代表一个单独的冲突域。然而,一台交换机的全部端口都在同一个广播域。园区局域网中的任何一个站点发出的任何广播都必须经过完全是交换网络的那个局域网中的每一个站点的处理。在局域网环境中,每一台设备中的CPU的中断所引起的问题比这个广播消耗的带宽还要严重。虚拟局域网为在交换的网络中创建多个广播域提供了一种机制。一个特定站点发出的一个广播将只发送给同一个虚拟局域网中站点。需要一台路由器实现虚拟局域网中的通信,就像用一台路由器实现物理局域网之间的通信一样。这个问题是很容易理解的,因为一个虚拟局域网与一个IP子网是同义词。在一个交换的环境中,如果两个站点在同一个虚拟局域网中,它们一定是在同一个IP子网中。

  安全

  通过过滤广播,虚拟局域网提供了一般与路由子网的安全水平相同的安全功能。考虑一下插入到一个交换机端口的网络分析器的情况。如果这个端口分配给一个特定的虚拟局域网,那么,这个网络分析器仅检测与那个虚拟局域网有关的广播,而不检查整个局域网。可以在路由器上设置安全政策,就像在传统的局域网网段上一样管理虚拟局域网之间的通信。

  IP地址计划

  IP地址计划也许还部分规定了虚拟局域网策略。例如,如果一个26位子网掩码用于局域网子网,那么,每个子网的最多主机数量是60个。这就意味着整个局域网不能与超过60个的主机保持“持平”。如果在一个交换的局域网中有大量的主机,虚拟局域网的创建必须是每个虚拟局域网最多有60台主机。

  灵活型

  虚拟局域网正在向把一个路由网络的智能与交换网络的灵活性结合在一起的方向发展。例如,在一个特定的虚拟局域网中的用户在移动到园区内不同物理位置之后仍能够保留在那里虚拟局域网中。所有这一切需要在相关的交换机设置中做一些修改。这不需要改变硬件或者重新铺设电缆。虚拟局域网能够扩展到使用虚拟局域网集群协议的多台交换机。这将进
一步提高灵活性。一般来说,虚拟局域网在使用3层处理的局域网环境中帮助简化了移动、增加和改变等管理功能。

  虚拟局域网规划

  当规划在一个大型园区局域网中部署虚拟局域网的时候,有许多问题需要考虑。部署虚拟局域网的数量必须与每个虚拟局域网应该支持的主机数量一起确定。虚拟局域网的架构和这个虚拟局域网数据吞吐量覆盖园区的范围是另一个重要的设计问题。

  虚拟局域网的范围

  虚拟局域网对于配线柜来说应该是本地的。例如,一栋大楼的每一层代表一个不同的虚拟局域网,而不管用户的工作职能是什么。这就意味着广播是在本的封闭的。这个缺点是发到另一个配线柜(里面可能配置服务器)的通信必须使用路由器。企业在服务器群等集中的地方共享资源的趋势在日益增长。日益突出的基于网络的计算和共享的办公室应用程序进一步推动了这种趋势的发展。随着大多数资源集中起来,客户机与服务器之间的通信可能在任何情况下都能得到路由,除非这个局域网是一个不适合广播的大型IP子网。这个基本原理已经使所谓的“本地”虚拟局域网成为了一种流行的设计理念。这种替代的方法将允许虚拟局域网扩展整个局域网或者园区,以确保客户机至服务器的通信产生最少的路由延迟。在工程、市场营销和法律等各个工作组都实现相对自动化的情况下,这也许是可行的。现代的服务器平台将支持多个共享的应用程序,这些共享的应用程序可能会影响所谓的“端对端”的虚拟局域网。3层交换技术的改进也减少了与路由和3层处理有关的延迟。部署本地虚拟局域网的一个更诱人的理由是它能阻止广播在整个园区干线上传播。

  虚拟局域网的数量

  不要仅仅为了建立虚拟局域网而建立虚拟局域网。网络设计师应该清楚建立虚拟局域网将带来的好处。记住这些好处,使用的虚拟局域网的数量就可以确定了。这个决定不能离开IP地址计划单独做出。在IP地址计划中,局域网子网的数量通常与使用的虚拟局域网的数量相关联的。根据这个机构的人员编制结构,把一群人用同一个虚拟局域网中的通用工作职能组合在一起也许是可能的,也许是不可能的。

  每个虚拟局域网的用户数量

  有一个每个虚拟局域网最多用户数量的预测是一种很好的做法。这种预测没有必要与整个企业保持一致。例如,虚拟局域网封闭使用高带宽的用户,或者广播密集型应用程序应该有较少的用户。这个IP地址计划也将对每个子网的主机数量提出限制,从而限制每个虚拟局域网的主机数量。

  优化生成树域

  802.1d生成树协议在桥接或者交换的网络中是必要的,以便允许冗余的交换机之间的连接,同时防止广播环路(loops)。生成树协议可能减缓融合这种情况将提出协议挑战。这些挑战应该在设计阶段加以解决。

  大多数交换机厂商都提供一些专有的方法加快生成树的融合。例如,思科的“PortFast”功能把没有连接到另一台交换机的一个端口的发送延迟定时器设置为零。这就防止了PC在启动之后出现连接问题,因为PC端口进入发送状态比较缓慢。这是一项很有用的功能,因为只在连接到另一台交换机的端口需要生成树协议。

  然而,还有一种新的标注化的增强功能的协议RSTP(快速生成树协议)。正如这个协议的名称所说的那样,这个协议将解决与802.1d协议有关的融合问题。RSTP是一个以802.1w的形式制定的标准。这个协议增加了计算并且获得了有关网络的更多的结构信息。这个协议与作为维持生计机制的BPDU(桥接协议数据单元)一起使用使其本地融合时间达到了6秒,而在802.1d协议中,这个时间需要50秒。802.1w协议向下兼容802.1d协议并且推荐在现代局域网中应用。


  根网桥启动这个生成树协议BPDU信息。这个信息每2秒钟向整个网络传播一次。这是根网桥应该位于接近网络干线的中心点位置的原因之一。这样将保证所有的下行交换机在接收和处理BPDU信息时出现同样的延迟,从而提高生成树协议计算机的稳定性。根交换机上的所有的端口为了生成树协议都处在发送状态,并且一般要比其它交换机用有更高的处理工作量。这就意味着那台交换机应该是网络上功能更强大的交换机之一。显然,根交换机应该认真挑选。生成树协议根据最低的桥ID选择一台根交换机。由于所有的参数都是默认值,选择具有最低的MAC地址ID的交换机变成了一种很偶然的事情。然而,通过降低指定根设备的桥优先等级,这种根选择是允许有偏差的。这样做是合理的,不仅是由于上述理由,而且还因为这样可以阻止新安装的交换机由于其MAC ID低于当前的根交换机而启动根选择的竞争。

  具有生成树功能的一个端口在进入发送状态之前必须要经过封锁、监听和学习阶段。这是在生成树的缓慢融合的中心,但是,对于确保不会产生环路的布局是很必要的。所有主要的交换机厂商都有以安全的方式加快生成树融合的专有方法。例如,生成树协议能够根据每个端口的情况关闭,以便直接移动这个端口到发送状态。这将会防止在启动之后出现工作站DHCP请求超时等故障,因为那时端口还没有进入发送状态。每次关闭生成树都应该特别注意,这个时候千万不要关闭可能连接到其它交换机的端口。

  在设计阶段必须解决的最后一个问题是在一个虚拟局域网环境中如何处理生成树。在整个园区可以使用建立一个生成树域。替代的方法是在每一个虚拟局域网中建立一个单独的生成树实例。这意味着每一个虚拟局域网可能有一个不同的(或者完全相同的)根交换机。重要的是清楚随后的安装工作和相应地做出计划。例如,拥有多个生成树域,阻止一台交换机成为整个虚拟局域网的根也许是谨慎的措施。如果那台交换机出现故障,这会减少通信的中断。有多个生成树域的好处是,它们很小,因此能够更快地融合起来,允许为每一个虚拟局域网优化选择根交换机。另一方面,一个单独的生成树可减少BPTU通信以及交换机必须处理的生成树的数量。同以前一样,在做出任何决策时前,了解你的环境是一个重要的问题。

  IP电话

  随着IP电话的出现,有许多要解决的设计问题。由于性能和安全的原因,这种语音通信应该在自己的虚拟局域网中实施。因此,一个新的IP子网必须增加IP电话的任务。理想的是这种IP地址应该很容易分辨,例如10.99.99.0/24,以便使排除故障和管理更方便。

  IP电话服务器的数量和位置必须要确定下来。服务器的容量必须要根据其能够支持的注册电话用户数量以及在繁忙时间能够支持的电话数量来进行评估。这种评估再加上预算分析有助于决定服务器的位置是采取集中的模式还是分布式模式。

  电源可以通过多种方式提供,如通过每个电话机的单独的电源部分、一个电源接插板、或者使用支持线内供电的以太网交换机。最后一种方法一般被认为是最可靠的和最省钱的。然而,在处理IP电话的问题时,你永远不要忘记标准化的问题。如果IP电话机来自不同的厂商,其厂商的数量比以太网交换机的厂
商还多,线内供电能起作用吗?虽然有很多标准,但是,这些标准并不总是滴水不漏的。因此,惟一的方法是通过实际测试确切地了解这个情况。

  服务质量总是语音通信的问题。局域网的带宽通常是很充足的,因此,阻塞管理通常不能保证特殊的配置。来自IP电话的通信一般标记为“IP优先等级5”和“802.1q COS 5”。这个分类和标记能够在本地交换机设置。许多IP电话预先标记这种通信。如果是这种情况,交换机应该设置为来自IP电话的“可信赖”数据包(也就是说,不是重新标记的)。来自PC的数据包一般应该标记为“优先等级0”,以防止数据帧在路由器广域网接口上以高优先等级队列发送。

  翻译:东缘

无觅相关文章插件,快速提升流量