第一部分 网 络 基 础
第1章 协议和分层
1.1 本书中的网络
1.1.1 网络设备的远程访问
1.1.2 传输文件到路由器
1.1.3 命令行界面和图形用户界面
1.1.4 Ethereal和数据包的捕获
1.1.5 第一次探索网络
1.2 协议
1.2.1 标准和组织
1.2.2 征求意见稿和互联网工程任务组
1.3 互联网的管理
1.4 分层
1.4.1 简单组网
1.4.2 协议分层
1.5 TCP/IP协议族
1.5.1 TCP/IP参考模型分层
1.5.2 协议和接口
1.5.3 封装
1.6 TCP/IP分层
1.6.1 物理层
1.6.2 数据链路层
1.6.3 网络层
1.6.4 传输层
1.6.5 应用层
1.6.6 会话支持
1.6.7 内部表示转换
1.6.8 TCP/IP中的应用程序
1.7 TCP/IP协议族
1.8 留给读者的问题
第2章 TCP/IP协议和设备
2.1 网络的协议栈
2.2 分层、 协议、 端口和套接字
2.3 TCP/IP协议栈
2.4 客户端服务器模型
2.5 TCP/IP协议层和客户端服务器
2.6 IP层
2.7 传输层
2.7.1 传输控制协议
2.7.2 用户数据报协议
2.8 应用层
2.9 网桥、 路由器和交换机
2.9.1 局域网分段
2.9.2 网桥
2.9.3 路由器
2.9.4 局域网交换机
2.9.5 虚拟局域网
2.9.6 VLAN帧标签
2.10留给读者的问题
第3章 网络链路技术
3.1 示例网络的连接
3.1.1 显示以太网流量
3.1.2 显示SONET链路
3.1.3 显示DSL链路
3.1.4 显示无线链路
3.1.5 帧和链路层
3.2 数据链路层
3.3 以太网的演进
3.3.1 Ethernet II和IEEE 802.3帧
3.3.2 MAC地址
3.4 数字用户线(DSL)的演进
3.4.1 点到点协议(PPP)和数字用户线(DSL)
3.4.2 PPP成帧
3.4.3 DSL封装
3.4.4 DSL构成
3.5 同步光纤网络(SONET)的演进
3.5.1 网络错误的说明
3.5.2 基于SONET/SDH的分组封装
3.6 无线局域网和IEEE 802.11
3.6.1 WiFi
3.6.2 IEEE 802.11 MAC层协议
3.6.3 IEEE 802.11帧
3.7 留给读者的问题
第二部分 核 心 协 议
第4章 IPv4和IPv6寻址
4.1 IP寻址
4.2 网络/主机边界
4.3 IPv4地址
4.3.1 IPv4私有地址
4.3.2 理解IPv4地址
4.4 IPv6地址
4.4.1 IPv6地址的特征
4.4.2 IPv6地址类型和表示方法
4.4.3 IPv6地址前缀
4.5 子网划分和超网划分
4.5.1 IPv4中的子网划分
4.5.2 子网划分基础
4.5.3 CIDR和VLSM
4.6 IPv6寻址细节
4.6.1 IP地址分配
4.7 留给读者的问题
第5章 地址解析协议
5.1 ARP和局域网
5.2 ARP报文
5.3 ARP操作案例
5.4 ARP的变种
5.4.1 代理ARP协议
5.4.2 反向地址解析协议
5.4.3 广域网的ARP协议
5.5 ARP和IPv6
5.5.1 邻居发现协议
5.5.2 ND地址解析
5.6 留给读者的问题
第6章 IPv4和IPv6头部
6.1 分组头部和地址
6.2 IPv4分组头部
6.3 分片和IPv4
6.3.1 分片和最大传输单元
6.3.2 分片和重组
6.3.3 路径MTU的确定
6.4 一个分片的例子
6.4.1 IPv4的局限
6.4.2 IPv6头部结构
6.5 IPv4头部和IPv6头部的比较
6.5.1 IPv6头部改动
6.6 IPv6和分片
6.7 留给读者的问题
第7章 网际控制报文协议
7.1 ICMP和ping
7.2 ICMP消息格式
7.2.1 ICMP消息字段
7.2.2 ICMP类型字段和代码字段
7.3 ICMP消息的发送
7.3.1 必须发送ICMP的情况
7.3.2 不能发送ICMP的情况
7.4 ping
7.5 traceroute
7.6 路径MTU
7.7 ICMPv6
7.7.1 基本的ICMPv6消息
7.7.2 邻居发现和自动配置
7.7.3 路由和邻居发现
7.7.4 接口地址
7.7.5 邻居请求和宣告
7.8 留给读者的问题
第8章 路由
8.1 路由器和路由表
8.2 主机和路由表
8.3 直接和间接交付
8.3.1 路由选择
8.3.2 没有路由的直接交付
8.3.3 间接交付和路由器
8.4 留给读者的问题
第9章 IP分组转发
9.1 路由器架构
9.1.1 基本的路由架构
9.1.2 另一种路由器架构
9.2 路由器访问
9.2.1 控制台端口
9.2.2 辅助端口
9.2.3 网络
9.3 转发表查找
9.4 双栈、 隧道和IPv6
9.4.1 双协议栈
9.4.2 隧道
9.5 隧道机制
9.6 为过渡所做的考虑
9.7 留给读者的问题
第10章 用户数据报协议
10.1 UDP端口和套接字
10.2 UDP用来做什么
10.3 UDP包头
10.4 IPv4和IPv6的注意事项
10.5 端口号
10.5.1 熟知端口
10.5.2 套接字
10.6 UDP操作
10.7 UDP溢出
10.8 留给读者的问题
第11章 传输控制协议
11.1 TCP与连接
11.2 TCP头部
11.3 TCP的机制
11.4 连接和三次握手
11.4.1 连接建立
11.4.2 数据传输
11.4.3 关闭连接
11.5 流量控制
11.5.1 TCP的窗口
11.5.2 流量控制和拥塞控制
11.6 性能算法
11.7 TCP和FTP
11.8 留给读者的问题
第12章 多路复用和套接字
12.1 层和应用
12.2 套接字接口
12.2.1 套接字库
12.2.2 TCP流服务调用
12.3 套接字接口: 是好还是坏
12.3.1 原始套接字的“威胁”
12.3.2 套接字库(不同操作系统)
12.4 Windows套接字接口
12.4.1 TCP/IP和Windows
12.4.2 Windows的套接字
12.5 基于Linux的套接字
12.6 留给读者的问题
第三部分 路由和路由协议
第13章 路由和对等节点
13.1 网络层路由和交换
13.2 面向连接的和无连接的网络
13.2.1 服务质量
13.3 主机路由表
13.3.1 路由表和FreeBSD
13.3.2 路由表和RedHat Linux
13.3.3 路由和Windows XP
13.4 互联网和自治域系统
13.5 当今的互联网
13.6 路由策略的作用
13.7 对等节点
13.8 选择一个对等节点
13.9 留给读者的问题
第14章 内部网关协议: RIP,OSPF和IS?IS
14.1 内部路由协议
14.2 3个主要的IGP
14.3 路由信息协议
14.3.1 距离向量路由协议
14.3.2 链路断开
14.3.3 距离向量的问题
14.3.4 RIPv1
14.3.5 RIPv2
14.3.6 为IPv6设计的RIPng
14.4 关于IGRP和EIGRP的介绍
14.4.1 开放最短路径优先
14.4.2 链路状态与最短路径
14.4.3 OSPF可以做什么
14.4.4 OSPF路由器类型及区域
14.4.5 OSPF指定路由器和备份指定路由器
14.4.6 OSPF数据报文
14.4.7 用于IPv6的OSPFv3
14.5 中间系统到中间系统
14.5.1 IS?IS的吸引力
14.5.2 IS?IS与OSPF
14.5.3 OSPF与IS?IS的相似之处
14.5.4 OSPF与IS?IS的区别
14.5.5 用于IPv6的IS?IS
14.6 留给读者的问题
第15章 边界网关协议
15.1 BGP作为路由协议
15.1.1 配置BGP
15.1.2 路由策略的能力
15.2 BGP与互联网
15.2.1 EGP与早期互联网
15.2.2 BGP的产生
15.3 BGP作为一种路径向量协议
15.4 IBGP与EBGP
15.4.1 IGP下一跳与BGP下一跳
15.4.2 BGP与内部网关协议
15.5 其他BGP协议
15.6 BGP属性
15.7 BGP与路由策略
15.7.1 BGP扩张
15.8 BGP消息类型
15.9 BGP消息格式
15.9.1 打开消息
15.9.2 更新消息
15.9.3 通知消息
15.10留给读者的问题
第16章 组播
16.1 初识IPv4组播传输协议
16.2 组播术语
16.3 密集型组播和稀疏型组播
16.4 关于组播的一些特殊标记
16.5 组播概念
16.5.1 逆向路径转发
16.5.2 RPF表
16.5.3 填充RPF表
16.5.4 最短路径树
16.5.5 汇聚点和汇聚点共享树
16.6 组播协议
16.6.1 组播主机和路由器
16.6.2 组播组成员协议
16.6.3 组播路由协议
16.6.4 任意源组播和SSM
16.6.5 组播源发现协议
16.6.6 帧和组播
16.6.7 IPv4组播地址
16.6.8 IPv6组播地址
16.6.9 PIM?SM
16.6.10资源预留协议和PGM
16.6.11组播路由协议
16.6.12IPv6组播
16.7 留给读者的问题
第17章 MPLS和IP交换
17.1 融合什么
17.1.1 快速分组交换
17.1.2 帧中继
17.1.3 异步传输模式
17.1.4 为什么还是走到了TCP/IP的局面
17.2 MPLS
17.2.1 MPLS术语
17.2.2 信令和MPLS
17.2.3 标签栈
17.2.4 MPLS和VPN
17.2.5 MPLS表
17.3 用静态LSP配置MPLS
17.3.1 入口路由器
17.3.2 转接路由器
17.3.3 出口路由器
17.3.4 traceroute和LSP
17.4 留给读者的问题
第三部分 应 用 层
第18章 动态主机配置协议
18.1 DHCP和地址分配
18.1.1 DHCP服务器配置
18.1.2 路由器中继代理配置
18.1.3 在LAN2上获取地址
18.1.4 在网络上使用DHCP
18.2 BOOTP
18.2.1 BOOTP的实现
18.2.2 BOOTP消息
18.2.3 BOOTP中继代理
18.2.4 BOOTP“厂商特定区”选项
18.3 简单文件传输协议
18.3.1 TFTP消息
18.3.2 TFTP下载
18.3.3 DHCP
18.3.4 DHCP操作
18.3.5 DHCP消息类型选项
18.4 DHCP和路由器
18.4.1 DHCPv6
18.4.2 DHCPv6和路由宣告
18.4.3 DHCPv6操作
18.5 留给读者的问题
第19章 域名系统
19.1 DNS基础
19.1.1 DNS体系结构
19.1.2 根域名服务器
19.1.3 根服务器的操作
19.1.4 根服务器详情
19.2 理论上的DNS: 域名服务器、 数据库、 解析器
19.2.1 增加一个新的主机
19.2.2 递归和迭代请求
19.2.3 委派及查询
19.2.4 胶水记录
19.3 实践中的DNS: 资源记录和消息格式
19.3.1 DNS消息头
19.3.2 DNSSec
19.3.3 DNS工具: nslookup、 dig和host
19.4 DNS实例
19.5 留给读者的问题
第20章 文件传输协议
20.1 综述
20.1.1 PORT和PASV
20.2 FTP和GUIS
20.2.1 FTP基础
20.2.2 FTP命令与应答码
20.2.3 FTP数据传输
20.2.4 被动模式和端口
20.2.5 文件传输类型
20.2.6 FTP出错
20.3 FTP命令
20.3.1 变种技术
20.3.2 关于NFS
20.4 留给读者的问题
第21章 简单邮件传输协议和邮件
21.1 电子邮件的架构
21.1.1 如今的邮件发送
21.1.2 电子邮件的演进简史
21.1.3 SMTP认证
21.1.4 简单邮件传输协议
21.2 多用途互联网邮件扩展
21.2.1 MIME媒体类型
21.2.2 MIME编码
21.2.3 MIME消息的样例
21.3 使用POP3访问电子邮件
21.4 电子邮件及其头部
21.5 家庭办公室的邮件
21.6 留给读者的问题
第22章 超文本传输协议
22.1 HTTP的实现
22.1.1 统一资源
22.1.2 URI(统一资源标识符)
22.1.3 URL(统一资源定位符)
22.1.4 URN(统一资源名称)
22.2 HTTP
22.2.1 HTTP的演进
22.2.2 HTTP模型
22.2.3 HTTP消息
22.3 TRAILERS和动态Web页面
22.3.1 HTTP请求和应答
22.3.2 HTTP方法
22.3.3 HTTP状态码
22.3.4 HTTP头部
22.3.5 一般头部
22.3.6 请求头部
22.3.7 应答头部
22.3.8 实体头部
22.3.9 cookie
22.4 留给读者的问题
第23章 安全套接字与SSL
23.1 SSL与网站
23.1.1 安全锁
23.1.2 安全套接字层
23.2 隐私性、完整性以及认证
23.2.1 隐私性
23.2.2 完整性
23.2.3 认证
23.3 公钥加密
23.3.1 在客户端用便携式计算器加密
23.3.2 例子
23.3.3 用便携式计算器在服务器上解码
23.4 公钥与对称加密
23.5 SSL协议
23.5.1 SSL协议栈
23.5.2 SSL会话建立
23.5.3 SSL数据传输
23.5.4 SSL实现
23.5.5 SSL的不足与争议
23.5.6 TLS 1.1的注意事项
23.5.7 SSL与证书
23.6 留给读者的问题
第五部分 网 络 管 理
第24章 简单网络管理协议
24.1 SNMP功能
24.2 SNMP模型
24.2.1 MIB库和SMI
24.2.2 SMI
24.2.3 MIB
24.2.4 RMON
24.2.5 私有MIB
24.3 SNMP操作
24.3.1 SNMPv2增强
24.3.2 SNMPv3
24.4 留给读者的问题
第六部分 安 全
第25章 Secure Shell(远程访问)
25.1 使用SSH
25.1.1 SSH基础
25.1.2 SSH功能
25.1.3 SSH架构
25.1.4 SSH密钥
25.1.5 SSH协议的操作
25.1.6 传输层协议
25.1.7 认证协议
25.1.8 连接协议
25.1.9 文件传输协议
25.2 SSH的使用
25.3 留给读者的问题
第26章 基于MPLS的虚拟专用网
26.1 PPTP的隐私性
26.1.1 VPN的种类
26.1.2 安全性和VPN
26.1.3 VPN和协议
26.1.4 PPTP协议
26.1.5 L2TP协议
26.1.6 PPTP和L2TP的对比
26.2 基于MPLS的VPN的类型
26.2.1 三层VPN(L3VPN)
26.2.2 二层VPN(L2VPN)
26.3 VPLS: 基于MPLS的L2VPN
26.3.1 每个路由器的VPLS配置
26.4 配置真的起作用吗
26.5 留给读者的问题
第27章 网络地址转换
27.1 使用NAT
27.1.1 NAT的优点和缺点
27.1.2 4种类型的NAT
27.2 实施NAT
27.3 留给读者的问题
第28章 防火墙
28.1 防火墙的工作
28.1.1 一种路由器数据包过滤器
28.1.2 路由器上的状态检测
28.2 防火墙的类型
28.2.1 数据包过滤
28.2.2 应用代理
28.2.3 状态检测
28.2.4 DMZ
28.3 留给读者的问题
第29章 IP安全
29.1 IPSec的使用
29.1.1 CE0
29.1.2 CE6
29.2 IPSec简介
29.2.1 IPSec的RFC
29.2.2 IPSec的实现
29.2.3 IPSec传输与隧道模式
29.3 安全关联及其他
29.3.1 安全策略
29.3.2 认证头部
29.3.3 封装安全载荷
29.3.4 互联网密钥交换
29.4 留给读者的问题
第七部分 媒 体
第30章 IP语音
30.1 VoIP的使用
30.1.1 VoIP的优势
30.1.2 什么是“语音”
30.1.3 时延问题
30.1.4 语音分组化
30.2 VoIP协议
30.2.1 VoIP传输的RTP协议
30.2.2 信令
30.2.3 H.323国际标准
30.2.4 SIP协议,互联网标准
30.2.5 MGCP以及Megaco/H.248
30.3 多种技术的融合
30.4 留给读者的问题
缩略语
参考文献
展开