PHP 5.4.0 正式版发布

PHP开发团队很荣幸的宣布PHP 5.4.0的发布。这个版本在5.x系列基础上有很大的飞跃,此版本包括很多的新的功能,同时也修复了许多的bug.

一些主要的功能包括:traits缩短数组语法特性(a shortened array syntax)用于测试的内置web服务器(a built-in webserver for testing purposes)。PHP5.4.0显著的提高了性能和内存,修复了超过100个的bug.

DNS查询过程

DNS的查询过程是指在客户端通过DNS服务器将一个IP地址转换为一个FQDN(Fully Qualified Domain Name,完全合格的域名),或将一个FQDN转化为一个IP地址,或查询一个区域的邮件服务器的过程。

DNS查询分类

1)按查询方式:

(1)递归查询。 当DNS服务器接收到查询请求时,不论成功或失败,都会做出对应的响应。(发生在DNS客户端与DNS服务器之间)

(2)迭代查询。 DNS服务器根据自己的高速缓存或区域的数据,以最佳结果响应。如果DNS服务器无法解析,它可能返回一个指针。指针指向下级域名的DNS服务器,继续该过程,直到找到拥有所查询名字的DNS服务器,或知道出错、超时为止。(发生在DNS服务器之间)

2)按内容分类

(1)正向查询: 由域名查找IP地址。

(2)反向查询: 有IP地址查找域名。

 

DNS查询过程实例

1)客户端将www.redhat.com的查询提交给本地DNS服务器(递归查询)。

2)本地DNS服务器检查区域数据库,由于该服务器没有redhat.com的授权,它将查询传递到根服务器(“.”DNS服务器),请求解析主机名称。根名称服务器把“com”DNS服务器IP地址返回给本地DNS服务器(迭代查询)。

3)本地DNS服务器将请求发给“com”DNS服务器,该服务器根据请求将“redhat.com”DNS服务器IP地址返回给本地DNS服务器(迭代查询)。

4)本地DNS服务器向“redhat.com”DNS服务器发送请求,由于该服务器具有“www.redhat.com”记录,它将www.redhat.com的IP地址返回给本地DNS服务器。

5)本地DNS服务器将www.redhat.com的IP地址发送给客户端。

——————————————-

以上摘自《Linux服务器配置全程实录》一书

PHP解析大型XML文档

PHP中有两种主要的XML解析器

1)基于树的解析器。它是把整个文档存储为树的数据结构中,即需要把整个文档都加载到内存中才能工作。所以,当处理大型XML文档时候,性能剧减。SimpleXML和DOM扩展属于此类型解析器。

2)基于流的解析器。它不会一次把整个文档加载到内存中,而是每次分别读取其中的一个节点并允许实时与之交互(当移向下一个节点时,上一个节点是被丢弃,但也设置为保留)。很明显,其效率要高且占内存少,不便之处代码量大点。

所以,PHP中处理大型XML文档可以用XMLReader扩展方案(基于流的解析器)。它在PHP 5.1中默认是启用的。

举例:

// 创建对象
$reader = new XMLReader();

// 从一个文档或URL中加载XML数据
$reader->open('filename.xml');
// 或从变量加载
$reader->XML($document);

// 遍历
while($reader->read()) {
  // statement
}

XMLReader节点类型值:

节点类型说明
XMLReader::NONE非节点类型
XMLReader::ELEMENT开始元素
XMLReader::ATTRIBUTE属性节点
XMLReader::TEXT文本节点
XMLReader::CDATACDATA节点
XMLReader::ENTITY_REF实体引用节点
XMLReader::ENTITY实体声明节点
XMLReader::PI处理指令节点
XMLReader::COMMENT注释节点
XMLReader::DOC文档节点
XMLReader::DOC_TYPE文档类型节点
XMLReader::DOC_FRAGMENT文档片段节点
XMLReader::NOTATION符号节点
XMLReader::WHITESPACE空白节点
XMLReader::SIGNFICANT_WHITESPACE显著空白节点
XMLReader::END_ELEMENT结束元素
XMLReader::END_ENTITY结束实体
XMLReader::XML_DECLARATIONXML声明节点

