<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>The Way to Cisco</title>
	<link>http://wp.boymg.com</link>
	<description>Effort to make perfection!</description>
	<pubDate>Sat, 03 May 2008 06:16:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.2</generator>
	<language>en</language>
			<item>
		<title>等级三开课通知</title>
		<link>http://wp.boymg.com/2008/05/level_3_lessons/</link>
		<comments>http://wp.boymg.com/2008/05/level_3_lessons/#comments</comments>
		<pubDate>Sat, 03 May 2008 06:16:23 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[CCNP]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2008/05/level_3_lessons/</guid>
		<description><![CDATA[全新等级三课程开课通知 02 5月 2008 23:55  
在本周四将开始全新等级三的课程，请准备参加此次课程的会员，在5月7号之前，发送论坛短消息给我（之前报名并且已经登记的会员也向我发1次论坛... ]]></description>
			<content:encoded><![CDATA[<p>全新等级三课程开课通知 02 5月 2008 23:55  </p>
<p>在本周四将开始全新等级三的课程，请准备参加此次课程的会员，在5月7号之前，发送论坛短消息给我（之前报名并且已经登记的会员也向我发1次论坛消息），以便安排各自的学习计划。</p>
<p>开课时间：</p>
<p>5月8日、9日：周四、五 晚上 8：00-11：00</p>
<p>5月14日、15日、16日：周三、四、五晚上 8：00-11：00</p>
<p>5月21日、22日、23日：周三、四、五晚上 8：00-11：00</p>
<p>5月28日、29日、30日：周三、四、五晚上 8：00-11：00</p>
<p>6月4日、5日、6日：周三、四、五晚上 8：00-11：00</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2008/05/level_3_lessons/feed/</wfw:commentRss>
		</item>
		<item>
		<title>将字符串转换为double型值</title>
		<link>http://wp.boymg.com/2008/03/strtod-20080326/</link>
		<comments>http://wp.boymg.com/2008/03/strtod-20080326/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 07:35:33 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2008/03/%e5%b0%86%e5%ad%97%e7%ac%a6%e4%b8%b2%e8%bd%ac%e6%8d%a2%e4%b8%badouble%e5%9e%8b%e5%80%bc/</guid>
		<description><![CDATA[函数名: strtod
功  能: 将字符串转换为double型值
用  法: double strtod(char *str, char **endptr);
程序例:  
#include &#60;stdio.h&#62;&#160; 
#include &#60;stdlib.h&#62;&#160; 
&#160;
int&#160;main(void)&#160; 
{&#160; 
&#160;&#160; cha... ]]></description>
			<content:encoded><![CDATA[<p>函数名: strtod<br />
功  能: 将字符串转换为double型值<br />
用  法: double strtod(char *str, char **endptr);<br />
程序例:  </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span class="hl-prepro">#include </span><span style="color: #8b0000;">&lt;</span><span style="color: Red;">stdio.h</span><span style="color: #8b0000;">&gt;</span><span class="hl-prepro">&nbsp; </span></li>
<li><span class="hl-prepro">#include </span><span style="color: #8b0000;">&lt;</span><span style="color: Red;">stdlib.h</span><span style="color: #8b0000;">&gt;</span><span class="hl-prepro">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">main</span><span style="color: Olive;">(</span><span class="hl-types">void</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span class="hl-types">char</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">input</span><span style="color: Olive;">[</span><span style="color: Maroon;">80</span><span style="color: Olive;">]</span><span style="color: Gray;">, *</span><span style="color: Blue;">endptr</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span class="hl-types">double</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">value</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">printf</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Enter a floating point number:</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">gets</span><span style="color: Olive;">(</span><span style="color: Blue;">input</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">strtod</span><span style="color: Olive;">(</span><span style="color: Blue;">input</span><span style="color: Gray;">, &amp;</span><span style="color: Blue;">endptr</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">printf</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">The string is %s the number is %lf</span><span style="color: Navy;">\</span><span style="color: Red;">n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">input</span><span style="color: Gray;">, </span><span style="color: Blue;">value</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li></ol></div>
<p>Code: ( cpp )</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span class="hl-prepro">#include </span><span style="color: #8b0000;">&lt;</span><span style="color: Red;">string</span><span style="color: #8b0000;">&gt;</span><span class="hl-prepro"></span></li>
<li><span class="hl-prepro">#include </span><span style="color: #8b0000;">&lt;</span><span style="color: Red;">iostream</span><span style="color: #8b0000;">&gt;</span><span class="hl-prepro"></span></li>
<li><span class="hl-prepro">#include </span><span style="color: #8b0000;">&lt;</span><span style="color: Red;">sstream</span><span style="color: #8b0000;">&gt;</span><span class="hl-prepro"></span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">using</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">namespace</span><span style="color: Gray;"> </span><span style="color: Blue;">std</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span class="hl-mlcomment">/* console cpp file */</span></li>
<li><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">main</span><span style="color: Olive;">()</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span class="hl-types">char</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">data</span><span style="color: Gray;"> </span><span style="color: Olive;">[]</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1234.5</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span class="hl-types">double</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">result</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">stringstream</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">converter</span><span style="color: Olive;">(</span><span style="color: Blue;">data</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">converter</span><span style="color: Gray;"> &gt;&gt; </span><span style="color: Blue;">result</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">cout</span><span style="color: Gray;"> &lt;&lt; </span><span style="color: Blue;">result</span><span style="color: Gray;"> &lt;&lt; </span><span style="color: Blue;">endl</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2008/03/strtod-20080326/feed/</wfw:commentRss>
		</item>
		<item>
		<title>互联网的金门大桥（思科）</title>
		<link>http://wp.boymg.com/2008/01/internet-cisco/</link>
		<comments>http://wp.boymg.com/2008/01/internet-cisco/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 14:48:12 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[互联网传奇]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2008/01/internet-cisco/</guid>
		<description><![CDATA[2007年12月13日 上午 12:14:00
发表者：Google（谷歌）研究员 吴军 
1994 年初，我的同事清华的李星教授告诉我当时教育部副部长韦钰提出要教育科研机构建立互联网，这便是中国互联网的开始。很... ]]></description>
			<content:encoded><![CDATA[<p><em>2007年12月13日 上午 12:14:00</p>
<p>发表者：Google（谷歌）研究员 吴军</em> </p>
<p>1994 年初，我的同事清华的李星教授告诉我当时教育部副部长韦钰提出要教育科研机构建立互联网，这便是中国互联网的开始。很快中国派了一个代表团包括吴建平、李星等中国最早研究互联网的学者到美国考察互联网、并且考察生产互联网设备，主要是路由器（Router）的公司。当时很快就定下了美国思科（Cisco）公司的设备，并且很快到了货。很短的时间，中国自己最早的互联网就在大学里诞生了（虽然高能所更早连到了互联网上，但是那实际上是美国斯坦福大学线性加速器实验室的一个子网）当时，几乎没有人知道这个思科公司，即使今天由于思科公司的产品不直接面向用户，知道它的人也远不如知道麦当劳的多，尽管思科有麦当劳的三倍大。但是，如果告诉大家，没有思科和同类公司生产的路由器就没有今天的互联网，那么大家就知道思科在我们生活中的作用了。思科是一个标准的网络时代弄潮儿，随着互联网的出现而兴，随着其泡沫的破碎而一度衰落。在 2000 年，思科曾经在一瞬间超过微软，成为世界上股值最高的公司（五千四百亿美元），那时思科股票一天的交易额超过当时整个中国股市。911 以后，它的股票一度缩水 85%。那年，思科的 CEO 钱伯斯宣布了思科历史上唯一一次大裁员，同时他将自己的工资降到每年一美元，成为世界上工资最低的 CEO。这种做法一度被传为佳话，并纷纷为那些愿意和公司同甘共苦的老板们效仿。几年后的今天，思科已走出低谷，并且成为世界最大的设备制造公司。</p>
<p>1.好风凭借力</p>
<p>和惠普、太阳、雅虎、谷歌等公司一样，思科是一个标准的斯坦福公司。斯坦福各个系都有自己联网的计算中心，网络之间通过一种叫路由器的设备连接。八十年代初，斯坦福两个不同系的计算中心主管里奥纳多•波萨克（Leonard Bosack）和桑迪•勒纳（Sandy Lerner）好上了。上面是事实，下面则是广泛流传的谣言。两个人要在计算机上互相写情书，由于各自管理的网络不同，设备又是乱七八糟，什么厂家的、什么协议的都有，互不兼容，情书传递起来很不方便，于是两人干脆发明了一种能支持各种网络服务器、各种网络协议的路由器。于是思科赖以生存的“多协议路由器”便诞生了。</p>
<p>听到这个谣言的人绝大多数都信以为真，因为它不仅夹杂着很多事实，而且合情合理。虽然，网络早有了，美国很多大学、公司和政府部门从七十年代起就开始使用局域网了，连接网络的路由器也早有了。但是，由于不同网络设备厂家采用的网络协议，每个公司都要推广自己采用的协议，没有公司愿意为其它公司做路由器。在互联网还没有普及时，这个问题不大，因为一个单位内部的网络基本上会采用相同的协议。在 1984 年，互联网还没有兴起，因此各个网络公司如 IBM 并没有注意到这种多协议路由器的重要性。</p>
<p>波萨克和勒纳后来结为了夫妇。夫妇两人非常聪明而勤奋，但是更非常幸运。在他们创办了思科公司的一年前，即 1983 年，美国自然科学基金会（NSF）刚刚投资建设了连接各个大学和美国几个超级计算机中心的广义网 NSFNet，即今天的互联网雏形。当时建设 NSFNet 的目的是让科研人员不需要出差到超级计算机中心就能通过远程登录而使用那些超级计算机。而思科创建的一年后，即 1985 年 NSFNet 就开始和商业网络对接。由于各大学、各公司的网络采用的协议不同，使用的设备也不同，因此对多协议路由器的需求一下子产生了。正在这时，1986 年思科推出第一款产品，连市场都不用开拓，就用于了刚刚起步的互联网。思科 Cisco 是旧金山英文名字 San Francisco 的最后五个字母，思科公司的图标正是旧金山的金门大桥，创始人的意思是要建起连接不同网络的桥梁。这对夫妇恐怕开始也没有想到以后思科能变成世界上最大的设备制造商。倒是硅谷著名的风险投资公司红杉风投（Sequoia Capital）看中了这个市场将来的潜力，给这对年轻夫妇投了资。红杉风投投资喜欢投给年轻的穷人，因为越是穷人越有成功的欲望和拼搏精神。红杉果然没有看错，到 1990 年，思科就成功地上市。</p>
<p><em>2007年12月14日 上午 12:55:00</p>
<p>发表者：Google（谷歌）研究员 吴军 </em></p>
<p>和我们前面介绍过的从 AT&#038;T 到微软的各公司相比，思科的发展是最一帆风顺的。思科早期成功的关键在于它的两个创始人在最合适的时机创办了一个世界上最需要的公司。假如思科早创立两年，它可能在市场还没有起来时就烧完了它的投资而关门了，反过来也一样，如果它迟了两年，就可能被别的公司占了先机。在思科还是一个小公司时，各大计算机公司各自有自己很大的市场，它们首先想的是在网络市场上打败对手们而不是研制包容各公司网络产品的路由器，因此，没有公司和思科争夺多协议路由器的市场。而等到互联网兴起时，思科已经占据了路由器市场的领先地位。</p>
<p>思科的幸运正好和以朗讯为代表的传统电信公司的不幸互补，互联网的兴起，使得世界上数据传输量急剧增加，而语音通话量下降。下图是从 1996 年到 2002 年世界数据通信量和语音通信量的对比，单位是 Gb/s。</p>
<p>在中国，固定电话市话的通话从 2005 年起甚至出现了下降。据中国信息产业部发布的统计数据，2005 年 1-11 月，固定电话本地通话时长比 2004 年同期增长 0.1%。信产部方面同时表示，固定本地电话通话量的增长中，小灵通通话量比去年同期增长 22.0%，所占比例从去年同期的 20.5% 上升到 25.0%。这实际上意味着传统的固定电话本地通话量实际上为负增长。而 2006 年对比 2005 年，市话的通话量进一步下降。这当然一方面是因为手机得以快速普及，另一方面数据传输抢了语音传输的市场。</p>
<p>浪潮之巅第一章“帝国的余辉”登出来后，有一些朗讯的朋友和我争辩认为他们公司还在发展，并不只有余辉。我讲，你们是在发展，而且从语音通信量上看，不到十年增加了一倍多也不算慢，但是语音通信在整个世界通信量中的比重从占统治地位降到一个附庸地位。全世界能花在通信设备上的钱数几乎是一个常数（以每年几个百分点增长），而越来越多的钱花在了数据通信设备例如思科的设备，而不是传统的程控交换机上，（更何况思科也在抢交换机的市场）。虽然朗讯也可以做类似思科用于互联网的产品，但是，它们在技术上已经没有了优势，在资金上严重短缺。思科扣除债务拥有一百六十亿美元的现金，而其他电信设备制造商如阿尔卡特/朗讯、北电等等，扣除债务后是零现金或者是负数。因此，思科自从诞生，就处在了一个想不挣钱都难的行业，而朗讯则进入一个神仙也没办法的时代。</p>
<p>思科幸运地站到了互联网革命的浪潮之巅，在互联网革命大潮的推动下，思科上市后仍然能保持强劲的增长势头。当然，思科能坐稳网络设备供应商的头把交椅，很大程度上取决于它非常特殊的文化。</p>
<p><em>2008年1月3日 下午 06:47:00</p>
<p>发表者：Google（谷歌）研究员 吴军</em> </p>
<p>思科上市后，两个创始人马上成了亿万富翁。思科今天的股价，是上市时的500倍。它早期的员工，只要在理财上不要太冒险，比如在互联网泡沫时代买了很多网络垃圾股（当时叫网络概念股），也成了千万富翁或者百万富翁。这些人在富有了以后很多会选择离开公司去创业或者干脆退休。事实上，思科的两个创始人自己已经选择了这条路，离开了公司。</p>
<p>一个成功的公司的早期员工是非常宝贵的财富。他们一般是一些非常爱冒险的人，否则他们不会选择加入新开办的甚至是还没有投资的小公司，他们技术和能力非常强，常常每个人可以独挡一面，因为早期的公司要求员工什么都得能干。他们同时对新技术非常敏感，否则他们在众多新兴公司中就不会挑选中那些日后成功的。但是，他们也有他们的弱点。他们虽然善于开创，但不善于或者不愿意守成，而后者对于一个大公司发展至关重要。他们做事快，但是不够精细，因为在公司很小时，抢时间比什么都重要。因此在公司发展到一定阶段，他们会和新的管理层发生冲突 —— 新的主管会觉得他们不好管。这就如同打江山的人未必能治理江山。这些员工很可能自己出去开公司。而即使留在公司的这些早期员工已经腰缠万贯，原先的动力也要大打折扣。因此，如何留住早期员工，并且调动他们的积极性，便成为了每一个上市的科技公司的难题。</p>
<p>另外，一个公司大到一定程度后，每个人的贡献就不容易体现出来，大锅饭现象几乎是全世界的通病。一些员工虽然有很好的想法，也懒得费功夫去推动它，因为自己多花几倍的时间和精力最多能多得百分之几的奖金。偶尔出来一两个人试图推动一下，又会发现在大公司里阻力很大。因此，有些员工一旦有了好的想法，宁可自己出来创业，也不愿贡献给自己的公司。这两个问题在硅谷普遍存在，而思科是这些问题解决得最好的公司。</p>
<p>思科的办法很像在大航海时代西班牙和葡萄牙国王对待探险者的做法。那时，包括哥伦布和麦哲伦在内的很多航海家都得到了王室的资助。这些冒险者，很多是亡命之徒，其航海的目的并不是为了名垂青史，而是为了实实在在的利益。他们和王室达成一种协议，一旦发现新的岛屿和陆地，则以西班牙或者葡萄牙王室的名义宣布这些土地归国王所有，同时国王封这些发现者为那个岛屿或者土地的总督，并授予他们征税的权力。这样一来，西班牙和葡萄牙王国的疆土就得以扩大。思科具体的做法是，如果公司里有人愿意自己创业，公司又觉得他们做的东西是好东西，就让他们留在公司内部创业而不要到外面去折腾，而思科会作为投资者而不再是管理者来对待这些创业的人。一旦这些小公司成功了，思科有优先权把它们买回来，思科的地盘就得到扩大。而这些独立的小公司的创办者和员工，又可以得到很高的回报。这样本来想离开思科出去创业的人也就不用麻烦了，接着上自己的班，只是名以上换了一家公司。当然，如果这些小公司没办好关门了，那么思科除了赔上一些风险投资的钱，没有额外的负担。这种做法不仅调动了各种员工尤其是早期员工的积极性，也避免这些员工将来成为自己的对手或者加入对手的阵营。</p>
<p>思科自己公布的从 1993 年起的收购超过百起，这没有包括很多小的收购。以 1999 年思科七十亿美元的天价收购 Cerent 公司为例。后者本身就是由思科前副总裁 Bhadare 创办的，从事互联网上数据传输设备制造的公司，并且在早期得到思科一千三百万美元的投资。Cerent 的技术和产品显然是思科所要的。事实上，从思科分出来的这些小公司比其它创业的公司更容易被思科收购。因为，一方面这些创始人最清楚思科要什么技术和产品，也最了解思科本身的产品以便为思科量身定做。另一方面，他们容易得到风险投资的支持，因为风投公司能看的清它们投的公司将来出路在哪里 —— 卖回给思科。所以，在硅谷一些想通过新兴公司发财上市和收购财的人，当看不准哪个公司有发财相时，简单的办法就是加入那些思科人，尤其是思科高管和技术骨干开的小公司。这一招在千禧年的前几年颇为灵验，当然这些弄潮儿还得让人家公司看得上。</p>
<p>在思科，人们经常会遇见自己“二进宫”甚者“三进宫”的同事。一个员工因为转到思科支持的小公司，从名以上讲暂时不算思科员工了，但是随着思科收购回那个小公司，这个员工再次“加入”思科了。这个员工出去转了几年，回到原来的位置，但是却腰缠万贯了。</p>
<p>思科通过这种做法，基本上垄断了互联网路由器和其它重要设备的技术。因为一旦有更新更好的技术出现，思科总是能有钱买回来。如果说微软是赤裸裸地直接垄断市场，那么思科则是通过技术间接垄断了互联网设备的市场。在一般人印象中，硬件生产厂家的利润不会太高，但是思科的毛利却高达 65%。不仅在整个 IT 领域大公司里排第二位，仅次于微软的 80%，而且远远高于一般人想象的高利润的石油工业（35%）。这种高利润只有处于垄断地位的公司才能做到。</p>
<p>大家也许会问，既然思科这种办法证明有效，为什么别的公司学不来。当然这一方面因为并非所有公司的领袖都有思科 CEO 钱伯斯（John Chambers）的胸怀和远见卓识，更重要的是思科的基因使然。思科自己的创建就是用到了两个创始人的职务发明。斯坦福大学当时虽然很想独占“多协议路由器”的发明，但是最终很开明地和两个发明人共享了这项技术。当然思科上市后，波萨克和勒纳为斯坦福捐了很多钱，除此以外斯坦福还拥有很多思科的股票，因此斯坦福和波萨克和勒纳通过思科的到了双赢。正是如此，思科能做到宽容员工用自己职务发明开办公司。另外，思科员工的发明，一般很难单独成为一种产品，而必须应用到现有网络通信系统或设备中，因此它们最好的出路就是卖给思科。所以，思科倒是不怕这些小公司将来反了天。</p>
<p>托尔斯泰讲，幸福的家庭都是相似的，不幸的家庭各有各的不幸。在信息工业中，这句话要反过来讲，成功的公司各有各的绝招，失败的公司倒是有不少共同之处。思科这种成功的做法，一般的公司是抄不来的。</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2008/01/internet-cisco/feed/</wfw:commentRss>
		</item>
		<item>
		<title>从落榜生到网络专家</title>
		<link>http://wp.boymg.com/2007/12/20071230-luobangsheng-wangluozhuanjia/</link>
		<comments>http://wp.boymg.com/2007/12/20071230-luobangsheng-wangluozhuanjia/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 15:41:51 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[互联网传奇]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/12/20071230-luobangsheng-wangluozhuanjia/</guid>
		<description><![CDATA[初一下学期无意中发现一本母亲单位发的“创造学”，系统的阐述了各种创造发明的理论和实例，这本书对我的影响不亚于基督教徒手不释卷的“圣经”，曾被浇灭的热情再次死灰复燃，于是... ]]></description>
			<content:encoded><![CDATA[<p>初一下学期无意中发现一本母亲单位发的“创造学”，系统的阐述了各种创造发明的理论和实例，这本书对我的影响不亚于基督教徒手不释卷的“圣经”，曾被浇灭的热情再次死灰复燃，于是乎开始照猫画虎，在课堂上放任自己的思绪天马行空般驰聘在幻想乐园…  <a href="http://wp.boymg.com/2007/12/20071230-luobangsheng-wangluozhuanjia/#more-23" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/12/20071230-luobangsheng-wangluozhuanjia/feed/</wfw:commentRss>
		</item>
		<item>
		<title>为何MPLS会成为组网的主流技术？</title>
		<link>http://wp.boymg.com/2007/12/why-mpls-become-main-technical/</link>
		<comments>http://wp.boymg.com/2007/12/why-mpls-become-main-technical/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 14:03:24 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[MPLS]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/12/why-mpls-become-main-technical/</guid>
		<description><![CDATA[MPLS会成为组网的主流技术，我要讲的已经不是一种预言，而是根据实际情况给网络技术的初学者阐述一下网络发展的脉络及对应各方面的因素。现在我们在网上可以接触到信息，其实对于初学... ]]></description>
			<content:encoded><![CDATA[<p>MPLS会成为组网的主流技术，我要讲的已经不是一种预言，而是根据实际情况给网络技术的初学者阐述一下网络发展的脉络及对应各方面的因素。现在我们在网上可以接触到信息，其实对于初学者而言，较难直接吸收和理解，如所谓MPLS属于第三代网络架构，是新一代的IP高速骨干网络交换标准；融合路由器和ATM交换机；MPLS和移动IP；通过MPLS实现IP和DWM的无缝对接；MPLS实现2层、3层VPN&#8230;..诸如此类，给初学者带来的均是模糊的概念，容易被搞晕乎了，进而产生不切实际的想法和迷信，对学习都是有害的。因此我尝试着重从推理和技术发展的规律来说明问题。</p>
<p>在过去的20-30年里，兴起的技术有很多种，有些技术刚开始出来满足了一些原来满足不了的需求，得到吹捧，但最终还是会消亡的很多，我们不单纯评判这些技术的价值，因为在当时来说，使用了这些技术确实解决了问题或者开创了新的思路，肯定是有价值的，曾经有多少个局域网是使用Novell NetWare组建的，现在不用IPX，但当时确实是靠它解决了很多问题。很多技术都是因为当时没有成熟的标准，各个厂家只能各自开发各自的协议，后来形成标准化的协议，何尝没有广泛吸收这些私有协议的优点和思路呢？今天很多“先进”的技术，其实在古老的被淘汰的技术上面也可看到相似的地方，它们之间前后响应的脉络是很清晰的。我们看待技术，要从大历史的眼光来看，不要落入所谓实用为主的俗套；不去分析技术的起源原因，也势必会使学习无法深入，到达精通的境地。这其实也就是为什么很多技术工程师都后面走不下去的原因，因为原来对技术掌握就是表面的，因此每项技术对他而言都是全新，到后面学习跟不上，就被淘汰了。因此我们要讲MPLS，并不是要讲这个技术如何如何好，以前的技术如何如何不好，那是没有意义的。总结起来说，MPLS会成为组网的主流技术，也就是其中的关键类技术，但绝不是唯一的技术，请大家先仔细阅读好这些，然后再看下面的。</p>
<p>MPLS会成为组网的主流技术的原因，我在课程里面也有多重的阐述和介绍，正好昨天刚编完《MPLS实验操作手册-第2册》，再做个简单的总结，使大家在学习前更清晰些：</p>
<p><strong>一、当前网络端口速率的瓶颈加速网络结构的变化</strong></p>
<p>网络的物理端口从1Mbps、10Mbps、100Mbps、1Gbps、10Gbps，每次增长都是10倍速的，介质也从铜逐渐转变光，但是到10Gbps这个速率之后，我们的网络端口速率想再往上走，就遇到一个极大的瓶颈，根据之前的发展速度，10Gbps后面，应该是100Gbps，光纤的载波能力固然没有问题，但是任何数据到最后进行处理的时候，都要转换成电，因为我们用的是“电”脑，CPU是电子CPU，也就是只能处理“电”信号，而处理不了光信号。而电子计算机有一个极限，或者说光电转换有一个极限，这个极限不是网络厂家就可以解决的了。目前我们看到最新型的端口是40Gbps（OC-768)，已经有产品出来，100Gbps的端口也许在3年内都无望看到具体的产品，也许最终会出来，但到此为止，也仍没有突破传输的瓶颈所在。真正要突破这个瓶颈，靠的是全光传输，全光交换，全光处理，光子CPU，也就是光脑。从电到光，不是量变，而是质变，我并非这方面的专家，只知道这些东西在概念上已经有了，硅谷新兴的光网络公司也是炙手可热。</p>
<p>这些技术，怎么时候广泛可以被实际采用，我们做网络的，不知道具体的日程表。而流量的增长，需求的增长，则是做网络技术的人直接面对着的，断口速率发展即使停了，流量增长的需求却不会停；我们无法解决光转电的瓶颈，但是我们可以改变网络的结构，以最大化扩展网络的性能和处理能量。这其实就是MPLS成为组网技术的大背景。MPLS实现的根本性目标：将一个大网做成1台大交换机；“尽可能地交换少路由”；抢先一步，在光交换网络成熟之前，满足现在网络建设的需求。传统的2层技术还无法实现这个目标，我们在讲多层交换时，也阐述了将多层交换网络全部迁移到全路由网的优势，其实也为进一步部署MPLS做好了准备。</p>
<p><strong>二、MPLS和IP的结合</strong></p>
<p>MPLS这项技术虽然没有被称为“IP MPLS”，但实际中，却完完全全是为IP服务的；我们知道IP是现在网络通讯的基础，没有任何一个国家的法律，要求通讯必需使用IP，但事实上的标准才是最强大的。未来所有的网络应用均基于IP是没有疑义的，MPLS以IP为服务对象，确保该项技术会得到最广泛的吸纳，或者反过来说也是成立的。以前ATM论坛提出一个7层模型，统一从桌面到交换到核心的网络通信，但其中的网络层就不是IP，这是该项技术并无法用来统一所有网络的根本原因。今时今日，我们只把ATM看作一个2层协议，连物理层、网络层都不算给它。</p>
<p>MPLS不管是和光集成、和ATM集成、和以太网集成，都脱离不了这个本质；这可以使现有网络结构有充分的过渡空间，也充分支持和现有网络并存。我们在讲MPLS体系结构时，也不要把它当成建设一种全新的网络来看待，而是完成网络结构迁移所使用的技术。</p>
<p>由于充分地依赖于IP，MPLS可以方便的和各种成熟的技术结合，比如说BGP、OSPF、ISIS、IPv6、Multicast，不削弱、不排斥原来技术的应用，而是起到一个相辅相成的作用，可广泛利用现有成熟协议，这是MPLS体系结构足够强大，支撑起新一代网络结构的有力保障。</p>
<p><strong>三、MPLS要实现的不是代替原有的VPN</strong></p>
<p>网上有一些言论，MPLS/VPN的实现起来很麻烦，还不如FR/ATM，一般用户不会广泛使用这种复杂的技术。所谓技术的复杂，对于懂的人，当然不会觉得复杂，集成的各项技术，都精通的人当然也少。但是我们从大历史的眼光来看待技术的发展，那么就会发现，技术越来越复杂，是专业分工发展的必然，我们现在用的操作系统的代码数量就是DOS 6.0的无数倍，CPU的晶体管数量也是在暴涨中，越来越复杂；但是对于最终用户，恰恰是用起来越来越简单、功能越来越强、性能越来越好！打火机使用液化气打火，古人用钻木取火，前面的技术比后面的复杂，但是却更简便。</p>
<p>MPLS的体系结构当然也是这样子的，专业的人会做专业的事情，以前最终用户自己管网络，或者说管主机、做开发的人兼管网络，但以后，网络规模很大，结构趋于复杂，当然就需要专业的人、精通的人来管了。不精专的技术人员，每隔几年就要换代，淘汰一批，我们虽然不愿意看到，但却是发展的必然。</p>
<p>网上也有言论只有运营商才需要部署MPLS，运营商确实是使用MPLS最早的用户，美国9大运营商已经有广泛的MPLS商业应用，全世界运营商100%已经部署了MPLS，但这不是我们要谈，运营商要提供VPN服务给客户，但是大的企业、大的网络也有VPN的需求，这种需求不是那种传统的VPN的需求，传统的VPN已经有很多种技术满足需求。VPN只是MPLS的一种应用，上面讲了，结构上的变化才是需求MPLS的根本驱动。比如说国外的银行买T640的有没有？部署MPLS的有没有？有！我们国内部署MPLS的很多地方，主要也是为内部提供服务的，这里面其实把运营商的概念泛化了，比如说大企业，经过专业分工的发展，会有核心的网络管理团队，把整个大网管起来，为各个部门提供服务，就相当于一个内部的小“运营商”，现在没有的，以后也会是这样。几年前我就到过几个银行做咨询（替国外的公司去打单，卖软件、硬件），给他们看看路由表，分析网络、流量，那都是例行的，而聊到网络结构发展引起内部人事的整合，没有不正襟危坐的。</p>
<p><strong>四、MPLS系由IETF发展</strong></p>
<p>很多介绍性质的文字，讲MPLS由Cisco等网络大厂主导。但这是不对的，IETF才是MPLS技术的主导者。IETF是一个工程师组织，负责制定互联网技术的开放标准，虽然一般人不会把IETF称作一个开源组织，但到目前为止，仍是发展互联网技术（下面3-4层）最为权威的机构，IETF形成的很多文档为RFC（意见征求书）均为公开。IETF这种非政府、非官僚、非厂家，开放型的组织可以确保其长期发展完善各项技术。有很多由厂家开发的技术，由于标准化程度不高，最终是没法推广开来的，在以前，网络设备的厂家可能会以拥有某项协议的自主知识产权为荣，现在的形势已经大变，如Cisco、Juniper这样的厂家大都转向严格保持和IETF公开标准一致的开发策略。</p>
<p>MPLS技术的发展和得到广泛应用，其实和这点关系很大，假如不是IETF，该项技术也很难在多厂家混合的网络环境中长期发展下去。MPLS体系结构里面，涉及到的各项协议，也无一不是经过历史考验的标准化技术。这其实也成为我们判断某项技术会否得到广泛使用的一个参考依据，能够集合100个聪明人不断研究改进的技术，比由1-2个人封闭式开发的技术得到广泛运用的概率，相对来说会高些。</p>
<p>这也会影响我们学习方向和重点，一旦判定某些技术属于厂家专有，并不会得到很广泛的运用的情况下，可以了解即可，当有需要的时候，再看不迟，所谓抓大放小，把真正的大框架稳固住，这是技术学习者刚开始就应该领会的。</p>
<p>以上这几点，或许对初学者加深对MPLS的理解和判断会有一定的作用，真正把技术学好。欢迎讨论。</p>
<p>&#8211;Powered by gotolab(马三友)</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/12/why-mpls-become-main-technical/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C/C++忠告（转载）</title>
		<link>http://wp.boymg.com/2007/10/c-zhonggao/</link>
		<comments>http://wp.boymg.com/2007/10/c-zhonggao/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 13:24:51 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/10/c-zhonggao/</guid>
		<description><![CDATA[... ]]></description>
			<content:encoded><![CDATA[<p> <a href="http://wp.boymg.com/2007/10/c-zhonggao/#more-20" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/10/c-zhonggao/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySQL创建表</title>
		<link>http://wp.boymg.com/2007/10/mysql-create-table/</link>
		<comments>http://wp.boymg.com/2007/10/mysql-create-table/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 16:13:06 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/10/mysql-create-table/</guid>
		<description><![CDATA[CREATE   TABLE   userinfo   (
      userid   int(11)   NOT   NULL   auto_increment,
      username   varchar(200)   NOT   NULL,
      friend   int(11)   NOT [...... ]]></description>
			<content:encoded><![CDATA[<p>CREATE   TABLE   userinfo   (<br />
      userid   int(11)   NOT   NULL   auto_increment,<br />
      username   varchar(200)   NOT   NULL,<br />
      friend   int(11)   NOT   NULL   default   &#8216;0&#8242;,<br />
      PRIMARY   KEY     (userid)<br />
  )   ENGINE=MyISAM   DEFAULT   CHARSET=utf8;</p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/10/mysql-create-table/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP获取当前URL</title>
		<link>http://wp.boymg.com/2007/10/php-get-current-url/</link>
		<comments>http://wp.boymg.com/2007/10/php-get-current-url/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 09:20:46 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/10/php-get-current-url/</guid>
		<description><![CDATA[... ]]></description>
			<content:encoded><![CDATA[<p><?php<br />
  echo   'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];<br />
?></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/10/php-get-current-url/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP的日期时间函数date()</title>
		<link>http://wp.boymg.com/2007/10/php-date/</link>
		<comments>http://wp.boymg.com/2007/10/php-date/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 08:48:00 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/10/php-date/</guid>
		<description><![CDATA[1，年-月-日
echo date(&#8217;Y-m-j&#8217;);
2007-02-6... ]]></description>
			<content:encoded><![CDATA[<p>1，年-月-日<br />
echo date(&#8217;Y-m-j&#8217;);<br />
2007-02-6<br />
 <a href="http://wp.boymg.com/2007/10/php-date/#more-17" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/10/php-date/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;水果&#8221;公司的复兴 （乔布斯和苹果公司）（四）</title>
		<link>http://wp.boymg.com/2007/09/qiaobusi_apple4/</link>
		<comments>http://wp.boymg.com/2007/09/qiaobusi_apple4/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 06:19:27 +0000</pubDate>
		<dc:creator>boymg</dc:creator>
		
		<category><![CDATA[互联网传奇]]></category>

		<guid isPermaLink="false">http://wp.boymg.com/2007/09/qiaobusi_apple4/</guid>
		<description><![CDATA[... ]]></description>
			<content:encoded><![CDATA[<p> <a href="http://wp.boymg.com/2007/09/qiaobusi_apple4/#more-16" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wp.boymg.com/2007/09/qiaobusi_apple4/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
