新TCP/IP详解(序言)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




系列目录 新TCP/IP分享

  1. 新TCP/IP详解(序言)
  2. 新TCP/IP详解(1)
  3. TCP/IP分享(2)——链路层
  4. TCP/IP Sharing – 3

【陈怀临注:这本书的由来是这样,这样的:】

陈首席,你好,我是弯曲的一名读者,曾经有一篇文章(互联网应用如何穿越NAT)有幸被您转载,一直深怀感激。我从事IP维护行业已近5年,一直深受Richard Stevens TCP/IP详解的影响,可以说我的IP之路是看他的书铺就的,本人也一直示他为自己的楷模,那本书完成于1993年,距今已经17年有余,他本人也已经辞世,这么些年来,IP领域发生了很多革新,但他的书本质上依然没有过时,但英文版的国人很难以阅读,翻译版的也一时难以接收,所以我在去年就一直怀着一个梦想,改写中文版的TCP/IP详解卷一的前面一些章节,主要是让进入IP维护领域的人更容易上手,同时添加一些新的协议如IPv6、PPPoE、WIFI、接入安全,淘汰一些旧的协议如SLIP之类的,目前已经完成了第一章(可见附件),目前准备写第二章。

我目前把文章发表在新浪的博客中,但想来想去,为了能够更多地影响一些想进入这个行业的人,并且也想向一直从事科技行业的奋斗国人致敬,还是想借助弯曲发表发表,不知质量是否可行,内容是否合适,还请首席给予指导。

晚辈丘子隽,敬上。

新TCP/IP详解(序言)

因为从事网络设备厂家售后维护的缘故,有不少朋友都向我表达了一个想法,表示对网络很感兴趣,但头一回接触,没有底子,但是不知道怎么学,不知道什么很好的资料可以自学。为这些事情,我憋了很久,终于想写点什么,和大家分享一下。里头很多英文的术语或者简写不知道的话就上百度、谷歌去搜内事不决问百度、外事不决问谷歌、房事不决问天涯。

00、01年接触网络的时候,我还是个单纯的使用者和彻底的技术门外汉,怎么上网都要别人教我怎么设置,对于各种协议、架构一无所知。

02年下半年有一门课叫《计算机网络》,讲课的老师是我的班主任,使用的教材是谢希仁教授编著的《计算机网络》,我当时可不是个好学生,一个学期下来就记住了IP、ARP、DNS、网关的全称而已,网关Gateway和网桥Bridge什么区别,完全没有印象,失败。虽然现在反过来再去看这本教材,却发现这是中国人自己写的几乎是最精简的一本书,知识点、架构、历史全在 200来页的教材上。这个时候的我应该说是一个与TCP/IP技术有过轻微接触的人。

03年阴错阳差没有选上我青睐的嵌入式专业,而选择了计算机网络,确切地说是专门研究IPv6,因为上课的原因,很多老师推荐了很多教材,比较有名的有Andrew S.Tanenbaum写的《Computer Network》(也叫计算机网络,这是我的导师推荐的),还有Douglas E.Comer写的《Internetworking With TCP/IP》
(TCP/IP 网际互联,IEEE前主编推荐),因为老师的推荐,去买了英文版,我这人当时也没什么耐心,看了1个月就看不下去了,一是英文不好,二是只看书,没有实验做,记忆相当不深刻,到现在我还对这两本书有成见,现在我把它归结为书本的易用性不好,不太适合我这种新手,当然2位作者可是业界响当当的教授,立功无数,水平是绝对很高很高的。