XMLReader节点的类型值:

名称类型说明
attributeCountint节点的属性
baseURIstring节点的Base URI
depthint节点的树结构深度
hasAttributesbool节点是否包含属性
havValuebool节点是否包含文本值
isDefaultbool属性值是否来自默认的DTD
isEmptyElementbool节点是否是一个空的元素标签
localNamestring节点的本地(local)名
namestring节点的资格(Qualified)名
nameSpaceURIstring与节点相关的名称空间的URI
nodeTypestring节点的节点类型
prefixstring与节点相关的名称空间前缀

PHP紧急发布5.3.10修复重要漏洞

近日,PHP 5.3.9被安全人员发现存在严重的安全漏洞,远程攻击者可以直接利用此漏洞执行任意PHP代码,安全风险非常高。这个漏洞是PHP的普及安全扩展建立者,独立安全顾问Stefan Esser发现,并命名为CVE-2012-0830。

该漏洞(CVE-2012-0830)是由于PHP官方为解决多语言hash漏洞引入了新的机制产生的新的安全漏洞。 目前PHP官方已经紧急发布了5.3.10版本修复漏洞。

在一月初,SecurityFocus归类发布了一个设计错误,它偶然引入了一种独立的拒绝服务漏洞(CVE-2011-4885)。这个漏洞影响了包含了PHP、ASP.NET、JAVA、Python的网页开发平台,它能够被使用在号称“哈希冲突攻击”的攻击行为中。

首席漏洞安全专家Carsten Eiram表示,这个哈希冲突攻击采用一个新的指令(max_input_vars) 限制服务器可以被接受的回话数量。但是,鉴于这个php_register_variable_ex()逻辑上的错误,当所提供的参数的数量高于上限的时候,会产生”php_register_variable_ex()” 应用在 php_variables.c中类似的问题,是无法被正确处理的。

目前,这个漏洞攻击程序已经在网上公布,专家建议网络服务器管理员马上升级PHP 5.3.10版本。

——————————————–

摘自:http://sec.chinabyte.com/45/12257045.shtml

Facebook值得长期投资5大原因:平台优秀难替代

Facebook何以如此值钱,以至于能够提交科技行业有史以来规模最大的IPO(首次公开招股)?因为他们打造了防御性极强的产品、平台和广告业务,而这一切的基础则是优秀的人才和有价值的数据。该公司目前拥有多项竞争优势,可以避免其地位被颠覆,并长期成为主要的网络身份提供商。无论IPO定价如何,以下5大原因都将使Facebook成为明智的长期投资选择:

1、网络效应

取代Facebook成为主流在线社交网络几乎不可能。该公司将实名注册引入了互联网领域,这也成为了吸引用户的主要法宝。当年的MySpace、Friendster和其他社交网络服务都采用了匿名注册制度,而Facebook则通过实名注册获得了优势,但现在已经没有哪家公司能够在Facebook的基础上找到这样的“法宝”。

Facebook的天才分销战略使得该服务可以充分利用附加价值,并迅速在全球普及开来。最终,Facebook获得了网络效应,不断增长的用户群也进一步增加了这款服务的价值,并反过来吸引更多新用户。

如今,惯性已然形成。用户已经花了大量时间在Facebook上建立了自己的资料和兴趣图谱,最重要的是,他们还借此构建了社交图谱。随着Facebook为越来越多的用户提供服务,加之任何一个人都有很多好友在使用这款服务,使得其他社交网络无法望其项背,必须要通过革命性的改进才能抢夺Facebook的用户。网络效应形成的这种防御力将使Facebook成为安全的长期投资对象。

2、News Feed的EdgeRank算法

5年来,Facebook一直在收集数据,并提炼EdgeRank算法。该算法可以决定哪些内容最终会出现在你的News Feed中,以及哪些内容会被突出显示。Facebook使用Like按钮点击数、评论数和分享数来判断内容的相关性,并开发出了一款称得上是全球最佳的自动化内容管理引擎。News Feed还将成为全球最大的照片数据库,而好友添加的图片标签也将帮助这些图片传播。

