图书介绍
用TCP/IP进行网际互连 设计、实现与内核 ANSI C版 ANSI C version:design, implementation, and internals 第2卷【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)DouglasE.Comer,(美)DavidL.Stevens著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121073854
- 出版时间:2008
- 标注页数:520页
- 文件大小:94MB
- 文件页数:543页
- 主题词:计算机网络-通信协议-教材
PDF下载
下载说明
用TCP/IP进行网际互连 设计、实现与内核 ANSI C版 ANSI C version:design, implementation, and internals 第2卷PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引言与概述1
1.1TCP/IP协议1
1.2了解细节的必要性1
1.3协议间交互作用的复杂性1
1.4本书采用的方法2
1.5研究代码的重要性2
1.6 Xinu操作系统2
1.7本书其余部分的组织3
1.8小结3
深入研究4
第2章 操作系统中的TCP/IP软件结构5
2.1引言5
2.2进程的概念5
2.3进程的优先级6
2.4进程的同步通信6
2.5进程间通信8
2.5.1端口8
2.5.2消息传送9
2.6设备驱动程序和输入、输出程序9
2.7网络的输入和中断10
2.8向高层协议传递分组11
2.9 IP协议与传输协议之间的数据报传递12
2.9.1将传入的数据报发送给TCP12
2.9.2将传入的数据报发送给UDP12
2.10向应用程序的传递操作13
2.11输出时的信息流13
2.12从TCP经过IP到网络输出14
2.13 UDP输出处理15
2.14小结15
深入研究16
习题16
第3章 网络接口层18
3.1引言18
3.2网络接口抽象模型18
3.2.1接口数据结构18
3.3以太网的基本定义21
3.3.1应用中的统计数据24
3.4接口的逻辑状态24
3.5本地主机接口24
3.6缓冲区管理25
3.6.1大缓冲区方案25
3.6.2链表方案(mbuf)26
3.6.3方案举例26
3.6.4有关缓冲区的其他议题26
3.7传入分组的多路分解27
3.8小结28
深入研究29
习题29
第4章 地址的发现及绑定(ARP)30
4.1引言30
4.2 ARP软件在理论上的结构30
4.3 ARP设计方案举例30
4.4 ARP高速缓存的数据结构31
4.5 ARP输出处理34
4.5.1搜索ARP高速缓存34
4.5.2 ARP请求分组的广播35
4.5.3输出过程36
4.6 ARP输入处理38
4.6.1向表中增加已转换的表项38
4.6.2发送等待发送的分组39
4.6.3 ARP输入过程40
4.7 ARP高速缓存的管理42
4.7.1高速缓存表项的分配42
4.7.2高速缓存的定期维护管理43
4.7.3释放队列中的分组44
4.8 ARP初始化45
4.9 ARP参数配置46
4.10小结46
深入研究47
习题47
第5章 IP:软件的总体结构48
5.1引言48
5.2中心环节48
5.3 IP软件设计思想48
5.4 IP软件结构和数据报流程49
5.4.1选择传入数据报的策略49
5.4.2允许IP进程被阻塞51
5.4.3 IP使用的常量的定义54
5.4.4校验和的计算57
5.4.5处理定向广播57
5.4.6识别一个广播地址59
5.5 IP首部中的字节顺序60
5.6向IP发送数据报61
5.6.1发送本地生成的数据报61
5.6.2发送传入数据报63
5.7表格的维护63
5.8小结65
深入研究65
习题65
第6章 IP:选路表和选路算法67
6.1引言67
6.2路由维护和查找67
6.3选路表结构67
6.4选路表数据结构68
6.5路由的生成源及保持时间70
6.6为数据报选择路由70
6.6.1实用过程70
6.6.2获得一个路由73
6.6.3数据结构初始化74
6.7选路表的定期维护75
6.7.1增加路由77
6.7.2删除路由80
6.8 IP选项处理82
6.9小结83
深入研究83
习题84
第7章 IP:分片与重组85
7.1引言85
7.2数据报的分片85
7.2.1为一个数据报片再次分片85
7.3分片的实现85
7.3.1发送一个数据报片87
7.3.2复制数据报首部89
7.4数据报的重组90
7.4.1数据结构90
7.4.2互斥操作91
7.4.3在链表中加入一个数据报片91
7.4.4溢出时的丢弃93
7.4.5测试一个完整的数据报94
7.4.6将数据报片组装成完整的数据报96
7.5数据报片链表的维护管理97
7.6初始化99
7.7小结99
深入研究100
习题100
第8章 IP:差错处理(ICMP)101
8.1引言101
8.2 ICMP报文格式101
8.3 ICMP报文的实现101
8.4传入ICMP报文的处理103
8.5 ICMP重定向报文的处理105
8.6设置子网掩码107
8.7为一个ICMP分组选择源地址108
8.8生成ICMP差错报文109
8.9避免出现关于差错报文的差错报文111
8.10为ICMP报文分配缓冲区112
8.11 ICMP报文中的数据部分114
8.12 ICMP重定向报文的生成116
8.13小结117
深入研究117
习题117
第9章 IP:组播处理(IGMP)119
9.1引言119
9.2维护组播主机群的成员信息119
9.3主机群表119
9.4查找一个主机群121
9.5向主机群表中增加一个表项122
9.6为一个组播地址设置网络接口124
9.7 IP组播地址和硬件组播地址之间的转换125
9.8从主机群表中删除一个组播地址126
9.9加入一个主机群127
9.10维持与一个组播路由器的联系129
9.11 IGMP成员关系报告的实现130
9.12计算随机时延131
9.13发送IGMP报告的进程132
9.14处理输入的IGMP报文133
9.15脱离主机群134
9.16 IGMP数据结构的初始化136
9.17小结137
深入研究137
习题137
第10章 UDP:用户数据报138
10.1引言138
10.2 UDP端口和多路分解处理138
10.2.1成对通信使用的端口138
10.2.2多对一通信使用的端口138
10.2.3操作模式139
10.2.4多路分解处理中的细节问题139
10.3 UDP的输入处理141
10.3.1 UDP数据结构的说明141
10.3.2传入数据报队列的说明142
10.3.3 UDP端口号与队列的映射144
10.3.4分配空闲队列144
10.3.5网络字节顺序与本机字节顺序之间的相互转换145
10.3.6处理一个已到达的数据报146
10.3.7 UDP校验和的计算148
10.4 UDP输出的处理149
10.4.1一个UDP数据报的发送150
10.5小结151
深入研究152
习题152
第11章 TCP:数据结构和输入处理153
11.1引言153
11.2 TCP软件概览153
11.3传输控制块153
11.4 TCP报文段格式158
11.5序列空间中的比较159
11.6 TCP有限状态机160
11.7状态变迁举例160
11.8有限状态机的说明161
11.9 TCB的分配及初始化163
11.9.1分配一个TCB163
11.9.2释放一个TCB164
11.10有限状态机的实现165
11.11处理一个输入报文段165
11.11.1将TCP首部转换为本地字节顺序167
11.11.2计算TCP的校验和168
11.11.3为报文段查找对应的TCB169
11.11.4检查报文段的有效性171
11.11.5为当前状态选择一个过程172
11.12小结173
深入研究173
习题173
第12章 TCP:有限状态机的实现175
12.1引言175
12.2 CLOSED状态处理175
12.3从容关闭175
12.4关闭后的延迟计时176
12.5 TIME-WAIT状态处理177
12.6 CLOSING状态处理178
12.7 FIN-WAIT-2状态处理179
12.8 FIN-WAIT-1状态处理180
12.9 CLOSE-WAIT状态处理181
12.10 LAST-ACK状态处理182
12.11 ESTABLISHED状态处理183
12.12处理报文段中的紧急数据184
12.13处理报文段中的其他数据186
12.14经常注意已接收的八位组188
12.15终止一个TCP连接190
12.16建立TCP连接191
12.17初始化TCB191
12.18 SYN-SENT状态处理193
12.19 SYN-RECEIVED状态处理194
12.20 LISTEN状态处理196
12.21为一个新TCB初始化窗口变量197
12.22小结199
深入研究199
习题199
第13章 TCP:输出处理200
13.1引言200
13.2 TCP输出控制的复杂性200
13.3 TCP输出的四种状态200
13.4作为一个进程的TCP输出201
13.5 TCP输出报文201
13.6对输出状态和TCB编号的编码202
13.7 TCP输出进程的实现202
13.8互斥操作203
13.9 IDLE状态的实现203
13.10 PERSIST状态的实现204
13.11 TRANSMIT状态的实现205
13.12 RETRANSMIT(重发)状态的实现206
13.13发送一个报文段206
13.14计算TCP数据长度210
13.15序号计算210
13.16其他TCP过程211
13.16.1发送复位211
13.16.2转换成网络字节顺序213
13.16.3等待输出缓冲空间213
13.16.4唤醒等待TCB的进程214
13.16.5选择初始序号216
13.17小结217
深入研究217
习题217
第14章 定时器管理218
14.1引言218
14.2定时事件的通用数据结构218
14.3 TCP事件使用的数据结构219
14.4定时器、事件和报文220
14.5 TCP定时器进程220
14.6删除TCP定时器事件222
14.7删除一个TCB的所有事件223
14.8确定出现一个事件的尚需时间224
14.9插入TCP定时器事件225
14.10启动无时延的TCP输出227
14.11小结227
深入研究228
习题228
第15章 流量控制和自适应重发229
15.1引言229
15.2自适应重发中的难题229
15.3自适应重发的调整229
15.4重发定时器和退避230
15.4.1 Karn算法230
15.4.2重发输出状态的处理230
15.5基于窗口的流量控制231
15.5.1糊涂窗口综合症232
15.5.2接收方预防糊涂窗口232
15.5.3零窗口之后的性能优化233
15.5.4调整发送方的窗口233
15.6最大报文段长度的计算235
15.6.1发送方的最大报文段长度235
15.6.2选项处理236
15.6.3通告一个最大输入报文段长度238
15.7网络拥塞预防与控制239
15.7.1成倍递减法239
15.8慢启动和拥塞预防239
15.8.1慢启动239
15.8.2超过上限后减速递增240
15.8.3递增拥塞窗口尺寸的实现240
15.9平均往返时间估值及超时242
15.9.1一种快速平均值更新算法242
15.9.2传入确认的处理243
15.9.3为窗口外的数据创建确认报文段245
15.9.4接收到一个确认后改变输出状态246
15.10技巧和注意事项247
15.11小结247
深入研究248
习题248
第16章 紧急数据处理和推功能250
16.1引言250
16.2带外信令250
16.3紧急数据250
16.4标准的解释250
16.4.1带外数据的解释法251
16.4.2数据标记解释法252
16.5为Berkeley紧急指针解释法而进行的配置252
16.6通知应用程序253
16.6.1多个并发应用程序253
16.7从TCP中读取数据254
16.8发送紧急数据255
16.9 TCP的推功能256
16.10在失序交付时对推数据的解释257
16.11输入时推功能的实现257
16.12小结258
深入研究258
习题259
第17章 套接层的接口260
17.1引言260
17.2通过设备形成的接口260
17.2.1单字节I/O261
17.2.2其他一些非传送的函数261
17.3作为设备的TCP连接262
17.4 TCP客户程序举例262
17.5 TCP服务器程序举例263
17.6 TCP主设备的实现265
17.6.1 TCP主设备打开功能265
17.6.2被动TCP连接的形成266
17.6.3主动TCP连接的形成267
17.6.4分配一个未使用的本地端口268
17.6.5主动连接的完成269
17.6.6 TCP主设备的控制271
17.7 TCP从设备的实现271
17.7.1由TCP从设备输入数据271
17.7.2由TCP从设备输入单字节273
17.7.3通过TCP从设备的输出274
17.7.4 TCP连接的关闭276
17.7.5 TCP从设备的控制操作278
17.7.6接受来自被动设备的连接279
17.7.7改变LISTEN队列的长度279
17.7.8获取从设备中的统计数据280
17.7.9设置或清除TCP选项282
17.8从设备的初始化283
17.9小结284
深入研究284
习题284
第18章 RIP:主动路由传播和被动获取286
18.1引言286
18.2主动和被动模式的参与者286
18.3基本的RIP算法和费用度量286
18.4不稳定性及解决方案287
18.4.1计数到无穷大287
18.4.2网关瘫痪和路由超时288
18.4.3水平划分288
18.4.4毒性逆转288
18.4.5具有毒性逆转的路由超时289
18.4.6触发更新289
18.4.7随机化以防止广播风暴289
18.5报文类型290
18.6协议特性290
18.7 RIP的具体实现291
18.7.1实现的两种形式291
18.7.2定义291
18.7.3输出的理论结构293
18.8基本RIP进程294
18.8.1“必须为零”的字段内容必须为零295
18.8.2处理一个传入响应296
18.8.3在更新期间的锁定298
18.8.4验证一个地址298
18.9对输入请求的响应299
18.10生成更新报文300
18.11初始化一个更新报文的副本301
18.11.1向更新报文的副本中添加路由302
18.11.2计算一个待通告的费用值304
18.11.3为RIP报文分配数据报305
18.12生成定期的RIP输出306
18.13 RIP的局限性307
18.14小结307
深入研究307
习题307
第19章 OSPF:使用SPF算法的路由传播308
19.1引言308
19.2 OSPF配置和选项308
19.3 OSPF的图论模型308
19.4 OSPF的说明311
19.4.1 OSPF分组格式的说明311
19.4.2 OSPF接口说明313
19.4.3全局常量和数据结构的说明314
19.5邻接关系和链路状态信息的传播316
19.6用Hello发现相邻网关317
19.7 Hello分组的发送319
19.7.1 Hello分组的一个模板320
19.7.2 Hello分组输出进程321
19.8指定路由器323
19.9选出一个指定路由器324
19.10变动之后重建邻接关系327
19.11处理到达的Hello分组329
19.12在相邻网关表中增加一个网关331
19.13相邻网关状态的变迁332
19.14 OSPF定时器事件和重发333
19.15判断是否允许邻接关系335
19.16 OSPF输入的处理336
19.17链路状态处理中的说明和过程339
19.18数据库描述分组的生成341
19.19创建一个模板343
19.20传送数据库描述分组344
19.21处理到达的数据库描述分组345
19.21.1处理EXSTA RT状态下的分组347
19.21.2处理EXCHNG状态下的分组348
19.21.3处理FULL状态下的分组349
19.22处理链路状态请求分组350
19.23建立链路状态概要信息352
19.24 OSPF实用过程354
19.25小结356
深入研究357
习题357
第20章 SNMP:MIB变量、表示形式和绑定358
20.1引言358
20.2服务器的组织和名字的映射358
20.3 MIB变量359
20.3.1表格中的字段359
20.4 MIB变量名360
20.4.1变量名的数字表示形式360
20.5名字之间的字典顺序360
20.6除去前缀361
20.7在MIB变量上执行的操作361
20.8表格名362
20.9名字体系概念上的线索362
20.10 MIB变量的数据结构363
20.10.1使用独立的函数完成操作365
20.11用于快速查找的数据结构365
20.12散列表的实现366
20.13 MIB绑定的描述366
20.14绑定中使用的内部变量373
20.15散列表的查找374
20.16 SNMP的结构和常量376
20.17 ASN.1表示形式的处理382
20.17.1长度表示法382
20.17.2将整数转换为ASN.1格式384
20.17.3将对象标识符转换为ASN.1格式386
20.17.4用于转换对象值的例程389
20.18小结391
深入研究391
习题392
第21章 SNMP:客户与服务器393
21.1引言393
21.2服务器中数据的表示形式393
21.3服务器的实现393
21.4对SNMP报文的分析396
21.5绑定链表中ASN.1名字的转换400
21.6解析一个请求401
21.7对get-next操作的解释404
21.8操作的间接执行404
21.9表格的间接寻址407
21.10应答报文的反向生成408
21.11将内部格式转换为ASN.1表示形式410
21.12服务器使用的实用函数412
21.13一个SNMP客户的实现413
21.14变量初始化415
21.15小结417
深入研究417
习题417
第22章 SNMP:表格访问函数419
22.1引言419
22.2表格访问419
22.3表格的对象标识符419
22.4地址入口表函数420
22.4.1对地址入口表的get操作421
22.4.2对地址入口表的get-first操作423
22.4.3对地址入口表的get-next操作424
22.4.4地址入口表中的递增搜索425
22.4.5对地址入口表的set操作426
22.5地址转换表函数426
22.5.1对地址转换表的get操作428
22.5.2对地址转换表的get-first操作429
22.5.3对地址转换表的get_next操作431
22.5.4地址转换表中的递增搜索432
22.5.5乱中有序433
22.5.6对地址转换表的set操作434
22.6网络接口表的函数435
22.6.1接口表标识符的匹配435
22.6.2对网络接口表的get操作436
22.6.3对网络接口表的get-first操作440
22.6.4对网络接口表的get-next操作441
22.6.5对网络接口表的set操作442
22.7选路表函数443
22.7.1对选路表的get操作444
22.7.2对选路表的get-first操作446
22.7.3对选路表的get-next操作447
22.7.4选路表中的递增搜索449
22.7.5对选路表的set操作450
22.8 TCP连接表函数452
22.8.1对TCP连接表的get操作453
22.8.2对TCP连接表的get-first操作455
22.8.3对TCP连接表的get-next操作456
22.8.4 TCP连接表中的递增搜索457
22.8.5对TCP连接表的set操作458
22.9 UDP Listener表460
22.9.1对UDP Listener表的get操作461
22.9.2对UDP Listener表的get-first操作462
22.9.3对UDP Listener表的get-next操作463
22.9.4 UDP Listener表中的递增搜索464
22.9.5对UDP Listener表的set操作465
22.10 IP地址转换的实用例程466
22.11小结467
深入研究467
习题468
第23章 实现的回顾469
23.1引言469
23.2程序代码统计分析469
23.3各个协议的程序代码行数469
23.4每个协议所需的函数和过程470
23.5小结471
习题471
附录1 过程调用交叉参考表473
附录2 程序代码中使用到的C数据结构交叉参考表493
附录3 程序代码中使用到的Xinu函数和常量498
参考文献513
热门推荐
- 1679852.html
- 625273.html
- 627962.html
- 3354407.html
- 163782.html
- 2845402.html
- 364922.html
- 2114701.html
- 3333796.html
- 3080180.html
- http://www.ickdjs.cc/book_2843505.html
- http://www.ickdjs.cc/book_3426525.html
- http://www.ickdjs.cc/book_2147313.html
- http://www.ickdjs.cc/book_32028.html
- http://www.ickdjs.cc/book_1859187.html
- http://www.ickdjs.cc/book_3049163.html
- http://www.ickdjs.cc/book_286569.html
- http://www.ickdjs.cc/book_3549205.html
- http://www.ickdjs.cc/book_195038.html
- http://www.ickdjs.cc/book_1754018.html