词条 | 计算机网络与Internet |
释义 | Comer为工业界计算机网络的设计提供咨询。除了在大学里做报告以外,他每年还向遍布世界的网络专业人员讲授在线课程。他的操作系统,Xinu,以及TCP/IP协议的实现(都归档在他的教科书中)已经用于许多商业产品中。 计算机网络与Internet——网络应用 最新版 ISBN:7-900643-30-3 作者:(美)Douglas E. Comer著,金舒原,段海新 译 出版社:清华大学出版社 印刷:黑白 介质:平装 开本:16开本 出版日期:2002年 页数:519 定价:58.00 元 作者简介 Douglas Comer博士是国际公认的TCP/IP协议、计算机网络、Internet领域的专家。作为形成于20世纪70年代和80年代的Internet的早期研究者,他是Internet体系结构委员会(InternetArchitecture Board,IAB)的成员。IAB是负责指导Internet发展的组织。他是CSNET技术委员会的主席,也是CSNET执行委员会的成员。 Comer是普渡(Purdue)大学计算机科学系的教授,他教授课程并做一些计算机网络、网络互连和操作系统方面的研究工作。除写了一系列畅销的技术书籍以外,他还是杂志“software——practice and Experience”北美的编辑。Comer还是ACM的特别会员。 详细介绍: 内容提要 本书全面深入地讲解了计算机网络与因特网的各个方面,包括数据传输、包传送、网络互连和网络应用4大部分。数据传输部分解释了最底层承载信息的电子信号如何穿越电缆,并介绍了数据怎样用电子信号进行编码;第2部分解释了计算机网络为何使用数据包、数据如何聚合成发送的包,以及数据包如何被传送到它的目的地址;第3部分主要介绍网络互连,讨论了将异构网络组合成一个大规模的、无缝的通信系统的动机和实现方法;最后一部分主要介绍了应用系统如何使用底层网络进行通信。本书的附录和光盘还提供了网络术语的解释以及大量的网络编程和实验的例子、图表、动画等,这对于深入理解网络互连技术及组织网络素材都大有裨益。 本书可作为本科生和低年级的研究生教材或教学参考书。对于从事网络研究、网络工程、技术服务的科研和工程技术人员来说,本书也是一本很好的基础性参考读物。 前 言 本书如此受欢迎令我欣喜异常。除了几百所美国学校用它作为计算机网络课程的教材以外,许多专业人士还写信说它正用于工业界,而且还有来自海外译本的热情洋溢的评论。在市场上充斥着网络书籍的今天,本书的成功特别令人感到满意。它之所以能够脱颖而出,在于它覆盖面广、条理清晰、对概念的阐述透彻并关注于Internet,而且随书附带的光盘以及下面的网站也为读者提供了丰富的材料: http://www.netbook.cs.purdue.edu 新版对原书做了彻底的修订和更新,增加了3章(第3章,第14章和第25章)和许多新的小节,并增加了80多个术语。光盘和Web站点的内容也重新做了整理和扩展。 新增的3章内容是应教师和读者的需求而增加的。第3章是专门为那些想初步了解网络应用和编程知识的读者设计的。该章在介绍网络底层技术和协议设施之前,揭示了怎样构造通过Internet操作的应用。并且,第3章还给出了一个简化的API (包括可用的代码),举例说明Internet应用如何使用这个API进行通信。即便读者对编程不感兴趣,也会赞赏许多例子程序所达到的效果。 第14章是应那些要求更详细地了解面向连接网络的读者而编写的。该章以ATM为例,介绍了面向连接的网络范例。除了解释诸如标签交换等概念和细节之外,还提供了对这一技术的评估,并讨论了为什么ATM没有达到它雄心勃勃的设计目标。 第25章是应那些要求增加Internet路由和Internet路由协议内容的读者而编写的。该章讨论了静态和动态路由,覆盖了自治系统的概念和具体的路由协议,如RIP,OSPF和BGP等。最后,该章还讨论了组播路由传播。 本书从最广泛的意义上回答了“计算机网络和国际互联网是怎样操作的?”这一基本问题。它为读者提供了一个全面的、涵盖了从网络中最底层的数据传输和电缆到最高层的应用软件的学习旅程。在每个层次中,本书都展示了下一个层次怎样使用和扩展底层所提供的设施和服务。因此,本书在描述了一个调制解调器怎样使用载波编码以后,就开始介绍Internet这样的分组交换系统如何使用调制解调器发送帧;在描述了以太网这样的帧传输技术以后,就开始介绍像TCP这样的协议怎样利用这些传输设施实现对数据的可靠传输。最后,本书介绍了Internet应用,解释万维网(World Wide Web)在这样一个基础设施之上是怎样操作的。 本书是为那些没有或只有一点网络背景的读者准备的。书中没有使用复杂的数学描述,也不需要读者有操作系统的知识。相反,本书清楚地定义了概念,使用实例和插图说明技术是怎样操作的,阐明了分析结果但并没有给出数学证明。 在引言(第1~3章)之后,本书的正文含有4部分:第1部分(第4~6章)简要说明了底层的硬件是怎样工作的。这一部分解释了载波信号的概念,讨论了载波的调制,说明了调制解调器怎样把发送的数据编码成载波信号。这一部分还讨论了异步、面向字符的数据传输,并定义了以后章节中出现的术语,诸如带宽、波特等。 第2部分(第7~16章)关注于分组交换。这一部分介绍了使用分组的动机,然后描述了用于网络分类的特征,如局域网、广域网、本地环、公共网络和私有网络、面向连接的网络或无连接网络,还有基本的网络拓扑结构和电缆模式。这一部分还介绍了如下一跳、路由、交换、协议分层等在每一章都要使用的术语。最后举例说明几种常见的网络,包括以太网、FDDI、令牌环、ATM和ADSL。 第3部分(第17~25章)着重介绍Internet协议。讨论网络互连的动机之后,这一部分描述了互连网的体系结构以及路由器、互连网编址、地址绑定、TCP/IP协议等。详细回顾了IP,TCP,ICMP和ARP协议,让学生理解概念是怎样联系到实际的。在第24章介绍了TCP,其内容覆盖了传输协议的可靠性这一重要的、深层次主题。附录5通过建设一个家庭网络、使用一个IP地址把多台计算机连接到Internet上,展示了怎样把理论付诸实践。 最后一部分(第26~38章)研究了网络应用。像本书其他部分一样,这一部分的覆盖面也是相当宽广的——既包括通用的原理,也包括具体的应用。这一部分首先描述了网络应用用以通信的客户-服务器模型,然后描述了套接字(socket)API,并给出了使用套接字进行通信的客户与服务器示例代码。这一部分还描述了域名系统中的名字解析和应用,如电子邮件、文件传输、Web浏览等,还通过使用CGI,Java,JavaScript的例子,介绍了动态文档和主动文档。在介绍每一种技术的过程中,均描述了软件结构并解释了客户和服务器之间怎样交互以便提供服务。第35章还讨论了中间件(middleware),其中包括过程式的和面向对象的中间件技术。这一部分后面的章节讨论了网络安全,并介绍了如何使用应用软件进行网络管理。最后,第38章还探讨了有趣的初始化问题,介绍了应用层软件怎样实现看似不可能的事情——用协议软件获取正在使用的协议软件在初始化时必需的信息。 本书最适合于作为一学期的网络高级引论课程使用。由于涉及目标的广泛性,所以本书覆盖了网络从电缆到应用的所有主题。比如,在普渡(Purdue)大学,学生有每周一次的实验室作业以强化概念的理解,并提供动手的经验。到完成该课程时,每个学生都可以:知道IP路由器怎样使用路由表转发IP数据报;描述一个数据报怎样穿越Internet;解释集线器和2层交换机之间的不同;了解TCP如何识别一个连接;知道为什么当前的Web服务器能够在80端口上同时处理多个连接;描述网桥和IP路由器之间概念上的不同;计算一个比特穿越100BaseT网络的时间长度;解释为什么TCP归于端到端一类;区分以太网使用的CSMA/CD介质访问机制和令牌传递模式;了解DSL如何使用多路复用技术高速传输数据。 一门课程的目标是广泛的,而不是深奥的——它覆盖所有的主题,读者可以不必专注于少数几种技术或概念。因此,一门成功课程的关键在于保持一个敏捷的步伐,在一个学期里覆盖基础的主题。本书第1部分中基础的内容可以压缩在一周之内完成,网络和网络互连部分可以分配五周时间,留下几个星期给应用和网络管理与安全等主题。 教师应该向学生强调概念和原理的重要性:具体的技术可能几年后过时了,但是原理是不变的。另外,教师应该激发学生彻底学习网络的动力。 尽管没有一个单独的主题是具有挑战性的,但学生仍可以发现许多内容不很容易接受。特别是,当学生们面对过多新的术语时。缩写的网络术语和行话可能会非常令人困惑:学生花费了大量的时间才能习惯这些术语。为帮助学生掌握术语,附录1包含了一个术语和缩写词汇表。为更加清晰起见,词汇表中的词汇定义是单独描述的,而不是在文中逐字逐句说明的。 由于编程和实验对帮助学生学习网络起着非常关键的作用,所以实验室练习是任何一门网络课程的重要部分。附录6描述了Purdue大学本科生网络实验室的体系结构,展示了怎样用一些廉价的硬件设备构造一个有用的实验环境。我们的实验课程强调网络的两个重要方面:套接字编程和数据包分析。我们让学生构造客户软件访问网络并提取数据(如编写程序打印当前的温度)。第3章介绍了简单的API,使用我们的API,学生可以在了解协议、地址、套接字之前编写可运行的代码。当然,学生在学期后面会学习如何使用套接字API。最后,学生需要编写一个并发的Web服务器(CGI支持是可选的)。除了应用编程之外,学生们还需要使用实验室设施从一个真实的网络中捕获数据包,然后编写程序解码数据包头。 让学生访问网络提高了他们的热情,教师应该鼓励学生们做实验——我们的经验表明,访问过实际网络的学生能更好地理解主题。因此,如果没有专用的包分析仪,可以在一个标准PC上安装相应的软件来配置一个廉价的分析仪。对那些无法访问网络设施的学生来说,光盘中包含了包跟踪的例子,学生们可以编写程序来读取踪迹并处理包,就像从网络中捕获它们一样。 本书所带的光盘和Web站点都包含许多材料,有助于教学和读者对本书内容的理解。对于教师,光盘包含了课程的内容,文中的图表可以做演示,生动的图表有助于阐明概念。光盘还包括书中没有的内容,包括网络电缆和设备的照片以及用于学生工程作业中的数据文件。 为帮助教授和学生们定位信息,光盘还包括一个关键字搜索机制。给定一个术语,该搜索机制从联机词汇表中定位术语的定义以及与该术语相关的其他术语。最后,光盘包含了指向Web 站点的链接,该站点在不断地更新。本书专门建立了两个电子邮件列表:一般的信息可以从netbook@cs.purdue.edu获得,关于本书教学内容的讨论参见netbook-inst@cs.purdue.edu。欲加入列表,向相应列表名字发一封电子邮件信息,邮件体由subscribe组成。为避免邮件服务器通过Internet发送一个消息的多个拷贝,教师需要为他们站点的所有学生建立一个单独的本地别名(alias)。 感谢所有对本书的新版做出贡献的人:Dennis Brylow和John Lin校对了本书的所有章节,Jennifer Seitzer,Abdullah Abonamah和George Varghese审读了早期的版本,并提出了有价值的建议。Mike Evangelista 写了第3章中的客户和服务器应用代码和API,并把这个API移植到Linux,Solaris和Windows 平台。Ralph Droms准备了光盘,并且管理Web的内容。Jim Griffioen审读了新增加的3章,提供了全球的前景和技术细节。特别感谢我的妻子和伙伴,Chris,本书的许多进步来源于她细心的编辑和有益的提议。 本书目录 第1章 简介 1 1.1 计算机网络的增长 1 1.2 网络系统的复杂性 1 1.3 克服复杂性 2 1.4 概念和术语 2 1.5 本书的结构 2 1.6 小结 3 第2章 动机与工具 4 2.1 简介 4 2.2 资源共享 4 2.3 Internet的增长 5 2.4 探测Internet 6 2.5 解释ping的响应 8 2.6 跟踪一个路由 9 2.7 小结 10 2.8 练习 10 第3章 网络编程与应用 12 3.1 简介 12 3.2 网络通信 12 3.3 客户-服务器计算 12 3.4 通信模式 13 3.5 一个应用编程接口的例子 13 3.6 一个简单的API调用过程 14 3.7 API的定义 15 3.7.1 await_contact函数 15 3.7.2 make_contact函数 15 3.7.3 appname_to_appnum 函数 15 3.7.4 cname_to_comp函数 16 3.7.5 send函数 16 3.7.6 recv和recvln函数 16 3.7.7 send_eof 函数 16 3.7.8 API 类型总结 17 3.8 回声(echo)应用程序代码 17 3.8.1 回声服务器代码实例 18 3.8.2 回声客户代码实例 19 3.9 一个聊天(chat)应用程序代码 22 3.9.1 聊天服务器代码示例 23 3.9.2 聊天客户代码实例 25 3.10 Web应用程序代码 27 3.10.1 Web客户代码实例 28 3.10.2 Web服务器代码实例 29 3.11 小结 34 3.12 练习 34 第1部分 数 据 传 输 第4章 传输介质 36 4.1 简介 36 4.2 铜缆 36 4.3 玻璃纤维 38 4.4 无线电 38 4.5 卫星 38 4.6 地球同步卫星 39 4.7 低地球轨道卫星 40 4.8 低地球轨道卫星阵列 40 4.9 微波 41 4.10 红外线 41 4.11 激光 41 4.12 小结 42 4.13 练习 42 第5章 本地异步通信(RS-232) 43 5.1 简介 43 5.2 异步通信的需求 43 5.3 用电流发送比特 43 5.4 通信标准 44 5.5 波特率、帧与出错 46 5.6 全双工异步通信 47 5.7 实际硬件的限制 48 5.8 硬件带宽与比特传输 49 5.9 噪声对通信的影响 49 5.10 定理对数据网络的意义 50 5.11 小结 50 5.12 练习 51 第6章 远距离通信(载波、调制和调制解调器) 52 6.1 简介 52 6.2 远距离发送信号 52 6.3 用于调制和解调的调制解调器硬件 54 6.4 租用模拟数据线路 55 6.5 光、无线电频率和拨号调制解调器 56 6.6 载波频率和多路复用 57 6.7 基带和宽带技术 58 6.8 波分多路复用 59 6.9 扩展频谱 59 6.10 时分多路复用 60 6.11 小结 60 6.12 练习 61 第2部分 包 传 输 第7章 包、帧和错误检测 62 7.1 简介 62 7.2 包的概念 62 7.3 包和时分多路复用 64 7.4 包和硬件帧 64 7.5 字节填充 66 7.6 传输错误 67 7.7 奇偶位和奇偶校验 67 7.8 概率、数学和错误检测 68 7.9 使用校验和检测错误 69 7.10 使用循环冗余校验检测错误 70 7.11 模块连接 71 7.12 突发错误 72 7.13 帧格式和错误检测机制 72 7.14 小结 73 7.15 练习 74 第8章 局域网技术及网络拓扑 76 8.1 简介 76 8.2 直接的点对点通信 76 8.3 共享通信信道 78 8.4 局域网的重要性和引用的本地性 78 8.5 LAN的拓扑结构 79 8.5.1 星形拓扑 79 8.5.2 环形拓扑 80 8.5.3 总线形拓扑 80 8.5.4 存在多种拓扑结构的原因 81 8.6 总线网实例:以太网 81 8.6.1 以太网的历史 81 8.6.2 以太网传输与曼彻斯特编码 82 8.6.3 以太网上的共享 83 8.7 载波侦听多路访问网(CSMA) 83 8.8 带有CSMA/CD的冲突检测与回退 84 8.9 802.11无线局域网和CSMA/CA 85 8.10 总线网络的另一个实例:LocalTalk 86 8.11 环形网实例:IBM令牌环 87 8.12 环形网的另一个实例:FDDI 88 8.13 星形网实例:ATM 90 8.14 小结 91 8.15 练习 92 第9章 硬件编址与帧类型识别 94 9.1 简介 94 9.2 指定接收者 94 9.3 局域网硬件如何使用地址来过滤包 95 9.4 物理地址的格式 96 9.5 广播 97 9.6 组播 98 9.7 组播编址 99 9.8 标识包的内容 99 9.9 帧头和帧格式 100 9.10 帧格式的一个例子 100 9.11 不使用自标识帧的网络 102 9.12 网络分析仪、物理地址和帧类型 103 9.13 小结 105 9.14 以太网地址分配 106 9.15 练习 106 第10章 局域网布线、物理拓扑和接口硬件 107 10.1 简介 107 10.2 局域网和计算机的速度 107 10.3 网络接口硬件 108 10.4 网络接口卡与网络间的连接 109 10.5 早期的粗线以太网布线 110 10.6 连接多路复用 111 10.7 细线以太网布线 112 10.8 双绞线以太网 113 10.9 布线方案的优缺点 114 10.10 拓扑矛盾 116 10.11 网络接口卡和布线方案 116 10.12 布线方案和其他网络技术 117 10.13 小结 118 10.14 练习 119 第11章 扩展局域网:光纤调制解调器、中继器、网桥和交换机 120 11.1 简介 120 11.2 距离限制与局域网设计 120 11.3 光纤扩展 121 11.4 中继器 122 11.5 网桥 124 11.6 帧过滤 124 11.7 桥接网络的启动和达到稳定状态的动作 126 11.8 设计一个桥接网络 126 11.9 建筑物间的桥接 127 11.10 跨越长距离的桥接 127 11.11 桥接环路 129 11.12 分布式生成树 130 11.13 交换 130 11.14 交换机与集线器的组合 131 11.15 用于其他技术的桥接和交换 132 11.16 小结 132 11.17 练习 133 第12章 长距离数字连接技术 134 12.1 简介 134 12.2 数字电话 134 12.3 同步通信 135 12.4 数字电路与DSU/CSU 136 12.5 电话标准 137 12.6 DS术语与数据速率 137 12.7 小容量电路 138 12.8 中等容量的数字电路 139 12.9 大容量电路 139 12.10 光载波标准 140 12.11 后缀C 140 12.12 同步光网络(SONET) 141 12.13 本地用户回路 142 12.14 ISDN 142 12.15 非对称数字用户线路技术 143 12.16 其他DSL技术 145 12.17 电缆调制解调器技术 146 12.18 上流通信 147 12.19 混合光纤同轴 148 12.20 光纤到路边 148 12.21 特殊情况下的替代方案 149 12.22 广播卫星系统 149 12.23 小结 150 12.24 练习 151 第13章 广域网技术和路由 152 13.1 简介 152 13.2 大型网络和广域 152 13.3 分组交换机 153 13.4 构建广域网 153 13.5 存储转发 154 13.6 广域网内的物理编址 155 13.7 下一跳转发 155 13.8 源无关 156 13.9 分层地址与路由的关系 157 13.10 广域网内的路由 157 13.11 默认路由的使用 159 13.12 路由表计算 159 13.13 计算图中最短路径 160 13.14 分布式路由计算 161 13.15 距离向量路由 162 13.16 链路状态路由(SPF) 163 13.17 广域网技术实例 164 13.17.1 ARPANET 164 13.17.2 X.25 164 13.17.3 帧中继 164 13.17.4 SMDS 165 13.17.5 ATM 165 13.18 小结 165 13.19 练习 166 第14章 面向连接的网络与ATM 167 14.1 简介 167 14.2 单一全球网络 167 14.3 ISDN与ATM 168 14.4 ATM的设计与信元 168 14.5 面向连接的服务 169 14.6 VPI/VCI 170 14.7 标签和标签交换 170 14.8 通过ATM网络通信的一个例子 171 14.9 永久虚电路 172 14.10 交换虚电路 173 14.11 服务质量 173 14.12 采用信元和标签交换的动机 174 14.12.1 信元与分组的对比 174 14.12.2 标签交换与路由的对比 175 14.13 ATM数据传输与AAL5 175 14.14 对ATM的批评 175 14.15 小结 177 14.16 练习 177 第15章 网络特性:所有权、服务模式与性能 178 15.1 简介 178 15.2 网络所有权 178 15.2.1 专用网络 178 15.2.2 公共网络 179 15.3 私密性与公共网络 179 15.4 优点与缺点 179 15.5 虚拟专用网 180 15.6 保证绝对私密性 181 15.7 服务模式 181 15.8 面向连接服务模式 182 15.8.1 连续的通信和突发的通信 182 15.8.2 单工和全双工连接 182 15.8.3 连接持续时间与永久性 182 15.8.4 服务保证 182 15.8.5 流接口或消息接口 182 15.9 无连接服务模式 183 15.10 内部和外部服务模式 183 15.11 服务模式的对比 183 15.12 服务模式的实例 184 15.13 地址与连接标识符 184 15.14 网络性能特性 185 15.14.1 延迟 185 15.14.2 吞吐量 186 15.14.3 延迟和吞吐量之间的关系 186 15.14.4 延迟-吞吐量乘积 187 15.15 抖动 188 15.15.1 等时网络 188 15.15.2 异步网络 188 15.16 小结 188 15.17 练习 189 第16章 协议与分层 190 16.1 简介 190 16.2 协议需求 190 16.3 协议组 191 16.4 一个协议设计方案 191 16.5 七层 192 16.6 栈:分层软件 193 16.7 分层软件如何工作 194 16.8 多重嵌套头部 194 16.9 分层的科学基础 195 16.10 协议使用的技术 195 16.10.1 无序传送的序列化 196 16.10.2 删除复制数据包的序列化 197 16.10.3 重传丢失的数据包 197 16.10.4 避免因过多延迟造成的重播(replay) 198 16.10.5 防止数据溢出的流控制 198 16.10.6 避免网络拥塞的机制 201 16.11 协议设计的艺术 202 16.12 小结 203 16.13 练习 203 第3部分 网 络 与 连 第17章 网络互连:概念、体系结构和协议 205 17.1 简介 205 17.2 网络互连的原因 205 17.3 通用服务的概念 205 17.4 异构系统中的通用服务 206 17.5 网络互连 206 17.6 使用路由器的物理网络连接 207 17.7 互连网体系结构 207 17.8 实现通用服务 208 17.9 虚拟网络 208 17.10 网络互连协议 209 17.11 网络互连和TCP/IP重要性 210 17.12 分层和TCP/IP协议 210 17.13 主机、路由器和协议层 211 17.14 小结 212 17.15 练习 212 第18章 IP:网际协议地址 214 18.1 简介 214 18.2 虚拟互连网地址 214 18.3 IP编址模式 215 18.4 IP地址的层次 215 18.5 最初的IP地址类 216 18.6 地址类的计算 217 18.7 点分十进制表示法 218 18.8 类和点分十进制表示法 219 18.9 地址空间的划分 219 18.10 地址权威 220 18.11 类编址的例子 220 18.12 子网和无类编址 221 18.13 地址掩码 222 18.14 CIDR表示法 223 18.15 CIDR地址块的例子 223 18.16 CIDR主机地址 224 18.17 特殊的IP地址 224 18.17.1 网络地址 225 18.17.2 直接广播地址 225 18.17.3 受限广播地址 225 18.17.4 本机地址 225 18.17.5 回送地址 225 18.18 特殊IP地址小结 226 18.19 伯克利广播地址形式 226 18.20 路由器和IP编址原则 227 18.21 多宿主机 228 18.22 小结 228 18.23 练习 229 第19章 绑定协议地址(ARP) 230 19.1 简介 230 19.2 协议地址和数据包传送 230 19.3 地址解析 231 19.4 地址解析技术 232 19.5 表查找的地址解析 232 19.6 使用closed-form 计算的地址解析 234 19.7 使用消息交换的地址解析 234 19.8 地址解析协议(ARP) 236 19.9 ARP消息传送 236 19.10 ARP消息格式 237 19.11 发送一个ARP消息 238 19.12 标识ARP帧 238 19.13 缓存ARP应答 239 19.14 处理到来的ARP消息 239 19.15 分层、地址解析、协议地址 240 19.16 小结 240 19.17 练习 241 第20章 IP数据报和数据报转发 242 20.1 简介 242 20.2 无连接服务 242 20.3 虚拟数据包 242 20.4 IP数据报 243 20.5 转发IP数据报 244 20.6 IP地址和路由表项 245 20.7 掩码字段和数据报转发 246 20.8 目标和下一跳地址 246 20.9 尽力而为的传送 247 20.10 IP数据报头格式 247 20.11 小结 248 12.12 练习 249 第21章 IP封装、分片和重组 250 21.1 简介 250 21.2 数据报传输和帧 250 21.3 封装 250 21.4 在互连网上的传输 251 21.5 MTU,数据报大小和封装 252 21.6 重组 253 21.7 标识数据报 254 21.8 片段丢失 254 21.9 将片段再次分片 255 21.10 小结 255 21.11 练习 256 第22章 未来的IP(IPv6) 257 22.1 简介 257 22.2 IP的成功 257 22.3 改变的原因 258 22.4 名称和版本号 258 22.5 IPv6的特点 259 22.6 IPv6数据报格式 259 22.7 IPv6基本头格式 260 22.8 IPv6如何处理多个头部 261 22.9 分片、重组和path MTU 262 22.10 多个头部的目的 263 22.11 IPv6编址 264 22.12 IPv6冒号十六进制表示法 265 22.13 小结 265 22.14 练习 266 第23章 错误报告机制(ICMP) 267 23.1 简介 267 23.2 尽力而为的语法和错误检测 267 23.3 互连网控制消息协议 268 23.4 ICMP消息传输 270 23.5 使用ICMP消息检测可到达性 271 23.6 使用ICMP跟踪路由 271 23.7 由traceroute输出的最后地址 272 23.8 ICMP 用于path MTU发现 273 23.9 小结 274 23.10 练习 274 第24章 TCP:可靠传输服务 275 24.1 简介 275 24.2 可靠传输的需求 275 24.3 传输控制协议 275 24.4 TCP提供给应用程序的服务 276 24.5 端到端服务和数据报 276 24.6 可靠性 277 24.7 数据包的丢失和重新传送 278 24.8 自适应重新传送 279 24.9 重新传送次数的比较 279 24.10 缓冲区、流控制和窗口 280 24.11 3次握手 281 24.12 拥塞控制 282 24.13 TCP数据段的格式 283 24.14 小结 283 24.15 练习 284 第25章 Internet路由 285 25.1 简介 285 25.2 静态与动态路由 285 25.3 主机的静态路由和默认路由 285 25.4 动态路由和路由器 286 25.5 全球Internet路由 288 25.6 自治系统概念 288 25.7 Internet路由协议的两种类型 289 25.7.1 内部网关协议(IGP) 289 25.7.2 外部网关协议(EGP) 289 25.7.3 何时使用EGP和IGP 289 25.7.4 最优路由、路由度量和IGP 290 25.8 路由和数据流量 291 25.9 边界网关协议(BGP) 291 25.10 路由信息协议(RIP) 292 25.11 RIP数据包格式 293 25.12 开放最短路径优先协议(OSPF) 294 25.13 OSPF示例图 295 25.14 OSPF区域 295 25.15 组播路由 296 25.15.1 IP组播语义 296 25.15.2 IGMP 297 25.15.3 转发和发现技术 297 25.15.4 组播协议 298 25.16 小结 299 25.17 练习 300 第4部分 网 络 应 用 第26章 客户-服务器交互 301 26.1 简介 301 26.2 应用软件提供的功能 301 26.3 互连网提供的功能 302 26.4 取得联系 302 26.5 客户-服务器模式 303 26.6 客户和服务器的特点 303 26.7 服务器程序和服务器级计算机 304 26.8 请求、响应和数据流方向 304 26.9 传输协议和客户-服务器交互 304 26.10 一台计算机上的多种服务 305 26.11 标识某一特定的服务 306 26.12 提供单一服务的多个服务器拷贝 306 26.13 动态服务器创建 307 26.14 传输协议和确定通信 307 26.15 面向连接和无连接传输 308 26.16 多协议均可到达的服务 308 26.17 复杂的客户-服务器交互 309 26.18 交互和环形依赖 309 26.19 小结 310 26.20 练习 310 第27章 套接字接口 311 27.1 简介 311 27.2 应用程序接口 311 27.3 套接字API 311 27.4 套接字和套接字库 312 27.5 套接字通信和UNIX I/O 313 27.6 套接字、描述字和网络I/O 313 27.7 参数和套接字API 314 27.8 实现套接字API的过程 314 27.8.1 socket过程 314 27.8.2 close过程 315 27.8.3 bind过程 315 27.8.4 listen过程 316 27.8.5 accept过程 317 27.8.6 connect过程 317 27.8.7 send,sendto和sendmsg过程 318 27.8.8 recv,recvfrom和recvmsg过程 319 27.9 使用套接字读和写 320 27.10 其他套接字过程 320 27.11 套接字、线程和继承 320 27.12 小结 321 27.13 练习 322 第28章 客户和服务器例子 323 28.1 简介 323 28.2 面向连接的通信 323 28.3 一个服务例子 323 28.4 例子程序的命令行参数 324 28.5 套接字过程调用顺序 324 28.6 客户例子的代码 325 28.7 服务器例子的代码 328 28.8 流服务和多个recv调用 331 28.9 套接字过程和阻塞 332 28.10 代码大小和错误报表 332 28.11 使用另一种服务检测客户例子 333 28.12 使用另一个客户检测服务器例子 333 28.13 小结 334 28.14 练习 334 第29章 域名系统的命名 336 29.1 简介 336 29.2 计算机名称的结构 336 29.3 地理结构 338 29.4 组织中的域名 338 29.5 DNS客户-服务器模型 339 29.6 DNS服务器层次结构 340 29.7 服务器结构 341 29.8 引用的本地化和多服务器 342 29.9 服务器之间的链接 342 29.10 名称解析 343 29.11 DNS性能优化 344 29.12 DNS入口的类型 345 29.13 使用CNAME类型的别名 345 29.14 多类型的重要性 346 29.15 缩写与DNS 346 29.16 小结 347 29.17 练习 347 第30章 电子邮件表示和传输 349 30.1 简介 349 30.2 电子邮件范型 349 30.3 电子邮箱和地址 349 30.4 电子邮件消息格式 350 30.5 副本拷贝 352 30.6 通用因特网邮件扩展 353 30.7 电子邮件和应用程序 354 30.8 邮件传输 354 30.9 简单邮件传输协议 355 30.10 一台计算机上的多接收者优化 355 30.11 邮件查看、列表和转发 356 30.12 邮件网关 357 30.13 自动邮件列表 358 30.14 邮件中继和电子邮件地址 358 30.15 邮箱存取 359 30.16 拨号连接和POP 360 30.17 小结 361 30.18 练习 362 第31章 文件传输和远程文件存取 363 31.1 简介 363 31.2 数据传输和分布式计算 363 31.3 存储中间结果 363 31.4 通用文件传输 364 31.5 交互式和批处理传输模式 364 31.6 文件传输协议 365 31.7 FTP通用模式和用户接口 365 31.8 FTP命令 366 31.9 连接、认证和文件存取权限 367 31.10 匿名文件存取 367 31.11 双向文件传输 368 31.12 文件名称的通配符 368 31.13 文件名转换 369 31.14 改变目录和列表内容 369 31.15 文件类型和传输模式 370 31.16 使用FTP的例子 370 31.17 详细输出 373 31.18 FTP中的客户-服务器交互 373 31.19 控制和数据连接 373 31.20 数据连接和文件的结束 374 31.21 普通文件传输协议 375 31.22 网络文件系统 375 31.23 小结 376 31.24 练习 377 第32章 万维网页面和浏览 378 32.1 简介 378 32.2 浏览器界面 378 32.3 超文本和超媒体 378 32.4 文档表示 379 32.5 HTML格式和表现 379 32.6 HTML格式标记的例子 381 32.7 头部 381 32.8 列表 382 32.9 在Web页中嵌入图像 383 32.10 标识一个网页 383 32.11 从一个文档指向另一个文档的超文本链接 384 32.12 客户-服务器交互 385 32.13 Web文档传输和HTTP 385 32.14 浏览器结构 387 32.15 可选客户 388 32.16 Web浏览器的缓存 389 32.17 HTTP对缓存的支持 390 32.18 替代的传输协议 390 32.19 其他标记语言 391 32.20 小结 391 32.21 练习 392 第33章 动态Web文档技术(CGI,ASP,JSP,PHP,ColdFusion) 394 33.1 简介 394 33.2 Web文档的三种基本类型 394 33.3 每种文档类型的优缺点 395 33.4 动态文档实现 396 33.5 CGI标准 396 33.6 一个CGI程序的输出 397 33.7 CGI程序例子 398 33.8 参数和环境变量 399 33.9 状态信息和cookie 400 33.10 带有长期状态信息的CGI脚本 401 33.11 带有短期状态信息的CGI脚本 402 33.12 表单和交互 404 33.13 服务器端脚本技术 405 33.14 小结 406 33.15 练习 407 第34章 主动Web文档技术(Java,JavaScript) 408 34.1 简介 408 34.2 用于不断更新的一种早期形式 408 34.3 主动文档和服务器负载 409 34.4 主动文档的表示和转换 409 34.5 Java技术 411 34.6 Java 编程语言 411 34.6.1 语言特点 411 34.6.2 类似于C++ 412 34.7 Java 运行时环境 412 34.8 Java库 413 34.9 图形工具包 414 34.10 在特定计算机上使用Java图形 415 34.11 Java解释器和浏览器 416 34.12 编译Java程序 416 34.13 Applet例子 417 34.14 调用Applet 419 34.15 与浏览器交互的例子 419 34.16 错误和异常处理 421 34.17 JavaScript技术 421 34.18 替代 423 34.19 小结 423 34.20 练习 424 第35章 RPC和中间件 426 35.1 简介 426 35.2 客户和服务器编程 426 35.3 远程过程调用模式 427 35.4 RPC模式 428 35.5 通信存根 429 35.6 外部数据表示 430 35.7 中间件和面向对象中间件 431 35.7.1 ONC RPC 432 35.7.2 DCE RPC 432 35.7.3 MSRPC 432 35.7.4 CORBA 432 35.7.5 MSRPC2 433 35.7.6 COM/DCOM 433 35.8 小结 433 35.9 练习 434 第36章 网络管理(SNMP) 435 36.1 简介 435 36.2 管理Internet 435 36.3 隐匿失败的危险 436 36.4 网络管理软件 436 36.5 客户、服务器、管理者和代理 436 36.6 简单网络管理协议 437 36.7 获取-存储模式 438 36.8 MIB和对象名称 438 36.9 各种不同的MIB变量 439 36.10 对应于数组的MIB变量 439 36.11 小结 440 36.12 练习 440 第37章 网络安全 441 37.1 简介 441 37.2 安全网络和策略 441 37.3 安全涉及的方面 442 37.4 责任和控制 442 37.5 完整性机制 443 37.6 存取控制和口令 443 37.7 加密和机密性 443 37.8 公钥加密 444 37.9 数字签名认证 445 37.10 Internet防火墙 445 37.11 包过滤 447 37.12 使用包过滤创建防火墙 448 37.13 虚拟专用网 448 37.14 封装 450 37.15 小结 451 37.16 练习 451 第38章 初始化(配置) 452 38.1 简介 452 38.2 引导 452 38.3 启动协议软件 452 38.4 协议参数 453 38.5 协议配置 453 38.6 需要配置的条目示例 454 38.7 配置例子:使用磁盘文件 454 38.8 自动协议配置的需求 455 38.9 自动协议配置方法 455 38.10 用于发现地址的地址 456 38.11 引导中使用的协议序列 457 38.12 引导协议(BOOTP) 457 38.13 自动地址分配 459 38.14 动态主机配置协议(DHCP) 460 38.15 DHCP的优化 461 38.16 DHCP消息格式 461 38.17 DHCP和域名 462 38.18 小结 462 38.19 练习 463 附录1 网络术语和缩略语 464 附录2 ASCII字符集 503 附录3 点分十进制表示法的地址掩码 504 附录4 本书光盘的使用 506 附录5 在家里建立一个带有NAT的网络 511 附录6 Purdue大学网络实验室 516 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。