星期六, 九月 30, 2006

“小人物”影响大前途 职场上绝对不能碰的“红灯族”

[webnote]
 
 
"小人物"影响大前途 职场上绝对不能碰的"红灯族"
   
  
   
2006-09-30 10:51:11
    蓝天  
      一般人都认为,在公司里只要尽心尽力,取得业务实绩,赢得上司的赏识和老总的欢心,加薪提升就指日可待了,而对那些一般行政人员,则没有给予应有的尊重和礼貌,认为得到他们的协助是理所应当的,所以平日就对他们指
手划脚,急躁起来甚至会对他们颐指气使,拍桌瞪眼,把人际关系学的那一套都抛到九霄云外去了。这是一个非常严重的认识误区。

事实上,有些办公室人员的职位虽然不高,权力也不怎么大,跟你也没什么直接的工作关系,但是,他们所处的地位却非常重要,他们的影响无处不在。他们的资历比你高,办公室的风浪经历比你多,要在你身上找点毛病、失误,实在是易如反掌。

别轻视办公室里那些鸡毛蒜皮的小事,它们往往能左右你的工作效率;更不小看那些平日不起眼的所谓"小人物",他们的潜能会让你大吃一惊,甚至影响到你的业绩和升迁。财务、人事、秘书、老总的心腹、邻桌的同事、总务、电脑管理、其他部门的共事伙伴??是你绝对碰不得的"红灯族"。

财务

危险等级:●●●●●

切勿以为财务部门只是做做财务报表,开开单据。在以数字化生存的时代里,财务部门的统计数据,决定着你的预算大小和业绩优劣,财务人员已经从传统的配角逐渐走入参与决策的权力核心,他们对各个部门业务的熟悉程度简直会让你大吃一惊;而对金钱的斤斤计较也使得老板对他们言听计从。

警告:金钱是权力的狗腿子,在你没有足够的权力时,最好对他们笑脸相迎。

人事

危险等级:●●●●○

进入公司要靠他们,求得生存也靠他们,加薪提升更要靠他们,因为他们无处不在,偶尔迟到、早退也许不算什么,但是只要他们想做,随时随地都可以揪你的小辫子,你的表现又会好到哪里去?

警告:敏锐的耳目老板最需要,记住即使在办公室里放松片刻,背后还有一双发亮的眼睛在盯着你。

秘书

危险等级:●●●●●

除了行政和业务主管,秘书绝对是公司的一号人物。他们是老总的亲信、参谋,甚至可能是情人,得罪了他们,简直性命攸关,只要他在老总面前随便说上几句,你的多年努力就会毁于一旦。

警告:决定你事业成败的关键人物,他们的三言两语抵得上你的百般辛劳。

心腹

危险等级:●●●●●

他们可能是老总的旧日同窗好友,可能是童年伙伴、邻居,甚至可能是老总的太太、情人,如果他们发起威来,经理主管们都惟恐避之不及,何况是你?况且他们想要废了你,绝对是借刀杀人不见血,除了仓惶出逃外,你别无生路。

警告:大哥大姐无处不在,进入公司的第一件事、就是把他们认出来,保持距离,永远用恭敬的微笑面对他们是你的最佳选择。

同事

危险等级:●●●○○

远亲不如近邻,与你隔桌相望,你的一举一动都在他们的眼里,甚至你的电话交谈他们都听得一字不漏,如果他们变成跟你咫尺天涯的竞争对手,你就太危险了。

警告:当心身边的定时炸弹,每天要带上"墨镜",锁好所有的文件,别露出任何把柄。

总务

危险等级:●●○○○

表面看来,他们显得无足轻重,不那么显山露水,但你却一步都离不开他们,小到一本记事簿,大到办公设备,难道你想让这些琐事败坏一天的情绪,甚至败坏你的工作实绩吗?

警告:总务无所不包,甚至包你的升迁机会,所以对他们要有礼貌和耐心,申领一本簿子按规定程序办有什么大不了?总比背后被他们说三道四强。

电脑管理

危险等级:●●●○○

如果换个称呼,你就明白他们的厉害了??资讯管理人员。在信息时代里,信息就是公司的资本和生命,他们不仅管理全公司的电脑系统,而且还掌握着公司最机密的资料,当然包括你的一切秘密。只要他们动一动手指,你的所有资料都可能不翼而飞,到那时再明白可就太晚了。

警告:公司里的间谍和匿名狙击手,尊重他们,并且多向他们请教,才能在信息时代里立于不败之地。

其它部门的共事伙伴

