<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>江哥博客</title>
	<atom:link href="http://zyj.me/feed" rel="self" type="application/rss+xml" />
	<link>http://zyj.me</link>
	<description>Still Beileve in Code</description>
	<lastBuildDate>Fri, 27 Apr 2012 06:22:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>RFID与NFC的关系</title>
		<link>http://zyj.me/article/rfid-vs-nfc</link>
		<comments>http://zyj.me/article/rfid-vs-nfc#comments</comments>
		<pubDate>Fri, 27 Apr 2012 06:21:25 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[RFID]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=538</guid>
		<description><![CDATA[射频识别(Radio Frequency Identification，RFID，电子标签)、近场通信(Near Field Communication，NFC)是比较火热的两个关键字，两者都是标签技术(Tagging)。]]></description>
			<content:encoded><![CDATA[<p>射频识别(Radio Frequency Identification，RFID，电子标签)、近场通信(Near Field Communication，NFC)是比较火热的两个关键字，两者都是标签技术(Tagging)。</p>
<div id="attachment_539" class="wp-caption aligncenter" style="width: 212px"><a href="http://zyj.me/wp-content/uploads/2012/04/epc-rfid-tag.jpg"><img class="size-full wp-image-539" title="epc-rfid-tag" src="http://zyj.me/wp-content/uploads/2012/04/epc-rfid-tag.jpg" alt="" width="202" height="129" /></a><p class="wp-caption-text">epc-rfid-tag</p></div>
<p>RFID是一种非接触式的识别技术，分为有源和无源两种。主要的工作原理是，RFID阅读器发出射频，经过电子标签的线圈，产生信号，阅读器读取信息并解码，完成整个识别过程。通常，有源标签（主动标签）也可以主动发出信号。RFID系统主要由阅读器(<em>Reader</em>)和应答器(<em>Transponder</em>)组成。</p>
<p>NFC是近年来在手机上应用较多的技术，主要是两个NFC设备之间，在相当近的距离内靠近时，互相交互信息，并完成对应的交易等功能。NFC最大的特点是将阅读器和应答器整合到同一个芯片中。</p>
<p>两者的关系是，可以认为NFC是RFID的一个子集，即通信距离在10cm或4inch以内的RFID是NFC。这种区别主要是由于，在一些设计现金支付、信用卡的应用中，RFID的通信距离情况下，其他设备也可以收到个人RFID信息，存在不安全因素；这就是NFC提出的原因。如果使用一些特殊的信号采集设备，可以在相当远的距离外读取到RFID的信息。</p>
<p>总结如下：</p>
<ol>
<li>NFC是RFID技术的一个扩展；</li>
<li>RFID可以在数米的距离内收发信息而NFC仅允许10厘米的安全距离；</li>
<li>RFID的应用范围很大，而NFC仅在需要安全的情况下使用；</li>
<li>很多手机已经装备了NFC设备。</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/rfid-vs-nfc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 8 Customer Review体验记</title>
		<link>http://zyj.me/article/windows-8-customer-review-experience</link>
		<comments>http://zyj.me/article/windows-8-customer-review-experience#comments</comments>
		<pubDate>Thu, 01 Mar 2012 11:49:54 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=522</guid>
		<description><![CDATA[有MWC的这几天感觉生活也充实了起来，开始追踪各种花样八卦电子新闻。最幸福的当然还是2月末的这几天，期待已久的Windows 8发布，Ubuntu 12.04 beta1也在3月1号发布，以及，等待多年的《三国志12》也即将腾空出世。]]></description>
			<content:encoded><![CDATA[<p>有MWC的这几天感觉生活也充实了起来，开始追踪各种花样八卦电子新闻。最幸福的当然还是2月末的这几天，期待已久的Windows 8发布，Ubuntu 12.04 beta1也在3月1号发布，以及，等待多年的《三国志12》也即将腾空出世。</p>
<p>上午一阵倒腾，直接裸盘安装Windows 8。相信Windows 8是有根据的，首先，由Windows 7到Windows 8的内核基本没太大区别，自然应当相信新系统的稳定性和兼容性；第二，已经体验过Windows 8 Developer preview，除了一些设计上的瑕疵，稳定性倒是没有太大的问题。这次Windows 8果然没有让人失望，裸机运行良好，而且，当看到微软针对Sandbridge提供的HD 3000集成显卡驱动时，眼泪哇哇的。。</p>
<div class="wp-caption aligncenter" style="width: 810px"><a href="http://zyj.me/wp-content/uploads/2012/03/metro.png"><img title="metro" src="http://zyj.me/wp-content/uploads/2012/03/metro.png" alt="" width="800" height="480" /></a><p class="wp-caption-text">Metro无码大图</p></div>
<p>顺便逛了一下Windows 8应用商店，贴上几张QQ和人人网的应用图。</p>
<div id="attachment_532" class="wp-caption aligncenter" style="width: 810px"><a href="http://zyj.me/wp-content/uploads/2012/03/Windows-8-QQ.png"><img class="size-full wp-image-532" title="Windows 8 QQ" src="http://zyj.me/wp-content/uploads/2012/03/Windows-8-QQ.png" alt="" width="800" height="450" /></a><p class="wp-caption-text">QQ on Win8的表现还很一般般</p></div>
<div id="attachment_533" class="wp-caption aligncenter" style="width: 810px"><a href="http://zyj.me/wp-content/uploads/2012/03/renren.png"><img class="size-full wp-image-533" title="renren" src="http://zyj.me/wp-content/uploads/2012/03/renren.png" alt="" width="800" height="450" /></a><p class="wp-caption-text">人人网的App感觉审美感很不好啊，上图</p></div>
<p>&nbsp;</p>
<div id="attachment_534" class="wp-caption aligncenter" style="width: 810px"><a href="http://zyj.me/wp-content/uploads/2012/03/one-of-three.png"><img class="size-full wp-image-534" title="one of three" src="http://zyj.me/wp-content/uploads/2012/03/one-of-three.png" alt="" width="800" height="450" /></a><p class="wp-caption-text">比较好用的三分屏界面</p></div>
<p>总体上感觉，Windows 8确实名副其实，给人带来的震撼甚至超出Windows 7发布时对vista的改进。</p>
<h2>兼容性方面</h2>
<p>兼容性方面，个人测试了一下午，并打了局DOTA，感觉基本完美，无可挑剔。</p>
<p>除了一些比较老的软件如迅雷给IE 10的插件不兼容，其他都没有问题。</p>
<h2>效率方面</h2>
<p>个人感觉，工具带来的工作效率每每随着微软新系统的发布而提高，这次Windows 8也是这样。</p>
<p>尤其是三分屏，非常方便，一边写paper一边聊天已经不需要任何切换。</p>
<h2>习惯方面</h2>
<p>很多人认为是针对平板开发的系统，可能PC使用很不习惯。我的感觉是：</p>
<p>经过一下午的训练，已经差不多适应这样“伪触屏”的效果，鼠标依然自如</p>
<p>&nbsp;</p>
<p>最后，考虑到Windows XP在中国的存活度，个人感觉Windows 8由于这些改变，在中国或许会遇到很大的阻力。尤其是例如在线帐户等等，在中国可能得不到应用。</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/windows-8-customer-review-experience/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12306自动登录和刷票助手汇总</title>
		<link>http://zyj.me/article/12306-autologin</link>
		<comments>http://zyj.me/article/12306-autologin#comments</comments>
		<pubDate>Mon, 09 Jan 2012 04:10:50 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[12306]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=518</guid>
		<description><![CDATA[刷刷绝对是天朝的特色，充分体现了天朝人民勤劳刻苦的品质。记得本科时候经常刷课，京东活动经常刷券，买火车票当然也要刷刷……当然，写在前面，刷票程序会严重的加大购票网站的负载，不是很必要的情况下，大家就不要用了。]]></description>
			<content:encoded><![CDATA[<p>刷刷绝对是天朝的特色，充分体现了天朝人民勤劳刻苦的品质。记得本科时候经常刷课，京东活动经常刷券，买火车票当然也要刷刷……当然，写在前面，刷票程序会严重的加大购票网站的负载，不是很必要的情况下，大家就不要用了。</p>
<h2>1. 刷票脚本类</h2>
<p>推荐下：软件源自<a href="http://www.u-tide.com/fish/soft/44/">http://www.u-tide.com/fish/soft/44/</a>，感谢作者以及之前作者的贡献！</p>
<h3>Chrome版本：</h3>
<p>http://www.u-tide.com/fish/Service.asmx/Download/44/45/12306_ticket_helper_for_chrome.user.js</p>
<h3>Firefox版本：</h3>
<p>http://www.u-tide.com/fish/Service.asmx/Download/44/46/12306_ticket_helper_for_firefox.user.js</p>
<p>说明：刷票脚本的操作都是基于浏览器，一般不会被识别为作弊；除极少数情况外，您的个人信息安全是有保障的。</p>
<h2>2. 独立刷票程序</h2>
<p>看到一个Go-Home的刷票脚本，下载在</p>
<p>http://code.google.com/p/go-home/</p>
<p>这类的刷票程序可能会被认为作弊；一般情况下，不会造成信息泄漏，大家可以用抓包程序看一下Go-Home的通信IP情况。</p>
<h2>3. 刷票网站</h2>
<p>这个的原理一般是把客户端的刷刷的工作转移到服务器端，服务器不断查询后操作。</p>
<p>主要有两个问题：</p>
<ul>
<li>信息安全不能保障，把明文的身份证号、密码等关键信息提交后，后果很严重；</li>
<li>容易被铁道部识别为作弊。</li>
</ul>
<p>就不推荐这类的刷票网站了。</p>
<h2>最后</h2>
<p>12306显然准备不足，架构设计一团糟；技术宅林林总总的刷票工具，从伦理上来说自然有负面影响，但我个人认为积极意义或许在于促进铁道部改善购票网站的架构和负载能力吧，多像Taobao看齐~</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/12306-autologin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在12306买火车票的小技巧</title>
		<link>http://zyj.me/article/12306-huoche-tips</link>
		<comments>http://zyj.me/article/12306-huoche-tips#comments</comments>
		<pubDate>Wed, 28 Dec 2011 09:04:54 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[12306]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=507</guid>
		<description><![CDATA[12306.cn上线后买票确实方便了不少，但政府部门的网站天下一般黑，各种Bug和拒绝服务不断，木有办法啊~~不知道有木有同学看到12306就有一种帮他改版的冲动。。分享一点购票的小Tips。]]></description>
			<content:encoded><![CDATA[<p>12306.cn上线后买票确实方便了不少，但政府部门的网站天下一般黑，各种Bug和拒绝服务不断，木有办法啊~~不知道有木有同学看到12306就有一种帮他改版的冲动。。分享一点购票的小Tips。</p>
<h2>12306遇到的各种Bugs</h2>
<h3>1. 12306购票不能打开</h3>
<p>这个原因是12306主站基本是一个静态页面，可以承受较大负载。处理购票的server是jsp，负载承受能力有限。</p>
<p>因此，会经常出现502 Bad Gateway asfep等信息。（asfep表示木有听说过，估计是基于nginx类似的修改而来）。</p>
<p>可以试试直接打开<a href="https://dynamic.12306.cn/otsweb/">https://dynamic.12306.cn/otsweb/</a>，如果人品够好的话。</p>
<h3>2. 为保障您顺畅购票，请下载安装根证书。</h3>
<p>学过PKI的同学都知道神马原理把。。这句话果断霸气逼人，登一下网站还要装它的root证书。。</p>
<p><del datetime="2012-01-04T06:31:28+00:00">铁道部不至于连一个Verisign的证书都买不起吧，或者是鄙视Verisign？</del><br />
<strong>Update: 没有注意到12306是使用了<a href="http://www.chinanetcenter.com/">网宿科技</a>CDN的，所以https不好控制吧。</strong></p>
<p>安全的忽略之，继续。</p>
<h3>3. 浏览器点购票后提示证书错误</h3>
<p>必须的，铁道部证书的root是自己的，各个浏览器均会认为不安全。添加为例外或者继续（一般均有这个选项）</p>
<p>安全的忽略之，继续</p>
<h3>4. 只显示安全内容</h3>
<p>出现这个错误的原因让人哭笑不得，铁道部实际购票的内容是放在frame中的。如果在https的页面出现了http的请求，会提示有安全风险。</p>
<p>安全的忽略之，继续</p>
<h3>5. IE9看起来异常凌乱</h3>
<p>如上图，木有办法，指望12306兼容IE9是不可能的，我们只能去兼容12306。点击一下IE地址栏右侧的使用兼容模式浏览（IE8）即可。</p>
<h3>6. Chrome提示dynamic.12306.cn/otsweb/ 拒绝访问</h3>
<p><code><br />
The webpage at https://dynamic.12306.cn/otsweb/ might be temporarily down or it may have moved permanently to a new web address.<br />
Error 501 (net::ERR_INSECURE_RESPONSE): Unknown error.<br />
</code><br />
原因同3，真正对购票有用的网址是在<a href="https://dynamic.12306.cn/otsweb/">https://dynamic.12306.cn/otsweb/</a>，Chrome的安全策略不允许这种frame内嵌吧。</p>
<p>可以直接打开<a href="https://dynamic.12306.cn/otsweb/">https://dynamic.12306.cn/otsweb/</a>，正常购票。</p>
<h3>7. 当前访问用户过多，请稍后重试！</h3>
<p>这应该也是12306被诉扣钱不出票后的一个措施，控制同时在线的数量，防止系统Bug。</p>
<p>基本上没有太好的办法，可以多开几种浏览器一起试试，如IE、Firefox、Chrome、Opera。</p>
<p>原理同电话订票用多个电话同时拨号，略过。</p>
<h3>8. IE等偶尔出现无法匹配</h3>
<div id="attachment_512" class="wp-caption aligncenter" style="width: 229px"><a href="http://zyj.me/wp-content/uploads/2011/12/no-related-BJN.png"><img class="size-full wp-image-512" title="no-related-BJN" src="http://zyj.me/wp-content/uploads/2011/12/no-related-BJN.png" alt="" width="219" height="214" /></a><p class="wp-caption-text">无法匹配北京南</p></div>
<p>这个问题也是最变态的问题。偶尔的，输入出发地和目的地之后，提示无法匹配。这个原因是jQuery出现了错误，难得铁道部的网站还知道jQuery啊。。这个jQuery的作用无非是把输入的“北京南”或者“BJN”转化为火车站的代码，例如，选择北京南之前，如下：</p>
<div id="attachment_513" class="wp-caption aligncenter" style="width: 553px"><a href="http://zyj.me/wp-content/uploads/2011/12/BJN_none.jpg"><img class="size-full wp-image-513" title="BJN_none" src="http://zyj.me/wp-content/uploads/2011/12/BJN_none.jpg" alt="" width="543" height="111" /></a><p class="wp-caption-text">IE查看元素</p></div>
<pre>&lt;input id="fromStation" type="hidden" name="orderRequest.from_station_telecode" /&gt;</pre>
<p>正常选择后，该代码变为</p>
<div id="attachment_514" class="wp-caption aligncenter" style="width: 699px"><a href="http://zyj.me/wp-content/uploads/2011/12/BJN_set.jpg"><img class="size-full wp-image-514" title="BJN_set" src="http://zyj.me/wp-content/uploads/2011/12/BJN_set.jpg" alt="" width="689" height="90" /></a><p class="wp-caption-text">Chrome查看元素</p></div>
<pre>&lt;input id="fromStation" type="hidden" name="orderRequest.from_station_telecode" value="VNP" /&gt;</pre>
<p>由于jQuery也是前端操作，所以直接用Firebug、Developer Tools修改一下Value就OK了，已经试验成功。</p>
<p>发现的错误基本就这些吧，我们不能改变铁道部，只能改变自己。</p>
<h2>快速购票</h2>
<p>春运要来，铁道部网站必然崩溃，面临崩溃咋买到票呢？</p>
<h3>1. 如果可以，选择一个电信的网络</h3>
<p><del datetime="2012-01-04T06:31:28+00:00">铁道部真正购票的域名dynamic.12306.cn指向IP为122.228.243.22，地点竟然在温州电信。。</del><br />
<strong>Update：12306购票网站是使用CDN的，真实IP有待添加。感谢TianCheng Liu</strong></p>
<p>购票之前，先ping一下dynamic.12306.cn吧。</p>
<h3>2. 提前20-30分钟登录</h3>
<p>提前登录dynamic.12306.cn后，在预定窗口选好起始站、终点站、日期等等。</p>
<p>每隔一段时间一定要重新点一次查询，不仅仅因为可能提早放票，也是因为登陆后服务器端的session有时效，如果长时间没有活动，可能会被要求重新登陆，那么提前登录的效果就没有了。很多同学可能习惯性的9点钟登录等10点钟购票已经被要求提前登录了。</p>
<h3>3. 直接打开购票网址</h3>
<p>前面已经说过，铁道部真正对购票有用的网址是<a href="https://dynamic.12306.cn/otsweb/">https://dynamic.12306.cn/otsweb/</a>，www.12306.cn都是一些静态内容，无关紧要。果断收藏吧。</p>
<h3>4. 不要用低版本的浏览器</h3>
<p>原因是，铁道部网站是jQuery写的，低版本浏览器例如IE6稳定性很不好，很容易不兼容。可以选择用IE8、9或者Chrome等打开。</p>
<p>顺便补充一句，今天下午遇到小高峰，预定的时候IE9一直出现上述错误7，后来发现Chrome下竟然可以，木有仔细究其原因。</p>
<h3>5. 选择出发地和目的地</h3>
<p>如果遇到上述错误7，可以用直接修改DOM元素。这个是技术问题，自行Google吧，相信大部分了解Web的同学都懂的。当然，准备好一份出发地和目的地的telcode还是很有必要的。</p>
<p>例如，北京南-&gt;VNP……（请铁路系统的同学解释下，北京南为毛是VNP？）</p>
<h3>6. 按钮不要点多次，木有用</h3>
<p>12306所有的按钮都是jQuery发送请求，所以点多了也木有用。相反，点多了可能会出错误。</p>
<p>Hold住你的鼠标，狠狠地点一下，就等吧。例如，在登录的时候，如果多点几下，由于服务器端session有变化，估计会提示验证码错误。</p>
<h3>7. 支付</h3>
<p>额，支付。。推荐用招行吧，用Chrome浏览器，选招行手机银行，顺利支付之。</p>
<h2>春运预售期</h2>
<p>附送一个春运购票期。。</p>
<div id="attachment_517" class="wp-caption aligncenter" style="width: 730px"><a href="http://zyj.me/wp-content/uploads/2011/12/chunyun.jpg"><img class="size-full wp-image-517" title="chunyun" src="http://zyj.me/wp-content/uploads/2011/12/chunyun.jpg" alt="春运火车票预售期" width="720" height="540" /></a><p class="wp-caption-text">春运火车票预售期</p></div>
<p>&nbsp;</p>
<h2>Update:</h2>
<p>2012.01.05 今天实际抢票，果断木有抢到动车只能被迫高铁。实际测试，Firefox的稳定性还是比IE及Chrome好一些，也可能我Chrome版本相对高一些。猜测12306测试主要是基于IE6~8以及Firefox进行的。</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/12306-huoche-tips/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>搭建IPv6的L2TP VPN</title>
		<link>http://zyj.me/article/ipv6-l2tp-vpn</link>
		<comments>http://zyj.me/article/ipv6-l2tp-vpn#comments</comments>
		<pubDate>Fri, 09 Dec 2011 16:17:14 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[IPV6]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=500</guid>
		<description><![CDATA[使用VPNCUP等第三方VPN服务已经有一段时间了，但是除了openvpn以外，很少有支持IPv6的服务。可以用VPS搭建一个支持IPv6的VPN，一方面可以break the wall，另一方面也可以摆脱学校的上网流量限制。选择L2TP的另一个原因是：相对OPENVPN比较节省VPS端资源，毕竟是采用的廉价VPS。]]></description>
			<content:encoded><![CDATA[<p>使用VPNCUP等第三方VPN服务已经有一段时间了，但是除了openvpn以外，很少有支持IPv6的服务。可以用VPS搭建一个支持IPv6的VPN，一方面可以break the wall，另一方面也可以摆脱学校的上网流量限制。选择L2TP的另一个原因是：相对OPENVPN比较节省VPS端资源，毕竟是采用的廉价VPS。</p>
<p>分享下整个过程，vps是使用的Enzu的384M RAM版本，在LA机房IPv6的ping6值只有200左右，IPv4的ping值国内大多在250左右，已经很给力了。</p>
<h3>1. 下载xl2tpd-1.2.4-ipv6.tar.gz</h3>
<p>L2TP一般都采用xl2tpd来处理，貌似直到最新版本，仍然没有官方支持IPv6的版本出现；在这里感谢下<a href="http://blog.lifetoy.org/2009/09/11/vpn-over-ipv6/&amp;sig2=wXGHoqHGTdMFfw6lEkfTUw">寒山远水</a>分享的diff，基于xl2tpd-1.2.4版本，整理了下patch之后的<a href="http://zyj.me/wp-content/uploads/2011/12/xl2tpd-1.2.4-ipv6.tar.gz" target="_blank">xl2tpd-1.2.4-ipv6.tar.gz</a>，方便大家下载。</p>
<h3>2. 解压xl2tpd-1.2.4-ipv6.tar.gz，make，install。</h3>
<p>可能会出现找不到pcap.h等问题，可以“apt-get install libpcap0.8-dev”</p>
<p>install 之后的目录是在/usr/local/sbin/xl2tpd</p>
<h3>3. 处理xl2tpd的配置</h3>
<p>cd /etc/ppp/（如果没有可以sudo apt-get install ppp）<br />
sudo vi options.xl2tpd<br />
推荐一份测试可用的配置，详细配置内容参考http://poptop.sourceforge.net/dox/options.pptpd.txt</p>
<pre>
noipx
mru 1500
mtu 1420
nodefaultroute
ms-dns 8.8.8.8
ms-wins 8.8.8.8
lcp-echo-interval 30
lcp-echo-failure 10
noproxyarp
nobsdcomp
nodeflate
</pre>
<p>sudo mkdir /etc/xl2tpd<br />
sudo vi xl2tpd.conf<br />
简单推荐一份可用的配置，详细内容参考http://linux.die.net/man/5/xl2tpd.conf</p>
<pre>
[global]
access control = yes
[lns vps]
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
assign ip = yes
hostname = vps
ip range = 192.168.0.100-192.168.0.254
local ip = 192.168.0.1
challenge = no
lac = 0.0.0.0-255.255.255.255
require authentication = yes
</pre>
<h3>4. 可能出现的错误</h3>
<pre>xl2tpd[748]: setsockopt recvref[22]: Protocol not available
xl2tpd[748]: This binary does not support kernel L2TP.
xl2tpd[748]: open_controlfd: Unable to open /var/run/xl2tpd/l2tp-control for reading.
</pre>
<p>前两个错误可以忽略（已证实），第三个错误很显然，</p>
<p>mkdir /var/run/xl2tpd<br />
echo &#8220;c vps&#8221; > /var/run/xl2tpd/l2tp-control</p>
<h3>5. iptables转发</h3>
<p>以上应该已经可以使用ipv6连接到l2tp的vpn，但不能访问网络。执行下面：</p>
<pre>
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
</pre>
<h3> 6. 自动运行</h3>
<p>我用的VPS同时在做Webserver，所以不太倾向于开机自启动l2tp服务。所以把一些bash都放在了bash文件中，手动执行吧。</p>
<pre>
#!/bin/bash
mkdir /var/run/xl2tpd
echo "c vps" > /var/run/xl2tpd/l2tp-control

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
/usr/local/sbin/xl2tpd
</pre>
<h3>7. 客户端配置</h3>
<p>主要是在Windows 7下的配置：</p>
<div id="attachment_502" class="wp-caption aligncenter" style="width: 387px"><a href="http://zyj.me/wp-content/uploads/2011/12/l2tp-settings.png"><img class="size-full wp-image-502" title="l2tp-settings" src="http://zyj.me/wp-content/uploads/2011/12/l2tp-settings.png" alt="" width="377" height="446" /></a><p class="wp-caption-text">L2TP在Windows 7下的配置</p></div>
<p>在Windows XP下不允许非IPSec方式连接l2tp，需要修改注册表，重启机器</p>
<p>HKEY_Local_MachineSystemCurrentControlSetServicesRasManParameters下，添加：</p>
<p>类型：reg_dword，名称：ProhibitIpSec，值：1</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/ipv6-l2tp-vpn/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>发一发SONY Japan的面经</title>
		<link>http://zyj.me/article/sony-japan-interview-experience</link>
		<comments>http://zyj.me/article/sony-japan-interview-experience#comments</comments>
		<pubDate>Sat, 03 Dec 2011 09:00:14 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[SONY]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=494</guid>
		<description><![CDATA[今天去索尼中国研究院参加了offer meeting，硕士找工作正式告一段落。“发面经，攒人品”，本想在面试完当天发出来，后来觉得怕是一个失败案例误导到大家，就保留到今天正式签了offer再来回忆着写。]]></description>
			<content:encoded><![CDATA[<p>今天去索尼中国研究院参加了offer meeting，硕士找工作正式告一段落。“发面经，攒人品”，本想在面试完当天发出来，后来觉得怕是一个失败案例误导到大家，就保留到今天正式签了offer再来回忆着写。</p>
<p>详细回忆下整个过程，送给后来的师弟们，也特别感谢实验室田老师等众师兄的支持。</p>
<div id="attachment_495" class="wp-caption aligncenter" style="width: 610px"><a href="http://zyj.me/wp-content/uploads/2011/12/SONY-Believe.jpg"><img class="size-large wp-image-495 " title="SONY Believe" src="http://zyj.me/wp-content/uploads/2011/12/SONY-Believe-768x290.jpg" alt="" width="600" height="226" /></a><p class="wp-caption-text">SONY make.believe</p></div>
<h2>先来说说索尼日本</h2>
<p>用一些前辈的话说，“Not good enough, but enough for me”。是的，趁年轻学一门语言，能去一个跨国公司总部，以及一个肉身翻墙的机会，何乐而不为呢？并且，从心理上讲，我个人还是很尊敬SONY的，是科学更是艺术，不管它市值如何以及未来的前景，我都想去体验一下。23岁，在三年制硕士中处于相对年轻的年龄段，我觉得可以大胆的尝试。</p>
<p>当然，SONY给的待遇还是不错的，SONY为新的应届硕士总共付出600W日元（50W人民币），当然是很虚的数字，连运费、日语培训等等都算进来了，实际拿到的另当别论，跟国内公司没有可比性。</p>
<p>很多人说日企累，而且森严的等级制度等等，没有自由空气，诚然。但是，面对越来越散漫的我们，面对苦逼无力的硕士生活，我更希望能有一种强制的力量规范一下人生态度，等等。实验室的李东师兄一直建议我：工作可以不用太好，但起步一定要规范，深受其教。</p>
<h2>索尼日本的流程</h2>
<p>今年的面试流程非常简单，一面、二面、笔试都是一天，北京11月17号，上海11月19号，口头offer是21号发出。</p>
<h3>宣讲会</h3>
<p>最早没有关注过索尼的招聘，更不知道还有SONY Japan的招聘，倒是参加过一个Works Applications的日企笔试。了解到SONY Japan的招聘是接到一个电话，对方非常客气的跟你确认是否参加周N晚7点的宣讲会，嘴一抽筋就答应了，爆汗。后来有个本科同学也被通知来我们这边参加宣讲会，所以就一起去了。其实这也反映了日企做事的严谨，通知到每一个人，确定到每一步。宣讲会获得的最重要的信息：钱多。当时比较傻，前几届一个师兄的语录：做码农的，钱多才是王道。其它的，感觉索尼确实蛮有气氛的。</p>
<h3>投简历</h3>
<p>宣讲会结束，开始了漫长的YY过程。开始并没有正式考虑过这个公司，只是跟实验室兄弟们开玩笑：到了日本，可以给你带货，帮你拜见苍老师，等等。这段YY之后，差不多真的想去索尼日本了。</p>
<p>我想找工作的同学都有这样一种感觉，One never knows where he wants to go, until there&#8217;s a lighthouse shinning in the heart. 加之实验室田老师的鼓动，慢慢的对索尼有了比较高的期待，并由此开始了一系列的准备工作，包括去索爱参加了笔试和面试（遗憾不是英文的）、参加索尼中国的笔试，等等。</p>
<p>网申截止是10月30日，我是在10月29日才提交的网申。原因是估摸着简历可能海量，HR筛选到最后还剩几份的时候可能会多浏览几眼。SONY Japan的网申相当冗长，3段500 words以内的描述，不好意思写太少，比写500字中文难多了。也相信这是很多同学放弃投索尼的原因之一吧。</p>
<p>个人感觉，网申是SONY Japan招聘过程中非常重要的环节，特别是笔试面试一起进行的时候，简历筛选率很高。分享几个Tips：名校的身份是一个挡箭牌，这个无须多言；其次，如果通过了日语级别考试，也是很重要的加分点；此外，简历的三段描述个人感觉还比较重要，写的简洁地道为上，可以找经常写paper的博士师兄改一些。再次thank田老师。</p>
<h3>一面</h3>
<p>面试已经过去两周了，但仍然记忆犹新，或许是我发挥最好的面试之一。当天下午一点的面试由于我误打误撞调整到了上午十一点，没有等待时间也没有焦虑，比较有助于我这种心理素质不好的同学自如发挥。</p>
<p>As usual, 面试跟网传的攻略木有任何出入，流程感觉非常熟悉：</p>
<ol>
<li>Introduction.</li>
<li>Project Presentation.</li>
<li>Open Question.</li>
<li>Your question about SONY.</li>
</ol>
<p>罗嗦了几句，对于我这种形象极差的伪技术宅来讲，当天衣着也算是合适。木有正装，穿了个街版的翻领黑外套+淡黄色衬衣，还有点正式的感觉。网传日企比较重视这个。顺便，当天下雨，剽窃了温总的招牌：“今天天很冷，可我的心是热的，因为我……”，个人简介临场发挥吧。</p>
<p>之后是Project Presentation，讲了个协议栈的项目，白板上讲。事先准备比较充分，所以非常顺利，以至于面试官主动帮我讲，估计他也很懂，我一直引用一些名词，例如RIP(Routing Information Protocol)，然后不停的It&#8217;s famous, is it? It&#8217;s popular now, right? 面试官一直点头，最后说，Your presentation is quite clear.</p>
<p>Open Question部分还是比较有挑战，举个例子给大家一点启示：You are a team leader, some member are talent, but some are of course not. What will you do? 这个问题显然是意图暴露面试者的价值观吧。当时大脑一抽筋就随口说：Have a talk with them。当时HR立刻变色，问我，call them together and give a talk? 赶紧解释，No, No, just a face-to-face talk. I want to let the talent one to know they are important in the team, and…… 之后，急中生智吧，来了一段，You know，No bad student, but only bad teachers, If this happens I will check what&#8217;s wrong with myself……这个效果非常好，最后，貌似是HR的面试官说，This is really a difficult question, but you give an perfect answer. 尼玛，原来演戏我还很在行的，早知道当年多参加点这类活动风骚一把。</p>
<p>最后我问了几个问题，都是提前准备的。</p>
<ol>
<li>SONY bought back the other 50% share of SonyEricssion, does that mean the music shelf or iPod Dock will be availble for future Android smart phones?<br />
这个问题意图很明显，显示一下我很关注SONY，很了解产品特别是本部门的产品。效果很好，两个面试官抢答。</li>
<li>Does SONY have a cloud computing plan? ……<br />
额，吹嘘一下自己很前卫吧。顺便继续说关于Music的Cloud Computing，毕竟是本部门。</li>
</ol>
<p>一面，握手结束。</p>
<h3>笔试</h3>
<p>一面后，领到其他小屋，开始笔试。</p>
<p>尼玛，莫非有神灵相助？SONY的笔试题竟然跟Works Applications的……</p>
<p>一向是做题快，十分钟搞定所有问题，然后检查了三遍，木有提前交卷。应该满分木有问题吧，都是小学数学题。</p>
<p>笔试结束的时候，索尼中国的HR MM进来找***，就是偶了（开始以为投外企要用英文名字，木有想到大家都用拼音，囧死），说一面过了，下午稍作休息来二面。</p>
<h3>二面</h3>
<p>二面相当严肃啊，搬了个凳子让某在门外坐等，HR MM去敲门，然后就进去了……</p>
<p>一个很有Japanese风范的HR，应该职位不低，部长？一开始，问了How do you think about the previous interviewer? 不假思索说了句easy to communicate，然后觉得很2X，赶紧补了句他们非常有知识，我有很多东西可以从他们身上学习，等等。</p>
<p>比较戏剧性的，又被问到了那个team leader的问题，其实很抱歉，这个问题真的木有准备过。没关系，刚刚被赞了个perfect，立刻复述了遍。讲不要太打击lazy ones，鼓励等等，最后，侥幸的加了句after all, I agree with the more work, more gains. 然后，部长HR说，more……is good, this is very important for SONY，尼玛，差点踩地雷，都言日企累，果然重视hard working，不能共产主义的大平均做法纵容lazy ones.</p>
<p>二面的一个转折点是下面这个问题：Could you describe your leadership in some project? 我想这个问题回答的非常棒，把responsibility、creativity都融合到一起了，并且大脑突然闪过觉得上学很多年，追求什么，是不是应当踏踏实实做点工作等等，然后富有感情的表达出来。说完之后，HR部长沉默了。之后就跟一般面试一样，记得硕士保送面试经常问“你喜欢打什么球”等等。</p>
<p>之后，一直酱油的问我your family……，your mother……，当然，木有问“你妈贵姓”，都是日本相关的问题。一一作答，木有波澜。</p>
<p>面试官总结了下，You&#8217;ve got a very good interview, if SONY gives you the offer, will you accept it? 当时大脑短路了，简单说了句Sure, I&#8217;m quite sure. 以前准备很久的肉麻的话统统没用，或许，面到这儿已经超脱了，自然了。</p>
<p>最后，依然是My question。问了两个：</p>
<ol>
<li>有多少外籍雇员？中国雇员有多少？对方回答的很精确，能了解到全景估计职位不太低。</li>
<li>跟水木的mogu学的，technology and sales，which would sony prefer? 当然，润饰了一下。</li>
</ol>
<p>握手结束，出门向前台等HR致谢，成败都表现一下礼节。</p>
<h3>Offer Call</h3>
<p>按照惯例，都是面试后的第一个星期一的下午。等了许久，木有消息，纠结，索性Google一下看到开心网的笔试，去霸了一把。也笔试过不少场了，经验积累不少，酣畅淋漓的提前50%交卷，潇洒闪人。</p>
<p>咨询了下清华的几个童鞋，同木有。稍淡定。晚饭期间，phone ringing, from Japan.</p>
<p>之后，一一把正在进行的各个面试婉拒。之前谈过一个创业公司的职位，收到重要的启示：你的态度真的是一种人品。</p>
<h2>总结</h2>
<p>上面写的比较多，比较水，第一次写面经，木有经验。</p>
<p>如果问我什么在这次经历中最重要，我想或许有这么几点：</p>
<ul>
<li>找工作的过程是一个自我发掘的过程。作为一个根基在通信的学生，做纯计算机的事情应该还是甚有压力。笔的不多，面的更少，被Google拒过，被Cisco拒过，被EMC拒过，参加过不同文化的公司的面试，也慢慢清楚了工作对自己意味着什么。或许不是一个简单的金钱价值，而是一个再学习、再塑造的过程。</li>
<li>Engineering。这也是在面试我不断用到的词。尽管很多东西了解不深，但我相信自己是一个很好的Engineer。我能够充分利用现有的能力和资源，ignoring my poor knowledge. 当然，当某个领域深深的吸引我的时候，还是很愿意深入的钻进去。</li>
<li>社会经验。不是愤青，很多同学做过各类的学生职位，例如团长、主席等等，但是我并不认为这是社会经验的全部。有几个朋友开小公司，一直跟他们密切联系，让我知道一个产品的利益链是如何分配，哪个环节究竟有什么影响；也让我知道什么是一个产业生态圈；以及，面对BOSS，如何表现自己，遇强则愈强。</li>
</ul>
<p>比较遗憾的：</p>
<ul>
<li>还是不够有礼貌，言谈举止以及其他。特别是，在面试结束的时候，是不是把椅子收一下这类的小问题。不是为了所谓的面试技巧，而是希望能有这样一种品质和人生态度。</li>
</ul>
<p><strong><span style="color: #ff0000;">最后，请任何同学、网站、论坛不要转载这个面经，仅供参考吧。</span></strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/sony-japan-interview-experience/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vmware tools与IPV6冲突的解决</title>
		<link>http://zyj.me/article/vmware-tools-ipv6</link>
		<comments>http://zyj.me/article/vmware-tools-ipv6#comments</comments>
		<pubDate>Sun, 02 Oct 2011 08:29:25 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[IPV6]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=476</guid>
		<description><![CDATA[发现ubuntu下安装vm tools后不能正常ipv6这个问题已经很久了，之前一直是舍弃vm tools保全ipv6。不过，这两天在用Instant Contiki，vm tools已经安装过了，在虚拟机用Google经常被墙，所以被迫还是得解决ipv6的问题。分享下解决这个问题的经历。]]></description>
			<content:encoded><![CDATA[<p>发现ubuntu下安装vm tools后不能正常ipv6这个问题已经很久了，之前一直是舍弃vm tools保全ipv6。不过，这两天在用Instant Contiki，vm tools已经安装过了，在虚拟机用Google经常被墙，所以被迫还是得解决ipv6的问题。分享下解决这个问题的经历。</p>
<p>首先检查下虚拟机的网络环境是否是bridged，即网卡直连。vmware的nat方式应该不支持ipv6吧。。</p>
<p>之后，去ubuntu托盘，打开Network Manager，检查ipv6的状态。默认安装过vm tools之后，ipv6是ignore的状态。可以尝试下把Ingore改为Automatic或者Automatic Address Only/Automatic DHCP，不过，在我的网络环境下，IPV6地址是ipv6 stateless address autoconfiguration，尝试了几下均不可以。</p>
<p>继续尝试手动配置，Manual设置Address为2001:cc0:****:1032::999，网关从Windows主机下看到为2001:cc0:****::1，prefix64。此时外部地址依然无法ping通，估计是路由的问题了。route -v -6看下，果断没有下一跳路由。。。看到Network-Manager提供了routes选项，添加了几条路由，均不给力。。</p>
<div id="attachment_477" class="wp-caption aligncenter" style="width: 462px"><a href="http://zyj.me/wp-content/uploads/2011/10/Network-manager.png"><img class="size-full wp-image-477" title="Network manager" src="http://zyj.me/wp-content/uploads/2011/10/Network-manager.png" alt="" width="452" height="487" /></a><p class="wp-caption-text">Network manager</p></div>
<p>现在看来，应该是vmware tools与Network-Manager的冲突引起的问题了，network-manager木有路由，在自身的routes下添加的路由也不起作用。</p>
<p>尴尬之下，Google看下Network-Manager的工作原理，基本上是在/etc/NetworkManager/system-connections/目录下读取配置，然后转化成相应的配置。。。同时，也会执行/etc/network/if-*.d/目录下的东东。</p>
<p>这样，类比于/etc/network/interfaces的up和down，在/etc/network/if-up/目录下新建一个bugfix，填入如下内容：</p>
<pre>#!/bin/sh

# set default route for inet6
if [ "$IFACE" = "eth0" ]; then
	route -A inet6 add 2000::/3 gw 2001:cc0:****:1032::1
fi</pre>
<p>这样，开机之后就有inet6的路有了，问题搞定。</p>
<p>当然，根据/etc/network/interfaces与Network-Manager的优先级，也可以直接禁用掉Network-Manager，在/etc/network/interfaces中添加</p>
<pre>iface eth0 inet dhcp
iface eth0 inet6 static
address 2001:cc0:****:1032::999
netmask 64
gateway 2001:cc0:****:1032::1</pre>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/vmware-tools-ipv6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vmware 8导致apache2无法启动的情况</title>
		<link>http://zyj.me/article/vmware8-apache2-ssl</link>
		<comments>http://zyj.me/article/vmware8-apache2-ssl#comments</comments>
		<pubDate>Wed, 14 Sep 2011 14:54:32 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=466</guid>
		<description><![CDATA[为了调Web前端的方便，在Windows下保留了一个xampp，今天突然出现apache启动后自动关闭的情况，比较郁闷。。记得之前有过Skype占用80端口的情况，这次又是哪家抢占端口？]]></description>
			<content:encoded><![CDATA[<p>为了调Web前端的方便，在Windows下保留了一个xampp，今天突然出现apache启动后自动关闭的情况，比较郁闷。。记得之前有过Skype占用80端口的情况，这次又是哪家抢占端口？</p>
<div id="attachment_467" class="wp-caption aligncenter" style="width: 464px"><a href="http://zyj.me/wp-content/uploads/2011/09/XAMPP.png"><img class="size-full wp-image-467" title="XAMPP" src="http://zyj.me/wp-content/uploads/2011/09/XAMPP.png" alt="" width="454" height="363" /></a><p class="wp-caption-text">XAMPP无法启动</p></div>
<p>首先用命令行检查下XAMPP目录下apache_start.bat，出现如下情况：</p>
<pre>D:Program Filesxampp&gt;apache_start.bat
Diese Eingabeforderung nicht waehrend des Running beenden
Bitte erst bei einem gewollten Shutdown schliessen
Please close this command only for Shutdown
Apache 2 is starting ...
(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
Apache konnte nicht gestartet werden
Apache could not be started
请按任意键继续. . .</pre>
<p>额，这次是443端口了，80端口还空闲着，因此这次表现为apache启动2秒后自动停止。<br />
用 netstat -ano 查看下端口，发现</p>
<pre>  协议  本地地址          外部地址        状态           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       356
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       1184
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4</pre>
<div id="attachment_468" class="wp-caption aligncenter" style="width: 397px"><a href="http://zyj.me/wp-content/uploads/2011/09/pid.png"><img class="size-full wp-image-468" title="pid" src="http://zyj.me/wp-content/uploads/2011/09/pid.png" alt="" width="387" height="162" /></a><p class="wp-caption-text">查看进程号</p></div>
<p style="text-align: center;">嗯，有了PID之后，去任务管理器看下，1184进程号，额，竟然是vmware-hostd.exe。。。VMware啥时候也开始开server了。。。</p>
<div id="attachment_469" class="wp-caption aligncenter" style="width: 589px"><a href="http://zyj.me/wp-content/uploads/2011/09/vmware.png"><img class="size-full wp-image-469" title="vmware" src="http://zyj.me/wp-content/uploads/2011/09/vmware.png" alt="" width="579" height="488" /></a><p class="wp-caption-text">Vmware的设置</p></div>
<p>恩，这次找到VMware了，去看下设置。。。为了体验Windows 8，刚刚装了下Vmware8，瞥了一眼注意到有个Shared VMs，看来是通过SSL来share吧。这个功能灰常不错，但现在暂时用不着，so，在设置中把共享的server关掉，或者把端口改为其他端口就OK了。<br />
修改完这个设置，问题解决，写出来分享给有同样问题的同学一个思路。</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/vmware8-apache2-ssl/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>改进了一个路由算法，节点稳定性提升不少~</title>
		<link>http://zyj.me/article/changed-a-routing-protocol-and-increase-node-stability</link>
		<comments>http://zyj.me/article/changed-a-routing-protocol-and-increase-node-stability#comments</comments>
		<pubDate>Tue, 16 Aug 2011 03:11:13 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[Routing]]></category>
		<category><![CDATA[WSN]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=460</guid>
		<description><![CDATA[SNOS是实验室的一个项目，传感器节点的微操作系统。周一软件项目验收，周末突击加班。。主要的验收指标是20个节点自组织组网，以及多跳的UDP6？]]></description>
			<content:encoded><![CDATA[<p>SNOS是实验室的一个项目，传感器节点的微操作系统。周一软件项目验收，周末突击加班。。主要的验收指标是20个节点自组织组网，以及多跳的UDP6？</p>
<div id="attachment_461" class="wp-caption aligncenter" style="width: 550px"><a href="http://zyj.me/wp-content/uploads/2011/08/Gainz.jpg"><img class="size-medium wp-image-461" title="Gainz" src="http://zyj.me/wp-content/uploads/2011/08/Gainz-540x405.jpg" alt="" width="540" height="405" /></a><p class="wp-caption-text">硬件使用的计算所GainZ节点</p></div>
<p>协议栈最初采用最简单的路由策略，事实证明“简单”确实非常坑爹：</p>
<blockquote>
<ol>
<li>源节点Flooding路由包：</li>
<li>其他节点收到路由包，进行一系列逻辑判断，即如果是新的或者原路由信息超期，则更新本节点并reFlooding。</li>
</ol>
</blockquote>
<p>这个策略简单，容易实现，并且在节点数目较少的情况下，容易达到全网路由同步，但当节点数目较多时，容易出现如下问题：</p>
<ol>
<li> 当通信链路不对称时，该路由策略失效；</li>
<li>节点数目较多时，路由开销太大。</li>
</ol>
<p>原本以为，对一个演示性的小网络，这个路由算法足够了，但下面的问题几乎让人抓狂了：</p>
<p>节点收到数据包，统一产生硬件中断，并逐层调用到协议栈上层；这个策略本身无可厚非，但跟上述路由策略结合就出现了很大的问题（当然，其实是底层的发送过程写的坑爹）：</p>
<blockquote>
<div>节点收到广播的路由包，一般需要进行reFlooding，并且，这个过程实际是在中断处理函数中进行的；同时，在reFlooding的时候，一般很多个节点都在reFlooding，考虑到Mac层是CSMA/CA，那么就需要在中断中进行回退和等待！这样，节点基本就限于死亡了。</div>
</blockquote>
<p>如何来解决这个问题呢？主要的方法有二：</p>
<ol>
<li>借鉴PC上的非阻塞式处理方式，收到数据包后扔到一个队列，然后由Timer经过调度来处理这些数据包。我个人相信这是王道。</li>
<li>换个路由策略吧。。。</li>
</ol>
<p>晚上8点，开始考虑更换路由算法。很多Paper中的算法基本不能使用，只有4K Ram，情何以堪~~ 最后还是决定借鉴下Internet的RIP协议，也很简单，很符合小规模网络、跳数少的网络使用。</p>
<blockquote>
<ol>
<li>节点广播已知的各节点hops array；</li>
<li>收到广播包后，不立即reBroadcast，而是在下一个定时时刻广播；</li>
<li>可选的，可以根据邻居节点发送的路由包情况，判断是否为单向链路，也解决了硬件收发不对称带来的问题。</li>
</ol>
</blockquote>
<p>这样，即便在中断内部处理，也稳定了很多，基本不会出现节点跑死的情况。</p>
<div id="attachment_462" class="wp-caption aligncenter" style="width: 550px"><a href="http://zyj.me/wp-content/uploads/2011/08/Screenshot-WSN-Signpost.png"><img class="size-medium wp-image-462" title="Screenshot-WSN Signpost" src="http://zyj.me/wp-content/uploads/2011/08/Screenshot-WSN-Signpost-540x323.png" alt="" width="540" height="323" /></a><p class="wp-caption-text">这个节点功率设大了，多跳不明显</p></div>
<p>重新写了网关的循环数组，更新UDP6等等东西，耗费了大半个晚上。</p>
<p>最终的效果还比较让人满意，只是功率设的太大，拓扑不是很给力，基本上都是单跳的方式。。</p>
<p>唯一的后遗症是：一晚上通宵，眼睛血丝不少。</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/changed-a-routing-protocol-and-increase-node-stability/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>从22.1~22.365：过去的这一年</title>
		<link>http://zyj.me/article/my-last-year</link>
		<comments>http://zyj.me/article/my-last-year#comments</comments>
		<pubDate>Sun, 17 Jul 2011 05:04:25 +0000</pubDate>
		<dc:creator>willings</dc:creator>
				<category><![CDATA[Chinese]]></category>
		<category><![CDATA[My life]]></category>

		<guid isPermaLink="false">http://zyj.me/?p=434</guid>
		<description><![CDATA[今天是我的生日，昨天晚上还是瞎折腾直到三点多才睡。早上看到QQ和短信上有不少留言，谢谢大家~ 从上学到现在，每年的生日总是跟着期末而来，每次的生日总得被强迫的想点去年过的怎么样之类的事情。]]></description>
			<content:encoded><![CDATA[<p>今天是我的生日，昨天晚上还是瞎折腾直到三点多才睡。早上看到QQ和短信上有不少留言，谢谢大家~ 从上学到现在，每年的生日总是跟着期末而来，每次的生日总得被强迫的想点去年过的怎么样之类的事情。</p>
<p>明年的这个时候，就会被前几天嘈杂的毕业流冲走，流向不知名的地方。虽然不知道结果会如何，想起来总会有很复杂的感觉。</p>
<p>该用什么来评价过去的一年呢？宅、黯淡、无信仰无追求？想到的最好的一个词是浮云。每天都在忙，魂都丢了，不知所忙，不知所云。</p>
<p>流水一下去年做过的事情：</p>
<ul>
<li>2010.8月，顶住压力从计算所撤了，那种环境非我所求。记得当时向找个能独立思考探索的环境，所以撤了回研究生院。</li>
<li>2010.9月，帮老板干活，草草的整理了他书的第四章，传感器网络路由协议。</li>
<li>2010.9月，逐渐的，跟熊凡一起打了一个多月的网游。同时也得逃避老板的论文上的事情。</li>
<li>2010.11月，空白，不记得当时发生了什么。应该是折腾博客去了。也或者在写那个Geliproxy。</li>
<li>2010.12月，冒出来几个idea，比如想做一个监督“专家言行”的“评言”网站，后来觉得很shit，在国内跟既得利益者对抗无疑自寻死路。</li>
<li>2011.1月，姚老板的项目《传感器网络关键技术——操作系统》开始，不记得当时干了点什么，估计打酱油了。</li>
<li>2011.2月，估计应该是这时候，做了个商业的软件，《****在线考试系统》，Flex的。前端基本设计和处理完成。</li>
<li>2011.3月，依然不记得，应该是应付老板做OMNET++去了，进展不大。</li>
<li>2011.4月，估计当时误判，以为项目要结项，发奋图强搞了一两周弄完姚老板项目主体的协议栈和IPV6网关，代码很水很shit。</li>
<li>2011.5月，莫非是在写QTracker？依然想开个BT，看好以后全国宽带化后PT站的前景。</li>
<li>2011.6月，折腾腾讯校园之星，idea还算不错，起步比较折腾，从php折腾到Rails，时间浪费很大。</li>
<li>2011.7月，依然折腾Rails。其实感觉很庆幸，无论如何，学Rails让我提升了一个水准。</li>
<li>2011.7.17，早3:30睡，早上10:30起床，溜达到实验室，冲完一杯咖啡去吃午饭。躺在后面的折叠床上休息十分钟，继续开始瞎折腾。每天的规律生活就是如此。</li>
</ul>
<p>前两天期末答辩，话说是决定下个学期发多少money的答辩。结果意料之中，懒得去搭理某个心理畸形的“副叫兽”。不过，这次答辩确实给我带来很多震动：1. 要好好弄论文了； 2. 要专心了，不然很可能一事无成。</p>
<p>关于未来要做什么，或者说一年后要做什么，其实自己心里很矛盾。如果不是在天朝，应当会毫不犹豫的选择一个创新性高的互联网公司拓展下视野，然后毅然决然的选择创业公司，或者自己有idea有团队自己做创业了。这种冲动在心里一直存在，一直让人不得安分。跟几个国外归来的老头谈过，“不识庐山真面目，只缘身在此山中”，这些老头们对天朝若干年后的判断接近于纳粹的描述。我自己不会很彻底的相信某个某些人，但这些判断继续加重了心里的不安。未来要出去，其实也不太看好国内所谓“互联网创业”的前景，可是为什么不能踏踏实实的弄点English，踏踏实实的发几篇paper呢？这些事情仅仅与你自己有关，比整天纠结变态的用户需求要轻松舒畅很多。</p>
<p>很想说，如果这次腾讯的东西能得手，就收手吧，专心做点逃离天朝的事情。不过，还是要质问自己，是否有做个抉择的勇气和毅力。</p>
<p>&nbsp;</p>
<p>2011.07.17，我， 在天朝帝都，难得用Wordpress写下关于自己的文字。</p>
]]></content:encoded>
			<wfw:commentRss>http://zyj.me/article/my-last-year/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

