从业经历回顾之TP-LINK
2015-05-09 21:45
645 查看
08年毕业到10年5月 TP-LINK
在TP-LINK工作了近两年,主要从事于路由器平台软件开发。
1. 实习期主要熟悉路由器基本功能,分析TCP/IP协议,开发TDDP协议。这个阶段主要以学习为主,逐项了解家用SOHU路由器的软件功能,用wireshark抓包工具分析网络报文,撰写TDDP协议文档和代码。
在TDDP网络协议的设计阶段,原设计的草稿是参考底层IP协议,定义很多的特别字段,这样设计虽然能够提升网络数据解析的成本,但TDDP协议不是高负载服务器使用的协议,协议本身的目的只是用于PC工具配置路由器,效率不是主要考虑的因素,配置的可扩展和可读性是核心需求。
此协议应该使用类HTTP的文本字符串方式来处理。它适用于局域网,所以使用UDP作为底层传输协议。
2. 路由器轻量级webserver的分析和DHCP客户端功能维护
路由器的轻量级webserver改编自vxworks下的apache服务器。分析主题代码并撰写设计文档。
在ADSL时代,路由器上网最主要用PPPoE拨号上网。拨号连接宽带提供商的稳定支持是SOHO路由器最重要的指标之一。但是在光纤时代,DHCP则是路由器连接光猫的主要方式。DHCP作为路由器连接外部网络的方式,它的稳定运行显得尤为重要。当时主要是分析DHCP客户端和协议,解决部分网络提供商的DHCP服务器的特定扩展。
3. 路由器NAS功能的开发
在老同事研究的基础上,完成设计方案,负责具体的实现。
A. USB存储设备,配置内核实现usb外设的支持
B. NTFS文件系统,用fuse和ntfs-3g
C. 网络共享, 移植并精简samba
整个移植和精简的过程非常的艰辛。特别是对移动硬盘的供电稳定性以及长时间运行死机问题,耗费了很多的时间和精力。
死机问题特别值得提一下,路由器NAS功能运行1天左右很可能出现死机,但是此时串口(UART)没有任何的打印,尝试在内核中加入了很多的打印,总是没有定位到原因。离职后半年,听前同事说升级Linux内核后,NAS运行死机的问题终于解决了,具体原因还是不明。
4. SOHO路由器的网络驱动开发
根据DataSheet,调整Demo代码,配置交换机的PHY和MAC,设置VLAN,在网络驱动层虚拟WAN口,使用NAPI架构优化网络相应速度,通过GPIO设置LED灯。
研究DataSheet确实很枯燥,但跟硬件工程师一起分析和讨论,了解一些硬件特性,回想起来还是很有意思的。
5. 3G路由器软件平台的开发
基于公司路由器设计方案,在芯片厂商提供的demo代码基础上,调整交叉工具链(toolchain)、修改bootloader(U-boot)、配置内核(主要是Flash,MTD以及Netfilter)、编写网络驱动、移植webserver,试整个路由器系统运行起来,然后一步步的优化调整。
修改Makefile和编译脚本,一键完成整个路由器firmware的编译。
(注: 上述3、4和5的内容本可以写得非常充实,但是细节过多,不适合此主题,因此简化)
在TP-LINk的主要遗憾:
A. 对SOHO路由器行业的发展和趋势未关注,只是专注于技术层面;
B. 未用内部论坛扩大影响力;
C. 未系统性的学习Netfilter框架;
D. 无线部分的知识缺失;
E. 对路由器的整体软件平台的优化和思考不够
现在,各个厂商为抢占智能家居的入口,都在做路由器。我知道的主要用的是开源嵌入式Linux软件平台OpenWrt。
SOHO路由器的主要发展趋势:
A. 智能化
智能化这个概念目前还在炒作阶段,最主要的功能还是提供上网功能。
它应该成为家庭的娱乐内容中心、家用电器的管理和控制中心。
B. 网络加速和内容分发
天朝的网络缺失太差,因此各种游戏加速、上网加速在路由器上大有可为。
在TP-LINK工作了近两年,主要从事于路由器平台软件开发。
1. 实习期主要熟悉路由器基本功能,分析TCP/IP协议,开发TDDP协议。这个阶段主要以学习为主,逐项了解家用SOHU路由器的软件功能,用wireshark抓包工具分析网络报文,撰写TDDP协议文档和代码。
在TDDP网络协议的设计阶段,原设计的草稿是参考底层IP协议,定义很多的特别字段,这样设计虽然能够提升网络数据解析的成本,但TDDP协议不是高负载服务器使用的协议,协议本身的目的只是用于PC工具配置路由器,效率不是主要考虑的因素,配置的可扩展和可读性是核心需求。
此协议应该使用类HTTP的文本字符串方式来处理。它适用于局域网,所以使用UDP作为底层传输协议。
2. 路由器轻量级webserver的分析和DHCP客户端功能维护
路由器的轻量级webserver改编自vxworks下的apache服务器。分析主题代码并撰写设计文档。
在ADSL时代,路由器上网最主要用PPPoE拨号上网。拨号连接宽带提供商的稳定支持是SOHO路由器最重要的指标之一。但是在光纤时代,DHCP则是路由器连接光猫的主要方式。DHCP作为路由器连接外部网络的方式,它的稳定运行显得尤为重要。当时主要是分析DHCP客户端和协议,解决部分网络提供商的DHCP服务器的特定扩展。
3. 路由器NAS功能的开发
在老同事研究的基础上,完成设计方案,负责具体的实现。
A. USB存储设备,配置内核实现usb外设的支持
B. NTFS文件系统,用fuse和ntfs-3g
C. 网络共享, 移植并精简samba
整个移植和精简的过程非常的艰辛。特别是对移动硬盘的供电稳定性以及长时间运行死机问题,耗费了很多的时间和精力。
死机问题特别值得提一下,路由器NAS功能运行1天左右很可能出现死机,但是此时串口(UART)没有任何的打印,尝试在内核中加入了很多的打印,总是没有定位到原因。离职后半年,听前同事说升级Linux内核后,NAS运行死机的问题终于解决了,具体原因还是不明。
4. SOHO路由器的网络驱动开发
根据DataSheet,调整Demo代码,配置交换机的PHY和MAC,设置VLAN,在网络驱动层虚拟WAN口,使用NAPI架构优化网络相应速度,通过GPIO设置LED灯。
研究DataSheet确实很枯燥,但跟硬件工程师一起分析和讨论,了解一些硬件特性,回想起来还是很有意思的。
5. 3G路由器软件平台的开发
基于公司路由器设计方案,在芯片厂商提供的demo代码基础上,调整交叉工具链(toolchain)、修改bootloader(U-boot)、配置内核(主要是Flash,MTD以及Netfilter)、编写网络驱动、移植webserver,试整个路由器系统运行起来,然后一步步的优化调整。
修改Makefile和编译脚本,一键完成整个路由器firmware的编译。
(注: 上述3、4和5的内容本可以写得非常充实,但是细节过多,不适合此主题,因此简化)
在TP-LINk的主要遗憾:
A. 对SOHO路由器行业的发展和趋势未关注,只是专注于技术层面;
B. 未用内部论坛扩大影响力;
C. 未系统性的学习Netfilter框架;
D. 无线部分的知识缺失;
E. 对路由器的整体软件平台的优化和思考不够
现在,各个厂商为抢占智能家居的入口,都在做路由器。我知道的主要用的是开源嵌入式Linux软件平台OpenWrt。
SOHO路由器的主要发展趋势:
A. 智能化
智能化这个概念目前还在炒作阶段,最主要的功能还是提供上网功能。
它应该成为家庭的娱乐内容中心、家用电器的管理和控制中心。
B. 网络加速和内容分发
天朝的网络缺失太差,因此各种游戏加速、上网加速在路由器上大有可为。
相关文章推荐
- 回顾六家公司从业经历 探讨企业生存发展之道
- 工作面试经历(TP-LINK 腾讯 天威视讯。。。)
- ・非专业网管经历的回顾之写作感言
- [置顶] TP-Link图像研发工程师秋招回忆
- 回顾自己三次失败的面试经历
- TP-Link路由器设置(1)
- XP无线网络链接不上TP_LINK的路由器,WIN7却可以连上。(同一个计算机和路由器)
- TP-Link 设置
- TP-Link路由器无线WIFi的设置
- 回顾六家公司从业经历 探讨企业生存发展之道
- TP-LINK无线路由器当无线AP(无线交换机)使用,怎么设置?
- TP-LINK路由器设置内网的一台电脑在外网可以远程操控
- TP-Link实习生一面
- TP-LINK防火墙设置
- 袁永福软件行业从业经历
- 阿里面试经历回顾(两个线程分别打印0-100之间的奇偶数)
- TP-LINK 桥接设置(WDS)
- 将Tp-link无线路由器桥接到Dlink无线路由器上
- TP-link 无线路由器WDS设置方法图解_无线桥接设置
- 非专业网管经历的回顾--新兵训练(二)