危险等级:●●●●○

越想要出成绩,你就越需要其他部门的通力合作。如果一个项目在每一个部门都耽搁一下,还有什么效率可言!如果再在你背后嘘上几声,或者把部门主管都拉进来,这里面的是非虚实谁能搞得清?

警告:合作伙伴也可能是做"小鞋"的专业户,你要把注意力多放点在他们身上,建立良好的沟通关系,和气相处,互助互益。

离线享用维基百科资源

[webnote]
[software] 
 

离线享用维基百科资源

维基一直被公认是互联网上最好的百科全书。虽然被GFW了,但还是有办法突破封锁的。其一,当然是用代理服务器;其二,如果你对即时更新的内容不感兴趣的话,可以直接打包下载到本地磁盘,离线浏览。

代理服务器的使用有很多种方法,目前比较流行的有a)Web代理,b)IP代理,c)代理软件。我推荐使用第三种方案,一是速度快,二是使用方便。常见的代理软件有"自由门"和"无界浏览器",设置相对比较复杂的有一款"Tor代理"软件,虽然初始安装麻烦,但用起来的感觉却远比前两种好得多,与浏览器整合得也比较舒服。如果有必要,我会在以后详细介绍一下Tor代理的使用。这篇主要说如何离线查询维基百科词条。

前面说一堆废话,其实这个方法很简单。它只是一款开源词典软件下面的一种子功能。这个软件允许自由添加各种词典文档,并且具备金山的所有功能,尽管金山算不上出色,甚至是有些拙劣。

  1. 下载并安装GTK+运行环境,它对你的系统没有任何伤害;
  2. 下载并安装StarDict词典主程序;
  3. 下载维基百科压缩包,将其WinRAR到相关目录,如C:\Program files\stardict\dic\;
  4. 还可以在这个页面下载更多词典,添加到上面的目录即可。

另,上面下载的只是中文的维基百科资源,英文的可能要到wikipedia.org下载了。压缩包有点大,82M,要有耐心。

截图:

Oracle发布新版BerkeleyDB嵌入式数据库

[webnote]
[software] 
 
Oracle发布新版BerkeleyDB嵌入式数据库

  网界网消息 Oracle公司于周三发布了BerkeleyDB 4.5版,这是该公司在二月份通过收购SleepyCat软件公司而获得的嵌入式数据库。

  据Oracle嵌入式系统副总裁Rex Wang介绍,BerkeleyDB 4.5的新功能包括对多用户访问数据库的多版本并发控制,在BerkeleyDB复制环境无需脱机即可安装更新和补丁程序,以及便于部署高可用系统的预置复制环境。

  BerkeleyDB的4.4版更新(可免费使用,或由Oracle提供商业支持)是一年前发布的。该数据库已被部署超过2亿次,包括部署在Linux和BSD Unix操作系统、Apache Web服务器、OpenLDAP目录以及OpenOffice生产力套件。(Vialingo编译)

C++ Code Optimizations - Mozilla Firefox

[webnote]
[development] 
 
 

C++ Optimizations

These optimizations are fairly easy to apply to existing code and in some cases can result in big speedups. Remember the all-important maxim though, the fastest code is code that isn't called.

Use Initialization Lists

Always use initialization lists in constructors. For example, use

    TMyClass::TMyClass(const TData &data) : m_Data(data)
    {
    }

rather than

    TMyClass::TMyClass(const TData &data)
    {
         m_Data = data;
    }

Without initialization lists, the variable's default constructor is invoked behind-the-scenes prior to the class's constructor, then its assignment operator is invoked. With initialization lists, only the copy constructor is invoked.



Optimize For Loops

Whereever possible, count down to zero rather than up to n. For example, use

    for (i = n-1; i >= 0; --i)

rather than

    for (i = 0; i < n; ++i)

The test is done every iteration and it's faster to test against zero than anything else. Note also that

    ++i

is faster than

    i++

when it appears in the third part of the for loop statement.



Use 'int'

Always use the int data type instead of char or short wherever possible. int is always the native type for the machine.



Make Local Functions Static

Always declare local functions as static, e.g.,

    static void foo()

This means they will not be visible to functions outside the .cpp file, and some C++ compilers can take advantage of this in their optimizations.



Optimize If Statements

Factor out jumps. For example, use

    bar();
    if (condition)
    {
         undoBar();
         foo();
    }

rather than

    if (condition)
    {
         foo();
    }
    else
    {
         bar();
    }

Use a profiler and good judgement to decide if undoing the bar() operation is faster than jumping.



