第一部分 基础篇 1
第1章 引言 1
1.1 计算机网络模型 1
1.2 单块式和模块化通信系统 2
1.2.1 可组装性 3
1.2.2 可扩展性 3
1.2.3 可复用性 3
1.3 当今的计算机网络体系结构和协议 3
1.3.1 OSI模型 3
1.3.2 因特网协议组 3
1.4 计算机网络的抽象视图 4
第2章 计算机网络 6
2.1 传输媒体 6
2.1.1 双绞线 6
2.1.2 同轴电缆 6
2.1.3 光纤 7
2.1.4 无线传输 7
2.2 传输技术 8
2.2.1 基带传输 8
2.2.2 宽带传输 9
2.3 媒体访问方法 10
2.3.1 点到点链路 10
2.3.2 多点链路 11
2.3.3 广播链路 14
2.4 局域网 14
2.4.1 IEEE 802.3(CSMA/CD) 15
2.4.2 IEEE 802.4(令牌总线) 16
2.4.3 IEEE 802.5(令牌环) 17
2.4.4 IEEE 802.11(无线LAN) 17
2.4.5 IEEE 802.12(100Mbps请求优先级访问) 19
2.5 城域网 21
2.5.1 IEEE 802.6(DQDB) 21
2.5.2 光纤分布式数据接口(FDDI) 23
2.6 广域网 24
2.6.1 异步传输模式 25
2.6.2 功能体系结构 27
2.6.3 AMT通信量合约 28
2.6.4 传输媒体 28
2.7 编址 28
2.7.1 IEEE地址格式 28
2.7.2 ITU-T地址格式 28
2.8.3 OSI地址格式 29
2.8.5 增加网络服务多样性 30
2.8.4 增加带宽差异 30
2.8.3 增加带宽延迟乘积 30
2.8.2 增加带宽 30
2.8 本章小结 30
2.8.1 降低出错率 30
第3章 应用 32
3.1 传统应用 32
3.1.1 文件传送 32
3.1.2 虚拟终端 34
3.1.3 X.400电子邮件 35
3.1.4 因特网电子邮件:SMTP、POP、IMAP和MIME 37
3.1.5 远程作业输入 41
3.1.6 电话 42
3.2 分布式应用 43
3.1.7 远程传真机 43
3.1.8 电传和用户电报 43
3.2.1 分布式共享内存 44
3.2.2 远程过程调用 44
3.3 多媒体应用 45
3.3.1 音频流 46
3.3.2 视频流 46
3.3.3 多媒体对象 48
3.3.4 分布式MM对象 48
3.3.5 MM应用 49
3.3.6 H.323:会话式MM应用 50
3.3.7 WWW:可检索的MM应用 54
3.4 实时应用 58
3.5 本章小结 58
3.5.1 高吞吐率服务 59
3.5.2 低延迟服务 59
3.5.3 多点会话服务 59
3.5.4 保证性能的服务 60
第4章 OSI构架 61
4.1 系统模型 61
4.1.1 层 62
4.3 通信模型 63
4.3.1 性能 63
6.1.2 面 63
4.2 服务和协议模型 63
4.3.2 可靠性 64
4.3.3 安全性 64
4.3.4 优先级 64
4.4 本章小结 64
第5章 因特网协议组 65
5.1 概述 65
5.1.1 困特网组织 65
5.1.3 因特网路由选择 66
5.1.2 因特网编址 66
5.2 系统体系结构和协议 67
5.2.1 链路层协议 68
5.2.2 网络层协议 69
5.2.3 传输层协议 70
5.2.4 应用层协议 70
5.3 网际协议 72
5.3.1 IP版本4 72
5.3.2 IP版本6 73
5.4 本章小结 75
6.1 概述 77
第二部分 参考构架 77
第6章 对象模型 77
6.1.1 可组装性 78
6.1.2 可扩展性 78
6.1.3 可复用性 78
6.2 组装构架 78
6.3 对象 79
6.4 类 79
6.5 继承 79
6.6 操作 79
6.9 网络中的对象 80
6.8 对象分解 80
6.7 对象的创建和终止 80
6.10 本章小结 81
第7章 系统模型 82
7.1 层 82
7.2 面 82
7.3 参考体系结构 83
7.4 本章小结 83
第8章 服务模型 84
8.1 服务原语 84
8.2 时序图和状态转换图 85
8.3 本章小节 85
9.1.2 多点连接 86
9.1.4 短暂连接 86
9.1.3 快速建立连接 86
第9章 通信模型 86
9.1.1 灵活的QoS连接 86
9.1 连接类型 86
9.2 多点连接模型 87
9.3 通信阶段 87
9.3.1 服务组装 87
9.3.2 连接建立 88
9.3.3 数据传输 88
9.4.1 连接转发 89
9.4 增强型设施 89
9.3.4 连接释放 89
9.3.5 服务删除 89
9.3.6 短暂连接 89
9.4.7 加入数据流汇 90
9.4.11 代理建立 90
9.4.10 划分子流 90
9.4.8 删除数据流汇 90
9.4.9 流转发 90
9.4.6 连接再协商 90
9.4.5 连接分离 90
9.4.4 连接合并 90
9.4.3 连接搜寻 90
9.4.2 连接迁移 90
9.4.12 第三方建立 91
9.5 服务质量 91
9.5.1 可靠性 91
9.5.2 安全性 92
9.5.3 性能 94
9.6 寻址 97
9.6.1 地址 98
9.6.2 模式 98
9.7 基本服务对象类 99
9.6.3 域 99
9.7.1 组装器类 100
9.7.2 服务访问点类 100
9.7.3 连接端点类 100
9.7.4 数据流源类、数据流汇类 100
9.8 基本连接类型 100
9.9 本章小结 101
第10章 协议模型 102
10.1 协议行为 102
10.2 协议数据 104
10.3.1 对齐 105
10.3 协议功能 105
10.3.2 分块 106
10.3.3 字节排序 106
10.3.4 加校验和 106
10.3.5 拼接 106
10.3.6 连接控制 106
10.3.7 封装 107
10.3.8 加密 107
10.3.9 差错控制 110
10.3.10 前向纠错(FEC) 111
10.3.15 中继 112
10.3.13 多路复用 112
10.3.14 速率流控 112
10.3.12 抖动补偿 112
10.3.11 无活动控制 112
10.3.16 路由选择 113
10.3.17 分段 114
10.3.18 签名 114
10.3.19 分流 114
10.3.20 通信量控制 114
10.4 本章小结 115
10.3.23 窗口流控 115
10.3.22 通信量整形 115
10.3.21 通信量填充 115
第11章 组装模型 116
11.1 服务能力 116
11.1.1 服务设施 117
11.1.2 服务质量 117
11.1.3 服务模式 118
11.1.4 本地配置参数 118
11.2 节点资源 118
11.3 协议功能 118
11.5 服务对象的组装 119
11.5.1 组装类型 119
11.4 服务对象、协议功能和服务能力的关系 119
11.5.2 组装时刻 120
11.5.3 组装方法 120
11.5.4 组装控制协议 120
11.6 与现存的管理概念结合 122
11.6.1 服务管理 122
11.6.2 系统管理 123
11.7 本章小结 124
12.2 面 125
12.3 服务和协议模型 125
12.1 层 125
第12章 与OSI构架的差异 125
12.4 通信模型 126
12.5 本章小结 126
第三部分 案例分析 129
第13章 实现考虑 129
13.1 网络节点的组成 129
13.1.1 应用程序 130
13.1.2 应用编程接口 130
13.1.3 通信子系统 130
13.1.4 网络存取部分 130
13.1.5 操作系统 130
13.2.3 对平台和协议的独立性 131
13.2.2 应用实现问题 131
13.2.1 协议实现问题 131
13.2 设计目标 131
13.3 构建模块化通信系统 132
13.3.1 定义阶段 132
13.3.2 优化阶段 134
13.3.3 实现阶段 134
13.3.4 修改已存在的模块化通信系统 135
13.4 一体化层处理与应用级分帧 135
13.4.1 一体化层处理 135
13.5.1 单个状态机 137
13.5 协议对象的设计原则 137
13.4.3 ILP实现考虑 137
13.4.2 应用级分帧 137
13.5.2 通用性 140
13.5.3 自治性 140
13.5.4 弱耦合 141
13.5.5 统一接口 142
13.5.6 高效 142
13.5.7 简单 142
13.6 本章小结 143
第14章 TCP模块化 144
14.1 TCP服务模型 144
14.2.2 字节排序 145
14.2.1 分块 145
14.2 协议功能 145
14.2.3 加校验和 146
14.2.4 连接控制 147
14.2.5 差错控制和窗口流控 147
14.3 扩展 148
14.3.1 窗口比例选项 148
14.3.2 时间戳选项 149
14.3.3 请求/响应选项 149
14.3.4 局部有序和局部可靠传递选项 150
14.3.5 保护循环使用的序号 151
14.4 模块化TCP 152
14.3.6 选择性确定选项 152
14.4.1 服务组装 153
14.4.2 性能优化 153
14.4.3 简单性 154
14.4.4 易扩展性 154
14.4.5 体系结构 154
14.5.6 复用单块式TCP的功能 156
14.5 本章小结 157
第15章 系统体系结构 158
15.1 层和面 158
15.2 服务和协议对象 158
15.2.2 Tempo 159
15.2.1 Sockets++ 159
15.2.3 Netglue 162
15.3 通信模型和服务能力 162
15.4 服务组装 163
15.5 其他体系结构 166
15.5.1 Adaptive 166
15.5.2 Da Capo 168
15.5.3 DyCAT 169
15.5.4 F-CSS 169
15.5.5 灵活的协议集 171
15.5.6 HOPS 171
15.6 本章小结 172
15.5.7 微协议 172
第16章 协议操作系统 173
16.1 模型 173
16.1.1 模块 173
16.1.2 模块类 174
16.1.3 模块排序 174
16.1.4 模块间通信 175
16.1.5 通道 175
16.2 其他系统 176
16.3 本章小结 176
17.1.2 基本级通信API 177
17.1.1 高级通信API 177
17.1 通信API的概貌 177
第17章 应用程序编程接口 177
17.1.3 低级通信API 179
17.2 BSD Sockets 179
17.3 Sockets++ 180
17.3.1 面向对象的设计 180
17.3.2 基本消息的服务数据传递 181
17.3.3 支持多点服务 181
17.3.4 数据流转发 181
17.3.5 通用通信模型 181
17.3.8 对称套接字行为 182
17.3.9 显式地接受连接 182
17.3.7 基于类继承性的扩展 182
17.3.6 平台独立设计 182
17.3.10 新的套接字参数 183
17.3.11 合并的套接字建立操作 183
17.4 模型 183
17.5 通信阶段 185
17.5.1 服务组装 185
17.5.2 连接建立 185
17.5.3 数据传输 187
17.5.4 连接释放 187
17.6.2 数据传输阶段 188
17.6.1 建立阶段 188
17.5.5 服务注销 188
17.6 异步模式中的服务对象 188
17.6.3 释放阶段 189
17.7 新服务和操作的引入 189
17.8 编程示例 190
17.9 寻址 191
17.9.1 向知名组多点播送 191
17.6.2 转发请求 192
17.9.3 流水线服务器 193
17.10 事件处理 193
17.12 消息处理 194
17.11 差错处理 194
17.13 本章小结 195
第18章 性能测定 196
18.1 测试环境 196
18.2 测试程序 196
18.3 影响性能的因素 198
18.4 Tempo的性能 198
18.5 Tempo与TCP的比较 199
18.6 通用和专用协议模块的比较 200
18.7 模块化的影响 201
18.8 Sockets++的性能 202
18.9 本章小结 203
19.1 软件度量 204
19.1.1 大小度量 204
19.1.2 数据结构度量 204
19.1.3 逻辑结构度量 204
19.1.4 工作量和代价度量 204
19.1.5 缺陷和可靠性度量 204
第19章 从软件工程观点评价 204
19.1.6 设计度量 205
19.2 Tempo软件测量 205
19.2.1 大小 205
19.2.4 模块性 206
19.2.5 工作量 206
19.2.2 耦合度 206
19.2.3 复杂性 206
19.3 本章小结 207
第20章 总结 208
第四部分 附录 209
队录A 因特网术语及其MCS等价术语 209
附录B 网络详述 210
附录C TCP详述 237
参考文献 247