图解LINUX网络编程
【正版新书】 图解LINUX网络编程 9787121515590 袁菘华 著 著 20
¥
93.37
6.8折
¥
138
全新
库存147件
作者袁菘华
出版社电子工业出版社
出版时间2025-11
版次1
装帧平装
货号WX1204156663
上书时间2026-06-24
商品详情
- 品相描述:全新
图书标准信息
-
作者
袁菘华
-
出版社
电子工业出版社
-
出版时间
2025-11
-
版次
1
-
ISBN
9787121515590
-
定价
138.00元
-
装帧
平装
-
开本
其他
-
页数
388页
- 【内容简介】
-
本书共计14章,介绍Linux网络编程的各个方面。第1~2章介绍网络编程相关的基础知识,包括计算机网络基础、内核收发数据原理、套接字的概念等。第3章介绍套接字编程基础知识,包括字节序、套接字地址、IP地址转换、套接字核心函数等。第4~9章为网络编程实战,包括TCP套接字编程、UDP套接字编程、服务器模型、I/O模型、I/O多路复用、套接字选项。第10~14章为高级网络编程,包括原始套接字、域套接字、组播和广播、零拷贝技术和百万并发。
- 【作者简介】
-
袁菘华,具有十余年Linux研发经验,曾就职于世界500强企业和国内某通讯公司。擅长以图文的形式写作技术文章,将复杂的技术知识讲得通俗易懂。个人微信公众号“物联网心球”深受广大读者的喜欢。
- 【目录】
-
第1章 计算机网络基础1
1.1 OSI参考模型1
1.1.1 OSI参考模型介绍2
1.1.2 OSI参考模型的特点3
1.1.3 OSI与TCP/IP模型3
1.1.4 封装和解封4
1.2 TCP/IP6
1.2.1 物理层6
1.2.2 数据链路层6
1.2.3 网络层14
1.2.4 传输层27
1.2.5 应用层29
1.3 两台主机直连29
1.3.1 通信过程29
1.3.2 ARP和ARP表30
1.4 局域网通信33
1.4.1 通信过程33
1.4.2 交换机工作原理34
1.5 跨网段通信35
1.5.1 通信过程35
1.5.2 访问公网服务端37
第2章 认识套接字39
2.1 从不同角度看套接字39
2.1.1 数据加工厂41
2.1.2 不同设备进程间通信41
2.1.3 本机进程间通信42
2.2 从内核看Linux接收数据43
2.2.1 硬中断处理44
2.2.2 软中断处理44
2.3 从内核看Linux发送数据46
2.3.1 传输层处理47
2.3.2 网络层处理47
2.3.3 邻居子系统处理48
2.3.4 网络设备子系统处理48
2.3.5 网卡驱动处理48
2.4 常见套接字介绍48
2.4.1 IPv4套接字49
2.4.2 数据链路层原始套接字51
2.4.3 域套接字52
第3章 套接字编程基础54
3.1 字节序54
3.1.1 字节序的概念54
3.1.2 字节序对通信的影响55
3.1.3 字节序转换函数56
3.1.4 主机字节序判断58
3.2 套接字地址59
3.2.1 通用套接字地址60
3.2.2 新的通用套接字地址61
3.2.3 IPv4套接字地址62
3.3 IP地址转换63
3.3.1 字符串IP地址转二进制
IP地址63
3.3.2 二进制IP地址转字符串
IP地址66
3.3.3 二进制IP地址和网络ID、
主机ID的转换68
3.4 域名与IP地址的转换71
3.4.1 域名系统71
3.4.2 域名和IP地址转换74
3.4.3 获取系统服务77
3.5 套接字核心函数84
3.5.1 socket函数84
3.5.2 bind函数86
3.5.3 listen函数87
3.5.4 connect函数89
3.5.5 accept函数90
3.6 套接字发送函数91
3.6.1 send函数91
3.6.2 sendto函数93
3.6.3 sendmsg函数93
3.6.4 writev函数95
3.7 套接字接收函数95
3.7.1 recv函数96
3.7.2 recvfrom函数96
3.7.3 recvmsg函数97
3.7.4 readv函数98
第4章 TCP套接字编程99
4.1 TCP编程基础99
4.1.1 TCP简介99
4.1.2 TCP状态机102
4.1.3 TCP调试工具104
4.2 TCP套接字编程基础108
4.2.1 TCP编程流程108
4.2.2 正确设置recv函数的
flags标志113
4.2.3 getsockname和
getpeername函数114
4.3 优雅关闭套接字115
4.3.1 close函数关闭套接字116
4.3.2 shutdown函数优雅关闭
套接字117
4.4 TCP连接快速打开121
4.4.1 TFO的工作流程121
4.4.2 TFO编程实战123
4.4.3 验证TFO功能124
4.5 SYN Flood攻击126
4.5.1 什么是SYN Flood攻击126
4.5.2 TCP SYN Cookies简介126
4.5.3 TCP SYN Cookies实战128
第5章 UDP套接字编程130
5.1 UDP编程基础130
5.2 UDP套接字编程基础131
5.2.1 UDP编程流程131
5.2.2 CS网络模型和P2P网络
模型134
5.2.3 深入理解UDP connect
函数135
5.2.4 正确发送和接收数据140
5.3 UDP可靠性编程143
5.3.1 UDP丢包143
5.3.2 UDP乱序145
5.3.3 可靠性编程146
第6章 服务器模型150
6.1 循环服务器150
6.1.1 UDP循环服务器150
6.1.2 TCP循环服务器151
6.2 并发服务器153
6.2.1 多进程并发服务器153
6.2.2 多线程并发服务器159
6.3 I/O多路复用服务器165
6.4 本章小结166
第7章 I/O模型168
7.1 同步I/O和异步I/O的区别168
7.2 阻塞I/O169
7.3 非阻塞I/O170
7.4 I/O多路复用172
7.5 信号驱动I/O173
7.5.1 工作原理173
7.5.2 信号驱动I/O编程174
7.6 异步I/O177
7.6.1 工作原理177
7.6.2 io_uring编程180
第8章 I/O多路复用185
8.1 从内核看select185
8.2 select编程实战187
8.2.1 位图188
8.2.2 select编程流程191
8.3 select小结200
8.4 从内核看poll201
8.5 poll编程实战203
8.6 poll小结209
8.7 从内核看epoll210
8.8 epoll编程实战211
8.8.1 编程接口211
8.8.2 epoll的编程流程214
8.9 epoll小结219
第9章 套接字选项221
9.1 套接字选项简介221
9.2 setsockopt和getsockopt函数224
9.2.1 函数原型224
9.2.2 实现原理224
9.3 sysctl相关知识225
9.3.1 /proc/sys虚拟文件系统225
9.3.2 sysctl命令225
9.4 常用的套接字选项227
9.4.1 SO_SNDBUF和
SO_RCVBUF227
9.4.2 SO_REUSEADDR和
SO_REUSEPORT230
9.4.3 SO_LINGER237
9.4.4 TCP保活机制238
9.4.5 TCP_NODELAY和
TCP_CORK242
第10章 原始套接字247
10.1 从内核看原始套接字247
10.1.1 原始套接字如何发送
数据248
10.1.2 原始套接字如何接收
数据249
10.2 网络层原始套接字251
10.2.1 编程流程251
10.2.2 常见的网络层原始套接字
编程问题254
10.3 链路层原始套接字256
10.3.1 套接字地址256
10.3.2 编程流程257
10.3.3 混杂模式259
10.3.4 常见的链路层原始套接字编程
问题260
10.4 用户层TCP/IP编程262
10.4.1 累加校验和的原理262
10.4.2 以太网帧头264
10.4.3 IP头267
10.4.4 ARP269
10.4.5 ICMP272
10.4.6 UDP274
第11章 域套接字278
11.1 域套接字基础278
11.1.1 域套接字地址279
11.1.2 域套接字的工作原理279
11.2 SOCK_STREAM域套接字280
11.2.1 服务端程序280
11.2.2 客户端程序286
11.2.3 查看域套接字的状态288
11.3 SOCK_DGRAM域套接字288
11.3.1 服务端程序289
11.3.2 客户端程序291
11.4 socketpair域套接字292
11.4.1 socketpair函数292
11.4.2 发送和接收数据293
11.4.3 socketpair函数和pipe函数的
对比294
11.5 传递文件描述符296
11.5.1 实现原理297
11.5.2 编程实战298
第12章 组播和广播301
12.1 组播301
12.1.1 组播系统302
12.1.2 组播路由304
12.1.3 组播地址307
12.1.4 IGMP309
12.2 组播编程313
12.2.1 编程流程313
12.2.2 组播调试320
12.3 广播323
12.3.1 广播类型324
12.3.2 广播的工作原理324
12.4 广播编程325
第13章 零拷贝329
13.1 传统文件传输329
13.2 零拷贝技术330
13.2.1 mmap内存映射331
13.2.2 pipe334
13.2.3 DMA336
13.3 零拷贝网络编程337
13.3.1 mmap+write337
13.3.2 sendfile339
13.3.3 splice342
第14章 百万并发347
14.1 打开百万个套接字文件347
14.1.1 默认情况347
14.1.2 条件348
14.1.3 解除350
14.2 建立上百万个网络连接359
14.2.1 分析方法359
14.2.2 单机百万网络连接360
14.3 百万并发常见问题365
14.4 Reactor模型366
14.4.1 单Reactor单线程模型367
14.4.2 单Reactor多线程模型368
14.4.3 主从Reactor多线程模型369
14.4.4 Reactor实战370
点击展开
点击收起
以下为对购买帮助不大的评价