Optimize Switch Statements

Put the most common cases first.



Avoid Expensive Operations

Addition is cheaper than multiplication and multiplication is cheaper than division. Factor out expensive operations whereever possible.



Initialize on Declaration

Whereever possible, initialize variables at the time they're declared. For example,

    TMyClass myClass = data;

is faster than

    TMyClass myClass;
    myClass = data;

Declaration then initialization invokes the object's default constructor then its assignment operator. Initializing in the declaration invokes only its copy constructor.



Pass By Reference

Always try to pass classes by reference rather than by value. For example, use

    void foo(TMyClass &myClass)

rather than

    void foo(TMyClass myClass)



Delay Variable Declarations

Leave variable declarations right until the point when they're needed. Remember that when a variable is declared its constructor is called. This is wasteful if the variable is not used in the current scope.



Use 'op='

Wherever possible, use 'op=' in favour of 'op'. For example, use

    myClass += value;

rather than

    myClass = myClass + value;

The first version is better than the second because it avoids creating a temporary object.



Inline Small Functions

Small, performance critical functions should be inlined using the inline keyword, e.g.,

    inline void foo()

This causes the compiler to duplicate the body of the function in the place it was called from. Inlining large functions can cause cache misses resulting in slower execution times.



Use Nameless Classes

Whereever possible, use nameless classes. For example,

    foo(TMyClass("abc"));

is faster than

    TMyClass myClass("abc");
    foo(myClass);

because, in the first case, the parameter and the class share memory.



北京房价2008后趋理性 6大因素影响房价

[webnote]
 
 
北京房价2008后趋理性 6大因素影响房价
房老大 | 企业视角 | 出处:官方新闻| 2006年09月27日 09:09 | 阅读 262 次
        

922日,针对房价涨跌走势的预测,有关专家称,根据艾略特独创的"波浪理论",中国房价会在2010年进入本轮中国房地产发展的最高峰。

    今日出版的《中华工商时报》载文指出,奥运会申办成功及奥运会相关投资极大地刺激了北京市房地产开发活动。但预计在2008年以后,以下几个因素可能会对当前过热的北京市市场产生重要影响,并且在一定程度上抑制房价上涨甚至拉低房价。

    开征物业税

    中央方面首次提出征收物业税是在200310月召开的十六届三中全会上,当时的提法是:"适时、择机开征房产税。"并且从2003年开始,已经有一些城市开始空转模拟物业税试点。在当前房价不能抑制的情况下,征收物业税可以说已经提到中央的议事日程上来了。

    征收物业税主要的好处有:首先,可以理顺中央和地方在财权上的关系。1994年开始的中央税制改革导致税收占GDP的比重也稳步增长,但是中央的财权和事权不对称。物业税属于地方税种,如果开征,可以更加匹配中央和地方在财权和事权上的关系,有助于建立节约型社会,有利于转变政府职能。其次,物业税是根据财产显示征收的,它可以起到公平纳税、促进社会稳定的作用,避免了现行的实际上的累退制的直接税征收的根本弊端;再次,在当前中国房地产大开发和房价不断推高的背景下,可以抑制对房地产占有的无限欲望,抑制房价上涨,限制房地产开发,控制地方政府和房地产开发商对公众财产的任意剥夺;第四,由于城市物业税的法定税率远远高于乡村,城市的多重纳税有利于调整城乡不动产的价格体系,也就是降低城市房地产价格和乡村房地产价格的差距,有利于从财政上保证城中村和农村居住环境的改善;第五,在房地产价格高涨时,物业税可以减少房地产交易。

    预计物业税可能在2008年以后征收,届时必将对北京市虚高的房价,特别是对投机性购房产生大幅度的抑制。

    落实购房实名制

    实名制是明晰私人财产最基本的制度,无论从保护私有财产、防止市场欺诈、调节收入再分配、维护社会公平等方面看都具有积极意义。落实实名制购房制度,有利于避免目前在房地产市场中大量存在的内部认购、违规促销、囤积房源、哄抬房价等违法违规行为。诚信是市场经济最基本的要素,政府有责任在各个领域推行诚信,打击商业欺诈。当前中国房地产投机盛行,与主管部门监管不力或制度性匮乏有着直接关系。但根本的原因还是与中国缺乏统一的个人账户,以及基本上不具备私人财产明晰化的机制和改革动力有关。如果物业税征收能够得到顺利推进,地方会有动力落实实名制。

    如果购房实名制能够得到落实,相信可以沉重打击房地产领域猖獗的住房投机活动,有利于房价的理性回归。预计购房实名制的真正落实将和物业税的征收同步进行。

    人民币升值

    人民币升值已是大势所趋,人民币升值预期对北京房地产产生怎样的影响呢?从短期看,人民币升值预期会刺激国外热钱进入,并大量持有不动产进行投机,但国家已经和准备出台的控制外商投机房地产的政策将会使住房逐步回归到非贸易的范畴,外资对房地产价格的推高影响逐步消失。从长期看,人民币升值一方面可能使包括北京在内的国内房地产处于全球的高位,刺激大量获利会吐和价格下降;另一方面,人民币升值可能使中国的产业国际竞争力受到削弱,控制房地产价格就成为提高国家竞争力的基础政策。
 
   
