第1章 概览 1
1.1 引言 1
1.2 章节概览 2
1.3 UML语言注解 7
1.4 推荐参考文献 9
第2章 VxWorks网络栈 10
2.1 引言 10
2.2 支持的协议和工具 10
2.3 设置与网络任务相关的任务优先级 12
第3章 数据链路层组件 14
3.1 引言 14
3.2 以太网驱动支持 14
3.2.1 BSD数据报过滤器(BPF) 14
3.2.2 附加的滤波器语法 15
3.3 共享内存的底板网络驱动 16
3.3.1 底板的共享内存区域 16
3.3.2 处理器间中断 20
3.3.3 顺序编址 21
3.3.4 共享内存网络的配置 24
3.4 用户接口 31
第4章 网络栈的配置 32
4.1 引言 32
4.2 配置设置摘要 32
4.3 创建时配置网络栈 34
4.3.1 网络协议的可检测性 35
4.3.2 配置ARP、IP、TCP、UDP、IGMP和ICMP协议 36
4.3.3 网络存储池配置 38
4.3.4 测试网络连接 43
4.3.5 支持多个网络接口驱动程序 44
4.4 TCP/IP概述 45
4.5 配置IP到链路层的接口 46
4.5.1 绑定IP到MUX(链路层) 46
4.5.2 给接口分配IP地址和网络掩码 47
4.5.3 配置IP广播地址 55
4.6 VxWorks下的IGMP 56
4.6.1 包含IGMPv2 56
4.6.2 IGMPv2 APIs 56
4.7 手动编辑路由表 58
4.8 透明子网的代理ARP 63
4.8.1 代理ARP协议概述 64
4.8.2 路由和代理ARP服务器 64
4.8.3 代理ARP和广播数据报 65
4.8.4 代理ARP配置 66
4.9 使用无编号接口 71
4.10 网络字节顺序 73
4.11 给IP地址配置主机名 73
第5章 网络配置协议 76
5.1 引言 76
5.2 BOOTP自举引导协议 76
5.3 DHCP动态主机配置协议 79
5.3.1 在镜像中包括DHCP组件 80
5.3.3 配置DHCP服务器 81
5.3.2 配置DHCP客户机 81
5.3.4 配置支持DHCP的中继代理 87
5.3.5 应用程序中的DHCP 88
5.4 DHCP、BOOTP以及网络初始化的引导参数 89
5.5 SNMP简单网络管理协议 91
6.1 引言 93
6.2 路由信息协议RIP 93
第6章 动态路由协议 93
6.2.1 VxWorks RIP协议调试函数 94
6.2.2 RIP协议配置 95
6.2.3 生成RIP不支持接口设备清单 96
第7章 VxWorks套接字 98
7.1 引言 98
7.2 BSD套接字 98
7.2.1 VxWorks规范的套接字的依存性 99
7.2.2 数据报套接字(UDP) 99
7.2.3 流套接字(基于TCP) 111
7.3 ZBUF套接字 118
7.3.1 ZBUF套接字和保护域 119
7.3.2 ZBUF函数调用和发送数据缓存区数据 119
7.3.3 ZBUF套接字数据结构的操作 119
7.3.4 ZBUF套接字调用函数 127
第8章 远程访问应用 133
8.1 引言 133
8.2 RSH、FTP和netDrv 133
8.2.1 RSH 134
8.2.2 FTP 135
8.2.3 使用netDrv 135
8.3 NFS和nfsDrv 137
8.3.1 VxWorks NFS客户机 138
8.3.2 VxWorks NFS服务器 140
8.4.1 主机TFTP服务器 142
8.4.2 VxWorks TFTP服务器 142
8.4 TFTP 142
8.4.3 VxWorks TFTP客户机 143
8.5 RPC远程过程调用 143
8.6 rlogin 143
8.7 telnet 144
9.2 域名系统DNS 146
9.2.1 域名 146
9.1 引言 146
第9章 DNS和SNTP 146
9.2.2 VxWorks解析器 147
9.3 SNTP:一个简单的定时协议 148
9.3.1 SNTP客户机的使用 148
9.3.2 SNTP服务器的使用 149
第10章 添加新的网络接口驱动程序 151
10.1 引言 151
10.1.1 MUX和OSI网络模型 151
10.1.2 协议层与MUX的接口 152
10.1.3 数据链路层与MUX接口 153
10.1.4 END和NPT驱动程序的差异 154
10.1.6 在驱动程序中支持发散/聚集(Scatter-Gather)方式数据传送 155
10.1.7 早期的NPT驱动程序中的连接层头文件分配 155
10.1.5 管理网络驱动程序和网络服务的存储区 155
10.1.8 缓冲区地址对齐 156
10.2 END驱动程序实现 158
10.2.1 END操作 158
10.2.2 The END驱动程序和MUX接口 161
10.3 NPT驱动程序的实现 170
10.3.1 NPT操作 170
10.3.2 The NPT驱动程序和MUX接口 173
10.4 移植BSD驱动程序到MUX 181
10.4.1 移除引用设备号 182
10.4.2 生成一个END对象来表示设备 182
10.4.3 实现标准的END或NPT程序进入配给函数 182
10.5.1 为多个驱动程序配置VxWorks 184
10.5.2 在运行时启动额外的驱动程序 184
10.5 支持多网络接口的驱动程序 184
10.6 避免内存泄漏 185
第11章 添加新的网络服务 186
11.1 引言 186
11.2 写网络服务子层 186
11.2.1 接口初始化 186
11.2.2 数据结构和资源 187
11.2.3 子层函数(sublayer Routines) 188
11.3 与MUX对接 189
11.3.1 使用muxTkBind()注册的服务函数 190
11.3.2 使用muxBind()注册服务函数 191
11.4 在服务中添加套接字接口 193
11.4.1 实现一个套接字后端 194
11.4.2 在套接字后端中使能Zbuf支持 196
11.4.3 套接字函数的实现 196
附录A netBuflib的使用 207
附录B MUX/NPT函数以及数据结构 224
附录C 捆绑的PPP、SLIP和CSLIP协议 246