-
内容大纲
本书共计14章,介绍Linux网络编程的各个方面。第1~2章介绍网络编程相关的基础知识,包括计算机网络基础、内核收发数据原理、套接字的概念等。第3章介绍套接字编程基础知识,包括字节序、套接字地址、IP地址转换、套接字核心函数等。第4~9章为网络编程实战,包括TCP套接字编程、UDP套接字编程、服务器模型、I/O模型、I/O多路复用、套接字选项。第10~14章为高级网络编程,包括原始套接字、域套接字、组播和广播、零拷贝和百万并发。
本书的适读人群非常广泛,包括Linux开发人员,以及对Linux感兴趣的初学者。同时,本书适合作为高等院校计算机专业的师生用书和培训机构的教材。 -
作者介绍
袁菘华,具有十余年Linux研发经验,曾就职于世界500强企业和国内某通讯公司。擅长以图文的形式写作技术文章,将复杂的技术知识讲得通俗易懂。个人微信公众号“物联网心球”深受广大读者的喜欢。 -
目录
第1章 计算机网络基础
1.1 OSI参考模型
1.1.1 OSI参考模型介绍
1.1.2 OSI参考模型的特点
1.1.3 OSI与TCP/IP模型
1.1.4 封装和解封
1.2 TCP/IP
1.2.1 物理层
1.2.2 数据链路层
1.2.3 网络层
1.2.4 传输层
1.2.5 应用层
1.3 两台主机直连
1.3.1 通信过程
1.3.2 ARP和ARP表
1.4 局域网通信
1.4.1 通信过程
1.4.2 交换机工作原理
1.5 跨网段通信
1.5.1 通信过程
1.5.2 访问公网服务端
第2章 认识套接字
2.1 从不同角度看套接字
2.1.1 数据加工厂
2.1.2 不同设备进程间通信
2.1.3 本机进程间通信
2.2 从内核看Linux接收数据
2.2.1 硬中断处理
2.2.2 软中断处理
2.3 从内核看Linux发送数据
2.3.1 传输层处理
2.3.2 网络层处理
2.3.3 邻居子系统处理
2.3.4 网络设备子系统处理
2.3.5 网卡驱动处理
2.4 常见套接字介绍
2.4.1 IPv4套接字
2.4.2 数据链路层原始套接字
2.4.3 域套接字
第3章 套接字编程基础
3.1 字节序
3.1.1 字节序的概念
3.1.2 字节序对通信的影响
3.1.3 字节序转换函数
3.1.4 主机字节序判断
3.2 套接字地址
3.2.1 通用套接字地址
3.2.2 新的通用套接字地址
3.2.3 IPv4套接字地址
3.3 IP地址转换
3.3.1 字符串IP地址转二进制
IP地址
3.3.2 二进制IP地址转字符串
IP地址
3.3.3 二进制IP地址和网络ID、
主机ID的转换
3.4 域名与IP地址的转换
3.4.1 域名系统
3.4.2 域名和IP地址转换
3.4.3 获取系统服务
3.5 套接字核心函数
3.5.1 socket函数
3.5.2 bind函数
3.5.3 listen函数
3.5.4 connect函数
3.5.5 accept函数
3.6 套接字发送函数
3.6.1 send函数
3.6.2 sendto函数
3.6.3 sendmsg函数
3.6.4 writev函数
3.7 套接字接收函数
3.7.1 recv函数
3.7.2 recvfrom函数
3.7.3 recvmsg函数
3.7.4 readv函数
第4章 TCP套接字编程
4.1 TCP编程基础
4.1.1 TCP简介
4.1.2 TCP状态机
4.1.3 TCP调试工具
4.2 TCP套接字编程基础
4.2.1 TCP编程流程
4.2.2 正确设置recv函数的
flags标志
4.2.3 getsockname和
getpeername函数
4.3 优雅关闭套接字
4.3.1 close函数关闭套接字
4.3.2 shutdown函数优雅关闭
套接字
4.4 TCP连接快速打开
4.4.1 TFO的工作流程
4.4.2 TFO编程实战
4.4.3 验证TFO功能
4.5 SYN Flood攻击
4.5.1 什么是SYN Flood攻击
4.5.2 TCP SYN Cookies简介
4.5.3 TCP SYN Cookies实战
第5章 UDP套接字编程
5.1 UDP编程基础
5.2 UDP套接字编程基础
5.2.1 UDP编程流程
5.2.2 CS网络模型和P2P网络
模型
5.2.3 深入理解UDP connect
函数
5.2.4 正确发送和接收数据
5.3 UDP可靠性编程
5.3.1 UDP丢包
5.3.2 UDP乱序
5.3.3 可靠性编程
第6章 服务器模型
6.1 循环服务器
6.1.1 UDP循环服务器
6.1.2 TCP循环服务器
6.2 并发服务器
6.2.1 多进程并发服务器
6.2.2 多线程并发服务器
6.3 I/O多路复用服务器
6.4 本章小结
第7章 I/O模型
7.1 同步I/O和异步I/O的区别
7.2 阻塞I/O
7.3 非阻塞I/O
7.4 I/O多路复用
7.5 信号驱动I/O
7.5.1 工作原理
7.5.2 信号驱动I/O编程
7.6 异步I/O
7.6.1 工作原理
7.6.2 io_uring编程
第8章 I/O多路复用
8.1 从内核看select
8.2 select编程实战
8.2.1 位图
8.2.2 select编程流程
8.3 select小结
8.4 从内核看poll
8.5 poll编程实战
8.6 poll小结
8.7 从内核看epoll
8.8 epoll编程实战
8.8.1 编程接口
8.8.2 epoll的编程流程
8.9 epoll小结
第9章 套接字选项
9.1 套接字选项简介
9.2 setsockopt和getsockopt函数
9.2.1 函数原型
9.2.2 实现原理
9.3 sysctl相关知识
9.3.1 /proc/sys虚拟文件系统
9.3.2 sysctl命令
9.4 常用的套接字选项
9.4.1 SO_SNDBUF和
SO_RCVBUF
9.4.2 SO_REUSEADDR和
SO_REUSEPORT
9.4.3 SO_LINGER
9.4.4 TCP保活机制
9.4.5 TCP_NODELAY和
TCP_CORK
第10章 原始套接字
10.1 从内核看原始套接字
10.1.1 原始套接字如何发送
数据
10.1.2 原始套接字如何接收
数据
10.2 网络层原始套接字
10.2.1 编程流程
10.2.2 常见的网络层原始套接字
编程问题
10.3 链路层原始套接字
10.3.1 套接字地址
10.3.2 编程流程
10.3.3 混杂模式
10.3.4 常见的链路层原始套接字编程
问题
10.4 用户层TCP/IP编程
10.4.1 累加校验和的原理
10.4.2 以太网帧头
10.4.3 IP头
10.4.4 ARP
10.4.5 ICMP
10.4.6 UDP
第11章 域套接字
11.1 域套接字基础
11.1.1 域套接字地址
11.1.2 域套接字的工作原理
11.2 SOCK_STREAM域套接字
11.2.1 服务端程序
11.2.2 客户端程序
11.2.3 查看域套接字的状态
11.3 SOCK_DGRAM域套接字
11.3.1 服务端程序
11.3.2 客户端程序
11.4 socketpair域套接字
11.4.1 socketpair函数
11.4.2 发送和接收数据
11.4.3 socketpair函数和pipe函数的
对比
11.5 传递文件描述符
11.5.1 实现原理
11.5.2 编程实战
第12章 组播和广播
12.1 组播
12.1.1 组播系统
12.1.2 组播路由
12.1.3 组播地址
12.1.4 IGMP
12.2 组播编程
12.2.1 编程流程
12.2.2 组播调试
12.3 广播
12.3.1 广播类型
12.3.2 广播的工作原理
12.4 广播编程
第13章 零拷贝
13.1 传统文件传输
13.2 零拷贝技术
13.2.1 mmap内存映射
13.2.2 pipe
13.2.3 DMA
13.3 零拷贝网络编程
13.3.1 mmap+write
13.3.2 sendfile
13.3.3 splice
第14章 百万并发
14.1 打开百万个套接字文件
14.1.1 默认情况
14.1.2 限制条件
14.1.3 解除限制
14.2 建立上百万个网络连接
14.2.1 分析方法
14.2.2 单机百万网络连接
14.3 百万并发常见问题
14.4 Reactor模型
14.4.1 单Reactor单线程模型
14.4.2 单Reactor多线程模型
14.4.3 主从Reactor多线程模型
14.4.4 Reactor实战
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