对于没有提交太多数据的新用户,Facebook仍然可以预测他们可能喜欢的内容。对于现有用户,尤其是主动使用反馈机制的老用户,News Feed则会持续提供相关内容。EdgeRank创建了一种极易上瘾的体验,吸引用户在该网站停留了大量时间,并展开了互动。尽管Twitter和Google+都对Facebook构成了挑战,但要开发一种能够提供相关内容的算法,仍然需要数年时间。

3、人才

马克·扎克伯格(Mark Zuckerberg)很有远见,这也使得Facebook可以不断开发能够吸引新用户的功能,而不至于遭遇用户流失。扎克伯格已经整合了很多原创想法,除此之外,还包括一些无法在其他地方充分发挥潜力的创意。他还推动该服务不断革新,使之在发布8年后的今天依然能够继续吸引用户,并处于行业中心地位。

扎克伯格致力于通过互连和开放让世界变得更好,这一理念也吸引了其他的梦想家。该公司COO雪莉·桑德伯格(Sheryl Sandberg)的高效运营已经大幅推高了Facebook的盈利能力。由于她勇于尝试,因此Facebook仍将继续通过行为定位和在社交内容中注入广告来改革广告行业。Facebook产品副总裁克里斯·考克斯(Chris Cox)引领了Facebook的社交设计运动,使得第一方和第三方产品能够从一开始就充分利用Facebook的数据和社区,而不是被其束缚。

由于拥有改变世界的潜力,以及高效而充满乐趣的企业文化,帮助Facebook从谷歌(微博)等臃肿而官僚化的大企业挖来了顶级的工程师、产品和商业人才。该公司还在积极收购具有颠覆性的创业公司,例如保罗·布切特(Paul Bucheit)和布莱特·泰勒(Brett Taylor)的FriendFeed、布莱克·罗斯(Blake Ross)的Parakey、山姆·莱辛(Sam Lessin)的Drop.io以及约什·威廉姆斯(Josh Williams)的Gowalla。这些明星产品设计师和高管将确保Facebook获得源源不断的创新。

IPO将为Facebook提供更多的并购资金,帮助其吸引更多人才。尽管这些人才随时可能会变现离开,但由于只需出售一少部分股票便可改善生活,因此他们或许仍然愿意继续留在Facebook。

4、应用和游戏平台

Facebook已经创建了一个增速迅猛的游戏平台。该服务仍有很大增长空间,而网站广告和游戏也已经为Zynga等企业带来了高额回报。Facebook已经培育了庞大的开发者社区,为该公司提供了大量应用和内容,这些都不会在一夜之间消失。

Facebook游戏经常会设计很长的情节,并让用户购买各种各样的虚拟商品,不仅满足用户的展示欲望,还可以进一步增强游戏粘度。该公司已经吸引了很多花费远超普通用户的“鲸类”用户。移动已经成为谷歌和苹果的重要平台,而Facebook在这一领域才刚刚起步,但他们的优势在于拥有庞大的移动用户群。

由于Facebook会从虚拟商品的销售额中抽取30%的分成,使得游戏平台成为了该公司的一个持续创收来源。如今,部分开发者已经开始尝试数字媒体销售和租赁业务,同时提供虚拟货币“微激励”计划,表明该平台在游戏之外还有更大的盈利前景。

5、精准广告

年龄、性别、所在地、家乡、雇主、教育背景、好友、兴趣、正在应用中进行的活动以及网购习惯,当用户与好友分享这些数据时,他们也将这些信息分享给了Facebook。这使得Facebook拥有了最精准的定位数据。通过自助工具和广告代表,Facebook可以为广告主提供有效的广告解决方案,无论是本地企业还是跨国公司都可以享受到这样的服务。

通过将这些定位数据与社交广告相整合,Facebook已经创建了关注度颇高的广告。用户可以看到喜欢某个品牌的好友姓名和头像。而好友与某个品牌之间的互动(例如点击Like按钮、使用应用或签到)本身也可以通过Sponsored Storeis成为广告。这类广告正在逐渐抢夺搜索广告和精准显示广告的预算。

