一、 学习动机
- 本科网络工程专业,接触了基本的传统分布式互联网络,但是感觉对于底层网络协议栈的理解几乎为零,对于路由器、交换机等网络设备是如何实现路由交换功能的存在疑惑,是硬件模块?还是软件代码?
- 云计算已经发展的非常成熟了,容器、虚拟机技术在如今非常火热,但是物理主机中的容器之间的网络是如何构建的?我对此非常有兴趣,是通过网络功能虚拟化(NFV)或者软件定义网络(SDN)吗?
- 虽然我对上面这些问题仍然存在非常多的疑问,但是似乎网络上对于这些问题的描述仍很难寻找到令人满意的答案,目前而言,我觉得从Linux内核网络入手,慢慢去探究上面的问题,可能是对我而言相对最现实的方案
二、 学习资源
书籍
-
《深入理解Linux网络技术内幕》
-
没有选择英文版的原因是,学习过程中更应该注重效率,英文版读起来可能比较吃力,对于中文版阅读不太通顺的地方,可以翻阅英文版的部分。
-
个人觉得可行的阅读方案:模块化的阅读,针对自己感兴趣的部分,选择性去阅读,在初期没有形成基本认知的技术上,一字一句去扣很会低效。同时对于某个模块的阅读也不必太过于较真,比如具体代码用的宏、每个函数的参数等,我的基本思路是大概形成一个完整的认知是主要目的。
—— 此处的思路借鉴于b站King老师的视频
-
-
《Linux内核源码剖析 TCPIP实现》.(樊东东)
- 此书为中文作者,基本