TCP/IP高效编程

当前位置:首页 > 计算机网络 > 网络与数据通信 > TCP/IP高效编程

出版社:人民邮电出版社
出版日期:2011-4
ISBN:9787115249371
作者:Jon C.Snader
页数:280页

作者简介

作为网络程序员,你是否发现自己的应用程序远远不够健壮?那么,你需要了解编写高效TCP/IP程序所需的各种知识。本书正是这么一本经典著作,它专注于协议族中那些细微的特性,提炼出的44个技巧可立竿见影地提升编程能力。
本书在介绍这些技巧的同时,对TCP/IP编程的基本思想和概念进行了说明,结合大量实例透彻解析了TCP/IP中的实践经验以及法则,还说明了如何避免网络编程中一些最常见的问题。书中提供的框架代码和常用函数库让你能够方便快捷地编写出应用程序,而无需操心一些细枝末节。
书中对下列问题提出了宝贵建议:
 IP编址、子网以及CIDR的研究
 使用套接字接口代替XTI/TLI
 使用两条TCP连接
 使应用程序成为事件驱动的
 使用一次大规模写操作代替多次小规模写操作
 避免数据复制
 理解TCP可靠性的涵义
 认识缓冲区大小带来的影响
 高效使用tcpdump、traceroute、netstat和ping

书籍目录

第1章 概述        1
1.1 几个约定 1
1.2 本书其余部分的内容介绍 2
1.3 客户端—服务器结构 4
1.4 对基本套接字API的回顾 5
1.5 小结 12
第2章 基本概念 13
2.1 技巧1:理解面向连接和无连接协议之间的区别 13
2.2 技巧2:理解子网和CIDR的概念 18
2.2.1 分类编址 18
2.2.2 子网划分 21
2.2.3 CIDR 26
2.2.4 子网划分和CIDR的状态 27
2.2.5 小结 27
2.3 技巧3:理解私有地址和NAT 28
2.4 技巧4:开发并使用应用程序“框架” 30
2.4.1 TCP服务器框架 31
2.4.2 TCP客户端框架 36
2.4.3 UDP服务器框架 38
2.4.4 UDP客户端框架 39
2.4.5 小结 41
2.5 技巧5:套接字接口比XTI/TLI更好用 41
2.6 技巧6:记住,TCP是一种流协议 43
2.7 技巧7:不要低估TCP的性能 50
2.7.1 UDP源程序与接收程序 52
2.7.2 TCP源程序及接收程序 53
2.7.3 小结 59
2.8 技巧8:避免重新编写TCP 59
2.9 技巧9:要认识到TCP是一个可靠的,但并不绝对可靠的协议 61
2.9.1 可靠性——是什么,不是什么 61
2.9.2 故障模式 63
2.9.3 网络中断 63
2.9.4 对等实体崩溃 64
2.9.5 对等实体的主机崩溃 68
2.9.6 小结 69
2.10 技巧10:记住,TCP/IP不是轮询的 69
2.10.1 保持活跃 70
2.10.2 心跳信号 71
2.10.3 另一个例子 76
2.10.4 小结 81
2.11 技巧11:提防对等实体的不友好动作 81
2.11.1 检测客户端的终止 82
2.11.2 检测无效输入 84
2.11.3 小结 88
2.12 技巧12:成功的LAN策略不一定能推广到WAN中去 88
2.12.1 性能问题举例 88
2.12.2 隐含错误举例 89
2.12.3 小结 93
2.13 技巧13:了解协议是怎样工作的 93
2.14 技巧14:不要把OSI七层参考模型太当回事 94
2.14.1 OSI模型 95
2.14.2 TCP/IP模型 96
2.14.3 小结 98
第3章 构建高效且健壮的网络程序 99
3.1 技巧15:理解TCP的写操作 99
3.1.1 从应用程序的角度看写操作 99
3.1.2 从TCP角度看写操作 100
3.1.3 小结 103
3.2 技巧16:理解TCP的有序释放操作 103
3.2.1 shutdown调用 104
3.2.2 有序释放 106
3.2.3 小结 110
3.3 技巧17:考虑用inetd来装载应用程序 111
3.3.1 TCP服务器 111
3.3.2 UDP服务器 114
3.3.3 小结 118
3.4 技巧18:考虑用tcpmux为服务器“分配”知名端口 118
3.5 技巧19:考虑使用两条TCP连接 126
3.5.1 单连接结构 127
3.5.2 双连接架构 128
3.5.3 小结 133
3.6 技巧20:使应用程序成为事件驱动的(1) 133
3.7 技巧21:使应用程序成为事件驱动的(2) 140
3.8 技巧22:不要用TIME-WAIT暗杀来关闭一条连接 147
3.8.1 它是什么 147
3.8.2 为什么要使用它 149
3.8.3 TIME-WAIT暗杀 150
3.8.4 小结 151
3.9 技巧23:服务器应该设置SO_REUSEADDR选项 151
3.10 技巧24:可能的话,使用一个大规模的写操作,而不是多个小规模的写操作 155
3.10.1 禁用Nagle算法 158
3.10.2 将写操作合并起来 159
3.10.3 小结 161
3.11 技巧25:理解如何使connect调用超时 162
3.11.1 使用告警 162
3.11.2 使用select 164
3.11.3 小结 167
3.12 技巧26:避免数据复制 167
3.12.1 共享内存缓冲区 168
3.12.2 一个共享内存缓冲区系统 169
3.12.3 一个UNIX实现 171
3.12.4 一个Windows实现 175
3.12.5 小结 179
3.13 技巧27:使用前将结构sockadddr_in清零 179
3.14 技巧28:不要忘记字节的性别 180
3.15 技巧29:不要将IP地址或端口号硬编入应用程序中 182
3.16 技巧30:理解已连接的UDP套接字 187
3.17 技巧31:记住,并不是所有程序都是用C编写的 190
3.18 技巧32:理解缓冲区长度带来的影响 195
第4章 工具和资源 199
4.1 技巧33:熟悉ping实用工具 199
4.2 技巧34:学习使用tcpdump或类似的工具 201
4.2.1 tcpdump是如何工作的 202
4.2.2 使用tcpdump 205
4.2.3 tcpdump的输出 206
4.2.4 小结 210
4.3 技巧35:学习使用traceroute 210
4.3.1 traceroute是如何工作的 212
4.3.2 Windows TRACERT 214
4.3.3 小结 215
4.4 技巧36:学习使用ttcp 215
4.5 技巧37:学习使用lsof 219
4.6 技巧38:学习使用netstat 221
4.6.1 活动套接字 221
4.6.2 接口 223
4.6.3 路由表 223
4.6.4 协议统计 225
4.6.5 Windows版的netstat 227
4.6.6 小结 227
4.7 技巧39:学习使用系统中的调用追踪工具 227
4.7.1 过早终止 227
4.7.2 ttcp性能问题 231
4.7.3 小结 232
4.8 技巧40:构建并使用捕获ICMP报文的工具 233
4.8.1 读取ICMP报文 233
4.8.2 打印ICMP报文 234
4.8.3 小结 239
4.9 技巧41:读Stevens的书 240
4.9.1 《TCP/IP详解》丛书 240
4.9.2 《UNIX网络编程》丛书 241
4.10 技巧42:阅读代码 242
4.11 技巧43:访问RFC编辑者的页面 243
4.12 技巧44:经常访问新闻组 244
附录A 各种UNIX代码 247
附录B 各种Windows代码 250
参考书目 253
索引 257