后来又是一次偶然的机会在清华一同学那得到了一本William Richard Stevens写的《TCP/IP Illustrated Volume 1》(也就是我今天要介绍的书),Faint,虽然也是英文的,但是作者除了向我们描述各个技术、架构,给力之处在于他通过搭建一个实验环境来验证各个协议是怎么工作的、怎么衔接的,按照现在的话来说就是“相当带感”,我看得津津有味,我的脑海中迅速确立了TCP/IP体系架构的模型,各个协议是怎么工作的,又是通过什么来联系的,同时通过实验也说明了协议和实现的差距(网络工程师整天围绕的2大技术就是协议和产品),我从此开上了网络学习的快车道,开始树立自信,开始看RFC……后来我才知道这本书的作者是个专门写畅销书(比如很多网络编程高手入门书籍Unix环境编程三卷)的专家,99年9月1日去世(享年48岁),据说留下尚未完稿的 Linux详解,他的去世是整个计算机教育界的巨大损失。可我读他的作品的时候,他已经去世5年。可能Jon B Postel[1]空前绝后、Vinton Cerf和Robert Kahn[2]因为在研究TCP/IP上的杰出贡献享誉于世,Robert Metcalfe(也是3COM的创建人)发明了横扫链路层的以太网……但是对于我们这些后辈,记得最牢的始终是那些领我们入门的师父,对我们的工作起到巨大帮助作用的人,我的师父就是Stevens(准确地说我是受他影响的一名无名晚辈),是他的书启蒙了我,对我帮助甚大。从事网络工作三年了,日益发现这枚瑰宝是所有工程师的财富,我不应该贪天功为己有,很多人问我入门看什么好,很多人推荐 Cisco的《TCP/IP路由》,我觉得这个讲的太集中了,不够基础,其它的读物也没怎么入我的眼,我推荐的最基础的读物就是《TCP/IP详解》。

对于这位良师的作品,从我工作的角度而言,这本书是最适合我们这行的人入门的一本书,他并没有重点讲现在常见的VLAN、路由协议、MPLS、网络应用,而是从最基本的分层、协议、封装开始,循序渐进。我可以保证对这本书掌握一半的兄弟,学习各个路由协议不是什么难事;掌握精通的兄弟,对各种新网络新技术上手绝对要比别人快一倍。因为这本书是按照这个层次写的:
1、协议是怎么工作的。
2、告诉你一些协议为什么这么工作。
3、让你想一想为什么要这么工作。
我们的网络工程师工作不就主要是协议或者产品怎么工作的嘛。哪些研究协议为什么应该这么工作的人就是写协议的人,研究这个咱不够格啊,还是整点实际点的,成为一名产品专家或者方案专家[3]。

2009年因为维护公司论坛,经常帮人解答各类网络问题,觉得大部分问题都可以通过这本书解决,是大家不太了解这本书,还是这本书吸收起来也不易。我重温了一下这本书的目录,找到了一些问题:
1、这本书完成于1993年,目前应用的很多协议当时都没有开发,因此也没有介绍,对Stevens不礼貌地说,是不Fashion了。
2、中国读者向来不太看英文原版书籍,也就是说英文门槛要比中文高。
3、中文译本不够有趣,愿意看的人也不太多。
4、这本书总共有3卷,对于入门而言,只需要看卷1的前面半本即可,看都后面2卷,很多入门的人有点望而生畏。

想了那么多,我就有个想法,重写一本中文版的《TCP/IP详解》,把一些目前大量使用的技术(WLAN、接入安全、IPv6、路由协议)完善一下;把一些入门用不着的协议实现删减掉。目的也有2个,一个是向偶像致敬,不知道这算不算侵权,二是把自己的一些经验和大家分享,也算是对自己一直立志从事的科技行业做一些绵薄的贡献。

这么多年来,自感IP技术之路很艰辛,很漫长,如果没有毅力、兴趣、实践、思考,即使有再好的书籍、师父,也是寸步难行的。但是这个门槛其实也不算高,只要突破了,天地广阔,不管是下五洋捉鳖也好,还是上九天揽月也罢,都是干一些技术集成的活,提升机会多,转型也方便,竞争再激烈也有一碗热饭。

