大家好,路由器就是开发板这个提议最早是在2010年的时候在逛一个国外的论坛时看到有人提到的,那时我还处在一个从论坛上下载一个固件刷成功后兴奋不已的阶段。上大学时WIFI刚刚兴起,还是802.11b的年代,当时特有想法,用一个磊科的WR加一个定向天线架在寝室对面的楼顶,用WR当AP,PC装个Mirotek的RouterOS当AC,利用PPPOE漏洞截获几个免费账号实现多拨,请全楼的人免费上网,每天看着那么多node上线,感觉好开心。那个年代就是这样,只为兴趣,可以不上课,不理女朋友,那个定向天线还是俺借钱买的。发张图纪念一下那个青涩有趣的年纪。
作为一个由好奇心驱动而活着的人,但凡发现感兴趣的事情总喜欢刨根问底的搞出十万个为什么,然后每天以解答心中的疑问作为最大的快乐。OK,当我们刷机后,实现了预期的功能后,疑问就来了,他们的内部原理是什么呢。当然,往深层次研究是需要一定的基础知识,并且要承担陡峭学习曲线的痛苦。
下面说一下我想写《路由器就是开发板》的原因和目的。从2010年第一次接触DD-WRT到现在6个年头了,这期间一直把它当做业余爱好,时不时关注一下,这几年家庭和工作比较忙,有两年竟一点没关注这个,但这几天翻翻过去的照片,发现这几年当初接触WRT是的一些观点一直潜移默化的影响着我,所以我想把对无线路由器这个大沙滩上偶尔拾到的一些小贝壳整理一下,连成一串,做个回忆录。其次,我想会有很多人好奇无线路由器的内部是怎么工作的,我想把我所理解的一些小知识点拿出来分享一下,帮助新人更快的成长。
接着说我会讲什么,讲到什么程度,会涉及到哪些知识和分析到怎样一个深度。无线路由器作为一个产品拿到我们手上时,经历了一个完整的产业链的传递,和人类对于计算机发展的历史。产业链可以追溯到上世纪八十年代RISC架构的商业化兴起,发展历史可以追溯到图灵第一次产生计算机原型的想法。下面列出我会讲到的内容:
1.MIPS架构,SOC工作原理,无线路由器工作原理;
2.U-Boot 工作原理,编译生成,功能改造;
3.OpenWrt工作原理,编译生成,功能改造;
所有的连载完成后我们会得到一个内部软件完全由自己编译的路由器,记得一个大牛说过,你对自己的程序要精确的掌握到每一个字节,这个有点极端,但至少我们可以实现运行的每个程序都是自己编译过的,对于一个初级Geek,这是一个必经的阶段。
文章里不会深入的太极端,比如用Verilog写一个MIPS架构CPU,用C实现一个操作系统内核,更多的是拿来主义,原则就是必须开源,这样我们可以搭建一个很好的学习环境,做简单修改,添加想要的功能。
我给《路由器就是开发板》起的英文名字是 Router For Demo ,简写为 RFDemo.
文章计划共25期,从2016年8月1日开始到2016年10月31日,所有源代码,DataSheet,附件均提供下载方式,所有信息均来自互联网,仅供学习和经验交流使用,请勿用作商业用途。