1.1Internet发展历史 1
第1章 Internet概述 1
1.2Internet管理机构 2
1.2.1Internet管理机构 3
1.2.2Internet域名与地址管理机构 3
1.2.3IP地址管理机构 4
1.3Internet协议与标准 4
1.4Internet应用现状与发展趋势 5
2.1.1分层体系结构的对应 6
2.1.2总体发展 6
第2章 TCP/IP协议族体系结构 6
2.1TCP/IP层次结构及其与OSI七层体系结构的比较 6
2.1.3标准及规范 7
2.1.4网络层 7
2.1.5传输层 7
2.1.6应用层 8
2.2路由器 10
2.2.1路由器的工作原理 10
2.2.2路由器的功能 11
2.3TCP/IP各层协议组成 12
第3章 IP协议 14
3.1IP协议的目的与工作原理 14
3.1.1IP协议数据的传输过程 14
3.1.2IP协议中的概念 15
3.2IP地址 15
3.2.1IP地址的分类 16
3.2.2IP地址的表示 16
3.2.4IP地址的缺陷 17
3.2.3特殊IP地址总结 17
3.2.5子网技术 18
3.2.6超网技术 19
3.2.7私有网络地址 20
3.3IP数据包格式 20
3.3.1网络字节序和主机字节序 20
3.3.2IP数据包 21
3.3.3服务类型 22
3.3.4IP数据包的分片与重组 22
3.3.5IP选项 26
第4章 ARP和RARP 29
4.1IP地址和物理地址映射问题 29
4.1.1以太网的传输机制 29
4.1.2地址映射的可选解决办法 30
4.2ARP协议原理 31
4.2.1ARP协议的工作原理 31
4.2.2减少地址解析需要的通信 32
4.4RARP协议 33
4.3ARP数据包格式 33
第5章 ICMP协议 35
5.1ICMP协议的作用与原理 35
5.2ICMP数据包的格式 36
5.3各种ICMP数据包 37
5.3.1回显请求与应答 37
5.3.2目标不可达错误 37
5.3.3源端关闭 38
5.3.4超时错误 39
5.3.5数据包参数问题 39
5.3.6获取子网掩码 40
第6章 路由协议 41
6.1路由器的工作原理及路由协议 41
6.1.1路由器的工作原理 41
6.1.2路由协议的作用及分类 43
6.2RIP路由信息协议 45
6.2.1RIP协议数据包的格式 45
6.2.2RIP协议的工作过程 46
6.2.3RIP协议的缺陷 46
6.3OSPF开放最短路径优先 47
6.2.4RIP2 47
6.4BGP边界网关协议 48
6.5Internet的路由体系结构 49
第7章 广播与多播 50
7.1广播 50
7.1.1物理层的广播 50
7.1.2IP协议的广播 51
7.1.3IP广播的过程和问题 51
7.2多播 51
7.2.2IP协议的多播 52
7.2.1物理层的多播 52
7.3.1IGMP数据包格式 53
7.3IGMP 53
7.3.2IGMP协议的工作机制 54
7.3.3IGMP协议的实现 54
第8章 UDP协议 56
8.1最终目标的标识——UDP端口 56
8.2UDP数据包格式 57
8.3UDP校验和的计算 57
8.4UDP数据包的封装 58
8.3.1UDP伪头部格式 58
8.3.2为什么使用伪头部 58
8.5标准UDP端口 59
第9章 TCP协议 61
9.1TCP协议中的基本概念 61
9.1.1面向连接的服务 61
9.1.2可靠的服务 61
9.2TCP协议数据段的格式 63
9.2.1TCP数据段的格式 63
9.1.3面向字节流的传送服务 63
9.2.2TCP校验和的计算 64
9.3TCP协议连接的建立与关闭 65
9.3.1被动打开与主动打开 65
9.3.2三次握手建立TCP连接 65
9.3.3TCP连接的关闭 66
9.3.4TCP连接状态迁移 67
9.4TCP协议数据的传送与流量控制 68
9.4.1字节流的分段 68
9.4.2滑动窗口机制 69
9.4.3超时的判断 74
9.4.4TCP的拥塞控制机制 76
9.4.5紧急数据的传输 77
9.5TCP的傻窗口症状 78
9.5.1傻窗口症状 78
9.5.2傻窗口症状避免机制 79
9.6TCP协议与UDP协议的比较 80
9.6.1TCP协议与UDP协议特点的比较 80
9.6.3常见的标准TCP协议端口 81
9.6.2TCP协议与UDP协议应用的比较 81
第10章 远程登录 83
10.1远程登录的服务模式 83
10.2Telnet原理 84
10.2.1网络虚终端(NVT) 84
10.2.2Telnet命令 86
10.2.3选项协商 87
10.3rlogin 90
第11章 电子邮件 92
11.1电子邮件系统结构 92
11.2TCP/IP电子邮件地址 93
11.3电子邮件格式 94
11.3.1电子邮件信息格式 94
11.3.2多用途互联网邮件扩充 94
11.4SMTP协议 96
11.4.1SMTP命令 96
11.4.2SMTP工作过程 98
11.5.1POP3协议 99
11.5邮箱访问 99
11.5.2其他邮箱访问方式 100
第12章 HTTP协议 101
12.1超文本和URL 101
12.1.1超文本 101
12.1.2统一资源定位URL 102
12.2HTML简介 102
12.2.1超文本文档结构 102
12.2.2HTML中常用标签 103
12.3HTTP协议概述 105
12.3.1HTTP协议的工作模式 106
12.3.2HTTP协议特点 106
12.4HTTP请求和应答 106
12.4.1请求消息 106
12.4.2应答消息 107
12.4.3首部字段 108
12.5浏览器 109
13.1.2文件访问和传输 111
13.1.1简介 111
13.1FTP文件传输协议 111
第13章 网络文件 111
13.1.3在线共享访问 112
13.1.4文件传输共享 112
13.1.5FTP协议的特点 113
13.1.6FTP模型 113
13.1.7TCP端口号的分配 114
13.1.8基本的客户端-服务器交互 115
13.1.9FTP命令 116
13.1.10FTP用户会话样例 119
13.2TFTP 120
13.3NFS 121
第14章 SNMP网络管理体系结构 123
14.1SNMP体系结构 123
14.1.1TCP/IP网络管理的发展 123
14.1.2SNMP基本框架 125
14.2SNMP管理信息 127
14.2.1管理信息结构 128
14.2.2MIB-II 134
14.3.2共同体和安全控制 139
14.3简单网络管理协议 139
14.3.1SNMP支持的操作 139
14.3.3实例标识 141
14.3.4辞典编纂式排序 142
14.3.5SNMP消息格式 142
14.3.6GetRequestPDU 144
14.3.7GetNextRequestPDU 144
14.3.8SetRequestPDU 145
14.3.10传输层的支持 146
14.3.9TrapPDU 146
14.4SNMPv2 147
14.4.1SNMPv2对SNMPv1的改进 147
14.4.2SNMPv2网络管理框架 147
14.4.3协议操作 149
第15章 IPv6 153
15.1IPv4的不足与缺点 153
15.1.1IP地址空间危机 153
15.1.5IP协议的升级策略 154
15.1.4配置问题 154
15.1.3IP安全性问题 154
15.1.2IP性能问题 154
15.2改进IPv4的各种努力 155
15.2.1Internet发展的问题 155
15.2.2各种努力 156
15.3IPv6对IPv4的改进 156
15.3.3对扩展和选项支持的改进 157
15.3.5身份验证和保密 157
15.3.4流标记 157
15.3.2简化的包头 157
15.3.1扩展地址 157
15.4IPv6数据包结构 158
15.4.1IPv6数据包的结构 158
15.4.2IPv6的服务类型和流标签 159
15.4.3IP数据包的分片 159
15.4.4扩展头 160
15.5IPv6的寻址方式 160
15.5.1地址结构与寻址模式 161
15.5.2地址类型 162
15.6Ipv6的安全性 164
15.6.1IP协议的安全目标 164
15.6.2IPsec 164
15.6.3IPv6安全头 165
15.7IP协议的升级对其他协议的影响 167
第16章 常见操作系统TCP/IP协议实现 168
16.1Windows的TCP/IP实现 168
16.1.1物理链路层 169
16.1.2IP层 171
16.1.3传输层 173
16.1.4TCP/IP开发接口 176
16.2UNIX/Linux的TCP/IP实现 177
16.2.1Linux网络协议栈 177
16.2.2Linux网络数据处理流程 178
16.2.3Linux的IP路由 180
第17章 标准TCP/IP编程接口——Socket 181
17.1套接口概述 181
17.2.2IPv4地址结构——in_addr 183
17.2地址与地址操作函数 183
17.2.1INET协议族地址结构——sockaddr_in 183
17.2.3通用地址结构——sockaddr 185
17.2.4地址操作函数 185
17.3端口 187
17.4字节序问题 187
17.5三种套接口类型和两种I/O模式 188
17.5.1套接口的类型 188
17.5.2I/O模式 188
17.6基本套接口函数 189
17.6.1WSAStartup 190
17.6.2socket 191
17.6.3bind 192
17.6.4listen 193
17.6.5accept 195
17.6.6connect 196
17.6.7recv和send 197
17.6.8recvfrom和sendto 199
17.6.9closesocket 202
17.7.2TCP客户端 203
17.7.1UDP客户端 203
17.6.10WSACleanup 203
17.7简单的客户端程序 203
第18章 客户—服务器模型 210
18.1基本模型 210
18.1.1面向连接与无连接 210
18.1.2并发和迭代 211
18.2WinsockI/O模型 211
18.2.1I/O复用—select 211
18.2.2消息机制——WSAAsyncSelect 216
18.2.3事件机制—WSAEventSelect 220
18.2.4重叠I/O模型 226
18.2.5I/O完成端口——IOCP 234
第19章 套接口选项 241
19.1套接口选项 241
19.1.1SOL_SOCKET 241
19.1.2IPPROTO_IP 246
19.2.1报文的发送 247
19.2广播 247
19.2.2广播报文的接收 250
19.3多播 250
19.3.1一个简单的多播库 251
19.3.2接收多播数据 253
19.3.3发送多播数据 254
19.4原始套接口编程 256
19.4.1Ping程序 258
19.4.2WinSniffer程序 264
第20章 UDP服务器编程 269
20.1多线程编程 269
20.1.1线程的创建 269
20.1.2线程的同步 270
20.2迭代服务器 273
20.3并发服务器 273
第21章 TCP服务器编程 280
21.1迭代服务器 280
21.2.1每客户单线程 281
21.2并发服务器 281
21.2.2线程池 284
21.2.3IOCP 287
21.3几种服务器架构的分析与比较 303
第22章 Internet编程示例 305
22.1MyWeb服务器的使用 305
22.1.1用户界面 305
22.1.2操作流程 306
22.2.1COptions类 307
22.2源码及其分析 307
22.2.2COptSetupDlg类 311
22.2.3CMyNotifyIcon类 314
22.2.4CHttpServer类 317
22.2.5CMyWebServerDlg类 349
22.2.6其他 362
22.3总结 362
附录 RFC 363
参考文献 367