CDNTENTS 1
目录 1
前言——为什么要使用网络处理器 1
第一部分 网络处理器设计原理及标准规范 3
第1章 引言 3
1.1 什么是网络处理器 6
1.2 网络处理器的发展及分类 7
第2章 网络处理与网络处理器 9
2.1 OSI网络分层 9
2.2 协议处理 15
2.2.1 ATM交换模式 15
2.2.2 虚拟局域网VLAN 20
2.2.3 多协议标签交换MPLS 20
2.2.4 因特网协议版本4:IPv4 26
2.2.5 因特网协议版本6:IPv6 30
2.2.6 用户数据报UDP 35
2.2.7 传输控制协议TCP 36
2.3 网关应用 37
2.3.1 无线网络与有线网络接口处的网关 37
2.3.2 网络地址翻译NAT 38
2.3.3 Web“交换机” 39
2.4 网络流量管理与QoS 40
2.4.1 连接接纳控制与业务整形 40
2.4.2 QoS的实现 43
2.4.3 IP网中实现QoS的两种典型方案 46
2.5 流量计费 48
2.6 其他需要考虑的应用 49
第3章 IP分组处理 51
3.1 TCP/IP网络分层结构 51
3.2 IP分组处理流程 53
3.3 IP分组处理的主要任务 55
3.3.1 IP头解析(header parsing) 55
3.3.2 IP分组分类与路由 56
3.3.3 IP分组策略管理 60
3.3.4 分组整形 62
3.3.5 分组排队 62
3.3.6 链路调度 63
3.4 IP分组传输的QoS实现 65
3.5 IP分组处理——算法与结构的折中 65
第4章 网络处理器核心功能模块 69
4.1 模式匹配 69
4.2 查寻 69
4.3 计算 70
4.4 数据操作 70
4.5 排队管理 70
4.6 控制处理 70
4.7 NP处理器核的总结 70
5.1 网络处理器论坛简介 73
第5章 网络处理器论坛 73
5.2 网络处理器论坛的组织构成 75
5.2.1 技术教育与市场推广工作组 76
5.2.2 硬件工作组 76
5.2.3 软件工作组 79
5.2.4 性能测试评估任务组 81
第6章 NP设计参考标准:CSIX-L1 85
6.1 CSIX-L1标准 85
6.3 CSIX-L1功能描述 88
6.2 CSIX-L1体系结构 88
6.3.1 单播操作 89
6.3.2 组播操作 89
6.3.3 CSIX-L1流量控制 90
6.4 CSIX-L1物理应用 90
6.5 CSIX-L1 CF帧格式 95
6.6 CSIX-L1的运行与时序 104
6.6.3 CSIX-L1状态机 105
6.6.1 启动 105
6.6.2 数据发送 105
6.6.4 帧迁移时序(frame transfer timing) 107
6.7 CSIX-L1时序AC特性 108
6.8 CSIX-L1直流DC特性 112
6.9 CSI-L1对NP设计的要求 113
第7章 NP设计标准1:流接口应用协议 115
7.1 流接口应用协议NPSI简介 115
7.2 NPSI流接口结构 116
7.3 NPSI基本特性 117
7.4 NPSI接口信号 118
7.5 NPE-NPE与NPE-Fabric接口公共功能 119
7.5.1 公共数据通路操作 119
7.5.2 公共流控通路操作 128
7.5.3 同步丢失处理 129
7.6.1 数据通路的操作 130
7.6 NPE-交换结构模式 130
7.6.2 寻址方式 131
7.6.3 单播寻址 133
7.6.4 组播寻址 135
7.6.5 流控实现 138
7.7 NPE-NPE模式 146
7.7.1 数据操作模式 146
7.7.2 流控的实现 147
7.7.3 启动参数总结 149
7.8 物理层 150
第8章 协处理部件接口标准LA-1 153
8.1 LA-1接口概述 153
8.2 LA-1端口操作概述 155
8.3 LA-1端口时序规范 156
8.4 LA-1逻辑接口 161
9.1 API软件框架结构协议简介 163
第9章 网络处理器软件程序接口协议 163
9.2 API软件框架结构模型 164
9.3 服务API 166
9.4 操作API 167
9.5 功能API 167
9.6 小结 168
第10章 网络处理器测评技术与规范 169
10.1 NPF的测评规范组 169
10.2 网络处理器测评体系 169
10.2.1 网络处理器的测评 170
10.2.2 网络处理器的任务和度量指标 171
10.2.3 测评规范的要求 171
10.2.4 系统测试配置 172
10.2.5 测试集 173
10.3.1 交换矩阵测评规范概述 175
10.3 NPF的交换矩阵测评规范 175
10.3.2 交换矩阵的性能测评指标体系 176
10.4 交换矩阵测评流量模型 179
10.4.1 CF帧和数据包 179
10.4.2 包长分布 180
10.4.3 数据包到达过程 181
10.4.4 数据包目的地址分布 183
10.5.1 术语 184
10.5 IPv4转发应用级测试实现协议 184
10.4.5 组播流量与QoS流量 184
10.5.2 测试配置 185
10.5.3 基准测试 187
第11章 现有网络处理器设计方案介绍 191
11.1 FPP,RSP,ASI介绍 191
11.2 Au1000 194
11.3 nP7XXX 195
11.4 MSP5000 196
11.5 SB-1250 197
11.6 PXF/Toaster 2 198
11.7 MTAP 198
11.8 CNP810SP 199
11.9 VISC 200
11.10 MXT4400 201
11.11 NP-1 201
11.12 PowerNP 202
11.13 IXP1200 205
11.14 NetVortex NVP 206
11.15 C-5 DCP 207
11.16 PRISM IQ2000 208
11.17 Xelerated Packet Devices公司(X40 T40) 209
11.18 现有网络处理器特点分析 211
11.18.1 NP的并行处理分析 212
11.18.2 专用处理部件比较分析 213
11.18.3 NP延迟的隐藏 214
11.18.4 NP的可编程性 215
第12章 网络处理器设计方案选择分析 217
12.1 NP的结构特性及其工作原理 217
12.2 网络处理器NP的发展态势 219
12.3 NP设计难点分析 221
12.4 设计NP需要解决的问题 222
第13章 NP发展展望 229
13.1 应用 229
13.2 结构 230
13.2.1 并行处理 230
13.2.2 协处理器 230
13.2.3 通信结构 231
13.3 映射应用到结构 231
13.4 总结 232
14.1.2 IXP1200体系结构 237
14.1.1 IXP1200概述 237
第14章 IXP1200体系结构概述 237
14.1 IXP1200体系结构 237
第二部分 Intel IXP1200网络处理器 237
14.1.3 IXP1200功能模块 238
14.1.4 IXP1200体系结构特点 241
14.2 StrongARM处理器概述 243
14.2.1 ARM处理器和ARM处理器系列 243
14.2.2 StrongARM 244
14.3 微引擎 246
14.3.1 概述 246
14.3.2 微引擎模块 246
14.3.3 微引擎指令集 249
14.3.4 执行流水线 249
14.3.5 执行状态 249
14.3.6 微引擎编程 251
14.3.7 微引擎寄存器 252
14.3.8 逻辑运算单元ALU和移位器Shifter 254
14.3.9 进程切换 255
14.3.10 微引擎和其他功能单元的接口 257
14.3.11 处理器间通信 257
14.4 PCI单元 259
14.4.1 硬件描述 260
14.4.2 PCI操作 263
14.4.3 PCI总线地址空间 264
14.5 FBI单元 265
14.5.1 FBI结构 265
14.5.2 Push/Pull引擎接口 266
14.5.3 Scratchpad存储器 270
14.5.4 Hash单元 271
14.5.5 FBI控制和状态寄存器CSR 273
14.5.6 IX总线接口 274
14.6.1 SDRAM单元概述 285
14.6 SDRAM单元 285
14.6.2 SDRAM接口 288
14.6.3 微引擎SDRAM传输 290
14.6.4 PCI SDRAM传输 290
14.6.5 StrongARM核SDRAM传输 290
14.6.6 SDRAM与IX总线的接口 291
14.7 SRAM单元 292
14.7.1 SSRAM地址空间 292
14.7.2 BootROM地址空间 294
14.7.3 SlowPort地址空间 295
14.7.4 高级SRAM Commands 296
14.7.5 SRAM地址映射 297
14.8 IXP1200系统设计与调试 298
14.8.1 IXP1200系统设计概述 298
14.8.2 IXP1200接口设计 298
14.8.3 IXP1200系统调试 302
第15章 IXP1200程序设计与开发平台 305
15.1 StrongARM核上的程序开发简介 305
15.2 IXP1200微引擎程序开发 306
15.2.1 微引擎指令系统 306
15.2.2 微引擎程序设计 365
15.2.3 微引擎程序开发平台Developer Workbench 400
15.2.4 “Hello World”编程实例 409
15.2.5 小结 415
第16章 Intel IXP1200网络处理器的应用 417
16.1 网络整体解决方案 417
16.1.1 IXP1200应用的网络层次 417
16.1.2 IXP1200应用的网络范围 418
16.2 应用举例 420
16.2.1 无线网络控制器 421
16.2.2 媒介网关MG 425
16.2.3 区分服务路由器 426
16.2.4 面向应用的可编程交换 429
第17章 基于IXP1200的IP路由器设计 435
17.1 概述 435
17.2 系统分析与设计 436
17.2.1 系统结构 436
17.2.2 系统硬件设计 438
17.2.3 系统软件设计 438
17.3 实现 441
17.3.1 桥表管理模块 441
17.3.2 路由表管理模块 443
17.3.3 PETH driver 444
17.3.4 数据转发模块 446
第18章 基于IXP1200的MPLS路由器设计 463
18.1 MPLS概述 463
18.2 系统分析与设计 464
18.2.1 系统结构 464
18.2.2 系统硬件设计 465
18.2.3 系统软件设计 466
18.3 BCNL-MPLS路由器的实现 471
18.3.1 标签分发模块 471
18.3.2 转发表管理模块 474
18.3.3 数据转发模块 475
第19章 基于IXP1200的安全路由器设计 481
19.1 背景 481
19.2 系统构成 482
19.3 各个模块的具体功能和设计 483
19.3.1 控制平面各功能模块 483
19.3.2 数据平面各功能模块 491
19.3.3 通信模块(CM) 497
附录A 网络处理器总结 501
附录B “应用/结构”映射表 511
附录C 网络处理器Web参考站点 515
附录D 缩略语 517
参考文献 521