Facebook刚刚开始通过广告盈利,这类广告普遍尺寸较小,不具侵扰性。Facebook现在又开始将广告整合到News Feed信息流中。该公司尚未向数以亿计的移动用户展示广告,但Sponsored Stories很快就将登陆移动平台。最终,Facebook还将把这类广告推广到其他网站中,只要用户登录Facebook账号,就可以看到与Facebook.com具备同等相关度的广告。

—————————————————-

以上摘自新浪科技:http://tech.sina.com.cn/i/2012-01-31/13486669736.shtml

2011年个人总结

今,2011最后一天,得有个总结,但不知从何下笔,只好胡扯几句。

2011年,打“杂”的很。

1)服务器升级和管理。捣鼓了各环境的搭建。

2)前端。网页“设计”(只会在Firework美工)过,居然有顾客相中。DIV+CSS排版过,对现各种网页排版还是能应付上来。JavaScript入了点门,要努力掌握。

3)后端。PHP,MySQL熟悉了些。可以独立架构Ecshop,Prestashop那样的商城网站。2011年主要任务是架构了BtoM模式的网站(已运作,问题还多多)。关注下移动互联。

4)“产品经理”的角色。搞搞用户体验,功能的定义、规划和设计等,有些“讨厌”,但这是小公司的order。

东捣西扯,不知不觉一年就过去了,却发现许多东西知其然而不知所以然。这一年依旧莽撞,依旧没养成一个优秀的习惯。总结两个艰巨的习惯:有意识地利用知识,完成工作之后进行回顾总结;有意识的进行知识显性化,写出自己的观点体会等。

2012年,“世界末日”,我想把它当作某个起点,某个伊始…

最后,老话:祝愿亲朋好友们新的一年健康,快乐,进步!

——————————–

另附子曰乐队的《2011盘点》 – 大环境的回顾

Google 2011年终盘点

最奇特的编程语言特征

目前为止,据我个人观察,从语法角度上讲,最被人诟病的一种语言应该是LISP语言了。打开这种语言的代码,一眼望去,满目全是括弧,一层套一层。 这种语言特征最大的问题是,它不符合人们通常的思维习惯。LISP语言的这个特点是个整体的语言现象,而任何一种语言其实也都有一些个别的很奇特的东西, 其中有些会奇怪的让你摸不着头脑。有一个好事者在一个帖子上征集各种语言里不合常理的地方,结果收集到了320多条,问题最大最多的语言算是 Javascript了,另外还有C,Java,Python,PHP等等。下面列出的是其中最有趣的几条。

1. 在C语言里,数组可以这样索引取值

a[10]

这种写法相当常见。 然而,还有一种很少见的写法(绝对可用!)是这样的:

10[a]

这两种写法的效果是一样的。

2. 在JavaScript里:

'5' + 3 结果是 '53'

'5' - 3 结果是 2

3. 在JavaScript里,下面的语法结构

return
{
    id : 1234,
    title : 'Tony the Pony'
};

会提示语法错误:”缺少分号”。而下面的写法却能按你预想的结果运行:

return {
    id : 1234,
    title : 'Tony the Pony'
};

更让人郁闷的是下面的写法竟然可以(至少在谷歌浏览器里是这样的):

return /*
*/{
    id : 1234,
    title : 'Tony the Pony'
};

下面的例子也是同样的问题引起的,但不会报错,而你却得不到想要的结果:

return
    2 + 2;

4. JavaScript的等式对照表:

''        ==   '0'           // false
0         ==   ''            // true
0         ==   '0'           // true
false     ==   'false'       // false
false     ==   '0'           // true
false     ==   undefined     // false
false     ==   null          // false
null      ==   undefined     // true
" \t\r\n" ==   0             // true

5. Java里有趣的自动打包(auto boxing)和IntegerCache:

Integer foo = 1000;
Integer bar = 1000;

foo = bar; // true
foo == bar; // false

//然而,如果 foo 和 bar 的值介于 127 和 -128 之间,
//情况会发生变化:

Integer foo = 42;
Integer bar = 42;

foo = bar; // true
foo == bar; // true

解释

在Java源代码里你很快能翻出下面的内容:

/**
 * Returns a Integer instance representing the specified
 * int value.
 * If a new Integer instance is not required, this method
 * should generally be used in preference to the constructor
 * {@link #Integer(int)}, as this method is likely to yield
 * significantly better space and time performance by caching
 * frequently requested values.
 *
 * @param  i an int value.
 * @return a Integer instance representing i.
 * @since  1.5
 */
public static Integer valueOf(int i) {
    if (i >= -128 && i

注意; IntegerCache.high 的值,如果你不设置它,缺省是 127。

自动打包(auto boxing)过程中发生的事情是:除非显式的创建:比如 foo = new Integer(42) ,否则 foo 和 bar 都是从缓存中取出的整数,当比较值时,它们会返回 true。正确的比较Integer的方式是使用 .equals 。

6. 在Java里:

try {
    return true;
} finally {
    return false;
}

在Python和JavaScript也可以这样写。这样写的结果是什么?当作一个保留的问题考考大家吧

7. C++的模板可以做很多奇怪的事情,最好的例证是 “多维模拟排版”,你可以用模板来计算“画出的”形状。下面是一段计算一个3×3矩形的有效的C++代码:

#include"analogliterals.hpp"
using namespace analog_literals::symbols;

          unsigned int c = ( o-----o
                             |     !
                             !     !
                             !     !
                             o-----o ).area;

这还有一个3D立方体的例子:

  assert( ( o-------------o
            |L             \
            | L             \
            |  L             \
            |   o-------------o
            |   !             !
            !   !             !
            o   |             !
             L  |             !
              L |             !
               L|             !
                o-------------o ).volume == ( o-------------o
                                              |             !
                                              !             !
                                              !             !
                                              o-------------o ).area * int(I-------------I) );

8. PHP处理数字字符

"01a4" != "001a4"

如果两个字符串来的字符数不相等,它们不可能相等。前面的零非常重要,因为他们是字符而不是数字。

"01e4" == "001e4"

PHP不太喜欢字符,它会寻找任何的借口来把你提供的值当作数字。把这些十六进制的字符串稍微做些改动,PHP马上认为它们不再是字符,而是数字。它们是按科学计数法写的数字(PHP并不在意你是否用了引号),它们是相等的,因为对于数字来说,前面的零是可以忽略的。更强化这个事实的例子是,你会发现PHP认为 “01e4″ == “10000″ 是正确的,因为作为数字,它们的值是相当的。这是一个被特别提醒的语言特征,原因就是它不太合理。

9. 在一些没有保留字、关键字的语言里,例如PL/I, 你可以写出这样有趣而且合法的代码语句:

IF IF THEN THEN = ELSE ELSE ELSE = THEN

(IF, THEN, ELSE 都是变量名),或

IF IF THEN THEN ELSE ELSE

(IF 是变量,THEN 和 ELSE 都是函数)

10. JavaScript里八进制的转换:

void duff_memcpy( char* to, char* from, size_t count ) {
    size_t n = (count+7)/8;
    switch( count%8 ) {
    case 0: do{ *to++ = *from++;
    case 7:     *to++ = *from++;
    case 6:     *to++ = *from++;
    case 5:     *to++ = *from++;
    case 4:     *to++ = *from++;
    case 3:     *to++ = *from++;
    case 2:     *to++ = *from++;
    case 1:     *to++ = *from++;
            }while(--n>0);
    }
}

12. 在Python中:

>>> x=5
>>> 1>> 1

13. 在Java中:

int[] numbers() {
  return null;
}

可以被写成:

int numbers() [] {
  return null;
}

如果你觉得还没看够,请到这里,还有更多。

———————————–

摘自:http://www.aqee.net/strangest-language-feature/

需要叨叨

每天晚上疲劳的睡在床上时,才感觉真真切切地过了一天。

人生最重要的不仅是努力,还有方向。

压力不是有人比你努力,而是比你牛叉几倍的人依然比你努力。

即使看不到未来,即使看不到希望,也依然相信,自己错不了,自己选的人生错不了。

要知道,第二天叫醒我们的不是闹钟,其实,是梦想!

—————————————————-

看到的一些话,叨叨,共勉…

中小型企业网络设计详细建议书

一、客户需求分析:

1、公司共有员工100人左右,人员分布在三个楼层,每楼层最多人数不超过40人;

2、公司分财务、人资、总经三个科室;分内、外两个服务器区:其中内服务器区有FTP服务,外服务器区有DNS和WEB网站服务;

要求:

(1)用户安全可靠得访问互联网;

(2)外服务区被互联网用户安全访问;

(3)内网服务器不能被互联网用户访问,但需向内网用户提供可靠的服务

(4)服务器安全可靠得为网络用户提供服务。

 

二、设备选型: (为什么选4506?)

网络设备:

1、接入层用三台Cisco Catalyst  2960交换机;

2、核心用两台4506R+E;

3、核心之上用两台Cisco ASA 5510;

4、网络边界选用两台Cisco 2811路由器;

线缆:

1、两台核心之间用两根光纤;

2、FTP服务器与核心之间用六类双绞线;(Web、DNS与核心之间是否需要用六类线?)

3、防火墙与核心之间用六类线?边界路由器上全部用六类线?

4、其余用五类非屏蔽双绞线;

 

三、拓扑规划

1、两台核心交换机互做备份,三台接入层交换机分别于与两台核心直连以给网络提供可靠性;

2、采用双ISP出口,为防止ISP内部出现问题造成网络故障在网络边界放置两台路由器,两台路由器互联;并且在此假设ISP1的出口带宽为40M,ISP2的出口带宽为80M;

3、在边界路由器与核心交换机之间各加一台防火墙;

4、一般服务器都要连接到核心交换机上,为节省开支,在两台交换机上分别给两个服务器区单独划分一个VALN;

 

四、IP规划

1、各VLAN划分:

 

2、一些设备的指定地址:

 

3、各设备管理地址:

 

 

五、交换规划

1、人资、财务、领导分处在不同VLAN,取VLAN1为管理VLAN;

2、SW4和SW5为核心交换机,中间用两根光纤启Channel,并封为Trunk;

3、在SW4和SW5上启用HSRP,为人资、财务、领导三个网段分别提供网关备份;(因为ISP1的出口带宽为40M,ISP2的出口带宽为80M,因此取VLAN1以SW4为主,以SW5为备;VLAN2、VLAN3以SW5为主,以SW4为备;)

4、交换区域启用MST:VLAN10为事例1 ;VLAN20、VLAN30为事例2;(可否将VLAN40、VLAN50、VLAN60划为一个MST事例????)

5、如图所示,将为两台核心上用于为用户提供Internet服务的链路划为同一个VALN60;DMZ区域服务器为外网提供服务的两条链路划为VLAN50;

并且在两台防火墙上启用VRRP(在两台防火墙DMZ区域的接口E0/1上启用VRRP),对服务器区提供网关备份;

((在两台核心上已经配置了通向外网的默认路由,是否还可以对VLAN60配置VRRP,来作网关备份???还是可以在FW1和FW2之间也启用OSPF,使用五类默认路由来作冗余?)

在两台防火墙上为连接VLAN60的接口启用VRRP,为默认路由ip 0.0.0.0 0.0.0.0 10.0.6.254提供网关备份,并设定追踪其上联接口事件;从而可以为FW1—R1、FW2—R2互做备份;

6、在两台核心交换机上配置DHCP,为人资、财务、领导三个网段自动分配IP地址;

 

六、路由规划

1、在两台核心交换机上启用OSPF,并将VLAN1、2、3、4、5、6的网段宣告进OSPF进程;在两台核心上都启一条指向防火墙的默认路由,为需要访问Internet的用户提供路由;

并且在两台核心交换机上,都用default-information originate命令,将默认路由宣告进OSPF区域;(这样还可以为VLAN6的两条上联链路提供双重保险;)

在SW4、SW5上分别启一条去往NULL0口的路由,以防止对未知IP的路由环路:ip route 10.0.0.0 255.0.0.0 NULL;

2、在两台防火墙上,启一条到达外网的默认路由;并启一条通往内网(非服务器区)的静态路由和一条通往DNS/WEB服务器区的静态路由;

在两台防火墙上做NAT:(1)为DNS和WEB做静态NAT;(2)为内网其他的网段做PAT;

3、在两台边界路由器R1、R2上各启一条通往ISP的默认路由,并在两台路由器之间启用OSPF(area0),使用default- information originate命令将缺省路由通告进OSPF区域;(不必在R1、R2上启到达内网的静态路由,因为已经在防火墙上做了NAT,R1、R2与NAT网 段直连;)(但是,网段FW1—R1、FW2—R2都是公网地址,R1—R2网段则可以是私有地址;)(当然,网段R1—ISP1、 R2—ISP2也是公网地址;)

4、ISP路由

ISP1路由:指向网段FW1—R1、FW2—R2的静态路由;

ISP2路由:指向网段FW1—R1、FW2—R2的静态路由;

 

七、网络安全

1、两台防火墙将网络分为inside、outside和DMZ区域。

Inside区域的安全性是最高的,Outside的用户不能访问Inside,Inside的用户可以可安全可靠得访问服务器和Internet。 Outside区域可安全的访问位于DMZ区域的DNS、WEB服务器;同时,Outside的用户不可以通过DMZ区域访问到Inside区域;

2、防火墙以内的区域都是使用私有地址,避免了内部区域网络的暴露,增加了安全性;

3、在Inside区域,将不同的部分划分在不同的VLAN,一方面避免了广播风暴、ARP攻击等对网络的破坏,同时避免的不同部门间信息的泄露;

4、对于区域中一些具有特殊安全需求的部分用访问控制列表加以限制权限,这样也提高了整个网络的权限;

 

八、网络管理

网络中的设备都是可管理的,可以通过telnet的方式对网络进行监控和管理;

 

九、网络综合评价:

1、可靠性原则:
(1)整个网络采用双交换核心为三台接入层交换机提供HSRP网关备份;

(2)两台核心交换机之间采用启用Channel,增加了互联带宽,同时其中一条链路Down不影响另一条链路通信;

(3)将核心上的两条默认理由通告进OSPF,为核心的上行链路提供冗余,即使一条链路Down掉,用户还是可以通过另一条上行链路访问Internet;

(4)两台核心交换机均采用双引擎工作模式,增加了单台核心交换机的可靠性;

(5)在两台防火墙上为DMZ区域服务器启用VRRP,做网关备份,保证了服务器为互联网用户提供可靠的服务;(此处只是保证了服务器向外部的发送数据的 可靠性,但是不能保证互联网用户访问服务器的可靠性!!!如果要保证,该怎么配置???)同时在两台防火墙上为VLAN60启用VRRP,一方面为两个 FW的上行链路提供备份,另一方面也为VLAN60 的两条链路提供了双重保险;

(6)两台边界路由器互联,利用OSPF五类缺省路由,为网络出口提供冗余;

(7)使用双ISP出口,提高了网络内外互访的可靠性;

2、可扩展原则:

核心交换机采用模块化的Cisco Catalyst 4506交换机,无论是引擎、板卡,还是电源都可以进一步扩展升级;

每个网段都分了一个C的地址,而目前每个楼层的员工数都不到40人,因此具有很高的可扩展性;

3、安全性原则:

对于这样一个有100人左右的网络,采用两台 Cisco ASA 5510提供安全策略;

两台防火墙将网络分为inside、outside和DMZ区域。

Inside区域的安全性是最高的,Outside的用户不能访问Inside,Inside的用户可以可安全可靠得访问服务器和Internet。 Outside区域可安全的访问位于DMZ区域的DNS、WEB服务器;同时,Outside的用户不可以通过DMZ区域访问到Inside区域;

防火墙以内的区域都是使用私有地址,避免了内部区域网络的暴露,增加了安全性;

在Inside区域,将不同的部分划分在不同的VLAN,一方面避免了广播风暴、ARP攻击等对网络的破坏,同时避免的不同部门间信息的泄露;

对于区域中一些具有特殊安全需求的部分用访问控制列表加以限制权限,这样也提高了整个网络的权限;

4、可管理性原则:

网络中的设备都是可管理的,可以通过telnet的方式对网络进行监控和管理;

5、追求最佳性能价格比

 

————————————————————–

本文出自 “无名网络” 博客http://19891002.blog.51cto.com/1125176/731515