[1] Jon Bruce Postel于98年去世,生前参与写作200多个RFC,其中不乏RFC791~RFC793这样整个IP标准架构的开山之作。他在IP领域的地位无人能及,Vinton Cerf在听闻Postel去世的噩耗后还专门写了一个RFC2468纪念他,大概意思就是很久以前网络互连领域还是一片混沌,是Jon带领人澄清宇内,开创此不世之业。IP领域最牛逼的机构IP Society专门成立Postel奖,专门奖励那些为数据通信领域做出过杰出贡献的人。我们现在有碗饭吃,还真需要感谢他。

[2] Cerf和Kahn被誉为互联网之父,TCP就是他们的Idea,克林顿总统因为信息高速公路计划专门为此2人颁奖,以表彰两人互联网奠基人的历史地位和贡献。因为我导师的关系,还曾有幸在会堂见过Cerf的风采,这位白胡子老头现在是Google的特约科学家。

[3] 专家分为两种:应用型和理论型,上这个论坛的人基本上是应用型的,有的人可能理论也不俗,但也只是工程师里的不俗;真正理论型的专家在IETF里头去找吧,这些家伙的工程经验也都是很了得,因为IETF的口号是”不ducai、不投票,只相信能够正确运行的代码“。

(9个打分, 平均:4.67 / 5)

雁过留声