利率调整

    目前,中国银行利率处于历史上的低位。虽然中央银行连续4次加息,但目前的银行贷款利率仍然处于较低水平。如果把住房价格因素考虑到CPI的统计当中,则中国当前的CPI可能远不是国家统计局统计出的1%,而有可能是10%甚至20%。按照这个物价指数,当前中国处于严重的通货膨胀当中,实际利率是一个负值。大量的研究成果认为当前中国的货币供给处于"流动陷阱"阶段,这是造成中国房地产投机盛行的一个重要因素。

    基于规避金融风险和利率真实化的要求,特别是控制以房地产投资为核心的经济过热问题,未来时期中央银行大幅度升息的可能性是存在的。而升息对房地产价格的抑制作用十分明显。

    控制住宅商用

    住宅商用是目前大量的投资和投机性(出租是为了覆盖物业费和折旧费)购房回收成本的重要渠道,也是当前北京市已售房屋供给超过住房消费实际需求的一个重要证据。但住宅商用的最大弊端是侵害了其他居住者的利益,例如住宅楼电梯、楼道、绿地及其他公共设施和空间的过度占用,以及因为外来人员增多、成分复杂而造成治安问题也非常严重。

    北京市工商行政管理局发布文件规定,从619日起暂停为登记地址为民用住宅的企业办照。范围限于餐饮、歌舞娱乐、提供互联网上网服务场所(含网吧)、生产加工和制造5类企业。不排除今后时期北京市工商局提请市政府制定相关规章以全面禁止"住宅商用",将会对投资性住房购买以及商住合一的住房业态形成沉重打击。

    廉租房、经济适用房和限价房

    随着房地产调控政策的不断出台,廉租房和限价房将成为今后时期北京房屋供给的一个重要的的供给形式。目前北京市廉租房主要面向10%的城市低收入阶层,且采取实物补贴与货币补贴相结合的方式;经济适用房今后的走向将采取以租代售的方式,用以解决城市中低收入阶层的住房问题;而限价房政策的出台则意味着在今后的政府供地中,政府将采取房价和地价两头拍卖的方式,其目的在于挤压房地产开发中过多的利润,更重要的是有利于社会公平。从长期来看,我们认为限价房将成为北京市的住房供给的主要形态,并且将从扩大供给和市场类比两个方面压低过高的北京房价。

    因此,随着2008年奥运会结束,以及国家和地方政府出台一些关系宏观调控和人民生活的政策,北京市的房地产市场将会经历一个正本清源的理性回归,房地产价格也需要逐步回落,从而体现其实质上的供需平衡以及对泡沫的合理挤压。

新闻来源:中国新闻网

作者:曹建海

陈寅恪名字的读法

[webnote]
 
 
     对于"陈寅恪"中的"恪"字的读法,很长时间以来,我也心存怀疑:明明字典上就一个注音"ke",为什么偏把它读作"que"呢?难道陈先生是一个名人的缘故,还是因为正应了"约定俗成"的原则?我想不可能是约定俗成的,因为到今天许多专家还对此有所争论,如果说有了结论,那也是人为的。只因先生自己并未给出一个确定的答案,所以才使这个字的读音成了一个悬案。今天无意读到了王立(注意:此王立非彼王力)的一篇文章,我才明了最终的真相。希望此字的读音终成定格,莫再被人怀疑它的出身。那么就请诸位读读这篇文章说的是否在理?
    
 
    陈寅恪(1890--1969),江西修水人,现代著名学者。他的名字末尾的"恪",《新华字典》、《现代汉语词典》等工具书只注有kè一个读音,不知为什么有些人偏偏要读做què?
     我曾经猜测会不会是陈先生用的外文拼法为que,不知情者按汉语拼音念了?上网后发现有人也提过相同的问题,但是这并非事实。
 
     请看以下几个事实。
    一、 程美宝的《陈寅恪与牛津大学》文中介绍:
     在牛津大学的档案中,有杭立武1933年10月4日给该大学中国委员会秘书的信,谈到了陈寅恪申请剑桥的事:
我在上月收到你于7月21日发到汉口给我有关剑桥大学中文教授的信,很抱歉,我并不能够通过你向剑桥大学提供有关陈寅恪(Chen Yinchieh)先生更详细的资(他自己喜欢用的姓名的罗马拼音是"Tchen Yinkoh"。我收到你的信后,立即发了一份电报给他(指陈寅恪—译注),请他提供你所需的资料。不过,由于他任教的西南联合大学现正放假,他居处不定,直到10月2日之前,我们仍无法获取他的资料。
     二、陈寅恪《书信集》(三联,2001)致傅斯年第七十六署名做"Chen Yin Ke "。
     三、1940年5月陈寅恪致牛津大学的英文亲笔信的署名也是"Tschen Yin Koh"。
通讯处用名是:Prof. Chen Yin Ke(陈寅恪)C/o Prof. H. C. Shao(邵循正)
     四、苏黎世大学网站上关于陈先生的资料:
Yinkoh ( / Yinke) Tschen ( / Chen) 1890 M (Ilin ?) Kwangsi  China
Univ.Berlin (Abg.zgn.) mit Zgn. 26.02.1912
E: Prof. (Sauli ?) Tchen, 3 Dantianhan, Nanking (China)
* 17.05.1890, Wg. Universitätstr. 12, Zürich ; stud.nach Zürich in
Paris, dann 1921 über USA nochmals nach Berlin zum Studium der
Indologie und Geschichte, + 1969: Brief Prof.Dr.Chen Hongjie vom
Institute of Higher Education, Peking University, 21.09.2000
(Rektorat der Universität Zürich, 25.August 2001 )
 
     这些材料证明陈寅恪先生把自己的名字读做"Tchen Yinkoh",以汉语拼音表示,"恪"的读音不是que,而是ke。徐世荣先生的《普通话异读词审音表释例》说:"《普通话异读词审音表初稿》审'恪守 '一词,定'恪'音kè,注明:'不取què音。'……人名如近代学者陈寅恪。"因此,"陈寅恪"的"恪"应该读kè,是早有规范的,不能再制造人为的异读。
 
  那些主张 "恪"读què的人有什么根据呢?说是先生的家人、朋友都这么读。
    陈先生的学生王永兴教授曾解释,陈寅恪祖籍是福建上杭,属客家系统。其六世祖始由闽入赣,落户义宁。客家人习惯"恪"读que。义宁陈氏一直保持客家传统,故陈氏昆仲名中的"恪"字均读"que"。少数辞典曾收入这个读音,如商务印书馆于民国四年(1915)出版的《辞源》,其"恪"字条下的注音是
"可赫切(即ke),亦读如却(即que)。"1937年商务版《国语辞典》也收有恪的两个读音。1979年上海辞书版《辞海》注音为:恪(ke课,旧读que却)。

  客家话大多数方言没有撮口呼("迂"及它打头的韵母),撮口呼与齐齿呼(i和i打头的韵母)不分,即没有qie与que的区别。少数方言(如陆川)有单韵母"迂",但没有复合韵母"约"。凉水井方言的借词里有撮口呼。有人认为"恪"在音理上绝无读que之理,是由qie错误地发成了que,很有道理。既然是以讹传讹的产物,就应该坚决改正。

     中国方言差异大,同一个字,在不同方言里可能有好几种读音。如果各地的人名、地名都按名从主人的原则来读,还怎么交流?普通话还有什么意义?

     中国的知名人士不止陈寅恪先生一人,为什么非要在他身上搞特殊化?难道这样才算尊敬他、爱戴他吗?不要忘记,陈寅恪先生自己是按照标准音来写自己的英文名字的。因为汉字不直接体现读音,证据不明显。如果汉语使用拼音文字,陈寅恪先生把"恪"读做kè的证据肯定更多。他在日常生活中,是按方音说自己的名字,所以家人认定que(qie的讹误)是正确读音;而在正式场合,陈先生总是自觉向标准音看齐,这正是杰出学者的典范!弄巧成拙的人可以休矣!



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=1047106

网络管理

[webnote]
[development] 
 

http://www.huihoo.com/telecom/snmp/snmp_ch1.html
http://www.huihoo.com/telecom/snmp/snmp_ch2.html

网络管理

网络管理分为两类。第一类是网络应用程序、用户帐号(例如文件的使用)和存取权限(许可)的管理。它们都是与软件有关的网络管理问题。这里不作讨论。

网络管理的第二类是由构成网络的硬件所组成。这一类包括工作站、服务器、网卡、路由器、网桥和集线器等等。通常情况下这些设备都离你所在的地方很远。正是由于这个原因,如果当设备有问题发生时网络管理员可以自动地被通知的话,那么一切事情都好办。但是你的路由器不会象你的用户那样,当有一个应用程序问题发生时就可以打电话通知你,而当路由器拥挤时它并不能够通知你。

为了解决这个问题,厂商们已经在一些设备中设立了网络管理的功能,这样你就可以远程地询问它们的状态,同样能够让它们在有一种特定类型的事件发生时能够向你发出警告。这些设备通常被称为"智能"设备。

网络管理通常被分为四类:

被管理节点(或设备) 即你想要监视的设备
代理 用来跟踪被管理设备状态的特殊软件或固件 (firmware)
网络管理工作站 与在不同的被管理节点中的代理 通信,并且显示这些代理状态的中心设备。
网络管理协议 被网络管理工作站和大理用来交换 信息的协议。

当设计和构造网络管理的基础结构时,你需要记住下列两条网络管理的原则:

  1. 由于管理信息而带来的通信量不应明显的增加网络的通信量。
  2. 被管理设备上的协议代理不应明显得增加系统处理的额外开销,以致 于该设备的主要功能都被削弱了。


snmp

简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为 SNMP在IP上运行的原因是Internet运行的是TCP/IP协议,然而事实并不是这样。

SNMP被设计成与协议无关,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的传输协议上被使用。

SNMP是一系列协议组和规范(见下表),它们提供了一种从网络上的设备中收集网络管理信息的方法。SNMP也为设备向网络管理工作站报告问题和错误提供了一种方法。

名字 说明
MIB 管理信息库
SMI 管理信息的结构和标识
SNMP 简单网络管理协议

从被管理设备中收集数据有两种方法:一种是只轮询(polling-only)的方法,另一种是基于中断(interrupt-based)的方法。

如果你只使用只轮询的方法,那么网络管理工作站总是在控制之下。而这种方法的缺陷在于信息的实时性,尤其是错误的实时性。你多久轮询一次,并且在轮询时按照什么样的设备顺序呢?如果轮询间隔太小,那么将产生太多不必要的通信量。如果轮询间隔太大,并且在轮询时顺序不对,那么关于一些大的灾难性的事件的通知又会太馒。这就违背了积极主动的网络管理目的。

当有异常事件发生时,基于中断的方法可以立即通知网络管理工作站(在这里假设该设备还没有崩溃,并且在被管理设备和管理工作站之间仍有一条可用的通信途径)。然而,这种方法也不是没有他的缺陷的,首先,产生错误或自陷需要系统资源。如果自陷必须转发大量的信息,那么被管理设备可能不得不消耗更多的时间和系统资源来产生自陷,从而影响了它执行主要的功能(违背了网络管理的原则2)。

而且,如果几个同类型的自陷事件接连发生,那么大量网络带宽可能将被相同的信息所占用(违背了网络管理的原则1)。尤其是如果自陷是关于网络拥挤问题的时候,事情就会变得特别糟糕。克服这一缺陷的一种方法就是对于被管理设备来说,应当设置关于什么时候报告问题的阈值(threshold)。但不幸的是这种方法可能再一次违背了网络管理的原则2,因为设备必须消耗更多的时间和系统资源,来决定一个自陷是否应该被产生。

结果,以上两种方法的结合:面向自陷的轮询方法(trap-directed polling)可能是执行网络管理最为有效的方法了。一般来说,网络管理工作站轮询在被管理设备中的代理来收集数据,并且在控制台上用数字或图形的表示方式来显示这些数据。这就允许网络管理员分析和管理设备以及网络通信量了。

被管理设备中的代理可以在任何时候向网络管理工作站报告错误情况,例如预制定阈值越界程度等等。代理并不需要等到管理工作站为获得这些错误情况而轮询他的时候才会报告。这些错误情况就是众所周知的SNMP自陷(trap)。

在这种结合的方法中,当一个设备产生了一个自陷时,你可以使用网络管理工作站来查询该设备(假设它仍然是可到达的),以获得更多的信息。

3.什么是被管理设备?

你可能听说过许多关于"SNMP可管理设备"、"与SNMP兼容的设备"或者"被SNMP管理的设备"的说法。但是它们到底什么?它们与"智能设备"又是怎么区别的呢?

简单地说,以上所有说法的意思都是"一个包含网络管理代理实现的网络设备"。这些话也意味着这种代理支持SNMP协议来进行信息交换。正如前面所提到的,一个智能设备可能并不需要使用或支持SNMP协议。那么什么是一个代理呢?

  1. 代理

    管理代理(agent)是一种特殊的软件(或固件),它包含了关于一个特殊设备和/或该设备所处环境的信息。当一个代理被安装到一个设备上时,上述的设备就被列为"被管理的"。换句话说,代理就是一个数据库。

    数据库中所包含的数据随被安装设备的不同而不同。举例来说,在一个路由器上,代理将包含关于路由选择表、接收和发送包的总数等信息。而对于一个网桥来说,数据库可能包含关于转发包数目和过滤表等信息。

    代理是与网络管理控制台通信的软件或固件。在这个控制台的"链路"上可以执行以下任务:

  • 网络管理工作站可以从代理中获得关于设备的信息。
  • 网络管理工作站可以修改、增加或者删除代理中的表项,例如在由代理所维护的数据库中的路由选择表表项。
  • 网络管理工作站可以为一个特定的自陷设置阈值。
  • 代理可以向网络管理工作站发送自陷。

    请记住,在被管理设备中的代理并不是自愿提供信息的,除非当有一个阈值被超过的事件发生时。

    在一些偶然的情况下,在一个特定的设备上可能因为系统资源的缺乏,或者因为该设备不支持SNMP代理所需要的传输协议,而不能实现一个SNMP代理。这是否就意味着你不能监视这个设备呢?答案并不是这样的,在这种情况下并不是完全没有办法的。你可以使用受托代理(proxy agent),它相当于外部设备(foreign device)。

    受托代理并非在被管理的外部设备上运行,而是在另一个设备上运行。网络管理工作站首先与受托代理联系,并且指出(通过某种方法)受托代理与外部设备的一致性。然后受托代理把它接收到的协议命令翻译成任何一种外部设备所支持的管理协议。在这种情况下,受托代理就被称为应用程序网关(application gateway)。

    如果外部设备不支持任何管理协议,那么受托代理必须使用一些被动的方法来监视这个设备。举例来说,一个令牌环网桥的受托代理可以监视它的性能,并且如果它检测到任何由网桥所报告的拥挤错误时,它就会产生自陷。幸运的是,目前大多数网际互联设备类型都是支持SNMP可管理设备的,所以你可以很容易地使用一个 SNMP可管理设备,例如集线器、网桥和路由器。有一些厂商甚至还在他们的网卡上提供SNMP代理。

  1. MIB

    我们通常很少把在一个被管理设备中的数据库称为一个数据库。在SNMP术语中它通常被称为管理信息库(MIB)。

    一个MIB描述了包含在数据库中的对象或表项。每一个对象或表项都有以下四个属性:

  • 对象类型(Object Type)
  • 语法(Syntax)
  • 存取(Access)
  • 状态(Status)

    在SNMP规范之一的管理信息结构与标识(SMI;RFC 1155/1065)规范中定义了这些属性。SMI对于MIB来说就相当于模式对于数据库。SMI定义了每一个对象"看上去象什么"。

  1. 对象类型

    这个属性定义了一个特定对象的名字,例如sysUpTime。它只不过是一个标记。在表示数据时,SMI使用了ASN.1(Abstract Syntax Notation One)。对象必须被"标识"。对于互联网络管理MIB来说,用ASN.1记法来表示的标识符开头如下:

        internet OBJECT IDENTIFIER : : = { iso org(3) dod(6) 1 }

或者用一种简单的格式:

        1.3.6.1

    这是从ASN.1文档中抽取的。它为标识符定义了一个树形的格式。该树是由一个根及与之相连接的许多被标记的节点组成。每一个节点由一个非负整数值和尽可能简明的文字说明所标识。每一个节点可能也拥有同样被标记的子节点。

    当描述一个对象标识符(OBJECT INDENTIFIER)时,你可以使用几种格式,最简单的格式是列出由根开始到所讨论的对象遍历该树所找到的整数值。     从根一级开始,这里有三个节点(如图):

  • ccitt(0)
  • iso(1)
  • joint-iso-ccitt(2)

    其中每一个"分支"都被标记中所示的管理组织所管理。

  1. 语法

    这个属性指定了数据类型,例如整数、8位组串数字(字符串;范围为0至255)、对象标识符(预先定义的数据类型别名)或NULL。NULL是留待的后使用的空位。

  1. 存取

    存取表明了这个特定对象的存取级别。合法的值有:只读、读写、只写和不可存取。

  1. 状态

    状态定义了这个对象的实现需要:必备的(被管理节点必须实现该对象);可选的(被管理对象可能实现该对象);或者已废弃的(被管理设备不需要再实现该对象)。

 

  1. 简单网络管理协议

    简单网络管理协议允许网络管理工作站软件与被管理设备中的代理进行通信。这种通信可以包括来自管理工作站的询问消息、来自代理的应答消息或者来自代理给管理工作站的自陷消息。

    为了保证因网络管理而带来的通信量是最小的(网络管理原则1),SNMP使用了一种异步客户机/服务器方法。这意味着一个SNMP实体(管理工作站或被管理设备)在发出一条消息后不需要等待一个应答;然而,除了自陷的情况以外应答都是要被产生的。如果需要的话该实体可以发送另一条消息,或者也可以继续它预先被定义的功能。SNMPv1实现起来很简单并且对资源占用不多,它只有5个请求/响应原语:

  • get-request
  • set-request
  • get-next-request
  • get-reponse
  • trap

    网络管理工作站可以把感兴趣的变量值提取到其应用程序中,只要发出get-request或get-next-request报文即可。前者是指定对象的读操作,后者则提供了一个树遍历操作符,便于确定一个代理进程支持哪些对象。网络管理工作站可以修改代理进程中的变量值,只要发出set-request 报文即可。

    如果没有发生错误,代理进程可以用get-reponse原语回答这些请求。另外,利用trap原语,代理进程可以异步地发送告警给网络管理工作站,告诉它发生了某个满足预设条件的事件。

    实现中的经验和设计过程中的不断完善给SNMPv2带来了协议改进意见,即给网络管理工作站增加一个成块读操作get-bulk-request报文。当需要用一个请求原语提取大量数据(如读取某个表的内容)时就可以调用它以提高效率。SNMPv2也引进管理进程和管理进程之间的通信进行状况报告,为此增加了一条原语inform-request,并把get-response简化成更加合理的名称reponse。trap报文则已改为snmpv2- trap,并与所有的协议报文具有同样的格式。

4.巧妙而有效地管理你的网络

网络管理的两种方法是积极主动(pro-active)的方法和被动反应(re-active)得分方法。在大多数的时间里,我们总是要对一个事件作出反应,但这并不是有效的网络管理。

在积极主动的方式中,你所有现存的资源都得到了充分使用。如果你有智能集线器,那么请你把它找出来。几乎所有现存的路由器都至少在MIB-I级别上支持SNMP协议。如果你不能确定的话,请你和厂商联系。

当管理网络时,你需要明确的第一件事情就是要知道什么时候网络出问题。但是,你怎样辨别网络出问题了呢?对于人类来说,你会寻找以下症状,你会检查体温和脉搏。你网络上的症状也可以被监视,例如带宽利用率随时间的变化、服务器和路由器上的CPU利用率及通常在网线上的错误量(你总有以下错误)。请你使用网络管理工作站来跟踪这些统计数据一段时间,不如说两个星期,并且统计出一天中不同时候的平均值。这将成为你的基准线(baseline)。

一个基准线就是一系列数字,这些数字反映出了一个"健康"的网络。对于人类来说,一个"正常而且健康"的体温是37度。这就是你区分一个人是否发烧的基准线。你也需要一个基准线来决定你的网络是否出了问题。通过监视被管理设备中的网络阈值设置,并且寻找故障的征兆,你就可以拥有一个提前报警的系统了。

5.相关网站

SNMP FAQ

        ftp://rtfm.mit.edu/pub/usenet/news.answers/snmp-faq/part1

        ftp://rtfm.mit.edu/pub/usenet/news.answers/snmp-faq/part2

SNMP WEB

        http://netman.cit.buffalo.edu/index.html

        http://snmp.cs.utwente.nl

        http://www.onramp.net/~cwk/net-manage.cgi

SNMP MAIL LIST

        snmp-request@psi.com

        snmpv2-request@tis.com

        snmpv3-request@tis.com

SNMP NEWS GROUP

        comp.protocols.snmp

        info.snmp

        comp.dcom.net-management

可参考以下。我以后看,测试
如何在 Windows 2000 中为简单网络管理协议服务配置安全性
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;q315154&sd=tech



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=1048173

google站内搜索

Google