第1章 概述 1
1.1 TCP/IP协议的产生和发展 1
1.1.1 TCP/IP协议的产生 1
1.1.2 TCP/IP协议的发展 2
1.2 TCP/IP协议的标准化 3
1.2.1 TCP/IP协议的结构 3
1.2.2 TCP/IP协议的标准化思想 4
1.2.3 TCP/IP协议的标准化流程 4
1.2.4 TCP/IP协议的请求评论文档RFC 6
1.2.5 获得RFC的方法 8
1.3 TCP/IP协议的特征 8
习题 9
第2章 TCP/IP协议基础知识 10
2.1 TCP/IP计算机网络的构成 10
2.1.1 TCP/IP计算机网络的结构 10
2.1.2 硬件和软件 10
2.1.3 控制通信的三个软件 12
2.2 TCP/IP的工作原理 12
2.2.1 分层次模型和包交换 12
2.2.2 包的发送和接收 13
2.2.3 协议报头及其处理 16
2.3 TCP/IP协议栈的实现方法 17
2.3.1 地址变换 17
2.3.2 协议栈的内部处理 20
2.3.3 套接字 22
2.3.4 系统调用及内部处理 24
2.3.5 原始IP和数据链路访问 25
2.3.6 多任务处理 25
习题 29
第3章 数据链路层协议 30
3.1 数据链路层的定义 30
3.2 以太网Ethernet 30
3.2.1 以太网的帧格式 31
3.2.2 CSMA/CD共享介质访问 33
3.2.3 以太网的类型 34
3.3 串行链路IP——SLIP 36
3.4 点对点协议PPP 38
3.5 PPPoE 40
3.5.1 PPPoE的特点 40
3.5.2 PPPoE的优点 41
3.5.3 PPPoE的帧格式 41
3.5.4 PPPoE的实现过程 41
3.6 最大传输单元MTU 42
习题 43
第4章 ARP和RARP 44
4.1 ARP的工作原理 44
4.2 ARP高速缓存 46
4.3 ARP的包格式 47
4.4 ARP攻击 48
4.4.1 ARP广播 48
4.4.2 ARP欺骗 49
4.5 ARP攻击的防御 49
4.5.1 对ARP广播的防御及根治 49
4.5.2 对ARP欺骗的防御 50
4.6 免费ARP 50
4.7 RARP 51
习题 52
第5章 网际互联协议IP 53
5.1 IP地址 53
5.1.1 IP地址的分类 53
5.1.2 特殊IP地址 54
5.1.3 保留IP地址 55
5.1.4 子网掩码 55
5.2 IP报文格式 55
5.3 IP路由 60
5.4 IP选路 61
5.4.1 选路的原理 62
5.4.2 ICMP重定向 66
5.4.3 ICMP路由器发现报文 68
5.5 动态路由协议 69
5.5.1 引言 69
5.5.2 动态选路 70
5.5.3 路由信息协议(RIP) 73
5.5.4 开放最短路径优先协议(OSPF) 76
5.5.5 边界网关协议(BGP) 83
5.6 IP广播与多播 84
5.7 IP分片与重组 85
5.7.1 IP数据报的分片和处理 85
5.7.2 分片处理存在的问题 88
5.7.3 路径MTU探索 88
5.8 计算机内部的IP处理 91
5.8.1 主机的处理 91
5.8.2 路由器的处理 92
5.9 IP的未来 93
5.9.1 IP存在的问题 93
5.9.2 IPv6 94
习题 95
第6章 因特网控制报文协议ICMP 96
6.1 ICMP报文的格式 96
6.2 ICMP报文的类型 97
6.3 ICMP的主要功能 100
6.4 Ping 100
6.4.1 Ping命令的用法 101
6.4.2 使用Ping的顺序 102
6.5 Tracert 103
6.5.1 Tracert的工作原理 103
6.5.2 Tracert命令 104
6.6 利用ICMP进行主机探测 105
6.6.1 ICMP Echo 105
6.6.2 ICMP Sweep 106
6.6.3 Broadcast ICMP 106
6.6.4 Non-Echo ICMP 106
6.7 ICMP的安全性分析 107
6.7.1 基于ICMP的DoS攻击 108
6.7.2 基于重定向的路由器欺骗 108
6.7.3 针对安全问题的应对策略 109
习题 110
第7章 IP多播与IGMP 111
7.1 广播与多播概述 111
7.2 广播 112
7.2.1 受限的广播 112
7.2.2 指向网络的广播 112
7.3 多播 113
7.3.1 多播组地址 113
7.3.2 多播组地址到以太网地址的转换 113
7.4 因特网组管理协议IGMP 115
7.4.1 引言 115
7.4.2 IGMP报文 115
7.4.3 IGMP协议 115
习题 118
第8章 用户数据报协议UDP 119
8.1 UDP和TCP的比较 119
8.1.1 可靠性 119
8.1.2 数据流型与数据报型 120
8.1.3 数据报分发的实时性 121
8.1.4 通信对方的数量 122
8.1.5 流控制 122
8.1.6 拥塞控制 123
8.2 UDP首部 125
8.3 UDP的内部处理 126
8.4 套接字基础知识 126
8.4.1 套接字概述 127
8.4.2 基本套接字 129
8.4.3 典型过程图 131
8.5 利用套接字的UDP的控制 133
8.6 使用UDP协议进行通信 134
8.7 UDP端口扫描 135
习题 136
第9章 传输控制协议TCP 137
9.1 TCP首部 137
9.2 TCP的连接管理 140
9.2.1 建立连接 141
9.2.2 释放连接 141
9.2.3 其他 142
9.3 TCP的数据传输 144
9.3.1 TCP的交互数据流 144
9.3.2 TCP的成块数据流 145
9.4 TCP的定时器管理 146
9.4.1 TCP的坚持定时器 146
9.4.2 TCP的保活定时器 146
9.5 TCP的超时与重传 146
9.5.1 往返时间测量 147
9.5.2 拥塞避免算法 147
9.5.3 快速重传和快速恢复算法 147
9.5.4 ICMP差错 148
9.5.5 重新分组 148
9.6 使用TCP的应用程序设计 148
9.6.1 利用套接字进行TCP的控制 148
9.6.2 抽样程序与工作环境 150
9.6.3 TCP服务端程序设计基础 150
9.6.4 TCP客户端程序的基础 152
9.7 使用TCP协议进行通信 154
9.7.1 利用套接字进行TCP协议通信 154
9.7.2 TCP程序实例的基本情况和使用方法 156
9.7.3 程序的执行实例 157
9.7.4 处理流程 157
9.8 TCP端口扫描 160
9.8.1 TCP扫描的类型 160
9.8.2 TCP端口扫描程序scanport_tcp 162
习题 164
第10章 应用层协议 165
10.1 域名系统DNS 165
10.1.1 DNS概述 165
10.1.2 DNS的工作原理 165
10.1.3 DNS的报文格式 166
10.2 超文本传输协议HTTP 168
10.2.1 HTTP协议简介 168
10.2.2 HTTP协议的几个重要概念 169
10.2.3 HTTP协议的运作方式 169
10.3 SMTP和POP3 172
10.3.1 引言 172
10.3.2 SMTP协议 172
10.3.3 POP3 173
10.4 Telnet 174
10.4.1 引言 174
10.4.2 Telnet协议 175
10.5 文件传输协议FTP 178
10.5.1 FTP命令 179
10.5.2 FTP应答 179
10.5.3 连接管理 180
10.6 网络文件系统NFS 182
习题 184
第11章 网络管理标准SNMP 185
11.1 引言 185
11.1.1 网络管理要求 185
11.1.2 SNMP参考模型 186
11.2 SNMP发展历史 187
11.3 管理信息库MIB 188
11.3.1 管理对象注册树 188
11.3.2 管理对象命名 189
11.3.3 管理对象访问约束 189
11.3.4 mib-2子树 190
11.4 SNMP通信协议 193
11.4.1 访问控制机制 194
11.4.2 报文格式 195
11.4.3 请求报文的处理过程 198
11.4.4 读取表格对象值的方法 199
11.4.5 端口的使用 201
11.5 管理信息结构SMI 201
11.5.1 抽象标记语法1 202
11.5.2 MIB对象定义格式 203
11.5.3 基本编码规则BER 204
11.5.4 用BER对SNMP报文进行编码 207
11.6 SNMP的应用 209
习题 210
第12章 常见操作系统的TCP/IP协议实现 211
12.1 Windows的TCP/IP协议实现 211
12.1.1 物理链路层 212
12.1.2 IP层 214
12.1.3 传输层 217
12.1.4 TCP/IP开发接口 221
12.2 UNIX/Linux的TCP/IP协议实现 222
12.2.1 Linux网络协议栈 222
12.2.2 Linux网络数据处理流程 222
12.2.3 Linux的IP路由 225
习题 225
附录A 多协议标签交换MPLS 226
A.1 MPLS技术背景 226
A.2 MPLS基本原理 227
A.2.1 术语 227
A.2.2 MPLS数据结构 228
A.3 MPLS数据转发原理 229
A.3.1 传统IP分组转发 230
A.3.2 MPLS分组转发 230
A.4 标签分发协议 232
A.4.1 LDP的消息类型 232
A.4.2 LDP会话的建立过程 233
A.4.3 标签的分配和管理 233
A.4.4 倒数第二跳弹出 236
A.4.5 流合并 237
A.5 MPLS体系发展 237
附录B Sniffer技术介绍 239
B.1 Sniffer软件简介 239
B.1.1 概述 239
B.1.2 功能简介 239
B.2 报文捕获解析 240
B.2.1 捕获面板 240
B.2.2 捕获过程报文统计 241
B.2.3 捕获报文查看 241
B.2.4 设置捕获条件 243
B.3 报文放送 245
B.3.1 编辑报文发送 245
B.3.2 捕获编辑报文发送 246
B.4 网络监视功能 246
B.4.1 Dashboard 246
B.4.2 Application Response Time(ART) 247
B.5 数据报文解码详解 247
B.5.1 数据报文分层 248
B.5.2 以太报文结构 248
B.5.3 IP协议 249
B.5.4 ARP协议 251
B.5.5 PPPOE协议 253
B.5.6 Radius协议 256
参考文献 260