首先要说讲述计算机网络和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. MyEclipse------executeBatch()使用方法

    executeBatch()方法用于成批地执行SQL语句,但不能执行返回值是ResultSet结果集的SQL语句,而是直接执行stmt.executeBatch(); 辅助方法: addBatch() ...

  2. MyEclipse------如何连接MySQL

    testconnection.jsp <%@ page language="java" import="java.util.*" pageEncoding ...

  3. centos安装gitlab

    原文链接: http://www.centoscn.com/image-text/install/2015/0320/4929.html http://www.01happy.com/centos-6 ...

  4. linux基本命令(1)-用户和组管理

    1.初始化Root密码 sudo passwd 2.切换至Root用户 su - root 或 sudo - i

  5. vim设置语法高亮

    在vim安装目录中的_vimrc修改,加上以下的代码. set nu! colorscheme desert      syntax enable      syntax on

  6. sqlite 跨数据库查询

    try { $dbh = new PDO($dbrootemp, null, null); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_ ...

  7. HDU 1394 Minimum Inversion Number(线段树求逆序对)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1394 解题报告:给出一个序列,求出这个序列的逆序数,然后依次将第一个数移动到最后一位,求在这个过程中 ...

  8. 在Linux用户空间做内核空间做的事情

    导读 我相信,Linux 最好也是最坏的事情,就是内核空间(kernel space)和用户空间(user space)之间的巨大差别.如果没有这个区别,Linux 可能也不会成为世界上影响力最大的操 ...

  9. C语言register关键字—最快的关键字 ---------------转自http://blog.sina.com.cn/s/blog_6a1837e90101128k.html

    register:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率.注意是尽可能,不是绝对.你想想,一个CPU 的寄存器也就那么几个或几十个,你要是定义了很 ...

  10. django inclusion_tag

    一种比较普遍的tag类型是只是渲染其它模块显示下内容,这样的类型叫做Inclusion Tag. 例如,实现以下tag: {% books_for_author author %} 渲染结果为: &l ...