“新TCP/IP详解(序言)”有62个回复

  1. 吴朱华 于 2010-12-31 6:39 下午

    欢迎丘子隽和冬瓜头,弯曲队伍又壮大了:)

  2. 百分之一 于 2010-12-31 7:51 下午

    这才叫给力!
    希望能看到更多真正的技术贴,
    更少的硬/软广告……

  3. Da Vinci 于 2010-12-31 8:54 下午

    很有魄力的想法,支持!

  4. Panabit 于 2010-12-31 10:49 下午

    给力,支持!!!

  5. metal1011 于 2010-12-31 11:28 下午

    一个没经验的大龄CCIE

    迷惘中

  6. 7259 于 2011-01-01 1:12 上午

    建议你别说自己要写中文版的《TCP/IP详解》,这样会伤很多人的感情!
    建议你这么说:我打算写一本网络方面的书,并且尝试着模仿Stevens的《TCP/IP详解》,当然不会如老先生的书籍那么优秀,但我尝试着去做。
    如果你写出来的书籍足够优秀,大家自然会尊称它为中文版的《TCP/IP详解》。

    一些update,下面的这个链接可以参考:
    staff.bath.ac.uk/masjhd/Stevens.pdf

  7. jruv 于 2011-01-01 1:15 上午

    期待作者的更新~

  8. Caojiankai 于 2011-01-01 2:40 上午

    好给力,期待ing

  9. Jerry 于 2011-01-01 4:55 上午

    期待……

  10. vastfrog 于 2011-01-01 5:22 上午

    看了篇首,觉得很好,我也是从事网络维护的工作,年数也并不比作者少,但却从没有想过把自己的工作和经验,加以总结与提炼,还是作者有耐心和时间啊!

  11. Cheater 于 2011-01-01 5:40 上午

    期待.

  12. david13 于 2011-01-01 6:19 上午

    一个无证上岗的网络运维从业者,看看楼主写的如何。

  13. 丘子隽 于 2011-01-01 6:55 上午

    首席挑了这么一个日子发表,让我感到惭愧啊,现在写链路层的WLAN,打算元旦3天假期弄出个初稿的,白天给同事夫妻当了一天车夫,有点耽误事啊。

  14. 陈怀临 于 2011-01-01 10:48 上午

    在这本《新TCP/IP详解》,我的一些建议如下:

    1. 在TCP/IP协议栈无线(Wireless)的这些年的一些工作,做一些补充。特别是congestion control方面。
    2. 在具体技术方面,针对Linux方面发力。

  15. wengjn 于 2011-01-01 12:48 下午

    新年第一天看到最给力的好文了,赞楼主

  16. 阿丘 于 2011-01-01 5:35 下午

    首席给我施加压力了,这2项都是我需要发力的,WLAN前天才去看相关的资料,Ubuntu用了1年,目前能做的就是tcpdump抓包后分析。我打算用Openoffice来写,不知道弯曲是否兼容ODF格式的文档?我想脱离M$平台

  17. kevin 于 2011-01-01 6:08 下午

    …5年而已,就创作冲动了。。。

  18. 阿丘 于 2011-01-01 7:37 下午

    life is short

  19. konov 于 2011-01-01 7:50 下午

    支持!!

  20. Jie 于 2011-01-01 8:13 下午

    16楼话里面有明显的感情色彩, 对最终写出来的书表示怀疑. 首席的第二条建议描述的太短, 是加重Linux内核的描述还是通过那些应用程序来说明Linux协议栈的反应?

    重写红宝书要尊重原作者的思路, 卷1里面不应该特别引入特定的平台, 网络发展至近, 卷2里面确实需要新增许多新的内容.

  21. asr1k 于 2011-01-01 9:18 下午

    创作是好事, 5年经验也不短, 16楼何必这样呢…

  22. 冬瓜头 于 2011-01-01 10:37 下午

    鼓励创作,感觉不必拘泥太多东西,这样会影响创作热情,写本书是很不容易的,我深有体会,如果没有一种热情和引子,是很难坚持下去的,当然前提是写出真正的干货,而不是凑一凑拼一拼为了写而写。不管几年经验,只要写出来的东西是差异化的,这种差异化可以是以前没人涉猎的,或者是以前涉猎过但是却不易懂的。所以这与几年经验应该没有直接关系。哪怕一个初学者,如果他能够将他学习过程中的笔记进行总结从而出一本书,那一样也是值得称道的事情。

  23. 陈怀临 于 2011-01-01 10:52 下午

    Heeeee.鼓励一哈。。。写。我就是这样写了10多年,写成首席的。。。其实写的同时,自己是学习的过程。例如我写CRS-1,经常一个问题能卡住几个星期。。。反复读文献,然后瞎琢磨。

  24. 瞎扯 于 2011-01-01 11:05 下午

    WLAN和IP没有毛关系,可以独立写本书。

    O’Reilly出的“802.11 Wireless Networks The Definitive Guide”不错,也有中译本。但内容还是有点陈旧,11n都没有。 现在要写的话,11ac/ad, WiFi Direct等内容也最好涉及,不然刚写出来就过时了。

  25. zw 于 2011-01-01 11:37 下午

    很合我的口味

  26. 戴小鼠 于 2011-01-01 11:55 下午

    期待啊

  27. 阿丘 于 2011-01-02 1:18 上午

    我上周看到同事案头有一本冬瓜头的书,想不到在这里竟然也碰面了^_^感谢大家的鼓励和建议,我会先按照自己的思路先写些干货的,到时看各种评论也不迟,网络不是一个人建的,同样,书也不是一个人能写得完的,有些链路层很细节的,比如802.11n的OFDM、MIMO等链路层原理,都被LLC屏蔽了,对IP而言感觉不到的,基本上是一笔带过,而且这方面的专业书籍一点都不少,不乏精品,国人中的高手也不少,发动大家一起分享一些,这才是比较好的结果。

  28. 冬瓜头 于 2011-01-02 1:33 上午

    呵呵,感谢丘兄同事支持啊。不过第一本书我目前看来,不太满意,太浅了。第二本会非常给力!但是5年后可能回来再看第二本又觉得不行了。不断学习,不断总结,不断输出,不断积累!

  29. qingjiegong 于 2011-01-02 4:19 上午

    开源来整,先来框架,然后分别请这个坛子里头相关领域的高手来写。那肯定是中国最好的技术书籍了。

  30. jimmy 于 2011-01-02 4:36 上午

    支持这样的创作,当年认识网络也是从这本经典的读本开始的.

  31. droplet 于 2011-01-02 6:29 上午

    实践出真知,internet是engineering,不追求完美,但是要求能工作。

  32. Will Chie 于 2011-01-02 9:25 上午

    TO6楼,没看中文版?看了你会赞同作者。(中文版差点没把我看吐了,翻译的相当不负责任)

    建议搞成合作项目。

  33. 无家ing 于 2011-01-02 7:38 下午

    有个小建议。朋友你可以先拿出一篇你写完的章节(除开序言),大家都帮你参谋参谋,然后你再决定是否用《新TCP/IP详解》作为书名。《TCP/IP详解》的所达到高度无需多讲,既然是像偶像致敬,总得先拿出点实力瞧瞧。

  34. caoyong 于 2011-01-03 12:08 上午

    内事不决问百度、外事不决问谷歌、房事不决问天涯。

  35. 路过 于 2011-01-03 6:22 下午

    是否可以理解为吵作?
    这年头见吵作见得都麻木了。
    凡是东西没出来就路人皆知的,
    都可以鉴定为吵作。

  36. 瞎扯 于 2011-01-03 6:36 下午

    OFDM,MIMO离IP就更远了。你是想写通信百科吗?呵呵

  37. 骡子马 于 2011-01-03 6:40 下午

    拉出来溜溜,还是满期待的。

  38. zeroflag 于 2011-01-03 7:04 下午

    我倒是觉得,如果搞成开源不如搞成wiki,不知道wordpress能不能搞定呀。但是这样就不是作者自己的书了,而是弯曲的书!

  39. S 于 2011-01-03 8:48 下午
  40. 树上的鱼 于 2011-01-03 10:13 下午

    配合抓包分析协议中各字段的含义,结合linux操作系统中网络协议栈的实现过程来写,应该有看头.

  41. 冬瓜头 于 2011-01-03 10:49 下午

    同意40L。很早之前也写过一个SNMP协议分析,里面抓了包,对照着ASN.1分析的。庖丁解牛,通俗易懂大白话,干货,这些就是技术书最有看头的地方。

  42. forrest 于 2011-01-03 10:53 下午

    去年看过Morgan Kaufmann的
    ,完成时间是2008 DEC.丘子隽写之前可以看看,我觉得那本书也写得挺基础的,覆盖范围也挺光,而且也都有示例之类的,有点特别的地方是示例使用的是juniper的路由器.

  43. forrest 于 2011-01-03 10:55 下午

    The Illustrated Network How TCP/IP Works in a Modern Network

    书名刚没显现出来,为什么呢?首席

  44. C 于 2011-01-04 3:04 上午

    建议用docbook来写,或者LaTeX也行。便于管理,输出成各种格式也方便。

  45. fanyu83 于 2011-01-04 3:10 上午

    我觉着,叫《annotated tcp/ip illustrated》更好,呵呵

  46. C 于 2011-01-04 3:29 上午

    显然docbook或LaTeX适合合作编写,方便版本控制。

  47. NetCore 于 2011-01-04 5:47 上午

    我是觉得这个名字是有点太过了。
    《Tcp/Ip 详解》可是俺的启蒙老师啊。
    可以叫《Tcp/Ip新详解》。

  48. hh 于 2011-01-04 8:23 上午

    感觉还是出个重翻增补注释版更合适点,毕竟这本书还没到需要重写的地步
    如果确实心得太多注释装不下建议另出新书,别用这个名字,这应该不难,也不影响致敬
    这本书确实承载了太多人的感情,在网上玩玩也就罢了,真要出书建议慎重。

  49. Justdoit 于 2011-01-04 1:13 下午

    同意hh在48楼的建议。你用《新TCP/IP详解》或者《中文版TCP/IP详解》的话,令很多人误会的:用《新TCP/IP详解》,大家以为第二版的那个第二作者又出了新版;《中文版TCP/IP详解》?那就更加混淆了!然后大家肯定开骂……
    用个《TCP/IP新技术补注》之类的吧!

  50. 理客 于 2011-01-04 2:58 下午

    如果是业界中拿,倒是要略略收敛注意一下,初生牛犊,何必前怕狼后怕虎,个人倒是觉得无需在名字上浪费太多功夫,自己喜欢就好,尽自己努力把内容写出来再说,谁爱浪费唾沫骂就骂去,对的就改,不对的就甩,考虑太多虚名,徒浪费有限的美好青春,更世故的考虑,还是放到40以后,有资本但无聊的时候再去扯淡

  51. 冬瓜头 于 2011-01-04 6:27 下午

    书名要不就用《大话TCP/IP协议》如何?通俗易懂,谁看谁懂,不懂退钱!就敢这么承诺!呵!

  52. F22 于 2011-01-04 7:14 下午

    既然是新TCP/IP详解,那就更新点新东西吧。
    但是建议集中在OSI3-4层。
    要是想专注写3层的,建议好好写写OSPF,BGP和RIP。另外IPv6该更新了。还有MPLS路由。
    专注4层,建议写写TCPv6,SCTP。

  53. 阿丘 于 2011-01-05 6:44 上午

    才开始写第二章,怎么可能定最后的书名,也未必会成书,当时取书名也是一时的想法,创作的目的纯粹是因为感恩,也不想什么承诺,我一直在考虑,技术这个东西就像我们经常搞的网络方案,不可能跟得上最前沿,也不可能落后于最前沿,所以应该是会有反复更新的过程(的确是聚焦于3~4层的),只求能够帮助到人,至于什么名字,这都不是重要的。想不到一石激起千层浪,让我感觉到了鸭梨不小,但这是我人生中的一个梦想,我要去实现它。工具从第三章(网络层)开始会使用Openoffice,最后输出的是PDF格式,目前还是M$的Office,自感惭愧。。。

  54. 冬瓜头 于 2011-01-05 6:52 上午

    我是个老土,不知道openoffice或者google doc,只会用微软Office。确实有此感觉,即需要不断更新,交稿之后又发现有重大更新,结果编辑都给弄烦了,要知道交了稿理论上是不接受更新的,好在编辑也是个大大咧咧的人,无所谓。呵呵。

  55. zedware 于 2011-01-05 8:47 上午

    能给大家贡献和分享知识本身就是很高尚的行为了。建议先写了再说,工程师的活没有说要一次就完美的,也许N次也还不完美呢。重要的在于分享和过程。

  56. 无家ing 于 2011-01-06 1:39 上午

    “很多人问我入门看什么好,很多人推荐 Cisco的《TCP/IP路由》,我觉得这个讲的太集中了,不够基础,其它的读物也没怎么入我的眼”

    有机会真想见识下你的水平有多高,是否如你所写的这样,是否有资格评价Jeff的《TCP/IP路由》。

  57. kevin 于 2011-01-06 1:07 下午

    小的不才顺便推荐一本书

    TCPIP Tutorial IBM Redbooks。

    IBM出的,免费下载。ipv6, wireless, voip,security,web等等都有。tutorial,很基础,扫盲级别的。看来IBM也还没敢搞yet another tcp/ip illustrate。呵呵

  58. 理客 于 2011-01-07 12:20 上午

    推荐的书不错,略扫了一下,内容很全,但不很适合入门者,主要是蜻蜓深点水的方式,可能做中级同学的技术dictionary更有用。

  59. 0xff 于 2011-01-13 2:51 上午

    5年经验确实短了些,但事情是做出来的,想起来中学时的课文:蜀之彼,有贰僧,一僧贫,一僧富,。。。我欲之南海,何如。有志者,事竟成

  60. 小菜鸟 于 2011-06-13 12:43 上午

    路过,纯支持

  61. 家驹 于 2011-12-27 6:37 下午

    看过1,2 但是我很希望有一个测试环境,作者的源码可以跑的那种,这样的话,学习的效果一定会很好。

  62. John 于 2012-01-13 7:28 下午

    阿丘不是去大不列颠了么?