- 博客(0)
- 资源 (17)
- 收藏
- 关注
Head First Python A Brain-Friendly_Guide_(2nd_Edition)
Want to learn the Python language without slogging your way through how-to manuals? With Head First Python, you’ll quickly grasp Python’s fundamentals, working with the built-in data structures and functions. Then you’ll move on to building your very own webapp, exploring database management, exception handling, and data wrangling. If you’re intrigued by what you can do with context managers, decorators, comprehensions, and generators, it’s all here. This second edition is a complete learning experience that will help you become a bonafide Python programmer in no time.
Why does this book look so different? Based on the latest research in cognitive science and learning theory, Head First Pythonuses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works.
2018-09-15
Packt Artificial Intelligence with Python-英文原版
Artificial Intelligence with Python – Deep Neural Networks February 1, 2018 Video
Artificial Intelligence with Python – Deep Neural Networks
Artificial Intelligence with Python – Deep Neural Networks
English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 1h 19m | 367 MB
Learn different Artificial Intelligence learning techniques with neural networks
The course is an introduction to the basics of deep learning methods. We will start with object detection and tracking, in which we will track faces, objects and eyes. We will then build a neural network and an OCR. We will then learn how to build learning agents that can learn from interacting with the environment. We will use Deep Learning with Convolutional Neural Networks, and use TensorFlow to build neural networks. We will then build an image classifier using convolutional neural networks.
The video course is structured in such a way that the explanation of a concept is followed by a relevant example. Also, algorithms are explained and their respective code and training dataset is provided.
What You Will Learn
Build applications based on deep learning algorithms
Detect and track objects using different algorithms
Learn how reinforcement learning works
2018-09-15
PHP_for_the_Web_Visual_QuickStart_Guide_(5th_Edition)英文原版
Learn PHP programming the quick and easy way!
With PHP for the Web: Visual QuickStart Guide readers can start from the beginning to get a tour of the programming language, or look up specific tasks to learn just what they need to know.
This task-based visual reference guide uses step-by-step instructions and plenty of screenshots to teach beginning and intermediate users this popular open-source scripting language. Author Larry Ullman guides readers through the ins and outs of both PHP 5 and PHP 7, and offers more efficient ways to tackle common needs.
Both beginning users, who want a thorough introduction to the technology, and more intermediate users, who are looking for a convenient reference, will find what they need here–in straightforward language and through readily accessible examples.
Easy visual approach uses demonstrations and real-world examples to guide you through dynamic web development using PHP and show you what to do step by step.
Concise steps and explanations let you get up and running in no time.
Essential reference guide keeps you coming back again and again.
Whether you’re a programming newbie or an experienced veteran learning PHP for the first time, this book will teach you all you need to know, including the latest changes in PHP and more efficient ways to tackle common needs.
2018-09-15
TCP-IP详解卷三:TCP事务协议,HTTP,NNTP和UNIX域协议——高清文字(china-pub经典系列)
目 录
译者序
前言
第一部分 TCP事务协议
第1章 T/TCP概述 1
1.1 概述 1
1.2 UDP上的客户-服务器 1
1.3 TCP上的客户-服务器 6
1.4 T/TCP上的客户-服务器 12
1.5 测试网络 15
1.6 时间测量程序 15
1.7 应用 17
1.8 历史 19
1.9 实现 20
1.10 小结 21
第2章 T/TCP协议 23
2.1 概述 23
2.2 T/TCP中的新TCP选项 23
2.3 T/TCP实现所需变量 25
2.4 状态变迁图 27
2.5 T/TCP的扩展状态 28
2.6 小结 30
第3章 T/TCP使用举例 31
3.1 概述 31
3.2 客户重新启动 31
3.3 常规的T/TCP事务 33
3.4 服务器收到过时的重复SYN 34
3.5 服务器重启动 35
3.6 请求或应答超出报文段最大长度MSS 36
3.7 向后兼容性 39
3.8 小结 41
第4章 T/TCP协议(续) 43
4.1 概述 43
4.2 客户的端口号和TIME_WAIT状态 43
4.3 设置TIME_WAIT状态的目的 45
4.4 TIME_WAIT状态的截断 48
4.5 利用TAO跳过三次握手 51
4.6 小结 55
第5章 T/TCP协议的实现:插口层 56
5.1 概述 56
5.2 常量 56
5.3 sosend函数 56
5.4 小结 58
第6章 T/TCP的实现:路由表 59
6.1 概述 59
6.2 代码介绍 59
6.3 radix_node_head结构 60
6.4 rtentry结构 61
6.5 rt_metrics结构 61
6.6 in_inithead函数 61
6.7 in_addroute函数 62
6.8 in_matroute函数 63
6.9 in_clsroute函数 63
6.10 in_rtqtimo函数 64
6.11 in_rtqkill函数 66
6.12 小结 69
第7章 T/TCP实现:协议控制块 70
7.1 概述 70
7.2 in_pcbladdr函数 71
7.3 in_pcbconnect函数 71
7.4 小结 72
第8章 T/TCP实现: TCP概要 73
8.1 概述 73
8.2 代码介绍 73
8.3 TCP的protosw结构 74
8.4 TCP控制块 74
8.5 tcp_init函数 75
8.6 tcp_slowtimo函数 75
8.7 小结 76
第9章 T/TCP实现:TCP输出 77
9.1 概述 77
9.2 tcp_output函数 77
9.2.1 新的自动变量 77
9.2.2 增加隐藏的状态标志 77
9.2.3 在SYN_SENT状态不要重传SYN 78
9.2.4 发送器的糊涂窗口避免机制 78
9.2.5 有RST或SYN标志时强制发送报文段 79
9.2.6 发送MSS选项 80
9.2.7 是否发送时间戳选项 80
9.2.8 发送T/TCP的CC选项 80
9.2.9 根据TCP选项调整数据长度 83
9.3 小结 83
第10章 T/TCP实现:TCP函数 84
10.1 概述 84
10.2 tcp_newtcpcb函数 84
10.3 tcp_rtlookup函数 85
10.4 tcp_gettaocache函数 86
10.5 重传超时间隔的计算 86
10.6 tcp_close函数 89
10.7 tcp_msssend函数 90
10.8 tcp_mssrcvd函数 91
10.9 tcp_dooptions函数 96
10.10 tcp_reass函数 98
10.11 小结 99
第11章 T/TCP实现:TCP输入 101
11.1 概述 101
11.2 预处理 103
11.3 首部预测 104
11.4 被动打开的启动 105
11.5 主动打开的启动 108
11.6 PAWS:防止序号重复 114
11.7 ACK处理 115
11.8 完成被动打开和同时打开 115
11.9 ACK处理(续) 116
11.10 FIN处理 118
11.11 小结 119
第12章 T/TCP实现:TCP用户请求 120
12.1 概述 120
12.2 PRU_CONNECT请求 120
12.3 tcp_connect函数 120
12.4 PRU_SEND和PRU_SEND_EOF请求 124
12.5 tcp_usrclosed函数 125
12.6 tcp_sysctl函数 126
12.7 T/TCP的前景 126
12.8 小结 127
第二部分 TCP的其他应用
第13章 HTTP:超文本传送协议 129
13.1 概述 129
13.2 HTTP和HTML概述 130
13.3 HTTP 132
13.3.1 报文类型:请求与响应 132
13.3.2 首部字段 133
13.3.3 响应代码 133
13.3.4 各种报文头举例 134
13.3.5 例子:客户程序缓存 135
13.3.6 例子:服务器重定向 136
13.4 一个例子 136
13.5 HTTP的统计资料 138
13.6 性能问题 139
13.7 小结 141
第14章 在HTTP服务器上找到的分组 142
14.1 概述 142
14.2 多个HTTP服务器 144
14.3 客户端SYN的到达间隔时间 145
14.4 RTT的测量 149
14.5 用listen设置入连接队列的容量 150
14.6 客户端的SYN选项 154
14.7 客户端的SYN重传 156
14.8 域名 157
14.9 超时的持续探测 157
14.10 T/TCP路由表大小的模拟 160
14.11 mbuf的交互 162
14.12 TCP的PCB高速缓存和首部预测 163
14.13 小结 165
第15章 NNTP:网络新闻传送协议 166
15.1 概述 166
15.2 NNTP 167
15.3 一个简单的新闻客户 170
15.4 一个复杂的新闻客户 171
15.5 NNTP的统计资料 172
15.6 小结 173
第三部分 Unix域协议
第16章 Unix域协议:概述 175
16.1 概述 175
16.2 用途 176
16.3 性能 177
16.4 编码举例 177
16.5 小结 179
第17章 Unix域协议:实现 180
17.1 概述 180
17.2 代码介绍 180
17.3 Unix domain和protosw结构 181
17.4 Unix域插口地址结构 182
17.5 Unix域协议控制块 183
17.6 uipc_usrreq函数 185
17.7 PRU_ATTACH请求和unp_attach函数 186
17.8 PRU_DETACH请求和unp_detach函数 187
17.9 PRU_BIND请求和unp_bind函数 189
17.10 PRU_CONNECT请求和unp_connect
函数 191
17.11 PRU_CONNECT2请求和unp_connect2
函数 195
17.12 socketpair系统调用 198
17.13 pipe系统调用 202
17.14 PRU_ACCEPT请求 203
17.15 PRU_DISCONNECT请求和
unp_disconnect函数 204
17.16 PRU_SHUTDOWN请求和unp_shutdown
函数 205
17.17 PRU_ABORT请求和unp_drop函数 206
17.18 其他各种请求 207
17.19 小结 209
第18章 Unix域协议:I/O和描述符的传递 210
18.1 概述 210
18.2 PRU_SEND和PRU_RCVD请求 210
18.3 描述符的传递 214
18.4 unp_internalize函数 218
18.5 unp_externalize函数 220
18.6 unp_discard函数 221
18.7 unp_dispose函数 222
18.8 unp_scan函数 222
18.9 unp_gc函数 223
18.10 unp_mark函数 230
18.11 性能(再讨论) 231
18.12 小结 231
附录A 测量网络时间 232
附录B 编写T/TCP应用程序 242
参考文献 246
缩略语 251
2018-06-30
TCP-IP详解卷2:实现——高清文字(china-pub经典系列)
目 录
译者序
前言
第1章 概述 1
1.1 引言 1
1.2 源代码表示 1
1.2.1 将拥塞窗口设置为1 1
1.2.2 印刷约定 2
1.3 历史 2
1.4 应用编程接口 3
1.5 程序示例 4
1.6 系统调用和库函数 6
1.7 网络实现概述 6
1.8 描述符 7
1.9 mbuf与输出处理 11
1.9.1 包含插口地址结构的mbuf 11
1.9.2 包含数据的mbuf 12
1.9.3 添加IP和UDP首部 13
1.9.4 IP输出 14
1.9.5 以太网输出 14
1.9.6 UDP输出小结 14
1.10 输入处理 15
1.10.1 以太网输入 15
1.10.2 IP输入 15
1.10.3 UDP输入 16
1.10.4 进程输入 17
1.11 网络实现概述(续) 17
1.12 中断级别与并发 18
1.13 源代码组织 20
1.14 测试网络 21
1.15 小结 22
第2章 mbuf:存储器缓存 24
2.1 引言 24
2.2 代码介绍 27
2.2.1 全局变量 27
2.2.2 统计 28
2.2.3 内核统计 28
2.3 mbuf的定义 29
2.4 mbuf结构 29
2.5 简单的mbuf宏和函数 31
2.5.1 m_get函数 32
2.5.2 MGET宏 32
2.5.3 m_retry函数 33
2.5.4 mbuf锁 34
2.6 m_devget和m_pullup函数 34
2.6.1 m_devget函数 34
2.6.2 mtod和dtom宏 36
2.6.3 m_pullup函数和连续的协议首部 36
2.6.4 m_pullup和IP的分片与重组 37
2.6.5 TCP重组避免调用m_pullup 39
2.6.6 m_pullup使用总结 40
2.7 mbuf宏和函数的小结 40
2.8 Net/3联网数据结构小结 42
2.9 m_copy和簇引用计数 43
2.10 其他选择 47
2.11 小结 47
第3章 接口层 49
3.1 引言 49
3.2 代码介绍 49
3.2.1 全局变量 49
3.2.2 SNMP变量 50
3.3 ifnet结构 51
3.4 ifaddr结构 57
3.5 sockaddr结构 58
3.6 ifnet与ifaddr的专用化 59
3.7 网络初始化概述 60
3.8 以太网初始化 61
3.9 SLIP初始化 64
3.10 环回初始化 65
3.11 if_attach函数 66
3.12 ifinit函数 72
3.13 小结 73
第4章 接口:以太网 74
4.1 引言 74
4.2 代码介绍 75
4.2.1 全局变量 75
4.2.2 统计量 75
4.2.3 SNMP变量 76
4.3 以太网接口 77
4.3.1 leintr函数 79
4.3.2 leread函数 79
4.3.3 ether_input函数 81
4.3.4 ether_output函数 84
4.3.5 lestart函数 87
4.4 ioctl系统调用 89
4.4.1 ifioctl函数 90
4.4.2 ifconf函数 91
4.4.3 举例 94
4.4.4 通用接口ioctl命令 95
4.4.5 if_down和if_up函数 96
4.4.6 以太网、SLIP和环回 97
4.5 小结 98
第5章 接口:SLIP和环回 100
5.1 引言 100
5.2 代码介绍 100
5.2.1 全局变量 100
5.2.2 统计量 101
5.3 SLIP接口 101
5.3.1 SLIP线路规程:SLIPDISC 101
5.3.2 SLIP初始化:slopen和slinit 103
5.3.3 SLIP输入处理:slinput 105
5.3.4 SLIP输出处理:sloutput 109
5.3.5 slstart函数 111
5.3.6 SLIP分组丢失 116
5.3.7 SLIP性能考虑 117
5.3.8 slclose函数 117
5.3.9 sltioctl函数 118
5.4 环回接口 119
5.5 小结 121
第6章 IP编址 123
6.1 引言 123
6.1.1 IP地址 123
6.1.2 IP地址的印刷规定 123
6.1.3 主机和路由器 124
6.2 代码介绍 125
6.3 接口和地址小结 125
6.4 sockaddr_in结构 126
6.5 in_ifaddr结构 127
6.6 地址指派 128
6.6.1 ifioctl函数 130
6.6.2 in_control函数 130
6.6.3 前提条件:SIOCSIFADDR、
SIOCSIFNETMASK和
SIOCSIFDSTADDR 132
6.6.4 地址指派:SIOCSIFADDR 133
6.6.5 in_ifinit函数 133
6.6.6 网络掩码指派:SIOCSIFNETMASK 136
6.6.7 目的地址指派:SIOCSIFDSTADDR 137
6.6.8 获取接口信息 137
6.6.9 每个接口多个IP地址 138
6.6.10 附加IP地址:SIOCAIFADDR 139
6.6.11 删除IP地址:SIOCDIFADDR 140
6.7 接口ioctl处理 141
6.7.1 leioctl函数 141
6.7.2 slioctl函数 142
6.7.3 loioctl函数 143
6.8 Internet实用函数 144
6.9 ifnet实用函数 144
6.10 小结 145
第7章 域和协议 146
7.1 引言 146
7.2 代码介绍 146
7.2.1 全局变量 147
7.2.2 统计量 147
7.3 domain结构 147
7.4 protosw结构 148
7.5 IP 的domain和protosw结构 150
7.6 pffindproto和pffindtype函数 155
7.7 pfctlinput函数 157
7.8 IP初始化 157
7.8.1 Internet传输分用 157
7.8.2 ip_init函数 158
7.9 sysctl系统调用 159
7.10 小结 161
第8章 IP:网际协议 162
8.1 引言 162
8.2 代码介绍 163
8.2.1 全局变量 163
8.2.2 统计量 163
8.2.3 SNMP变量 164
8.3 IP分组 165
8.4 输入处理:ipintr函数 167
8.4.1 ipintr概观 167
8.4.2 验证 168
8.4.3 转发或不转发 171
8.4.4 重装和分用 173
8.5 转发:ip_forward函数 174
8.6 输出处理:ip_output函数 180
8.6.1 首部初始化 181
8.6.2 路由选择 182
8.6.3 源地址选择和分片 184
8.7 Internet检验和:in_cksum函数 186
8.8 setsockopt和getsockopt系统调用 190
8.8.1 PRCO_SETOPT的处理 192
8.8.2 PRCO_GETOPT的处理 193
8.9 ip_sysctl函数 193
8.10 小结 194
第9章 IP选项处理 196
9.1 引言 196
9.2 代码介绍 196
9.2.1 全局变量 196
9.2.2 统计量 197
9.3 选项格式 197
9.4 ip_dooptions函数 198
9.5 记录路由选项 200
9.6 源站和记录路由选项 202
9.6.1 save_rte函数 205
9.6.2 ip_srcroute函数 206
9.7 时间戳选项 207
9.8 ip_insertoptions函数 210
9.9 ip_pcbopts函数 214
9.10 一些限制 217
9.11 小结 217
第10章 IP的分片与重装 218
10.1 引言 218
10.2 代码介绍 219
10.2.1 全局变量 220
10.2.2 统计量 220
10.3 分片 220
10.4 ip_optcopy函数 223
10.5 重装 224
10.6 ip_reass函数 227
10.7 ip_slowtimo函数 237
10.8 小结 238
第11章 ICMP:Internet控制报文协议 239
11.1 引言 239
11.2 代码介绍 242
11.2.1 全局变量 242
11.2.2 统计量 242
11.2.3 SNMP变量 243
11.3 icmp结构 244
11.4 ICMP 的protosw结构 245
11.5 输入处理:icmp_input函数 246
11.6 差错处理 249
11.7 请求处理 251
11.7.1 回显询问:ICMP_ECHO和
ICMP_ECHOREPLY 252
11.7.2 时间戳询问:ICMP_TSTAMP和
ICMP_TSTAMPREPLY 253
11.7.3 地址掩码询问:ICMP_MASKREQ和
ICMP_MASKREPLY 253
11.7.4 信息询问:ICMP_IREQ和ICMP_
IREQREPLY 255
11.7.5 路由器发现:ICMP_ROUTERADVERT
和ICMP_ROUTERSOLICIT 255
11.8 重定向处理 255
11.9 回答处理 257
11.10 输出处理 257
11.11 icmp_error函数 258
11.12 icmp_reflect函数 261
11.13 icmp_send函数 265
11.14 icmp_sysctl函数 266
11.15 小结 266
第12章 IP多播 268
12.1 引言 268
12.2 代码介绍 269
12.2.1 全局变量 270
12.2.2 统计量 270
12.3 以太网多播地址 270
12.4 ether_multi结构 271
12.5 以太网多播接收 273
12.6 in_multi结构 273
12.7 ip_moptions结构 275
12.8 多播的插口选项 276
12.9 多播的TTL值 277
12.9.1 MBONE 278
12.9.2 扩展环搜索 278
12.10 ip_setmoptions函数 278
12.10.1 选择一个明确的多播接口:IP_
MULTICAST_IF 280
12.10.2 选择明确的多播TTL: IP_
MULTICAST_TTL 281
12.10.3 选择多播环回:IP_MULTICAST_
LOOP 281
12.11 加入一个IP多播组 282
12.11.1 in_addmulti函数 285
12.11.2 slioctl和loioctl函数:SIOCADDMULTI和SIOCDELMULTI 287
12.11.3 leioctl函数:SIOCADDMULTI和
SIOCDELMULTI 288
12.11.4 ether_addmulti函数 288
12.12 离开一个IP多播组 291
12.12.1 in_delmulti函数 292
12.12.2 ether_delmulti函数 293
12.13 ip_getmoptions函数 295
12.14 多播输入处理:ipintr函数 296
12.15 多播输出处理:ip_output函数 298
12.16 性能的考虑 301
12.17 小结 301
第13章 IGMP:Internet组管理协议 303
13.1 引言 303
13.2 代码介绍 304
13.2.1 全局变量 304
13.2.2 统计量 304
13.2.3 SNMP变量 305
13.3 igmp结构 305
13.4 IGMP的protosw的结构 306
13.5 加入一个组:igmp_joingroup函数 306
13.6 igmp_fasttimo函数 308
13.7 输入处理:igmp_input函数 311
13.7.1 成员关系查询:IGMP_HOST_
MEMBERSHIP_QUERY 312
13.7.2 成员关系报告:IGMP_HOST_
MEMBERSHIP_REPORT 313
13.8 离开一个组:igmp_leavegroup函数 314
13.9 小结 315
第14章 IP多播选路 316
14.1 引言 316
14.2 代码介绍 316
14.2.1 全局变量 316
14.2.2 统计量 317
14.2.3 SNMP变量 317
14.3 多播输出处理(续) 317
14.4 mrouted守护程序 318
14.5 虚拟接口 321
14.5.1 虚拟接口表 322
14.5.2 add_vif函数 324
14.5.3 del_vif函数 326
14.6 IGMP(续) 327
14.6.1 add_lgrp函数 328
14.6.2 del_lgrp函数 329
14.6.3 grplst_member函数 330
14.7 多播选路 331
14.7.1 多播选路表 334
14.7.2 del_mrt函数 335
14.7.3 add_mrt函数 336
14.7.4 mrtfind函数 337
14.8 多播转发:ip_mforward函数 338
14.8.1 phyint_send函数 343
14.8.2 tunnel_send函数 344
14.9 清理:ip_mrouter_done函数 345
14.10 小结 346
第15章 插口层 348
15.1 引言 348
15.2 代码介绍 349
15.3 socket结构 349
15.4 系统调用 354
15.4.1 举例 355
15.4.2 系统调用小结 355
15.5 进程、描述符和插口 357
15.6 socket系统调用 358
15.6.1 socreate函数 359
15.6.2 超级用户特权 361
15.7 getsock和sockargs函数 361
15.8 bind系统调用 363
15.9 listen系统调用 364
15.10 tsleep和wakeup函数 365
15.11 accept系统调用 366
15.12 sonewconn和soisconnected
函数 369
15.13 connect系统调用 372
15.13.1 soconnect函数 374
15.13.2 切断无连接插口和外部地址的
关联 375
15.14 shutdown系统调用 375
15.15 close系统调用 377
15.15.1 soo_close函数 377
15.15.2 soclose函数 378
15.16 小结 380
第16章 插口I/O 381
16.1 引言 381
16.2 代码介绍 381
16.3 插口缓存 381
16.4 write、writev、sendto和sendmsg
系统调用 384
16.5 sendmsg系统调用 387
16.6 sendit函数 388
16.6.1 uiomove函数 389
16.6.2 举例 390
16.6.3 sendit代码 391
16.7 sosend函数 392
16.7.1 可靠的协议缓存 393
16.7.2 不可靠的协议缓存 393
16.7.3 sosend函数小结 401
16.7.4 性能问题 401
16.8 read、readv、recvfrom和recvmsg
系统调用 401
16.9 recvmsg系统调用 402
16.10 recvit函数 403
16.11 soreceive函数 405
16.11.1 带外数据 406
16.11.2 举例 406
16.11.3 其他的接收操作选项 407
16.11.4 接收缓存的组织:报文边界 407
16.11.5 接收缓存的组织:没有报文边界 408
16.11.6 控制信息和带外数据 409
16.12 soreceive代码 410
16.13 select系统调用 421
16.13.1 selscan函数 425
16.13.2 soo_select函数 425
16.13.3 selrecord函数 427
16.13.4 selwakeup函数 428
16.14 小结 429
第17章 插口选项 431
17.1 引言 431
17.2 代码介绍 431
17.3 setsockopt系统调用 432
17.4 getsockopt系统调用 437
17.5 fcntl和ioctl系统调用 440
17.5.1 fcntl代码 441
17.5.2 ioctl代码 443
17.6 getsockname系统调用 444
17.7 getpeername系统调用 445
17.8 小结 447
第18章 Radix树路由表 448
18.1 引言 448
18.2 路由表结构 448
18.3 选路插口 456
18.4 代码介绍 456
18.4.1 全局变量 458
18.4.2 统计量 458
18.4.3 SNMP变量 459
18.5 Radix结点数据结构 460
18.6 选路结构 463
18.7 初始化:route_init和rtable_init
函数 465
18.8 初始化:rn_init和rn_inithead
函数 468
18.9 重复键和掩码列表 471
18.10 rn_match函数 473
18.11 rn_search函数 480
18.12 小结 481
第19章 选路请求和选路消息 482
19.1 引言 482
19.2 rtalloc和rtalloc1函数 482
19.3 宏RTFREE和rtfree函数 484
19.4 rtrequest函数 486
19.5 rt_setgate函数 491
19.6 rtinit函数 493
19.7 rtredirect函数 495
19.8 选路消息的结构 498
19.9 rt_missmsg函数 501
19.10 rt_ifmsg函数 503
19.11 rt_newaddrmsg函数 504
19.12 rt_msg1函数 505
19.13 rt_msg2函数 507
19.14 sysctl_rtable函数 510
19.15 sysctl_dumpentry函数 514
19.16 sysctl_iflist函数 515
19.17 小结 517
第20章 选路插口 518
20.1 引言 518
20.2 routedomain和protosw结构 518
20.3 选路控制块 519
20.4 raw_init函数 520
20.5 route_output函数 520
20.6 rt_xaddrs函数 530
20.7 rt_setmetrics函数 531
20.8 raw_input函数 532
20.9 route_usrreq函数 534
20.10 raw_usrreq函数 535
20.11 raw_attach、raw_detach和raw_disconnect函数 539
20.12 小结 540
第21章 ARP:地址解析协议 542
21.1 介绍 542
21.2 ARP和路由表 542
21.3 代码介绍 544
21.3.1 全局变量 544
21.3.2 统计量 544
21.3.3 SNMP变量 546
21.4 ARP结构 546
21.5 arpwhohas函数 548
21.6 arprequest函数 548
21.7 arpintr函数 551
21.8 in_arpinput函数 552
21.9 ARP定时器函数 557
21.9.1 arptimer函数 557
21.9.2 arptfree函数 557
21.10 arpresolve函数 558
21.11 arplookup函数 562
21.12 代理ARP 563
21.13 arp_rtrequest函数 564
21.14 ARP和多播 569
21.15 小结 570
第22章 协议控制块 572
22.1 引言 572
22.2 代码介绍 573
22.2.1 全局变量 574
22.2.2 统计量 574
22.3 inpcb的结构 574
22.4 in_pcballoc和in_pcbdetach函数 575
22.5 绑定、连接和分用 577
22.6 in_pcblookup函数 581
22.7 in_pcbbind函数 584
22.8 in_pcbconnect函数 589
22.9 in_pcbdisconnect函数 594
22.10 in_setsockaddr和in_setpeeraddr
函数 595
22.11 in_pcbnotify、in_rtchange和in_losing函数 595
22.11.1 in_rtchange函数 598
22.11.2 重定向和原始插口 599
22.11.3 ICMP差错和UDP插口 600
22.11.4 in_losing函数 601
22.12 实现求精 602
22.13 小结 602
第23章 UDP:用户数据报协议 605
23.1 引言 605
23.2 代码介绍 605
23.2.1 全局变量 606
23.2.2 统计量 606
23.2.3 SNMP变量 607
23.3 UDP 的protosw结构 607
23.4 UDP的首部 608
23.5 udp_init函数 609
23.6 udp_output函数 609
23.6.1 在前面加上IP/UDP首部和mbuf簇 612
23.6.2 UDP检验和计算和伪首部 612
23.7 udp_input函数 616
23.7.1 对收到的UDP数据报的一般确认 616
23.7.2 分用单播数据报 619
23.7.3 分用多播和广播数据报 622
23.7.4 连接上的UDP插口和多接口主机 625
23.8 udp_saveopt函数 625
23.9 udp_ctlinput函数 627
23.10 udp_usrreq函数 628
23.11 udp_sysctl函数 633
23.12 实现求精 633
23.12.1 UDP PCB高速缓存 633
23.12.2 UDP检验和 634
23.13 小结 635
第24章 TCP:传输控制协议 636
24.1 引言 636
24.2 代码介绍 636
24.2.1 全局变量 636
24.2.2 统计量 637
24.2.3 SNMP变量 640
24.3 TCP 的protosw结构 641
24.4 TCP的首部 641
24.5 TCP的控制块 643
24.6 TCP的状态变迁图 645
24.7 TCP的序号 646
24.8 tcp_init函数 650
24.9 小结 652
第25章 TCP的定时器 654
25.1 引言 654
25.2 代码介绍 655
25.3 tcp_canceltimers函数 657
25.4 tcp_fasttimo函数 657
25.5 tcp_slowtimo函数 658
25.6 tcp_timers函数 659
25.6.1 FIN_WAIT_2和2MSL定时器 660
25.6.2 持续定时器 662
25.6.3 连接建立定时器和保活定时器 662
25.7 重传定时器的计算 665
25.8 tcp_newtcpcb算法 666
25.9 tcp_setpersist函数 668
25.10 tcp_xmit_timer函数 669
25.11 重传超时:tcp_timers函数 673
25.11.1 慢起动和避免拥塞 675
25.11.2 精确性 677
25.12 一个RTT的例子 677
25.13 小结 679
第26章 TCP输出 680
26.1 引言 680
26.2 tcp_output概述 680
26.3 决定是否应发送一个报文段 682
26.4 TCP选项 691
26.5 窗口大小选项 692
26.6 时间戳选项 692
26.6.1 哪个时间戳需要回显,RFC1323
算法 694
26.6.2 哪个时间戳需要回显,正确的
算法 695
26.6.3 时间戳与延迟ACK 695
26.7 发送一个报文段 696
26.8 tcp_template函数 707
26.9 tcp_respond函数 708
26.10 小结 710
第27章 TCP的函数 712
27.1 引言 712
27.2 tcp_drain函数 712
27.3 tcp_drop函数 712
27.4 tcp_close函数 713
27.4.1 路由特性 713
27.4.2 资源释放 716
27.5 tcp_mss函数 717
27.6 tcp_ctlinput函数 722
27.7 tcp_notify函数 723
27.8 tcp_quench函数 724
27.9 TCP_REASS宏和tcp_reass函数 724
27.9.1 TCP_REASS宏 725
27.9.2 tcp_reass函数 727
27.10 tcp_trace函数 732
27.11 小结 736
第28章 TCP的输入 737
28.1 引言 737
28.2 预处理 739
28.3 tcp_dooptions函数 745
28.4 首部预测 747
28.5 TCP输入:缓慢的执行路径 752
28.6 完成被动打开或主动打开 752
28.6.1 完成被动打开 753
28.6.2 完成主动打开 756
28.7 PAWS:防止序号回绕 760
28.8 裁剪报文段使数据在窗口内 762
28.9 自连接和同时打开 768
28.10 记录时间戳 770
28.11 RST处理 770
28.12 小结 772
第29章 TCP的输入(续) 773
29.1 引言 773
29.2 ACK处理概述 773
29.3 完成被动打开和同时打开 774
29.4 快速重传和快速恢复的算法 775
29.5 ACK处理 778
29.6 更新窗口信息 784
29.7 紧急方式处理 786
29.8 tcp_pulloutofband函数 788
29.9 处理已接收的数据 789
29.10 FIN处理 791
29.11 最后的处理 793
29.12 实现求精 795
29.13 首部压缩 795
29.13.1 引言 796
29.13.2 首部字段的压缩 799
29.13.3 特殊情况 801
29.13.4 实例 802
29.13.5 配置 803
29.14 小结 803
第30章 TCP的用户需求 805
30.1 引言 805
30.2 tcp_usrreq函数 805
30.3 tcp_attach函数 814
30.4 tcp_disconnect函数 815
30.5 tcp_usrclosed函数 816
30.6 tcp_ctloutput函数 817
30.7 小结 820
第31章 BPF:BSD 分组过滤程序 821
31.1 引言 821
31.2 代码介绍 821
31.2.1 全局变量 821
31.2.2 统计量 822
31.3 bpf_if结构 822
31.4 bpf_d结构 825
31.4.1 bpfopen函数 826
31.4.2 bpfioctl函数 827
31.4.3 bpf_setif函数 830
31.4.4 bpf_attachd函数 831
31.5 BPF的输入 832
31.5.1 bpf_tap函数 832
31.5.2 catchpacket函数 833
31.5.3 bpfread函数 835
31.6 BPF的输出 837
31.7 小结 838
第32章 原始IP 839
32.1 引言 839
32.2 代码介绍 839
32.2.1 全局变量 839
32.2.2 统计量 840
32.3 原始 IP的protosw结构 840
32.4 rip_init函数 842
32.5 rip_input函数 842
32.6 rip_output函数 844
32.7 rip_usrreq函数 846
32.8 rip_ctloutput函数 850
32.9 小结 852
结束语 853
附录A 部分习题的解答 854
附录B 源代码的获取 872
附录C RFC 1122 的有关内容 874
参考文献 895
2018-06-30
TCP-IP详解卷1:协议——高清文字(china-pub经典系列)
目 录
译者序
前言
第1章 概述 1
1.1 引言 1
1.2 分层 1
1.3 TCP/IP的分层 4
1.4 互联网的地址 5
1.5 域名系统 6
1.6 封装 6
1.7 分用 8
1.8 客户-服务器模型 8
1.9 端口号 9
1.10 标准化过程 10
1.11 RFC 10
1.12 标准的简单服务 11
1.13 互联网 12
1.14 实现 12
1.15 应用编程接口 12
1.16 测试网络 13
1.17 小结 13
第2章 链路层 15
2.1 引言 15
2.2 以太网和IEEE 802封装 15
2.3 尾部封装 17
2.4 SLIP:串行线路IP 17
2.5 压缩的SLIP 18
2.6 PPP:点对点协议 18
2.7 环回接口 20
2.8 最大传输单元MTU 21
2.9 路径MTU 21
2.10 串行线路吞吐量计算 21
2.11 小结 22
第3章 IP:网际协议 24
3.1 引言 24
3.2 IP首部 24
3.3 IP路由选择 27
3.4 子网寻址 30
3.5 子网掩码 32
3.6 特殊情况的IP地址 33
3.7 一个子网的例子 33
3.8 ifconfig命令 35
3.9 netstat命令 36
3.10 IP的未来 36
3.11 小结 37
第4章 ARP:地址解析协议 38
4.1 引言 38
4.2 一个例子 38
4.3 ARP高速缓存 40
4.4 ARP的分组格式 40
4.5 ARP举例 41
4.5.1 一般的例子 41
4.5.2 对不存在主机的ARP请求 42
4.5.3 ARP高速缓存超时设置 43
4.6 ARP代理 43
4.7 免费ARP 45
4.8 arp命令 45
4.9 小结 46
第5章 RARP:逆地址解析协议 47
5.1 引言 47
5.2 RARP的分组格式 47
5.3 RARP举例 47
5.4 RARP服务器的设计 48
5.4.1 作为用户进程的RARP服务器 49
5.4.2 每个网络有多个RARP服务器 49
5.5 小结 49
第6章 ICMP:Internet控制报文协议 50
6.1 引言 50
6.2 ICMP报文的类型 50
6.3 ICMP地址掩码请求与应答 52
6.4 ICMP时间戳请求与应答 53
6.4.1 举例 54
6.4.2 另一种方法 55
6.5 ICMP端口不可达差错 56
6.6 ICMP报文的4.4BSD处理 59
6.7 小结 60
第7章 Ping程序 61
7.1 引言 61
7.2 Ping程序 61
7.2.1 LAN输出 62
7.2.2 WAN输出 63
7.2.3 线路SLIP链接 64
7.2.4 拨号SLIP链路 65
7.3 IP记录路由选项 65
7.3.1 通常的例子 66
7.3.2 异常的输出 68
7.4 IP时间戳选项 69
7.5 小结 70
第8章 Traceroute程序 71
8.1 引言 71
8.2 Traceroute 程序的操作 71
8.3 局域网输出 72
8.4 广域网输出 75
8.5 IP源站选路选项 76
8.5.1 宽松的源站选路的traceroute
程序示例 78
8.5.2 严格的源站选路的traceroute
程序示例 79
8.5.3 宽松的源站选路traceroute程序
的往返路由 80
8.6 小结 81
第9章 IP选路 83
9.1 引言 83
9.2 选路的原理 84
9.2.1 简单路由表 84
9.2.2 初始化路由表 86
9.2.3 较复杂的路由表 87
9.2.4 没有到达目的地的路由 87
9.3 ICMP主机与网络不可达差错 88
9.4 转发或不转发 89
9.5 ICMP重定向差错 89
9.5.1 一个例子 90
9.5.2 更多的细节 91
9.6 ICMP路由器发现报文 92
9.6.1 路由器操作 93
9.6.2 主机操作 93
9.6.3 实现 93
9.7 小结 94
第10章 动态选路协议 95
10.1 引言 95
10.2 动态选路 95
10.3 Unix选路守护程序 96
10.4 RIP:选路信息协议 96
10.4.1 报文格式 96
10.4.2 正常运行 97
10.4.3 度量 98
10.4.4 问题 98
10.4.5 举例 98
10.4.6 另一个例子 100
10.5 RIP版本2 102
10.6 OSPF:开放最短路径优先 102
10.7 BGP:边界网关协议 103
10.8 CIDR:无类型域间选路 104
10.9 小结 105
第11章 UDP:用户数据报协议 107
11.1 引言 107
11.2 UDP首部 107
11.3 UDP检验和 108
11.3.1 tcpdump输出 109
11.3.2 一些统计结果 109
11.4 一个简单的例子 110
11.5 IP分片 111
11.6 ICMP不可达差错(需要分片) 113
11.7 用Traceroute确定路径MTU 114
11.8 采用UDP的路径MTU发现 116
11.9 UDP和ARP之间的交互作用 118
11.10 最大UDP数据报长度 119
11.11 ICMP源站抑制差错 120
11.12 UDP服务器的设计 122
11.12.1 客户IP地址及端口号 122
11.12.2 目标IP地址 122
11.12.3 UDP输入队列 122
11.12.4 限制本地IP地址 124
11.12.5 限制远端IP地址 125
11.12.6 每个端口有多个接收者 125
11.13 小结 126
第12章 广播和多播 128
12.1 引言 128
12.2 广播 129
12.2.1 受限的广播 129
12.2.2 指向网络的广播 129
12.2.3 指向子网的广播 129
12.2.4 指向所有子网的广播 130
12.3 广播的例子 130
12.4 多播 132
12.4.1 多播组地址 133
12.4.2 多播组地址到以太网地址的转换 133
12.4.3 FDDI和令牌环网络中的多播 134
12.5 小结 134
第13章 IGMP:Internet组管理协议 136
13.1 引言 136
13.2 IGMP报文 136
13.3 IGMP协议 136
13.3.1 加入一个多播组 136
13.3.2 IGMP报告和查询 137
13.3.3 实现细节 137
13.3.4 生存时间字段 138
13.3.5 所有主机组 138
13.4 一个例子 138
13.5 小结 141
第14章 DNS:域名系统 142
14.1 引言 142
14.2 DNS基础 142
14.3 DNS的报文格式 144
14.3.1 DNS查询报文中的问题部分 146
14.3.2 DNS响应报文中的资源记录部分 147
14.4 一个简单的例子 147
14.5 指针查询 150
14.5.1 举例 151
14.5.2 主机名检查 151
14.6 资源记录 152
14.7 高速缓存 153
14.8 用UDP还是用TCP 156
14.9 另一个例子 156
14.10 小结 157
第15章 TFTP:简单文件传送协议 159
15.1 引言 159
15.2 协议 159
15.3 一个例子 160
15.4 安全性 161
15.5 小结 162
第16章 BOOTP: 引导程序协议 163
16.1 引言 163
16.2 BOOTP的分组格式 163
16.3 一个例子 164
16.4 BOOTP服务器的设计 165
16.5 BOOTP穿越路由器 167
16.6 特定厂商信息 167
16.7 小结 168
第17章 TCP:传输控制协议 170
17.1 引言 170
17.2 TCP的服务 170
17.3 TCP的首部 171
17.4 小结 173
第18章 TCP连接的建立与终止 174
18.1 引言 174
18.2 连接的建立与终止 174
18.2.1 tcpdump的输出 174
18.2.2 时间系列 175
18.2.3 建立连接协议 175
18.2.4 连接终止协议 177
18.2.5 正常的tcpdump输出 177
18.3 连接建立的超时 178
18.3.1 第一次超时时间 178
18.3.2 服务类型字段 179
18.4 最大报文段长度 179
18.5 TCP的半关闭 180
18.6 TCP的状态变迁图 182
18.6.1 2MSL等待状态 183
18.6.2 平静时间的概念 186
18.6.3 FIN_WAIT_2状态 186
18.7 复位报文段 186
18.7.1 到不存在的端口的连接请求 187
18.7.2 异常终止一个连接 187
18.7.3 检测半打开连接 188
18.8 同时打开 189
18.9 同时关闭 191
18.10 TCP选项 191
18.11 TCP服务器的设计 192
18.11.1 TCP服务器端口号 193
18.11.2 限定的本地IP地址 194
18.11.3 限定的远端IP地址 195
18.11.4 呼入连接请求队列 195
18.12 小结 197
第19章 TCP的交互数据流 200
19.1 引言 200
19.2 交互式输入 200
19.3 经受时延的确认 201
19.4 Nagle算法 203
19.4.1 关闭Nagle算法 204
19.4.2 一个例子 205
19.5 窗口大小通告 207
19.6 小结 208
第20章 TCP的成块数据流 209
20.1 引言 209
20.2 正常数据流 209
20.3 滑动窗口 212
20.4 窗口大小 214
20.5 PUSH标志 215
20.6 慢启动 216
20.7 成块数据的吞吐量 218
20.7.1 带宽时延乘积 220
20.7.2 拥塞 220
20.8 紧急方式 221
20.9 小结 224
第21章 TCP的超时与重传 226
21.1 引言 226
21.2 超时与重传的简单例子 226
21.3 往返时间测量 227
21.4 往返时间RTT的例子 229
21.4.1 往返时间RTT的测量 229
21.4.2 RTT估计器的计算 231
21.4.3 慢启动 233
21.5 拥塞举例 233
21.6 拥塞避免算法 235
21.7 快速重传与快速恢复算法 236
21.8 拥塞举例(续) 237
21.9 按每条路由进行度量 240
21.10 ICMP的差错 240
21.11 重新分组 243
21.12 小结 243
第22章 TCP的坚持定时器 245
22.1 引言 245
22.2 一个例子 245
22.3 糊涂窗口综合症 246
22.4 小结 250
第23章 TCP的保活定时器 251
23.1 引言 251
23.2 描述 252
23.3 保活举例 253
23.3.1 另一端崩溃 253
23.3.2 另一端崩溃并重新启动 254
23.3.3 另一端不可达 254
23.4 小结 255
第24章 TCP的未来和性能 256
24.1 引言 256
24.2 路径MTU发现 256
24.2.1 一个例子 257
24.2.2 大分组还是小分组 258
24.3 长肥管道 259
24.4 窗口扩大选项 262
24.5 时间戳选项 263
24.6 PAWS:防止回绕的序号 265
24.7 T/TCP:为事务用的TCP扩展 265
24.8 TCP的性能 267
24.9 小结 268
第25章 SNMP:简单网络管理协议 270
25.1 引言 270
25.2 协议 270
25.3 管理信息结构 272
25.4 对象标识符 274
25.5 管理信息库介绍 274
25.6 实例标识 276
25.6.1 简单变量 276
25.6.2 表格 276
25.6.3 字典式排序 277
25.7 一些简单的例子 277
25.7.1 简单变量 278
25.7.2 get-next操作 278
25.7.3 表格的访问 279
25.8 管理信息库(续) 279
25.8.1 system组 279
25.8.2 interface组 280
25.8.3 at组 281
25.8.4 ip组 282
25.8.5 icmp组 285
25.8.6 tcp组 285
25.9 其他一些例子 288
25.9.1 接口MTU 288
25.9.2 路由表 288
25.10 trap 290
25.11 ASN.1和BER 291
25.12 SNMPv2 292
25.13 小结 292
第26章 Telnet和Rlogin:远程登录 293
26.1 引言 293
26.2 Rlogin协议 294
26.2.1 应用进程的启动 295
26.2.2 流量控制 295
26.2.3 客户的中断键 296
26.2.4 窗口大小的改变 296
26.2.5 服务器到客户的命令 296
26.2.6 客户到服务器的命令 297
26.2.7 客户的转义符 298
26.3 Rlogin的例子 298
26.3.1 初始的客户-服务器协议 298
26.3.2 客户中断键 299
26.4 Telnet协议 302
26.4.1 NVT ASCII 302
26.4.2 Telnet命令 302
26.4.3 选项协商 303
26.4.4 子选项协商 304
26.4.5 半双工、一次一字符、一次
一行或行方式 304
26.4.6 同步信号 306
26.4.7 客户的转义符 306
26.5 Telnet举例 306
26.5.1 单字符方式 306
26.5.2 行方式 310
26.5.3 一次一行方式(准行方式) 312
26.5.4 行方式:客户中断键 313
26.6 小结 314
第27章 FTP:文件传送协议 316
27.1 引言 316
27.2 FTP协议 316
27.2.1 数据表示 316
27.2.2 FTP命令 318
27.2.3 FTP应答 319
27.2.4 连接管理 320
27.3 FTP的例子 321
27.3.1 连接管理:临时数据端口 321
27.3.2 连接管理:默认数据端口 323
27.3.3 文本文件传输:NVT ASCII
表示还是图像表示 325
27.3.4 异常中止一个文件的传输:
Telnet同步信号 326
27.3.5 匿名FTP 329
27.3.6 来自一个未知IP地址的匿名FTP 330
27.4 小结 331
第28章 SMTP:简单邮件传送协议 332
28.1 引言 332
28.2 SMTP协议 332
28.2.1 简单例子 332
28.2.2 SMTP命令 334
28.2.3 信封、首部和正文 335
28.2.4 中继代理 335
28.2.5 NVT ASCII 337
28.2.6 重试间隔 337
28.3 SMTP的例子 337
28.3.1 MX记录:主机非直接连到
Internet 337
28.3.2 MX记录:主机出故障 339
28.3.3 VRFY和EXPN命令 340
28.4 SMTP的未来 340
28.4.1 信封的变化:扩充的SMTP 341
28.4.2 首部变化:非ASCII字符 342
28.4.3 正文变化:通用Internet邮件
扩充 343
28.5 小结 346
第29章 网络文件系统 347
29.1 引言 347
29.2 Sun远程过程调用 347
29.3 XDR:外部数据表示 349
29.4 端口映射器 349
29.5 NFS协议 351
29.5.1 文件句柄 353
29.5.2 安装协议 353
29.5.3 NFS过程 354
29.5.4 UDP还是TCP 355
29.5.5 TCP上的NFS 355
29.6 NFS实例 356
29.6.1 简单的例子:读一个文件 356
29.6.2 简单的例子:创建一个目录 357
29.6.3 无状态 358
29.6.4 例子:服务器崩溃 358
29.6.5 等幂过程 360
29.7 第3版的NFS 360
29.8 小结 361
第30章 其他的TCP/IP应用程序 363
30.1 引言 363
30.2 Finger协议 363
30.3 Whois协议 364
30.4 Archie、WAIS、Gopher、Veronica
和WWW 366
30.4.1 Archie 366
30.4.2 WAIS 366
30.4.3 Gopher 366
30.4.4 Veronica 366
30.4.5 万维网WWW 367
30.5 X窗口系统 367
30.5.1 Xscope程序 368
30.5.2 LBX: 低带宽X 370
30.6 小结 370
附录A tcpdump程序 371
附录B 计算机时钟 376
附录C sock程序 378
附录D 部分习题的解答 381
附录E 配置选项 395
附录F 可以免费获得的源代码 406
参考文献 409
缩略语 420
2018-06-30
移动IP——高清文字(china-pub经典系列)
目 录
译者序
序
前言
第一部分 导 论
第1章 绪论 1
1.1 推动移动通信发展的力量 1
1.2 阅读本书所需要的知识 2
1.3 本书面向的读者 2
1.4 本书的目的 2
1.5 书中所用的标记 3
1.6 IPv4还是IPv6 3
1.7 如何得到RFC文件或因特网草案 3
1.8 本书其他部分的组织结构 4
第2章 计算机网络教程 6
2.1 计算机是如何进行通信的 6
2.1.1 协议层 6
2.1.2 每一层的功能 7
2.1.3 本书关系到哪些协议层 8
2.1.4 网络层提供的服务 9
2.2 因特网协议(IP) 10
2.2.1 ICMP 10
2.2.2 IP的功能 11
2.2.3 IP包格式 11
2.2.4 节点如何得到一个IP地址 13
2.3 IP路由技术的工作原理 14
2.3.1 什么是路由表 14
2.3.2 存在多个匹配表项时怎么办 14
2.3.3 选路实例 16
2.3.4 IP路由技术总结 17
2.4 路由表是如何生成的 17
2.5 为什么选路依赖于网络前缀 19
2.6 如何将域名解析成地址 19
2.7 如何决定数据链路层地址 20
2.7.1 地址解析协议 20
2.7.2 代理ARP和ARP 20
2.8 本章总结 21
第3章 移动IP的作用 22
3.1 当节点换了一条链路时会发生什么 22
3.2 用特定主机路由能否解决移动问题 23
3.2.1 特定主机路由如何解决移动问题 23
3.2.2 特定主机路由解决方案好吗 24
3.3 为什么不只是改变节点的IP地址 26
3.3.1 改变IP地址时能否保持现有连接 26
3.3.2 如何找到IP地址不断变化的节点 27
3.4 在数据链路层能否解决移动问题 27
3.5 只需要漫游功能的情况 29
3.6 本章总结 29
第二部分 移动 IP
第4章 移动IP总述 ……………………31
4.1 移动IP是否是官方标准 31
4.2 移动IP解决的问题 31
4.3 移动IP的应用范围 32
4.3.1 移动IP可用于哪些媒介 32
4.3.2 移动IP是否是一个完整的移动通信
方案 32
4.4 移动IP的设计要求 33
4.5 移动IP的设计目标 33
4.6 移动IP做了什么假设 33
4.7 移动IP的功能实体 34
4.7.1 代理是主机还是路由器 36
4.7.2 谁拥有移动节点和代理 36
4.8 移动IP的工作机制 37
4.9 本章总结 39
第5章 技术细节 41
5.1 移动IP的设计思想 41
5.2 代理搜索 42
5.2.1 代理搜索包括的消息 42
5.2.2 移动节点如何判定自己的移动 44
5.2.3 移动节点收不到任何广播消息时
怎么办 45
5.2.4 总结 46
5.3 注册 46
5.3.1 注册消息 47
5.3.2 注册过程 50
5.3.3 移动节点如何得到家乡代理
的地址 54
5.3.4 节点如何知道注册消息的真正
发送者 55
5.3.5 移动节点如何向家乡代理或外地
代理提供额外信息 56
5.3.6 移动节点在无线蜂窝间频繁切
换时怎么办 56
5.3.7 “R”比特的处理 57
5.4 数据包的选路 59
5.4.1 移动节点在家乡链路上时包
的选路 59
5.4.2 移动节点在外地链路上时包
的选路 59
5.4.3 移动节点如何发送数据包 63
5.4.4 IP包的路由与它们的源地址无关吗 65
5.4.5 为什么用隧道而不是源路由 65
5.4.6 为什么用三边路由 66
5.4.7 移动节点收发广播和组播 67
5.4.8 Van Jacobson 压缩的工作机制 70
5.5 本章总结 71
第6章 隧道技术 73
6.1 IP分片 73
6.1.1 分片的工作原理 73
6.1.2 IPv4如何确定路径的MTU 74
6.2 IP的IP封装 75
6.2.1 生成一个封装的数据包 75
6.2.2 ICMP报文的中继 76
6.2.3 防止递归封装 77
6.2.4 小结 77
6.3 最小封装 77
6.3.1 产生一个经过封装的数据包 78
6.3.2 分片 78
6.3.3 生存时间和隧道长度 79
6.3.4 中继ICMP报文 79
6.3.5 防止递归封装 79
6.3.6 小结 79
6.4 通用路由封装 79
6.4.1 多协议封装 80
6.4.2 防止递归封装 80
6.4.3 小结 81
6.5 本章总结 81
第三部分 移动IP的应用
第7章 安全入门 83
7.1 安全的概念 83
7.2 密码学 83
7.2.1 密码系统 84
7.2.2 秘密密钥和公开密钥算法 84
7.3 机密性的含义 85
7.3.1 秘密密钥加密 85
7.3.2 公开密钥加密 86
7.4 认证、完整性检查和不可抵赖 87
7.4.1 授权 87
7.4.2 认证 87
7.4.3 认证系统的功效 88
7.4.4 秘密密钥认证 88
7.4.5 公开密钥认证 90
7.5 密钥的安全管理 92
7.5.1 公开密钥管理中的难点 92
7.5.2 手工方法 92
7.5.3 受信任的第三方 93
7.6 因特网中使用的安全协议 93
7.6.1 安全协定 93
7.6.2 IP认证头(AH) 94
7.6.3 IP封装安全净荷(ESP) 94
7.6.4 其他因特网安全协议 95
7.6.5 ISAKMP/Oakley 95
7.6.6 SKIP 96
7.7 防火墙 97
7.7.1 防火墙的简单历史 97
7.7.2 包过滤路由器 98
7.7.3 应用层中继 99
7.7.4 安全隧道 100
7.8 本章总结 101
第8章 园区内的移动:移动IP的一个
简单应用 102
8.1 应用模型 102
8.1.1 什么是园区内部网 102
8.1.2 移动IP是如何应用的 103
8.1.3 为什么要网络管理员这样来
配置移动IP 104
8.1.4 本章的安全模型 104
8.2 内部攻击 104
8.3 移动节点的拒绝服务攻击 105
8.3.1 什么是拒绝服务攻击 105
8.3.2 移动IP可防止哪种拒绝服务攻击 105
8.3.3 移动IP如何阻止拒绝服务攻击 106
8.3.4 重发攻击 107
8.3.5 小结 107
8.4 窃取信息:被动地偷听 108
8.4.1 威胁的特性 108
8.4.2 数据链路层加密 108
8.4.3 端到端加密 109
8.5 窃取信息:会话窃取攻击
(Takeover) 110
8.5.1 外地链路上的会话窃取 110
8.5.2 其他地方的会话窃取攻击 110
8.6 其他主动攻击 111
8.7 本章总结 112
第9章 因特网上的移动:一个更复杂
的应用 113
9.1 应用模型 113
9.1.1 假设和要求 113
9.1.2 如何应用移动IP达到这些要求 114
9.1.3 为什么要这么做 114
9.2 有哪些安全威胁 115
9.3 如何保护防火墙外的移动节点 115
9.3.1 VPN回顾 115
9.3.2 移动节点作为VPN的特例 116
9.4 移动节点如何穿越防火墙而又
不牺牲网络的安全性 118
9.4.1 穿越防火墙的假设和要求 118
9.4.2 用SKIP穿越防火墙 119
9.4.3 采用ISAKMP/Oakley穿越防火墙 127
9.5 本章总结和结论 128
第10章 服务提供商对移动IP的应用 129
10.1 商用移动IP服务的模型 129
10.2 窃取服务 130
10.2.1 蜂窝“克隆”欺骗 130
10.2.2 服务提供商如何使用移动
IP防止窃取服务攻击 131
10.3 重新考察拒绝服务攻击 135
10.3.1 Flooding攻击的原理 136
10.3.2 服务提供商对Flooding攻击
的防御 136
10.3.3 入口过滤对移动IP的影响 136
10.3.4 入口过滤有关的移动IP改进 137
10.4 MOTOROLA公司的iDENTM
系统:案例分析 138
10.4.1 iDEN提供的服务类型 138
10.4.2 iDEN分组数据 139
10.4.3 iDEN分组数据的工作方式 139
10.5 本章总结 141
第11章 移动IP的其他应用 142
11.1 移动IP框架中对其他协议的支持 142
11.1.1 为什么要支持其他协议 142
11.1.2 其他协议 142
11.1.3 要求和假设 143
11.1.4 集成移动扩展 143
11.1.5 用其他协议注册 144
11.1.6 向移动节点路由其他协议
的数据包 144
11.1.7 为什么要用GRE 146
11.1.8 为什么用隧道 147
11.1.9 小结 147
11.2 移动网络(不是移动主机) 147
11.2.1 家乡链路上的移动路由器 148
11.2.2 外地链路上的移动路由器 148
11.2.3 移动网络的路由表 149
11.2.4 运动网络的情况 152
11.2.5 小结 153
11.3 移动IP作为二层隧道建立协议 153
11.3.1 什么是远程拨入 154
11.3.2 虚拟隧道协议的工作原理 155
11.3.3 虚拟隧道协议的安全考虑 157
11.3.4 为什么不只是用移动IP 157
11.3.5 L2TP与 VTP的不同 157
11.3.6 小结 159
11.4 本章总结 159
第四部分 有关将来的话题
第12章 IPv6的移动性 161
12.1 IPv6和IPv4的不同 161
12.1.1 IPv6基本报头 161
12.1.2 IPv6扩展报头 162
12.1.3 IPv6地址类型 163
12.2 设计移动IPv6时关系到哪些区别 164
12.2.1 大地址空间的好处 164
12.2.2 新的选路报头的作用 164
12.2.3 认证报头的作用 164
12.3 有了地址自动配置就无需移动
IPv6了吗 165
12.4 移动IPv6的工作原理 165
12.4.1 移动IPv6的组成 166
12.4.2 IPv6的邻节点搜索 166
12.5 移动节点如何确定它的位置 167
12.5.1 ICMPv6路由器搜索 167
12.5.2 移动节点如何得到转交地址 169
12.6 移动节点如何将转交地址告诉
别的节点 169
12.6.1 布告 170
12.6.2 一般的布告过程 170
12.6.3 布告协议 171
12.6.4 布告中用到的消息 171
12.6.5 移动节点如何知道家乡代理
的地址 174
12.6.6 移动节点何时发送绑定更新 175
12.7 数据包的选路 176
12.7.1 知道转交地址的通信伙伴如
何向移动节点发送数据包 176
12.7.2 不知道转交地址的通信伙伴
如何向移动节点发送数据包 177
12.7.3 移动节点如何发送数据包 178
12.8 本章总结 178
第13章 尚无定论的话题 179
13.1 TCP的性能和移动性 179
13.1.1 什么是TCP 179
13.1.2 TCP的工作原理 180
13.1.3 TCP有关拥塞的假设是否正确 181
13.1.4 移动节点如何提高TCP性能 182
13.1.5 小结 184
13.2 RSVP和实时业务 184
13.2.1 什么是实时业务 184
13.2.2 IP为何不太适用于实时业务 185
13.2.3 RSVP 186
13.2.4 移动IP对实时业务的影响 188
13.2.5 小结 190
13.3 服务定位 191
13.3.1 服务定位协议的功能 191
13.3.2 服务定位的工作原理 192
13.3.3 服务定位的安全问题 194
13.3.4 服务定位和移动 195
13.3.5 小结 195
13.4 本章总结 196
第14章 总结和最后的问题 197
14.1 移动IP总结 197
14.1.1 背景、内容和目的 197
14.1.2 术语和操作 197
14.1.3 移动IP应用 199
14.1.4 正在进行的工作和尚无定
论的话题 200
14.2 移动IP的将来 200
术语 203
2018-06-30
C++编程思想——高清文字(china-pub经典系列)
目 录
译者序
前言
第1章 对象的演化 1
1.1 基本概念 1
1.1.1 对象:特性+行为 1
1.1.2 继承:类型关系 1
1.1.3 多态性 2
1.1.4 操作概念:OOP程序像什么 3
1.2 为什么C++会成功 3
1.2.1 较好的C 3
1.2.2 采用渐进的学习方式 4
1.2.3 运行效率 4
1.2.4 系统更容易表达和理解 4
1.2.5 “库”使你事半功倍 4
1.2.6 错误处理 5
1.2.7 大程序设计 5
1.3 方法学介绍 5
1.3.1 复杂性 5
1.3.2 内部原则 6
1.3.3 外部原则 7
1.3.4 对象设计的五个阶段 9
1.3.5 方法承诺什么 10
1.3.6 方法应当提供什么 10
1.4 起草:最小的方法 12
1.4.1 前提 13
1.4.2 高概念 14
1.4.3 论述(treatment) 14
1.4.4 结构化 14
1.4.5 开发 16
1.4.6 重写 17
1.4.7 逻辑 17
1.5 其他方法 17
1.5.1 Booch 18
1.5.2 责任驱动的设计(RDD) 19
1.5.3 对象建模技术(OMT) 19
1.6 为向OOP转变而采取的策略 19
1.6.1 逐步进入OOP 19
1.6.2 管理障碍 20
1.7 小结 21
第2章 数据抽象 22
2.1 声明与定义 22
2.2 一个袖珍C库 23
2.3 放在一起:项目创建工具 29
2.4 什么是非正常 29
2.5 基本对象 30
2.6 什么是对象 34
2.7 抽象数据类型 35
2.8 对象细节 35
2.9 头文件形式 36
2.10 嵌套结构 37
2.11 小结 41
2.12 练习 41
第3章 隐藏实现 42
3.1 设置限制 42
3.2 C++的存取控制 42
3.3 友元 44
3.3.1 嵌套友元 45
3.3.2 它是纯的吗 48
3.4 对象布局 48
3.5 类 48
3.5.1 用存取控制来修改stash 50
3.5.2 用存取控制来修改stack 51
3.6 句柄类(handle classes) 51
3.6.1 可见的实现部分 51
3.6.2 减少重复编译 52
3.7 小结 54
3.8 练习 54
第4章 初始化与清除 55
4.1 用构造函数确保初始化 55
4.2 用析构函数确保清除 56
4.3 清除定义块 58
4.3.1 for循环 59
4.3.2 空间分配 60
4.4 含有构造函数和析构函数的stash 61
4.5 含有构造函数和析构函数的stack 63
4.6 集合初始化 65
4.7 缺省构造函数 67
4.8 小结 68
4.9 练习 68
第5章 函数重载与缺省参数 69
5.1 范围分解 69
5.1.1 用返回值重载 70
5.1.2 安全类型连接 70
5.2 重载的例子 71
5.3 缺省参数 74
5.4 小结 81
5.5 练习 82
第6章 输入输出流介绍 83
6.1 为什么要用输入输出流 83
6.2 解决输入输出流问题 86
6.2.1 预先了解操作符重载 86
6.2.2 插入符与提取符 87
6.2.3 通常用法 88
6.2.4 面向行的输入 90
6.3 文件输入输出流 91
6.4 输入输出流缓冲 93
6.5 在输入输出流中查找 94
6.6 strstreams 96
6.6.1 为用户分配的存储 96
6.6.2 自动存储分配 98
6.7 输出流格式化 100
6.7.1 内部格式化数据 101
6.7.2 例子 102
6.8 格式化操纵算子 106
6.9 建立操纵算子 108
6.10 输入输出流实例 111
6.10.1 代码生成 111
6.10.2 一个简单的数据记录 117
6.11 小结 123
6.12 练习 123
第7章 常量 124
7.1 值替代 124
7.1.1 头文件里的const 124
7.1.2 const的安全性 125
7.1.3 集合 126
7.1.4 与C语言的区别 126
7.2 指针 127
7.2.1 指向const的指针 127
7.2.2 const指针 127
7.2.3 赋值和类型检查 128
7.3 函数参数和返回值 128
7.3.1 传递const值 128
7.3.2 返回const值 129
7.3.3 传递和返回地址 131
7.4 类 133
7.4.1 类里的const和enum 133
7.4.2 编译期间类里的常量 134
7.4.3 const对象和成员函数 136
7.4.4 只读存储能力 139
7.5 可变的(volatile) 140
7.6 小结 141
7.7 练习 141
第8章 内联函数 142
8.1 预处理器的缺陷 142
8.2 内联函数 144
8.2.1 类内部的内联函数 145
8.2.2 存取函数 146
8.3 内联函数和编译器 150
8.3.1 局限性 150
8.3.2 赋值顺序 150
8.3.3 在构造函数和析构函数里隐藏行为 151
8.4 减少混乱 152
8.5 预处理器的特点 153
8.6 改进的错误检查 154
8.7 小结 155
8.8 练习 155
第9章 命名控制 157
9.1 来自C语言中的静态成员 157
9.1.1 函数内部的静态变量 157
9.1.2 控制连接 160
9.1.3 其他的存储类型指定符 161
9.2 名字空间 161
9.2.1 产生一个名字空间 162
9.2.2 使用名字空间 163
9.3 C++中的静态成员 166
9.3.1 定义静态数据成员的存储 166
9.3.2 嵌套类和局部类 168
9.3.3 静态成员函数 169
9.4 静态初始化的依赖因素 171
9.5 转换连接指定 174
9.6 小结 174
9.7 练习 174
第10章 引用和拷贝构造函数 176
10.1 C++中的指针 176
10.2 C++中的引用 176
10.2.1 函数中的引用 177
10.2.2 参数传递准则 178
10.3 拷贝构造函数 179
10.3.1 传值方式传递和返回 179
10.3.2 拷贝构造函数 182
10.3.3 缺省拷贝构造函数 187
10.3.4 拷贝构造函数方法的选择 188
10.4 指向成员的指针
2018-06-30
全网唯一、图解服务器端网络架构(原版高清文字带书签)—mobi+pdf
本书以图配文,详细说明了服务器端网络架构的基础技术和设计要点。基础设计是服务器端网
络架构最重要的一个阶段。本书就立足于基础设计的设计细分项目,详细介绍各细分项目的相关技
术和设计要点。全书共分为5章,分别讲述进行物理设计、逻辑设计、安全设计和负载均衡设计、高
可用性设计以及管理设计时所必需的技术和设计要点。
本书适合想要设计服务器端的网络工程师、想要了解网络的服务器工程师、负责服务器端运行
和管理的现场管理人员阅读。
2018-06-20
计算机是怎样跑起来的.[日]矢泽久雄(带书签高清文字版)
本书倡导在计算机迅速发展、技术不断革新的今天,回归到计算机的基础知
识上。通过探究计算机的本质,提升工程师对计算机的兴趣,在面对复杂的最新技
术时,能够迅速掌握其要点并灵活运用。本书以图配文,以计算机的三大原则为开端,
相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、
数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。
本书图文并茂,通俗易懂,非常适合计算机爱好者和相关从业人员阅读。
2018-06-19
MySQL必知必会(无水印带书签高清文字版)
MySQL 是世界上最受欢迎的数据库管理系统之一。书中从介绍简单的数据
检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式
和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。通过重点突
出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经
意间立刻功力大增。
本书注重实用性,操作性很强,适用于广大软件开发和数据库管理人员学
习参考。
2018-06-19
CentOS7系统管理与运维实战(带书签高清文字版)
本书从实际应用出发,以CentOS 7作为操作系统基础,介绍了目前企业中最常用的软件平台架设和管理
方法。通过运维的视角,介绍了运维的基础知识,软件平台的常见搭建思路。
本书共13 章,分为3 个知识区块。涵盖的主要内容有:以CentOS 7 特性和安装、运维基础、网络配置
与结构为第一个知识区块的基础知识;企业中应用广泛的路由与策略路由,针对不同应用平台的文件共享服
务NFS、Samba和FTP,目前最常见的Web 平台LAMP、LNMP,中小型企业应用最为广泛的LVS集群技术,
实现高可用性的双机热备系统等为第二知识区块的应用平台建设与管理方面的知识;目前最热门的虚拟化和
云计算为第三知识区块,主要有KVM虚拟化及oVirt管理平台,适合企业使用的GlusterFS存储技术,OpenStack
和OpenNebula 云平台等知识。
本书从实际生产应用环境出发,并注重安全与运维思路教学,既适合于有一定计算机基础的学习Linux
的初学者,又适合于有一定Linux 基础,需要学习运维知识的人员阅读。
2018-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人