首先要说讲述计算机网络和TCP/IP的书很多。

先要学习网络知识才谈得上编程

讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。

《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。

目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而linux就是受其影响。。。。

第五版是2012年出的,也比较新。

作  者: (美)特南鲍姆,(美)韦瑟罗尔 著 严伟,潘爱民 译 丛 书 名:
出 版 社: 清华大学出版社ISBN:9787302274629出版时间:2012-03-01

-----------------------------------------------------------------------------

《计算机网络:自顶向下方法(原书第4版) 》

作  者: (美)库罗斯 著 陈鸣 等 译 丛 书 名:计算机科学丛书出 版 社: 机械工业出版社ISBN:9787111165057出版时间:2009-01-01

《计算机网络系统方法(原书第4版)》

作  者: (美)彼得森(Peterson,L.L.),(美)戴维(Davie,B.S) 著 薛静锋 等 译 丛 书 名:计算机科学丛书出 版 社: 机械工业出版社ISBN:9787111251385出版时间:2009-02-01

如果觉得Tanenbaum的看的不够过瘾可以看这2本,这2本出版的时间和版面的差不多,各有特色,特别是“自顶向下”是一个很好的概念!

------------------------------------------------------------------------------

了解网络知识看看上面的     开发必看下面的

------------------------------------------------------------------------------

如果说只是了解网络基础知识看看上面3本即可,但是要想做开发一定要看下面的

《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本

其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《Unix网络编程》

作者W.Richard Stevens个人网站  http://www.kohala.com/

大师作品部部经典,可惜1999年去另一个世界维护Unix了。。。。。。。。。

说明:搞Linux网络编程的,想学TCP/IP的一定要看大师W.Richard Stevens这六本书,基本上六本书看完基础也就搭好了。

W.Richard Stevens(1951-1999),国际知名的UNIX和网络专家,受人人尊敬的作家。他的著作有《UNIX网络编程》(两卷本),《UNIX环境高级编程》,《TCP/IP详解》(三卷本)等,同时他还是广受欢迎的教师和顾问。

  Stevens先生1951年生于赞比亚,早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程。

  Stevens先生不幸病逝于1999年9月1日,他的离去是计算机界的巨大损失。

  W. Richard Stevens对我们这些学习Unix/Linux的程序员的影响是巨大的,每每捧读老先生的书都会被感动,不仅被他那丰富的知识所折服,更是被他那一丝不苟,严谨治学的态度所倾倒。“他不清楚的,他下决心要弄明白。他知道的,他要努力传授给所有感兴趣的人们!”这就是我们的Stevens!一生能有其一部力作可谓无憾矣!而况七部乎?

  一位朋友说:“Stevens的书一定要全部认真地去读的。”我想他是对的。最后,对Stevens在天英灵说声:谢谢您!想必这时他正坐在上帝身边,继续从事他的写作。

W. Richard Stevens Biography 
http://www.kohala.com/start/bio1.html

W. Richard Stevens' Home Page 
http://www.kohala.com/start/

W. Richard Stevens on Wikipedia 
http://en.wikipedia.org/wiki/W._Richard_Stevens

Guru of the Unix gurus 
http://archive.salon.com/tech/feature/2000/09/01/rich_stevens/index.html

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《用TCP/IP进行网际互连第一卷:原理、协议与结构(第五版)》

《用TCP/IP进行网际互连第二卷——设计、实现与内核》

《用TCP/IP进行网际互连第三卷:客户-服务器编程与应用(Linux/POSIX套接字版)》

说明:这个系列也是三卷本,和《TCP/IP详解》三卷本一样也是经典,区别是  网际互联 偏重理论而 详解偏重实际。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

如果你看了上面2套TCP/IP的书6本还不尽兴,还有一套书可以作为提高或者查缺补漏

虽然与W.Richard Stevens TCP/IP详解 有一定的差距,但仍不失为下一代IPv6网络的参考工具书,值得收藏学习

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP协议族(第4版)》

比TCP/IP详解要容易理解一些,并且图文并茂是本书的一大特色,还有就是举得例子比较多,有助于读者理解概念性的东西,给人感觉不是特别枯燥。总之,这本书适合初学者,而TCP/IP详解适合有一定网络方面基础的人。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP协议原理与应用(第3版)》

写的非常好,建议一定要买!可作入门,但即使是高手,也应看看,学习作者分析问题的方法和思想。其实是无数次印刷了,经典不能错过。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP高效编程 : 改善网络程序的44个技巧》

很明显属于技巧类的书,同样这本书很老,但是还是很有参考价值,这本书中大量出现Unix网络编程的提示,可以作为其补充。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP路由技术》

思科出的