内容概要

Jon Snader TCP/IP专家,Paradigm4的资深软件工程师。他的工作领域包括通信、网络、编译器开发、操作系统以及无线网络控制器等。最近主要从事公共安全市场的报文交换系统方面的工作。

图书封面


 TCP/IP高效编程下载 更多精彩书评



发布书评

 
 


精彩书评 (总计5条)

  •     看很多网络编程的帖子推荐了这本书,本得只读好书的愿景买了这本书。读了一遍,总的来说是收获不大。如果你看过〈TCP/IP详解〉〈Unix网络编程〉,这本书就没什么用了,不用把时间花在其它更需要学习的方面而没有上面两本书背景的新手又看不懂,比较尴尬。
  •     看了一些评论,有这么一种观点,看完了tcp/ip和unp就没看这本书的意义了。我觉得不然,不论是tcp/ip还是unp都是太大块头了,读当然要读,但是要吃透是需要大量的时间和经验的。那么这本书提供给了在网络编程中你需要关注的侧重点,更够迅速的的让你关注到你应该关注的地方,并且给出了非常细节性的描述和解决方案。所以如果你不是Stevens,那读这本书对你当然有益。
  •     看了几章后,实在看不下去了,感觉作者就是在避重就轻、故作深奥的讲一些没有用的废话,该通过代码去展示的地方一笔带过,不该详细说明的或者是已经过时的一些东西,却说了又说,自以为了不起,什么都知道,还模仿effective c++的形式写个什么技巧一、技巧二之类的条目,真他妈的傻逼。

