图书介绍
网络处理器与网络系统设计PDF|Epub|txt|kindle电子书版本网盘下载
![网络处理器与网络系统设计](https://www.shukui.net/cover/64/33114128.jpg)
- (美)Douglas E.Comer著;张建忠,陶智华等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111143620
- 出版时间:2004
- 标注页数:356页
- 文件大小:26MB
- 文件页数:377页
- 主题词:
PDF下载
下载说明
网络处理器与网络系统设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.2 应用与基础设施1
1.3 网络系统工程1
目录出版者的话专家指导委员会译者序序言前言关于本书的评论作者简介第1章 概述1
1.1 网络系统和因特网1
1.6 网络速度2
1.5 实现高速度2
1.4 包处理2
1.8 本书的读者范围和组织3
1.7 硬件、软件和混合体3
补充读物4
1.9 小结4
2.4 数字电路5
2.3 面向连接模式和非连接模式5
第2章 基本术语和实例系统5
2.1 引言5
2.2 网络和包5
2.6 因特网与异构性6
2.5 局域网和广域网的分类6
2.8 广播域7
2.7 网络系统实例7
2.10 因特网中的其他系统8
2.9 因特网中使用的两个关键系统8
2.12 小结9
2.11 监视和控制系统9
补充读物10
3.2 协议和分层11
3.1 引言11
第3章 协议和包格式11
3.3.2 以太网帧格式12
3.3.1 以太网12
3.3 第1层和第2层(物理层和网络接口层)12
3.4.1 因特网协议13
3.4 第3层(互联网层)13
3.3.3 以太网地址13
3.3.4 以太网类型字段13
3.4.2 IP数据报格式14
3.5.2 UDP数据报格式15
3.5.1 UDP和TCP15
3.4.3 IP地址15
3.5 第4层(传输层)15
3.5.3 TCP段格式16
3.8 地址解析协议17
3.7 封装和传输17
3.6 协议端口号和多路分解17
补充读物18
3.9 小结18
4.3 网络接口卡20
4.2 常规计算机系统20
第一部分 传统协议处理系统第4章 常规计算机硬件体系结构20
4.1 引言20
4.4 总线的定义21
4.6 存-取模式22
4.5 总线地址空间22
4.8 为实现高速而优化网卡23
4.7 网络接口卡的功能23
4.9.2 多播识别和过滤24
4.9.1 单播和广播识别与过滤24
4.9 板载地址识别24
4.10 板载包缓冲25
4.12 操作和数据链接26
4.11 直接存储器存取26
4.14 混杂模式27
4.13 数据流图27
补充读物28
4.15 小结28
5.3 包缓冲区分配29
5.2 状态信息和资源耗尽29
第5章 基本包处理:算法和数据结构29
5.1 引言29
5.5 协议分层与复制30
5.4 包缓冲区长度和复制30
5.6 异构与网络字节顺序31
5.7 网桥算法32
5.8 表查找与散列33
5.9.1 标志字段的解释34
5.9 IP数据报分片与重组34
5.9.4 对分片进行分片35
5.9.3 IP分片算法35
5.9.2 分片偏移字段的解释35
5.9.5 IP重组36
5.9.7 分片的位置37
5.9.6 组合分片37
5.10 IP数据报转发38
5.9.8 IP重组算法38
5.11 IP转发算法39
5.12 高速IP转发40
5.13 TCP连接识别算法41
5.14 TCP衔接算法42
5.15 小结43
练习44
补充读物44
6.3 地址查找和包转发45
6.2 包处理45
第6章 包处理功能45
6.1 引言45
6.4 检错和纠错46
6.7.1 静态分类和动态分类47
6.7 包分类47
6.5 分片、分段和重组47
6.6 帧和协议多路分解47
6.7.3 优化的包处理48
6.7.2 多路分解和分类48
6.8.2 优先级机制49
6.8.1 基本排队49
6.7.4 分类语言49
6.8 排队和包丢弃49
6.8.3 包丢弃50
6.10 安全:认证和保密51
6.9 调度和分时51
6.12 流量整形52
6.11 流量测量和控制52
6.14 小结54
6.13 计时器管理54
练习55
补充读物55
7.3 软件中的快速包处理56
7.2 应用程序中包处理的实现56
第7章 常规处理器上的协议软件56
7.1 引言56
7.6 软件中断和优先级57
7.5 操作系统实现57
7.4 嵌入式系统57
7.8 线程同步59
7.7 多优先级和内核线程59
7.9.1 每层一个线程60
7.9 分层协议软件60
7.9.3 每个协议多个线程61
7.9.2 每个协议一个线程61
7.9.5 每个包一个线程62
7.9.4 独立的计时器管理线程62
7.11 小结63
7.10 异步编程和同步编程63
练习64
补充读物64
8.3 传统的软件路由器65
8.2 网络系统体系结构65
第8章 协议处理的硬件体系结构65
8.1 引言65
8.4 聚合数据速率66
8.5 聚合包速率67
8.6 包速率和软件路由器的可行性68
8.7 克服单个CPU的瓶颈69
8.9 对称粗粒度并行70
8.8 细粒度并行70
8.11 专用协处理器71
8.10 非对称粗粒度并行71
8.13 具有板载处理的网卡72
8.12 ASIC协处理器实现72
8.15 信元和面向连接的编址73
8.14 带板载栈的智能网卡73
8.16 数据流水线74
练习75
补充读物75
8.17 小结75
9.2 多路分解的固有局限性77
9.1 引言77
第9章 分类和转发77
9.4 分类的软件实现78
9.3 包分类78
9.5 优化基于软件的分类79
9.7 分类的硬件实现80
9.6 专用硬件上的软件分类器80
9.8 优化多规则集的分类81
9.9 可变长度首部的分类82
9.11 动态分类与静态分类的比较83
9.10 混合的硬件/软件分类器83
9.12 细粒度流的建立84
9.14 无连接网络的分类与转发85
9.13 面向连接的网络中的流转发85
9.15 第二代网络系统86
9.17 分类和转发芯片87
9.16 第二代系统中的嵌入式处理器87
练习88
补充读物88
9.18 小结88
10.3 交换矩阵的概念90
10.2 内部快速通路的带宽90
第10章 交换矩阵90
10.1 引言90
10.4 同步与异步矩阵91
10.6 专用的内部通路与端口争用92
10.5 交换矩阵体系结构的分类92
10.7 纵横制体系结构93
10.8 基本排队94
10.10 共享总线体系结构96
10.9 时分解决方案:共享数据通路96
10.12 共享存储器体系结构98
10.11 其他的共享介质体系结构98
10.14 Banyan体系结构99
10.13 多级矩阵99
10.15 扩展Banyan结构100
10.17 小结102
10.16 商用技术102
练习103
补充读物103
11.3 第三代网络系统106
11.2 第二代体系结构中的CPU106
第二部分 网络处理器技术第11章 网络处理器:动机与目的106
11.1 引言106
11.5 RISC与CISC107
11.4 使用嵌入式处理器的动机107
11.6 定制硅片的需求108
11.7 网络处理器的定义109
11.9 指令集110
11.8 基本思想:通过可编程性实现灵活性110
11.11 网络处理器的成本与收益111
11.10 用并行性与流水线的可扩展性111
11.12 网络处理器与其经济上的成功112
练习113
补充读物113
11.13 网络处理器的形势与未来113
11.14 小结113
12.3 包处理功能115
12.2 网络处理器的功能115
第12章 网络处理器设计的复杂性115
12.1 引言115
12.4.1 入口处理116
12.4 入口与出口处理116
12.4.2 出口处理117
12.5 并行与分布式体系结构118
12.7 每种体系结构角色的结果119
12.6 网络处理器的体系结构角色119
12.9 网络处理器设计与软件仿真121
12.8 宏观的数据流水线与异构性121
练习122
补充读物122
12.10 小结122
13.3 主要体系结构特性123
13.2 体系结构的多样性123
第13章 网络处理器的体系结构123
13.1 引言123
13.3.2 存储器层次结构124
13.3.1 处理器层次结构124
13.3.3 内部传输机制126
13.3.5 专用硬件127
13.3.4 外部接口与通信机制127
13.3.7 并发执行支持128
13.3.6 轮询与通知机制128
13.3.9 硬件与软件的调度机制129
13.3.8 编程的硬件支持129
13.4 体系结构、包流与时钟频率130
13.3.10 隐式或显式的并行性130
13.6 处理器层次结构的功能分配132
13.5 软件体系结构132
13.7 小结133
练习134
补充读物134
14.3 用提高处理器速度进行扩展136
14.2 处理的层次和扩展136
第14章 如何扩展网络处理器136
14.1 引言136
14.5 用增加处理器类型进行扩展137
14.4 用增加处理器数目进行扩展137
14.6 存储器层次的扩展138
14.7 用增加存储容量进行扩展139
14.9 用增加存储器类型进行扩展140
14.8 用增加存储带宽进行扩展140
14.10 用加入高速缓存进行扩展141
14.11 用按内容寻址的存储器进行扩展142
14.12 用CAM做包分类143
14.13 扩展中的其他限制145
14.16 小结146
14.15 瓶颈和扩展146
14.14 软件的可扩展性146
练习147
补充读物147
15.4 多芯片流水线(Agere)148
15.3 产品的选择148
第15章 商用网络处理器的实例148
15.1 引言148
15.2 商用产品大量涌现148
15.5 加强型RISC处理器(Alchemy)152
15.6 嵌入式处理器加协处理器(AMCC)153
15.8 可配置指令集处理器(Cognigine)154
15.7 用同构处理器组成流水线(Cisco)154
15.9 用异构处理器组成流水线(EZchip)156
15.10 大规模的和多样性的处理器(IBM)157
15.11 自适应的RISC加协处理器(Motorola)159
15.12 小结161
练习162
补充读物162
16.3 命令模式和说明模式163
16.2 优化分类163
第16章 用于分类的语言163
16.1 引言163
16.6 有助于编程的语言特性164
16.5 自动翻译164
16.4 分类用的编程语言164
16.7 语言和硬件的关系165
16.10 Intel的网络分类语言(NCL)166
16.9 商用的分类语言166
16.8 效率和执行速度166
16.11 NCL代码举例167
16.12 NCL的内部函数169
16.14 条件规则的执行170
16.13 谓词170
16.16 NCL的集合功能171
16.15 增量的协议定义171
16.18 Agere的函数型程序设计语言(FPL)172
16.17 NCL的其他特性172
16.19 两遍处理173
16.21 用作条件的模式174
16.20 指定第一遍和第二遍174
16.22 符号常量175
16.23 FPL第二遍处理的示例代码176
16.24 顺序的模式匹配形式177
16.27 对路由引擎传递信息178
16.26 返回值178
16.25 树形函数和BITS缺省值178
16.29.1 FPL常量的语法179
16.29 FPL的其他特性179
16.28 对内部函数和外部函数的访问179
补充读物180
16.30 小结180
16.29.2 FPL的变量180
16.29.3 FPL对动态分类的支持180
练习181
17.4 性能:包速率、数据速率和突发182
17.3 可编程能力与处理速度182
第17章 设计中的权衡及其结果182
17.1 引言182
17.2 低开发成本与性能182
17.7 网络处理器的速度与带宽183
17.6 每接口速率和聚合数据速率183
17.5 速度与功能183
17.11 并行性:规模与包排序184
17.10 显式并行性与成本和可编程能力184
17.8 协处理器的设计:旁视型与流通型184
17.9 流水线处理:均匀与同步184
17.15 编程语言:三方面的权衡185
17.14 I/O性能与引脚数185
17.12 并行性:速度与有状态的分类185
17.13 存储器:速度与可编程能力185
17.19 存储器类型:专用与通用186
17.18 通用性与特殊体系结构的角色186
17.16 多线程:吞吐量与可编程能力186
17.17 流量管理与低成本的盲转发186
练习187
17.22 小结187
17.20 向后兼容与结构优势187
17.21 并行性与流水线187
18.4 IXP:因特网交换处理器190
18.3 IXA:因特网交换体系结构190
第三部分 网络处理器实例第18章 Intel网络处理器概述190
18.1 引言190
18.2 Intel术语集190
18.6 外部连接191
18.5 IXP1200的基本特性191
18.6.1 串行线路接口192
18.8 IXP1200处理器层次结构193
18.7 内部组件193
18.6.2 PCI总线193
18.6.3 IX总线193
18.6.4 SDRAM总线193
18.6.5 SRAM总线193
18.9 IXP1200存储器层次结构195
18.8.5 物理接口处理器195
18.8.1 通用处理器195
18.8.2 嵌入式RISC处理器(StrongARM)195
18.8.3 I/O处理器(微引擎)195
18.8.4 协处理器和其他功能部件195
18.11 底层复杂性举例197
18.10 字和长字寻址197
18.13 小结198
18.12 其他硬件部件198
练习199
补充读物199
19.2 使用嵌入式处理器的目的200
19.1 引言200
第19章 Intel嵌入式RISC处理器(StrongARM核心)200
19.3 StrongARM体系结构201
19.5 StrongARM存储器体系结构202
19.4 RLSC指令集和寄存器202
19.6 StrongARM存储器映像203
19.9 内部外围部件204
19.8 共享存储器和地址交换204
19.7 虚地址空间和存储器管理204
19.11 用户态和核心态操作205
19.10 其他I/O205
19.9.1 通过通用异步收发器的串行连接205
19.9.2 递减计时器205
19.9.3 通用I/O引脚205
19.9.4 实时时钟205
练习206
补充读物206
19.12 协处理器15206
19.13 小结206
20.3 微引擎体系结构208
20.2 微引擎的作用208
第20章 包处理器硬件(微引擎和FBI)208
20.1 引言208
20.5 微引擎指令集209
20.4 微序列的概念209
20.6 分离的内存地址空间210
20.7 执行流水线211
20.8 指令暂停的概念212
20.10 存储器访问延迟213
20.9 条件分支与流水线异常中止213
20.11 硬件线程与上下文切换214
20.12 微引擎指令存储215
20.14.2 寄存器组216
20.14.1 上下文相对寄存器与绝对寄存器216
20.13 微引擎硬件寄存器216
20.14 通用寄存器216
20.15 传送寄存器217
20.17 内部处理器通信218
20.16 本地控制与状态寄存器218
20.18 FBI单元219
20.20 FBI体系结构与推入/拉出引擎220
20.19 传送FIFO与接收FIFO220
20.22 散列单元221
20.21 暂存存储器221
练习223
补充读物223
20.23 配置、控制和状态寄存器223
20.24 小结223
21.3.1 Intel的硬件测试台225
21.3 Intel参考系统225
第21章 参考系统与软件开发工具包225
21.1 引言225
21.2 参考系统225
21.3.2 Intel的软件开发工具包226
21.5 运行在StrongARM上的操作系统227
21.4 主机操作系统选择227
21.7 PCI以太网仿真228
21.6 外部文件的访问与存储228
21.10 系统重启229
21.9 运行软件229
21.8 参考硬件的启动229
补充读物230
21.12 小结230
21.11 可选的交叉开发软件230
练习231
22.3 ACE定义和术语232
22.2 ACE抽象232
第22章 编程模式(ACE)232
22.1 引言232
22.6 ACE互连实例233
22.5 输出目标和推迟绑定233
22.4 ACE的四个概念部分233
22.7 ACE划分为核心和微块234
22.9 复制的微块组235
22.8 微块组235
22.11 调度循环236
22.10 微块结构236
22.14 异常238
22.13 包队列238
22.12 调度循环调用的约定238
22.15 交叉调用239
练习240
补充读物240
22.16 ACE模式之外的应用程序240
22.17 小结240
23.3 主要运行组件242
23.2 StrongARM的任务242
第23章 ACE运行结构和StrongARM设施242
23.1 引言242
23.5.1 解析器243
23.5 对象管理系统243
23.4 ACE的核心部件243
23.9 微引擎的自动分配244
23.8 动作服务库244
23.5.2 名字服务器244
23.6 资源管理器244
23.7 操作系统专用库244
23.11 ACE主程序和事件循环245
23.10 ACE程序结构245
23.12 ACE事件循环和阻塞246
23.13 异步编程模式和回调247
23.15 存储分配249
23.14 异步执行和互斥249
23.17 ACE数据的分配及初始化250
23.16 ACE的加载和启动(ixstart)250
23.18 交叉调用251
23.20 通信访问进程252
23.19 使用IDL的交叉调用声明252
23.21 定时器管理253
23.22 NCL的分类、动作及缺省动作254
练习255
补充读物255
23.23 小结255
第24章 微引擎编程Ⅰ257
24.1 引言257
24.2 Intel的微引擎汇编器257
24.3 微引擎汇编语言的语法257
24.4 操作数语法举例258
24.5 寄存器符号名及其分配260
24.6 寄存器的类型和语法261
24.7 本地寄存器的作用域、嵌套和屏蔽262
24.8 寄存器的分配及冲突263
24.9 宏预处理器263
24.10 宏定义264
24.11 代码段的重复生成265
24.12 结构化编程指令265
24.13 可导致上下文切换的指令267
24.14 间接调用268
24.15 外部传输269
24.16 库宏和传送寄存器的分配269
补充读物270
练习270
24.17 小结270
25.2 专用存储器操作272
25.1 引言272
25.3 缓冲池操作272
第25章 微引擎编程Ⅱ272
25.4 通过位测试实现处理器协作273
25.5 存储器原子递增273
25.6 通过存储器锁操作实现处理器协作274
25.7 控制和状态寄存器275
25.8 Intel调度循环宏276
25.9 包队列及其选择277
25.10 包首部中字段的访问278
25.11 调度循环宏需要进行的初始化278
25.12 包I/O和MAC包的概念280
25.13 无中断的包输入281
25.14 入口包传输281
25.15 包出口282
25.16 其他I/O细节283
补充读物284
练习284
25.17 小结284
26.2 线路中的块实例285
26.1 引言285
26.3 wwbump设计285
第26章 ACE实例285
26.4 头文件286
26.5 包分类和处理的微代码288
26.6 调度循环的微代码291
26.7 核心组件代码(异常处理程序)293
26.8 ACE结构295
26.9 wwbump ACE初始化和结束处理的代码295
26.10 交叉调用实例297
26.10.2 IDL说明298
26.10.3 IDL编译器生成的文件298
26.10.1 输出函数的定义298
26.11 一个交叉调用函数的代码300
26.12 系统配置302
补充读物306
26.14 小结306
练习306
26.13 wwbump设计中一个潜在的瓶颈306
27.2 使用双芯片获得更高数据速率308
27.1 引言308
27.3 一般特征308
第27章 Intel的第二代处理器308
27.5 外部连接和总线309
27.6 流控总线309
27.4 存储器层次结构309
27.7 介质或交换矩阵接口310
27.8 内部体系结构310
27.9 物理网络接口和多路复用311
27.11 支持软件流水线312
27.12 IXP2800312
27.10 微引擎增强312
补充读物313
练习313
27.13 小结313
附录 术语和缩略语词汇表314
参考文献341
索引344