这本书主要在讲内部路由协议,有RIP、RIPV2、RIPng、IGRP、EIGRP、OSPF、IS-IS协议,详实的描述了基本上现在主要的内部网关协议的工作原理,它们的优点与不足,以及配置方法(基于CISCO 路由器产品)和排错等。本书称不上非常的通俗,但是在有一定的基础的情况下还是比较容易看懂的。本书是世面上极少见的讲述内部网关路由技术的经典书籍,内容极为丰富。对于想清楚的了解内部网关协议的工作原理以及想探究网络通信事物的本质的人来说是一本不可或缺的好书。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《linux网络体系结构:linux内核中网络协议的设计与实现》

出版社: 清华大学出版社
装帧: 平装
出版年: 2006-7
又名: The Linux Network Architecture: Design and Implementation of Network Protocols in the Linux Kernel
书名: Linux网络体系结构
说明:翻译的很不好,建议看原版,可以下电子版。

一本在kernel实现网络功能的基础书籍,最好还是看英文版的,翻译的实在太烂了。有条件的还是看原版吧,没办法啊,中国的此类书籍基本上落后老美3-4年。结合linux源代码分析一书收获更多。一并把内核结构和各功能在内核中的关系也搞清楚了。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

本人写的另外系列,配合一起看效果更好,因为C语言是语言,还需要到实际环境Linux中去用,而Linux环境下网络编程自然需要TCP/IP的知识:

C语言经典著作导读

Linux内核学习四库全书

Linux网络编程必看书籍推荐的更多相关文章

  1. 成为JAVA架构师必看书籍推荐

    原创文章 “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书 ...

  2. linux C高手成长过程---书籍推荐

    建议学习路径: 首先先学学编辑器,vim, emacs什么的都行. 然后学make file文件,只要知道一点就行,这样就可以准备编程序了. 然后看看<C程序设计语言>K&R,这样 ...

  3. Linux网络编程案例分析

    本代码来自于博主:辉夜星辰 本篇主要对运行代码中出现的问题进行分析,代码本身的内容后续展开讨论. 服务器端代码 /* Linux网络编程之TCP编程,服务器端读数据 socket函数之后,返回值ser ...

  4. Linux网络编程经典书籍推荐

    UNIX环境高级编程<高级unix环境编程><unix网络编程><深入理解计算机系统>比较好 =====================Linux网络编程经典书籍推 ...

  5. Linux网络编程&内核学习

    c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: ...

  6. 【深入浅出Linux网络编程】 "开篇 -- 知其然,知其所以然"

    [深入浅出Linux网络编程]是一个连载博客,内容源于本人的工作经验,旨在给读者提供靠谱高效的学习途径,不必在零散的互联网资源中浪费精力,快速的掌握Linux网络编程. 连载包含4篇,会陆续编写发出, ...

  7. Linux驱动开发必看详解神秘内核(完全转载)

    Linux驱动开发必看详解神秘内核 完全转载-链接:http://blog.chinaunix.net/uid-21356596-id-1827434.html   IT168 技术文档]在开始步入L ...

  8. 第5章 Linux网络编程基础

    第5章 Linux网络编程基础 5.1 socket地址与API 一.理解字节序 主机字节序一般为小端字节序.网络字节序一般为大端字节序.当格式化的数据在两台使用了不同字节序的主机之间直接传递时,接收 ...

  9. linux网络编程_1

    本文属于转载,稍有改动,以利于学习. (一)Linux网络编程--网络知识介绍 Linux网络编程--网络知识介绍客户端和服务端         网络程序和普通的程序有一个最大的区别是网络程序是由两个 ...

随机推荐

  1. TypeError: 'module' object is not callable cp fromhttp://blog.csdn.net/huang9012/article/details/17417133

    程序代码  class Person:      #constructor      def __init__(self,name,sex):           self.Name = name   ...

  2. POJ 2240Arbitrage(Floyd)

    E - Arbitrage Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submi ...

  3. 使用easyUI 创建复杂的toolbar到datagrid

    http://www.cnblogs.com/javaexam2/archive/2012/08/10/2632649.html @author YHC datagrid 的toolbar能包含的不仅 ...

  4. 单步调试 step into/step out/step over 区别

    step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数): step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止, ...

  5. JAVA敏捷开发环境搭建

    前面介绍了创业型软件公司的工作模式,这里详细介绍下如何实施,第一步是先要搭建环境,有了环境才能开展工作. 整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样 ...

  6. mongo(删除操作)

    在使用MongoDB的时候,经常会用到MongoDB的删除操作,以下是我在使用MongoDB删除操作的总结 首先是删除用户: db.removeUser("用户名") 其次是删除数 ...

  7. JavaScript 上万关键字瞬间匹配——借助Hash表快速匹配

    来源: http://www.cnblogs.com/index-html/archive/2013/04/17/js_keyword_match.html http://www.etherdream ...

  8. xss之全面剖析

    XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞.指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的 ...

  9. css absolute与relative的区别

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. java开发微信公众平台备忘

    简单记录下前段时间开发的电子书的 公众平台的一些备忘及开发心得经验等 eclipse的一些技巧: 1.ctrl+shift+o 自动添加必要import空间及移除无用import 项目备忘+说明 1. ...