精彩短评 (总计58条)

  •     这本书基本上是unix网络编程的缩减'摘抄本!
  •     还有这书啊,赞一个
  •     还没有买,正准备买,看得出作者很幽默技巧41:读Stevens的书,哈哈
  •     送货快不错
  •     进阶必读
  •     好吧,这些技巧其实都是些 “快餐知识”,很多时候可以解燃眉之急,但仅仅可以让经验不够丰富的读者少走弯路。不过话又说回来了,解决同一个问题的方法很多很多,大部分时候选择一两个靠谱的方法就能满足需求了。
  •     这……用python的我不知道以后用不用得到 当复习TCP/IP了吧
  •     再版图书,对TCP/IP编程方面有些指导意义。
  •     手里这本有错页. 在没看那两本厚书之前先用这本热热身吧.
  •     太贵了,一般吧
  •     书有点薄,翻译的貌似也不是很好
  •     这类书籍 简直就是找一些书拼凑而成 简直浪费我时间 我还以为能改善我IOCP模型的思想等东西,结果 却如此垃圾 还卖那么贵 坑爹
  •     里面讲到的一些方法还是很实用的 可以看看~
  •     经常有人抱怨,网络比较慢。
    是否看过,有类似的问题?
  •     实体书重温
  •       页码序列是这样的...
      
      1...197, 166, 167, 200, 201, 170, 171, 204, 205, 174, 175, 208, 209, 178, 179, 212, 213 ...
      
      不过这本不是偶的书, 换不了... :)
      
      ---
      
      关于评论嘛, 可以当热身用书用.
  •     作者貌似经验挺丰富,算是网络编程的实用性教程。当然基于C语言了
  •     有基础再看,不适合初学者
  •     留作收藏用的
  •     虽然没有看完,但是觉得这本书对比C++系列的Efective C++还是差很多,不是什么必不可少的书。
  •     还可以,有一些细节值得再深入学习下。
  •     对TCP/IP编程方面有些指导意义。
  •     : TN915.04/4822-1
  •     虽然大部分都知道
  •     书的内容很一般,没什么价值。很多都是常规性的东西,也不知道为什么作者竟然当作一条一条技巧。不建议购买。
  •     属于我买的很满意的书,虽然接触TCP/IP编程了很多时间,但是书中的内容看完了过后感觉自己又有了很大的提高。推荐希望在TCP/IP编程上有深入的人看。
  •     对有过网络编程经验的人来说太简单,对没有网络编程经验的人来说太难,尴尬的定位
  •     这本小书是解决问题的优秀小册子,缺点是看过之后,难免要念叨着看看TCP/IP 详解,我就这样中招了.
  •     介绍了网络编程中的常见问题,很不错
  •     比较一般
  •     实用的总结
  •     不错,边边角角是经常出问题的地方
  •     电子 南图
  •     这本书不适合初级编程啊 有些难懂
  •     此书于网络编程,类似“c专家编程”于C语言编程。
  •     了解网络基础理论过渡到实战网络程序员的重要桥梁。
  •     很多点都是读Unix网络编程中不注意的或者理解有误的,帮助很大
  •     这本还行,搭配unix网络编程看看
  •     跟effective c++算一个类型的吧,基本上unp认真看完了,这书上的tips也就没啥用了。。。
  •     网络编程的陷阱
  •     还算不错吧
  •     参加活动不返券的
  •     好比两个高手过招,露出任何一点破绽就会一剑封喉,所以处处谨慎,步步为营。
  •     为何图书没有在线试读功能,感觉不爽!
  •     干货不多的样子
  •     不求全面,但读无妨
  •     不适合初学者,事件模型有点老了
  •     似乎深度不够,基本技巧
  •     书的本身内容不错,对于网络编程方面讲得很好,但是感觉没有电力出版社那本翻译的好,电力那本一直缺货,郁闷
  •     卓越配送的服务很不错,书在本周2上午拿到的。选择性的看了 技巧6 记住,Tcp是一种流协议 这一节,本书在内容上阐述原理时常以图说明,外加代码示例,是我较为喜欢的风格。更详细的评论只有等到读完整本书后再给出了。另外发现书中198~199页属于重印错误,希望再次印刷出版时能及时修正哦。
  •     实践性很好,从各种很实用的 case 进行讲解
  •     细节很多,有几个技巧很有用。
  •     部分翻译难以理解。。
  •     有点上不上下不下的感脚。
  •     可快速读完
  •     还行
  •     当当网给我发的书是装订错误的,悲剧。
  •     蛮不错的一本书,利用睡前时间翻完了,后面还得找个时间总结一下
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024