图书简介:
目 录
第一部分 网络与因特网应用导论
第1章 导论和概述
1.1 计算机网络的发展过程
1.2 联网为何显得复杂
1.3 网络的五个关键方面
1.3.1 网络应用和网络编程
1.3.2 数据通信
1.3.3 分组交换和联网技术
1.3.4 用TCP/IP实现网络互联
1.3.5 其他的网络概念和技术
1.4 因特网的公网和专网
1.4.1 公网
1.4.2 专网
1.5 网络、 互操作性和标准
1.6 协议组和分层模型
1.7 数据如何通过各层
1.8 头部和各层
1.9 ISO与OSI七层参考模型
1.10 本书内容简介
1.11 本章小结
习题
第2章 因特网的发展趋势
2.1 引言
2.2 资源共享
2.3 因特网的成长
2.4 从资源共享到通信
2.5 从文本到多媒体
2.6 目前发展趋势
2.7 从个人计算机到云计算
2.8 本章小结
习题
第3章 因特网应用与网络编程
3.1 引言
3.2 两个基本的因特网通信模式
3.2.1 因特网中的流传送
3.2.2 因特网中的报文传送
3.3 面向连接的通信
3.4 客户服务器交互模式
3.5 客户和服务器的特征
3.6 服务器程序和服务器类计算机
3.7 请求、 响应和数据流方向
3.8 多客户与多服务器
3.9 服务器识别与分用
3.10 并发服务器
3.11 服务器间的循环依赖
3.12 P2P交互
3.13 网络编程与套接字API
3.14 套接字、 描述符和网络I/O
3.15 参数与套接字API
3.16 客户和服务器中的套接字
调用
3.17 客户和服务器共用的套接
字过程
3.17.1 socket函数
3.17.2 send函数
3.17.3 recv函数
3.17.4 用socket的读/写操作
3.17.5 close函数
3.18 仅供客户使用的connect
函数
3.19 仅供服务器使用的套接字
函数
3.19.1 bind函数
3.19.2 listen函数
3.19.3 accept函数
3.20 采用报文模式的套接字函数
3.20.1 sendto和 sendmsg函数
3.20.2 recvfrom和recvmsg函数
3.21 其他套接字函数
3.22 套接字、 线程和继承性
3.23 本章小结
习题
第4章 传统的因特网应用
4.1 引言
4.2 应用层协议
4.3 表示与传输
4.4 Web协议
4.5 HTML的文档表示
4.6 统一资源定位符和超链接
4.7 用HTTP传输Web文档
4.8 浏览器中的缓存
4.9 浏览器结构
4.10 文件传送协议
4.11 FTP通信模式
4.12 电子邮件
4.13 简单邮件传送协议
4.14 ISP、 邮件服务器和邮件访问
4.15 邮件访问协议(POP, IMAP)
4.16 电子邮件表示标准(RFC2822,
MIME)
4.17 域名系统
4.18 服务器开头的域名
4.19 DNS层次结构和服务器模型
4.20 域名解析
4.21 DNS服务器中的缓存处理
4.22 DNS记录项的类型
4.23 别名和CNAME资源记录
4.24 缩写与DNS
4.25 国际化域名
4.26 可扩展表示(XML)
4.27 本章小结
习题
第二部分 数据通信
第5章 数据通信概述
5.1 引言
5.2 数据通信的本质
5.3 数据通信的动机与范围
5.4 通信系统的构成
5.5 通信系统的各子课题
5.6 本章小结
习题
第6章 信息源和信号
6.1 引言
6.2 信息源
6.3 模拟与数字信号
6.4 周期信号与非周期信号
6.5 正弦波与信号特征
6.6 复合信号
6.7 复合信号和正弦函数的重要性
6.8 时域与频域表示法
6.9 模拟信号的带宽
6.10 数字信号与信号电平
6.11 波特率与比特率
6.12 数字模拟信号转换
6.13 数字信号的带宽
6.14 信号的同步与协调
6.15 线路编码
6.16 曼彻斯特编码
6.17 模拟数字信号转换
6.18 奈奎斯特定理与采样率
6.19 奈奎斯特定理与电话系统
传输
6.20 非线性编码
6.21 编码与数据压缩
6.22 本章小结
习题
第7章 传输介质
7.1 引言
7.2 导向传输与非导向传输
7.3 按能量形式分类
7.4 背景辐射和电气噪声
7.5 双绞线
7.6 屏蔽: 同轴电缆和屏蔽双绞线
7.7 双绞线分类
7.8 使用光能的介质及光纤
7.9 光纤类型及光传输
7.10 光纤与铜导线的比较
7.11 红外通信技术
7.12 点对点激光通信
7.13 电磁波(无线电)通信
7.14 信号传播
7.15 卫星类型
7.16 地球静止轨道通信卫星
7.17 GEO对地球的覆盖
7.18 低地球轨道卫星与集群
7.19 介质类型间的权衡
7.20 对传输介质的度量
7.21 噪声对通信的影响
7.22 信道容量的意义
7.23 本章小结
习题
第8章 可靠性与信道编码
8.1 引言
8.2 传输差错的三个主要来源
8.3 传输差错对数据的影响
8.4 处理信道差错的两种策略
8.5 分组码和卷积码
8.6 分组码举例: 单奇偶校验
8.7 分组码数学与(n, k)表示
8.8 汉明距离: 编码强度的测量
8.9 码簿中码字之间的汉明距离
8.10 差错检测与代价之间的权衡
8.11 纵横奇偶校验的纠错
8.12 用于因特网的16位校验和
8.13 循环冗余校验码(CRC)
8.14 CRC的硬件高效实现
8.15 自动重传请求(ARQ)机制
8.16 本章小结
习题
第9章 传输模式
9.1 引言
9.2 传输模式分类
9.3 并行传输
9.4 串行传输
9.5 传输顺序: 比特与字节
9.6 串行传输的定时
9.7 异步传输
9.8 RS232异步字符传输
9.9 同步传输
9.10 字节、 块和帧
9.11 等时传输
9.12 单工、 半双工与全双工传输
9.13 DCE和DTE设备
9.14 本章小结
习题
第10章 调制与调制解调器
10.1 引言
10.2 载波、 频率和传播
10.3 模拟调制方案
10.4 振幅调制
10.5 频率调制
10.6 相位调制
10.7 调幅与香农定理
10.8 调制、 数字输入和键控
10.9 相移键控
10.10 相移与星座图
10.11 正交调幅
10.12 调制与解调硬件
10.13 光纤和射频调制解调器
10.14 拨号调制解调器
10.15 应用于拨号的QAM
10.16 V.32与V.32bis拨号
modem
10.17 本章小结
习题
第11章 复用与解复用
11.1 引言
11.2 复用的概念
11.3 复用的基本类型
11.4 频分复用
11.5 每个信道使用一个频率范围
11.6 分级FDM
11.7 波分复用
11.8 时分复用
11.9 同步TDM
11.10 电话系统中TDM的成帧
技术
11.11 分级TDM
11.12 同步TDM的问题: 空闲
时隙
11.13 统计TDM
11.14 逆复用
11.15 码分复用
11.16 本章小结
习题
第12章 接入与互连技术
12.1 引言
12.2 因特网接入技术: 上行与
下行
12.3 窄带与宽带接入技术
12.3.1 窄带技术
12.3.2 宽带技术
12.4 本地环路及ISDN
12.5 数字用户线技术
12.6 本地环路特征及适配
12.7 ADSL的数据速率
12.8 ADSL安装和分离器
12.9 电缆调制解调器技术
12.10 电缆调制解调器的速率
12.11 电缆调制解调器安装
12.12 光纤同轴电缆混合使用
12.13 采用光纤的接入技术
12.14 头尾端调制解调器技术
12.15 无线接入技术
12.16 因特网核心的高容量连接
12.17 电路终端DSU/CSU及NIU
12.18 数字电路的电话标准
12.19 DS术语及数据速率
12.20 最高容量电路(STS标准)
12.21 光载波标准
12.22 C后缀
12.23 同步光网络
12.24 本章小结
习题
第三部分 分组交换与网络技术
第13章 局域网: 分组、 帧和拓扑
13.1 引言
13.2 电路交换
13.3 分组交换
13.4 局域和广域分组网络
13.5 分组标识及其格式标准
13.6 IEEE 802模型与标准
13.7 点对点与多址接入网络
13.8 LAN拓扑
13.8.1 总线拓扑
13.8.2 环形拓扑
13.8.3 网状拓扑
13.8.4 星形拓扑
13.8.5 多种拓扑可用的理由
13.9 分组标识、 解复用、 MAC
地址
13.10 单播、 广播和多播地址
13.11 广播、 多播和高效的多点
传递
13.12 帧与成帧
13.13 字节插入与位插入
13.14 本章小结
习题
第14章 IEEE MAC子层
14.1 引言
14.2 共享访问机制的分类
14.3 静态与动态信道分配
14.4 信道分配协议
14.4.1 FDMA
14.4.2 TDMA
14.4.3 CDMA
14.5 受控接入协议
14.5.1 轮询
14.5.2 预约
14.5.3 令牌传递
14.6 随机接入协议
14.6.1 ALOHA
14.6.2 CSMA/CD
14.6.3 CSMA/CA
14.7 本章小结
习题
第15章 有线局域网技术(以太网和
802.3)
15.1 引言
15.2 最早的以太网
15.3 以太网帧格式
15.4 以太网的类型域和分用
15.5 以太网的IEEE版本
(802.3)
15.6 LAN连接和网络接口卡
15.7 以太网演进和粗缆布线
15.8 细缆以太网布线
15.9 双绞线以太网布线和集
线器
15.10 以太网的物理和逻辑拓扑
15.11 办公大楼内的布线
15.12 以太网数据速率及电缆
类型
15.13 双绞线连接器与缆线
15.14 本章小结
习题
第16章 无线联网技术
16.1 引言
16.2 无线网络的分类
16.3 个域网
16.4 LAN和PAN使用的ISM无线
频带
16.5 无线LAN技术与WiFi
16.6 扩频技术
16.7 其他无线LAN标准
16.8 无线LAN体系结构
16.9 重叠、 关联和802.11帧格式
16.10 接入点之间的协调
16.11 竞争与无竞争接入
16.12 无线MAN技术与WiMAX
16.13 PAN技术与标准
16.14 其他短距离通信技术
16.15 无线WAN技术
16.16 微蜂窝
16.17 基站集群和频率重用
16.18 蜂窝技术的更新换代
16.19 VSAT卫星技术
16.20 GPS卫星
16.21 软件无线电和无线通信的
未来
16.22 本章小结
习题
第17章 局域网扩展技术
17.1 引言
17.2 距离界限与LAN设计
17.3 光纤调制解调器扩展
17.4 中继器
17.5 网桥与桥接
17.6 自学习网桥与帧过滤
17.7 桥接如何有效工作
17.8 分布式生成树
17.9 交换与第2层交换机
17.10 虚拟局域网交换机
17.11 多交换机和共享VLAN
17.12 桥接的重要性
17.13 本章小结
习题
第18章 广域网技术与动态路由
18.1 引言
18.2 大型广域网
18.3 传统的广域网体系结构
18.4 构建广域网
18.5 存储/转发模式
18.6 广域网的编址
18.7 下一跳转发
18.8 源点独立性
18.9 广域网动态路由更新
18.10 默认路径
18.11 转发表的计算
18.12 分布式路径计算
18.12.1 链路状态路由(LSR)
18.12.2 距离向量路由
18.13 最短路径和权值
18.14 路由问题
18.15 本章小结
习题
第19章 网络技术的过去与现在
19.1 引言
19.2 连接与接入技术
19.2.1 同步光纤网或同步数字
体系(SONET/SDH)
19.2.2 光载波(OC)电路
19.2.3 数字用户线路(DSL)与
电缆调制解调器
19.2.4 WiMAX 与 WiFi
19.2.5 甚小口径卫星通信地面
站(VSAT)
19.2.6 电力线通信(PLC)
19.3 LAN技术
19.3.1 令牌环
19.3.2 光纤和铜线分布式数据
互连(FDDI与CDDI)
19.3.3 以太网
19.4 WAN技术
19.4.1 APPANET
19.4.2 X.25
19.4.3 帧中继
19.4.4 交换式多兆位数据服务
(SMDS)
19.4.5 异步传输模式(ATM)
19.4.6 多协议标记交换(MPLS)
和隧道
19.4.7 综合业务数字网(ISDN)
19.4.8 VoIP(IP电话和视频):
SIP和H.323
19.4.9 软件定义网络SDN和
OpenFlow
19.5 本章小结
习题
第四部分 使用TCP/IP进行网络互联
第20章 网络互联: 概念、 结构与
协议
20.1 引言
20.2 网络互联的动机
20.3 全局服务的概念
20.4 异构网络中的全局服务
20.5 网络互联
20.6 用路由器的物理网络连接
20.7 互联网体系结构
20.8 内联网与互联网
20.9 实现全局服务
20.10 虚拟网络
20.11 网络互联协议
20.12 TCP/IP分层结构综述
20.13 主机、 路由器及协议层
20.14 本章小结
习题
第21章 因特网编址
21.1 引言
21.2 向IPv6演进
21.3 沙漏模型与转变难点
21.4 虚拟因特网的地址
21.5 IP编址方案
21.6 lP地址的层次结构
21.7 IPv4地址的原始分类
21.8 IPv4点分十进制数表示法
21.9 地址的授权
21.10 IPv4子网与无类编址
21.11 地址掩码
21.12 用于IPv4的CIDR表示法
21.13 CIDR举例
21.14 CIDR主机地址
21.15 特殊IPv4地址
21.15.1 IPv4网络地址
21.15.2 IPv4直接广播地址
21.15.3 IPv4有限广播地址
21.15.4 IPv4本机地址
21.15.5 IPv4回送地址
21.16 特殊lPv4地址小结
21.17 IPv4伯克利广播地址形式
21.18 路由器与lPv4寻址原理
21.19 多宿主主机
21.20 IPv6多宿主与网络重编号
21.21 lPv6编址
21.22 lPv6冒分十六进制数表
示法
21.23 本章小结
习题
第22章 数据报转发
22.1 引言
22.2 无连接服务
22.3 虚拟分组
22.4 lP数据报
22.5 IPv4数据报头部格式
22.6 IPv6数据报头部格式
22.7 IPv6基本头部的格式
22.8 lP数据报转发
22.9 网络前缀提取与数据报转发
22.10 最长前缀匹配
22.11 目的地址与下一站地址
22.12 尽力传递
22.13 IP封装
22.14 通过因特网传输
22.15 MTU和数据报分片
22.16 IPv6数据报的分片
22.17 分片IP数据报的重装
22.18 收集数据报分片
22.19 片丢失的后果
22.20 IPv4中的分片再分片
22.21 本章小结
习题
第23章 支持协议与相关技术
23.1 引言
23.2 地址解析
23.3 IPv4地址的例子
23.4 IPv4地址解析协议(ARP)
23.5 ARP报文格式
23.6 ARP封装
23.7 ARP缓存与报文处理
23.8 概念地址边界
23.9 因特网控制报文协议
(ICMP)
23.10 ICMP报文格式与封装
23.11 使用邻居发现的IPv6地址
绑定
23.12 协议软件、 参数与配置
23.13 动态主机配置协议(DHCP)
23.14 DHCP协议操作与优化
23.15 DHCP报文格式
23.16 通过中继间接访问DHCP
服务器
23.17 IPv6地址的自动配置
23.18 网络地址转换(NAT)
23.19 NAT操作与IPv4私有地址
23.20 传输层NAT(NAPT)
23.21 NAT与服务器
23.22 家用NAT软件和系统
23.23 本章小结
习题
第24章 UDP: 数据报传输服务
24.1 引言
24.2 传输协议与端到端通信
24.3 用户数据报协议
24.4 无连接的通信模式
24.5 面向报文的接口
24.6 UDP通信语义
24.7 交互模式和广播传递
24.8 用协议端口号标识端点
24.9 UDP数据报格式
24.10 UDP校验和及伪头部
24.11 UDP封装
24.12 本章小结
习题
第25章 TCP: 可靠的传输服务
25.1 引言
25.2 传输控制协议
25.3 TCP为应用提供的服务
25.4 端到端服务与虚拟连接
25.5 传输协议采用的技术
25.5.1 处理分组重复和乱序的
排序技术
25.5.2 处理分组丢失的重传
技术
25.5.3 避免分组重复的技术
25.5.4 防止数据过载的流量
控制技术
25.6 避免网络拥塞的技术
25.7 协议设计技巧
25.8 用TCP处理分组丢失的技术
25.9 自适应重传技术
25.10 重传时间的比较
25.11 缓冲、 流控与窗口
25.12 TCP的三次握手
25.13 TCP拥塞控制
25.14 TCP拥塞控制的版本
25.15 TCP的其他变化: SACK和
ECN
25.16 TCP段格式
25.17 本章小结
习题
第26章 因特网路由与路由协议
26.1 引言
26.2 静态与动态路由
26.3 主机静态路由与默认路径
26.4 动态路由与路由器
26.5 全球因特网的路由技术
26.6 自治系统概念
26.7 两类因特网路由协议
26.7.1 内部网关协议
26.7.2 外部网关协议
26.7.3 如何使用EGP和
IGP
26.7.4 最佳路径, 路由
度量和IGP
26.8 路径与数据业务
26.9 边界网关协议
26.10 路由信息协议
26.11 RIP分组格式
26.12 开放最短路径优先协议
26.13 OSPF图的例子
26.14 OSPF区域
26.15 中间系统到中间系统协议
26.16 多播路由技术
26.16.1 IP多播语义
26.16.2 因特网多播组管理
协议
26.16.3 转发与发现技术
26.16.4 多播协议
26.17 本章小结
习题
第五部分 其他网络概念与技术
第27章 网络性能(QoS与区分服务)
27.1 引言
27.2 性能度量
27.3 延迟或时延
27.4 容量、 吞吐率和实际吞吐量
27.5 理解吞吐率与时延
27.6 抖动
27.7 时延与吞吐率的关系
27.7.1 以利用率作为时延估值
27.7.2 时延吞吐率乘积
27.8 测量时延、 吞吐率与抖动
27.9 被动测量、 小分组及NetFlow
27.10 服务质量(QoS)
27.11 细粒度与粗粒度QoS
27.11.1 细粒度QoS与流
27.11.2 粗粒度QoS与服务
类别
27.12 QoS的实现
27.13 因特网QoS技术
27.14 本章小结
习题
第28章 多媒体与IP电话(VoIP)
28.1 引言
28.2 实时数据传输和尽力而为
传递
28.3 延迟重播与抖动缓冲
28.4 实时传输协议(RTP)
28.5 RTP封装
28.6 IP电话
28.7 信令与VoIP信令标准
28.8 IP电话系统的组成部件
28.8.1 SIP术语与概念
28.8.2 H.323术语与概念
28.8.3 ISC术语与概念
28.9 协议汇总及归属层次
28.10 H.323特性
28.11 H.323分层
28.12 SIP特性和方法
28.13 SIP会话举例
28.14 电话号码映射及路由
28.15 本章小结
习题
第29章 网络安全
29.1 引言
29.2 网络犯罪与攻击
29.3 安全策略
29.4 安全责任与控制
29.5 安全技术
29.6 哈希: 完整性与鉴别机制
29.7 访问控制与口令
29.8 加密: 基本的安全技术
29.9 私有密钥加密
29.10 公开密钥加密
29.11 采用数字签名的鉴别
29.12 密钥管理和数字证书
29.13 防火墙
29.14 包过滤防火墙的实现
29.15 入侵检测系统
29.16 内容扫描和深度包检查
29.17 虚拟专网(VPN)
29.18 用于远程办公的VPN
技术
29.19 数据报加密与隧道技术
29.20 安全技术
29.21 本章小结
习题
第30章 网络管理(SNMP)
30.1 引言
30.2 内联网管理
30.3 FCAPS: 行业标准模型
30.4 网络元素举例
30.5 网络管理工具
30.6 网络管理应用
30.7 简单网络管理协议
30.8 SNMP的取/存模式
30.9 SNMP管理信息库和
对象名
30.10 MIB变量的种类
30.11 对应于数组的MIB变量
30.12 本章小结
习题
第31章 软件定义网络(SDN)
31.1 引言
31.2 营销宣传与现实
31.3 新方法的动机
31.3.1 网元管理的推广
31.3.2 从使用专有标准转变为
使用开放标准
31.3.3 自动化与统一的配置
31.3.4 转变为跨层控制
31.3.5 适应数据中心的虚拟化
31.4 网元的概念结构
31.5 控制层模块与硬件接口
31.6 新模式: 软件定义网络
31.7 未回答的问题
31.8 共享控制器与网络连接
31.9 SDN通信
31.10 OpenFlow: 控制器到网元的
协议
31.11 交换机中的分类引擎
31.12 TCAM与高速分类
31.13 跨多协议层分类
31.14 TCAM规模与多模式需要
31.15 OpenFlow可指定的项
31.16 传统与扩展的IP转发
31.17 使用二层MPLS的端到端
路径
31.18 动态规则创建与流控制
31.19 流表的管道模型
31.20 SDN对网络供应商的潜在
影响
31.21 本章小结
习题
第32章 物联网
32.1 引言
32.2 嵌入式系统
32.2.1 智能电网中的嵌入式
系统
32.2.2 嵌入式在线安防系统
32.2.3 零售业中的嵌入式
系统
32.3 网络技术的选择
32.4 能量收集
32.5 低功耗无线通信
32.6 网状拓扑
32.7 ZigBee联盟
32.8 802.15.4无线电与无线网
状网
32.9 因特网连接性与网状路由
32.10 ZigBee网状网中的IPv6
32.11 ZigBee转发模式
32.12 ZigBee栈中的其他协议
32.13 本章小结
习题
第33章 网络技术及应用的发展趋势
33.1 引言
33.2 扩展因特网服务的需求
33.3 内容缓存加速(Akamai)
33.4 Web负载均衡器
33.5 服务器虚拟化
33.6 P2P通信
33.7 分布式数据中心和复制
33.8 通用表示(XML)
33.9 社交网络
33.10 移动性及无线联网
33.11 数字视频
33.12 高速接入与交换
33.13 云计算
33.14 重叠网络
33.15 中间件
33.16 IPv6的广泛部署
33.17 本章小结
习题
附录A 一种简化的应用编程接口
展开
译 者 序
道格拉斯科默(Douglas Comer)博士是一位在计算机网络、 TCP/IP协议和因特网方面国际公认的资深专家。他在20世纪70年代晚期到80年代的因特网发展过程中做出了很大的贡献, 曾是互联网体系结构委员会的成员, 负责指导因特网的发展。他还是CSNET技术委员会的主席, CSNET执行委员会成员, 美国国防部高级研究计划署(DARPA)下属的分布式系统体系结构委员会主席。曾在Cisco公司担任过研发副总裁, 是美国计算机学会ACM会士(Fellow), 还担任了20年北美杂志Software—Practice and Experience的编辑, 其编写的系列技术书籍已经被翻译成16种语言, 十分畅销。
科默是普度大学计算机科学系特聘教授。讲授课程包括: 联网技术、 网络互联、 计算机体系结构和操作系统。在普度大学, 他创建了多个创新实验室, 使学生有机会获得有关操作系统、 网络和协议的实际动手经验。
科默还为计算机网络产业设计提供咨询服务。除了在美国大学中讲课, 科默每年也给专业学者和网络专家进行全球演讲。科默开发实现的Xinu操作系统和TCP/IP协议(两者在教科书中都有相关文档), 均已应用在商业产品中。更多的信息可以到 www.cs.prudue.edu/people/comer查阅。
本书是科默的代表作之一, 前面已出版了五个版本, 目前最新的是第六版。相关版本教学效果显著, 除了被几百所美国院校使用为网络课程的教科书(或教学参考书)外, 还被翻译为多种语言在其他国家和地区使用。《计算机网络与因特网》中文版一直由华南师范大学计算机学院负责翻译, 译著作为教材在国内使用的院校超过百所, 获得了广泛赞誉。
本书能在众多的网络书籍中脱颖而出, 主要在于书中的内容涵盖面宽, 组织结构逻辑性强, 概念解释清晰透彻, 阐述简练易懂; 重点讲述因特网, 紧跟网络领域的发展和变化, 兼顾到教师和学生的双重需求。
在内容结构方面, 本书组合了“自底向上”和“自顶而下”两种方法的各自优点, 以讨论网络应用和因特网应提供的通信规范开始, 在学生学习网络的底层技术之前, 先去理解因特网应用对通信交互的需要。在讨论应用和应用开发后再来介绍联网和网络互联知识; 用富含逻辑的手法, 介绍各种新(其他)技术是如何构筑在较低层技术的基础之上的, 从而从最广泛的意义上回答了“计算机网络与因特网是如何工作的”这个最基本的问题。
本书第六版面世后, 译者有幸再次受出版社委托翻译, 并向广大读者推荐这本书。本书非常适合于计算机、 通信专业的高年级本科生或低年级研究生作为网络课程教学使用, 也可作为一般读者(相近专业学生、 工程技术人员)进修网络专业知识的自学和培训教材。
本书全部内容由华南师范大学计算机学院的4位教授和副教授共同翻译完成。其中, 范冰冰教授翻译了前言、 对本书的热情评价、 第1章至第4章、 第12章、 第33章和附录, 并负责完成全书审校和统稿; 郑伟平副教授翻译了第5章至第11章和第30章; 张奇支副教授翻译了第13章至第15章、 第20章至第28章; 龚征副教授翻译了第16章至第19章、 第27章、 第29章至第32章。尽管译者们有丰富的教学和工程经验, 对本书的翻译质量充满自信, 但也难免会出现少许瑕疵, 敬请读者批评指正。
译 者
华南师范大学计算机学院
前 言
《计算机网络与因特网》的前一个版本意外地收到了很积极的评价, 我特别要感谢花时间给我个人写信的那些读者。令人惊奇的是读者的面非常广, 除了采用本书作为教材的学生外, 还有专业人士也写信称赞本书叙述透彻明了, 并讲述了本书如何帮助他们通过了资质考试。另外也收到了许多关于对本书的外文翻译版的热情评价。本书能够在当前网络书籍供过于求的市场中获得如此成功, 是件特别令人欣慰、 满足的事情。本书的杰出所在, 在于内容涵盖广泛, 组织结构逻辑性强, 概念解释清晰透彻, 重点讲述因特网, 以及非常适合教师和学生的需要。
新版本中增加了什么
为回应读者的建议, 并鉴于目前网络领域的发展和变化, 已经全面完成了对本书新版本的重新修订和更新, 减少或删去了对较旧技术的阐述。显著的变化包括: ● 贯穿每个章节的更新
● 为更好地解释补充了一批插图
● 所有章节中整合了IPv4和IPv6
● 改进了MPLS覆盖和隧道建立
● 新章节: 软件定义网络SDN和OpenFlow
● 新章节: 物联网和ZigBee
采用的方法
网络课程应该采用“自顶向下”的方法还是“自下而上”的方法呢?在“自下而上”的方法中, 学生先学习底层单一线路上的比特传输, 然后学习相邻高层协议如何利用较低层提供扩展的功能。而在自顶向下的方法中, 从高层应用开始学习, 对较低层知识只需理解应用是如何工作的, 然后才学习底层协议的工作细节。
本书组合了这两种方法各自的优点, 以讨论网络应用以及因特网提供的通信规范开始, 在学习网络设施的底层技术实现之前, 让学生先理解因特网给应用所提供的网络设施。在讨论了应用之后介绍联网知识, 以一种逻辑连贯的方法, 使读者去理解在较低层技术基础之上如何构筑每一种新技术。
目标读者
本书回答了一个基本的问题: 计算机网络和互联网是如何工作的?通过阐述底层细节(如数据传输和布线)、 网络技术(如局域网和广域网)、 网络互联协议和应用软件等全面的联网知识, 奉献给读者以综合性的、 独特的知识大观, 还阐明了协议如何利用底层硬件, 以及应用程序如何使用协议栈为用户提供各种应用服务功能。
本书的读者对象是高年级本科生和低年级研究生, 他们或许只有少许或没有联网方面的背景知识。本书既没有使用复杂的数学知识, 也没有介绍太多的操作系统知识, 而旨在清晰地阐述概念, 采用实例和大量示意图, 说明网络技术工作原理并分析结论, 但不提供数学证明。
内容的组织
本书分为五大部分, 第一部分(第1章至第4章)集中介绍因特网的应用和网络应用的开发, 阐述协议分层、 客户服务器交互模式、 套接字API, 并列举了因特网中应用层协议的例子。
第二部分(第5章至第12章)阐述数据通信技术, 给出贯穿网络的底层硬件背景知识、 基本术语和基础概念(如带宽、 调制和复用)。这部分的最后一章介绍因特网中使用的接入和互连技术, 并阐述如何利用前面章节所述的概念来解释每一种技术。
第三部分(第13章至第19章)重点讲述分组交换和分组交换网技术。这部分先解释采用分组传输数据的动机和起因, 介绍IEEE模型的第2层协议, 然后再考虑有线和无线联网技术, 如以太网和WiFi。第三部分还介绍了网络的4个基本分类: 局域网LAN、 城域网MAN、 个人域网PAN和广域网WAN, 并讨论广域网的路由技术。这部分的最后一章介绍已在因特网中采用的网络技术示例。
第四部分(第20章至第26章)重点讨论因特网协议。在讨论了网络互联的动机和起因之后, 本部分描述因特网结构、 路由器、 因特网编址、 地址绑定和TCP/IP协议组, 对协议IPv4、 IPv6、 TCP、 UDP、 ICMP、 ICMPv6和ARP, 进行了详细的讲解, 使学生更深入地理解这些概念是如何联系实际的。由于IPv6已经(最终)开始部署, 所以IPv6的内容加入到了这些章节中。这部分章节都介绍一般概念, 并阐释它在IPv4和IPv6中是如何实现的。第25章TCP涉及了一个重要课题: 传输协议中的可靠性。
本书的最后一部分(第27章至第33章)内容涉及协议栈中多层次交叉的一些课题, 包括: 网络性能、 网络安全、 网络管理、 网络软件自举、 多媒体支持和物联网等。第31章介绍了联网中最让人激动的新发展: 软件定义网络。这些课题也都是从前面的各个部分内容中抽取出来的, 将它们安排到本书的最后部分, 在使用前再对其概念进行定义, 并不表示这些课题不重要。
课程的使用
本书理论上适合作为网络导论性的课程教材, 可供初级或高年级学生的一学期教学使用。本书按综合性课程来设计, 涵盖了从布线到应用的全部知识点。尽管很多教师选择跳过数据通信的内容, 但我支持选择一些核心概念和术语来讲, 这对后面章节的教学尤为重要。不管课程是怎样组织的, 我鼓励教师给学生布置一些实际动手的作业。 例如, 在美国普度大学的本科课程中, 学生每周都有覆盖广泛内容的实验室作业: 网络测量、 分组分析以及网络编程等。完成了课程之后, 期望每个学生能够达到以下程度: 知道IP路由器如何利用路由表转发IP数据报; 能描述数据报如何通过因特网传输; 能解释以太网集线器与以太网交换机的区别; 知道TCP如何标识连接以及为什么一个并发Web服务器能在80号端口处理多个连接; 能识别和解释以太网帧中的各字段含义; 能计算以光速在导线上传输的单个比特的长度; 能解释为什么TCP被归类为端到端协议; 知道为什么机器对机器的通信对于物联网非常重要; 理解SDN的动机。
一门课程的主要目标是广度而不是深度——要涵盖所有主题, 不能只集中在几种技术或几个概念上, 因此, 授课成功的关键取决于能否快速地讲好课。为了能使学生在一个学期内学到基本内容, 可以把第二部分较低层次的内容进行压缩; 把有关网络和网络互联的部分各安排4周学习; 余下2周留给应用和一些如网络管理与安全等介绍性内容。至于套接字编程的细节问题, 可作为编程练习留在实验室或者作业中。
教师应该给学生强调概念和原理的重要性: 有些技术可能在几年后就会过时, 但原理却是永恒的。另外, 教师也应该激发学生投身网络技术的热情, 由于网络一直在变化, 因此更希望能保持这种热情, 如软件定义网络的新时代已出现。
虽然本书中没有哪个知识点是高难度的, 但学生们仍可发现本书所含内容的数量还是有点让人望而生畏的。特别是学生们要面对过量的新术语, 网络缩略语和行业术语也特别容易混淆, 学生必须花费大量时间养成使用正确术语的习惯。在普度大学的课程教学中, 鼓励学生记住一个术语列表(我们发现一个学期课程中每周的词汇测验有助于学生对术语的学习, 而不是等到考试)。
因为程序设计和实验是帮助学生掌握网络知识的重要环节, 所以实践环节是任何网络课程的重要组成部分 独立实验室手册(联网实践)很有帮助, 它描述了在各种硬件环境中(一台计算机或LAN中的一组计算机)运行的实验和作业。。普度大学的课程比较强调分组分析和套接字编程。在学期的开始, 先让学生构建客户软件去访问Web并提取数据(如编写一个程序访问一个网站, 然后打印出当前的温度)。作为起步, 附录A非常有帮助: 这个附录阐述了一个简化的API, 可用在Web网站上, 允许学生在学习协议、 地址和(乏味的)套接字API之前就能编写可执行的代码。当然, 到了学期的后期, 学生就学会了套接字编程。最后, 他们还要编写一个并发Web服务器程序, 支持服务器端可选脚本, 大多数学生能够完成。除了应用编程外, 还可以利用实验室设施从正在运行的网络上捕获数据分组, 并编写程序对分组(如以太网帧、 IP数据报、 TCP段)的头部进行解码, 并观察TCP连接的情况。假如不具备先进的实验室设施, 可以让学生使用开源的包分析软件(如Wireshark)来做实验。
除了附录简化的API代码外, 本书的网站包含了给学生和教师的额外资料: http://www.netbook.cs.purdue.edu我要感谢所有为第六版书做出贡献的人们。许多普度大学的研究生提出了建议和批评。Baijian(Justin) Yang 和Bo Sang 分别建议添加了许多文字和插图, 让学生更加容易理解内容。Cisco公司的Fred Baker, Ralph Droms和Dave Oran提供了早期的版本。Lami Kaya提出了如何组织数据通信章节, 以及其他极有价值的建议。我还要特别感谢我的妻子和合作者Christine, 她细心的编辑和有益的建议使全书增色不少。
Douglas E. Comer
对本书的热情评价
“本书是我读过的最好的书之一。谢谢。”
Gokhan Mutlu
土耳其Ege大学
“拿到本书后我几乎是手不释卷地读完的。这本书真是太出色了!”
Lalit Y.Raju
印度Regional Engineering College
“对初学者和专业人士来说, 本书都是一本极好的书——写得好, 综合面宽, 易于理解。”
John Lin
贝尔实验室
“本书涵盖的内容真是广阔惊人。”
George Varghese
美国加州大学圣迭戈分校
“真的是我看见过的同类书中最好的。万分感谢!”
Chez Ciechanowicz
英国伦敦大学信息安全组
“附录A的小型Web服务器太绝妙了——读者都会激动不已。”
Dennis Brylow
美国马凯特大学
“哇!真是一本极好的教科书啊!”
Jaffet A.Cordoba
技术作家
“这本书太棒了!”
Peter Parry
英国南伯明翰学院
“一流的覆盖广度, 简练化的阐述是它的标志。为进一步学习打下广泛和坚实基础的理想选择, 是初学者和网络领域工作者的必读书籍, 这本书也是我们培训方案的重要组成部分。”
Vishwanathan Thyagu
印度 班加罗尔, TETCOS公司
“哇!在我准备CCNA考试的时候, 本书的明晰解释解答了我的所有问题, 使我终于搞懂了OSI模型和TCP/IP传输。它打开了使我通向迷人的网络和TCP/IP世界的记忆之门。”
Solomon Tang
香港电信公司
“一个非常宝贵的工具, 特别是对于渴求清楚而广泛地理解计算机网络的那些程序员和计算机科学工作者来说。”
Peter Chuks Obiefuna
美国东卡罗来纳大学
“本书涵盖了大量的内容, 而且作者把内容写得易读易懂, 这就是我喜欢这本书的最大理由。它非常适合于作为3学分课程的教科书。学生的正面反馈意见表明, 他们确实太喜欢使用这本教科书了。”
Jie Hu
美国圣克劳德州立大学
“尽管网络技术中充斥了太多的缩写词以至于混淆视听, 但本书却使人心明眼亮。Comer是一位出色的作者, 他扩展并解释了很多术语。本书涵盖了从布线到Web整个网络范围的大量内容。我觉得这本书的确很出色。”
Jennifer Seitzer
美国代顿大学
展开