Java 8 新特性详解及应用示例

Java 8 是 Java 发展历程中的一个重大里程碑,它引入了许多革命性的新特性,极大地提高了开发效率,增强了语言的表达力,并为函数式编程风格提供了支持。以下是Java 8主要新特性的详解及其应用示例。

1. Lambda表达式

Lambda表达式允许你以更简洁的方式传递行为给方法,替代了传统的匿名内部类。Lambda特别适合集合操作和事件处理等场景。

示例:

List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.sort((a, b) -> a.compareTo(b));

2. 函数式接口

函数式接口是只有一个抽象方法的接口,如java.util.function.FunctionPredicate等。Lambda表达式可以赋值给函数式接口类型的变量。

示例:

Predicate<String> isLongEnough = s -> s.length() > 5;
System.out.println(isLongEnough.test("Hello")); // 输出: true

3. 方法引用

方法引用提供了一种更简洁的方式来引用已有方法,无需显式声明Lambda表达式。

示例:

BiFunction<String, String, Integer> compare = String::compareToIgnoreCase;
int result = compare.apply("Java", "java"); // 结果为0,表示两者相等

4. Stream API

Stream API 提供了一种高效处理集合元素的管道方式,支持并行处理,简化了集合的遍历、过滤、映射等操作。

示例:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
                                 .filter(n -> n % 2 == 0)
                                 .collect(Collectors.toList());

5. 接口默认方法和静态方法

接口可以有默认方法和静态方法,这样可以在不破坏现有实现的情况下向接口添加新的功能。

示例:

interface Defaulable {
    default String notRequired() {
        return "Default implementation";
    }

    static int getDefaultInt() {
        return 42;
    }
}

6. 新的日期/时间API

Java 8 引入了新的日期时间API (java.time包),提供了更易用、线程安全且领域驱动的日期和时间类。

示例:

LocalDate today = LocalDate.now();
LocalTime now = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.of(today, now);

7. Optional类

Optional类用于避免空指针异常,它是一个可以包含或不包含非null值的容器对象。

示例:

Optional<String> optional = Optional.ofNullable(getName());
optional.ifPresent(System.out::println);

8. 并行流(Parallel Streams)

Java 8 引入的并行流是对Stream API的一个重要增强,它允许程序利用多核处理器的优势,自动将操作分配到多个线程中执行,从而显著提高数据处理速度。这对于数据密集型应用而言是一个巨大的进步。

示例:

List<Integer> numbers = IntStream.rangeClosed(1, 1000000).boxed().collect(Collectors.toList());
long sum = numbers.parallelStream().mapToInt(Integer::intValue).sum();
System.out.println(sum);

在这个例子中,通过转换为并行流,对一百万个整数求和的操作被分布到多个核心上并行执行,大大缩短了计算时间。

9. Nashorn JavaScript引擎

Java 8 引入了Nashorn JavaScript引擎,使得在JVM上直接运行JavaScript代码成为可能。这为Java应用集成脚本功能提供了便利,也为Web开发者在服务器端使用JavaScript打开了大门。

示例:

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval("print('Hello, World!')");
Invocable inv = (Invocable) engine;
Object result = inv.invokeFunction("sayHello", "Java");
System.out.println(result);

虽然Nashorn在Java 11中已被标记为废弃,并最终在Java 15中移除,但它在Java 8时代为混合语言编程提供了新的思路。

10. Base64编解码器

Java 8加入了Base64编解码API,使得在Java标准库中进行Base64编码和解码变得简单直接,不再需要依赖第三方库。

示例:

String originalString = "Java 8 Base64 Encoding and Decoding";
Base64.Encoder encoder = Base64.getEncoder();
String encodedString = encoder.encodeToString(originalString.getBytes(StandardCharsets.UTF_8));
System.out.println(encodedString);

Base64.Decoder decoder = Base64.getDecoder();

byte[ ] decodedBytes = decoder.decode(encodedString);

String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
System.out.println(decodedString);

这个特性对于需要在网络传输或存储二进制数据的场景非常有用,如图片、文件的Base64编码传输。

11. 更强大的类型推断

Java 8对类型推断机制进行了加强,使得在使用Lambda表达式和泛型时,能够更加简洁地编写代码而不需要显式指定类型。这种改进减轻了程序员的负担,使代码更加清晰,提高了开发效率。

示例:

Function<String, Integer> toLength = String::length;
// 类型推断自动识别出String到Integer的转换

List<String> stringList = Arrays.asList("one", "two", "three");
stringList.forEach(System.out::println);
// 这里foreach方法的参数推断为Consumer<String>

12. 改进的注解支持

Java 8扩展了注解的使用范围,允许在类型使用注解(包括泛型类型参数、局部变量类型声明、以及强制类型转换),并且引入了重复注解的概念,即同一个注解可以在同一地方多次使用。

示例:

@Repeatable(MyAnnotations.class)
@interface MyAnnotation {
    String value();
}

@MyAnnotation("First")
@MyAnnotation("Second")
public class MyClass {
}

13. 扩展的并发工具

为了更好地支持并发编程,Java 8引入了LongAdderLongAccumulator等类,它们提供了比AtomicLong更高的并发更新性能,尤其是在高竞争环境下。这些工具通过减少争用,优化了并发计数和其他聚合操作。

示例:

LongAdder adder = new LongAdder();
ExecutorService executor = Executors.newFixedThreadPool(10);

for (int i = 0; i < 10000; i++) {
    executor.submit(() -> adder.increment());
}
executor.shutdown();
executor.awaitTermination(1, TimeUnit.MINUTES);
System.out.println("Total increments: " + adder.sum());

14. 更强的安全特性

Java 8增强了安全性,特别是针对加密方面,引入了新的密码算法支持,如SHA-256和SHA-512的消息摘要算法,以及对PKCS#12密钥存储格式的支持,提高了应用程序的安全级别。

15. 改进的IO API:NewInputStream 和 NewOutputStream

Java 8 引入了 Files.newInputStream(Path, OpenOption...) 和 Files.newOutputStream(Path, OpenOption...) 方法,使得处理文件输入输出更为灵活高效。这些方法允许开发者指定多种打开模式,如追加、创建、不覆盖等,提高了I/O操作的便捷性和控制能力。

示例:

Path filePath = Paths.get("example.txt");
try (OutputStream outputStream = Files.newOutputStream(filePath, StandardOpenOption.CREATE, StandardOpenOption.APPEND)) {
    String content = "Appending new content";
    outputStream.write(content.getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
    e.printStackTrace();
}

16. 参数名称反射访问

Java 8 支持在运行时访问方法和构造函数的参数名称,这一特性通过 -parameters 编译选项启用,对框架开发者和元编程特别有用,便于自动生成文档、日志记录或是验证参数等。

示例:

假设有一个方法:

public void greet(String name) {
    // ...
}

使用 -parameters 编译后,在运行时可以通过反射获取到参数名 "name"。

17. 并发HashMap:ConcurrentHashMap的增强

Java 8 对 ConcurrentHashMap 进行了重大改进,增加了对计算操作的支持(如 computeIfAbsentmerge 等)和分段锁的优化,减少了锁的竞争,提高了并发性能。此外,新增的 forEach 方法支持函数式迭代,使得遍历操作更加便捷。

示例:

ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
map.put("One", 1);
map.put("Two", 2);

map.computeIfAbsent("Three", k -> 3);
map.forEach((key, value) -> System.out.println(key + ": " + value));

18. Type Annotations的改进

Java 8 扩展了类型注解的使用范围,允许注解出现在任何使用类型的地方,比如泛型参数的声明、方法的返回类型、甚至局部变量的类型声明上。这为静态分析工具和编译时检查提供了更多上下文信息,有助于发现潜在的类型安全问题。

19. 更好的命令行工具:jdeps

Java 8 引入了 jdeps 工具,用于分析项目依赖。它能帮助开发者理解项目的模块依赖关系,识别未使用的类库,这对于优化构建过程、减少部署包体积十分有帮助。

示例:

jdeps --class-path myApp.jar myPackage.MyClass

20. Javadoc改进

Java 8 对 Javadoc 进行了改进,支持HTML5标准,增强了文档的可读性和兼容性。同时,Javadoc现在能够识别并警告过时的@deprecated标签中缺失的描述,确保文档的完整性。

综上所述,Java 8 的发布不仅是一次简单的版本升级,它通过引入Lambda表达式、Stream API等现代编程特性,以及对已存在特性的优化和增强,深刻影响了Java生态的发展方向,提升了开发者的工作效率和代码质量,标志着Java语言向更加现代化、高效、灵活的方向迈出了重要的一步。

总结

随着Java平台的不断演进,Java 11引入了模块系统,Java 17及后续版本继续深化模块化、提升性能、增强安全性,并拥抱最新技术趋势,比如对Valhalla项目(价值类型和泛型特化)、Loom项目(虚拟线程)的探索,预示着Java将继续其在现代软件开发领域的领导地位。未来版本将更加注重提升开发者的生产效率、应用的性能与安全性,同时保持语言的简洁与一致性,确保Java生态系统的持续繁荣与发展。

总之,Java 8不仅是Java发展史上的一个重要转折点,也是推动整个生态系统向前迈进的关键力量。它不仅为开发者带来了直观的语法糖,更重要的是,它引领了一场编程思维的变革,鼓励开发者采用更高效、更现代的编程实践,为构建复杂、高性能的应用打下了坚实的基础。随着Java的持续进化,我们可以期待一个更加高效、灵活、安全的编程环境,以满足日益增长的软件工程需求。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else if 多分支语句switch 多分支语句 循环语句 while 循环语句do...while 循环for 循环语句 跳转语句 break 语句 continue 语句面向对象 类也是-种对象对象的创建 属性和方法 构造方法 方法重载 方法的重写 初始化 类的初始化 成员初始化 构造器初始化初始化顺序 数组初始化 对象的销毁 对象作用域 this 和 super 访问控制权限继承 多态组合代理 向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 Throwable 常见的 Exception 与 Exception 有关的 Java 关键字 throws 和 throw try 、finally 、catch 什么是 Error 内部类 创建内部类集合 Iterable 接口顶层接口 ArrayList Vector LinkedList 类Stack HashSet TreeSet LinkedHashSet 类 PriorityQueue HashMap TreeMap 类 LinkedHashMap 类 Hashtable 类IdentityHashMap 类WeakHashMap 类 Collections 类集合实现类特征图 泛形 泛型的使用 用泛型表示类 用泛型表示接口泛型方法 泛型通配符 反射 Class 类Field 类Method 类ClassLoader 类 枚举 枚举特性 枚举和普通类-样枚举神秘之处 枚举类 I/O File 类 基础 IO 类和相关方法InputStream OutputStream Reader 类Writer 类 InputStream 及其子类 OutputStream 及其子类Reader 及其子类Writer 及其子类 注解 关于 null 的几种处理方式大小写敏感 null 是任何引用类型的初始值 null 只是-种特殊的值使用 Null-Safe 方法null 判断 关于思维导图 Java.IO Java.lang Java.math Java.net Java 基础核心总结 V2.0 IO 传统的 BIO BIO NIO 和 AIO 的区别什么是流 流的分类 节点流和处理流 Java IO 的核心类 File Java IO 流对象 字节流对象InputStream OutputStream 字符流对象Reader Writer 字节流与字符流的转换新潮的 NIO 缓冲区(Buffer)通道(Channel) 示例:文件拷贝案例 BIO 和 NIO 拷贝文件的区别操作系统的零拷贝 选择器(Selectors) 选择键(SelectionKey) 示例:简易的客户端服务器通信 集合 集合框架总览 -、Iterator Iterable ListIterator 二、Map 和 Collection 接口Map 集合体系详解 HashMap LinkedHashMap TreeMap WeakHashMap Hashtable Collection 集合体系详解 Set 接口 AbstractSet 抽象类SortedSet 接口HashSet LinkedHashSet TreeSet List 接口 AbstractList 和 AbstractSequentialList Vector Stack ArrayList LinkedList Queue接口Deque 接口 AbstractQueue 抽象类LinkedList ArrayDeque PriorityQueue 反射的思想及作用 反射的基本使用 获取类的 Class 对象构造类的实例化对象获取-个类的所有信息 获取类中的变量(Field) 获取类中的方法(Method) 获取类的构造器(Constructor) 获取注解 通过反射调用方法反射的应用场景 Spring 的 IOC 容器反射 + 抽象工厂模式 JDBC 加载数据库驱动类反射的优势及缺陷 增加程序的灵活性破坏类的封装性 性能损耗 代理模式 静态代理与动态代理常见的动态代理实现JDK Proxy CGLIB JDK Proxy 和 CGLIB 的对比动态代理的实际应用 Spring AOP 变量 变量汇总实例变量 实例变量的特点全局变量 静态变量 静态变量的特点类变量 局部变量
Java开发技术大全 电子版 第1篇Java基础知识入门. 第1章Java开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释执行命令的使用10 1.2.5UltraEdit的使用11 1.3一个简单的Java应用程序14 1.4一个简单的Java小程序16 1.5本章小结18 第2章Java语言基础19 2.1Java语言的特点19 2.2Java程序的构成21 2.3数据类 型23 2.3.1基本数据类型23 2.3.2常量25 2.3.3变量26 2.3.4整型数据27 .2.3.5浮点型数据29 2.3.6字符型数据30 2.3.7布尔型数据32 2.3.8变量赋初值33 2.3.9变量的作用域34 2.3.10数据类型转换34 2.4运算符与表达式37 2.4.1算术运算符和算术表达式38 2.4.2关系运算符和关系表达式43 2.4.3逻辑运算符和逻辑表达式44 2.4.4条件运算符和条件表达式48 2.4.5位运算符和位运算表达式50 2.4.6赋值运算符和赋值表达式53 2.4.7表达式的求值顺序55 2.5流程控制语句58 2.5.1三种基本控制结构58 2.5.2表达式语句和空语句59 2.5.3块语句60 2.5.4if~else分支语句61 2.5.5多路分支switch~case语句69 2.5.6当型循环while语句71 2.5.7直到型循环do~while语句72 2.5.8当型循环for语句74 2.5.9循环的嵌套78 2.5.10跳转语句break80 2.5.11跳转语句continue82 2.6程序文本的风格84 2.6.1注释84 2.6.2程序的格式编排87 2.7基础语法实战演习88 2.7.1判断闰年88 2.7.2求最大公约数和最小公倍数89 2.7.3Fibonacci数列90 2.7.4逆向输出数字91 2.7.5求水仙花数92 2.7.6输出图形93 2.7.7输出九九口诀表94 2.8本章小结95 第2篇Java面向对象编程 第3章对象和类98 3.1面向对象的基本概念98 3.1.1对象98 3.1.2类99 3.1.3消息101 3.1.4面向对象的4个基本特征101 3.2类与对象104 3.2.1类的基本结构104 3.2.2类的声明104 3.2.3创建类体105 3.2.4对象的生命周期106 3.2.5对象的创建106 3.2.6对象的使用108 3.2.7对象的释放和垃圾收集机制108 3.3成员变量的定义与使用109 3.3.1成员变量的定义109 3.3.2成员变量的访问权限110 3.3.3实例成员变量和静态成员变量114 3.4方法的定义和实现116 3.4.1方法的声明117 3.4.2创建方法体与return语句117 3.4.3局部变量和成员变量的区别119 3.4.4方法的访问权限121 3.5方法的调用121 3.5.1方法调用的形式121 3.5.2方法调用的参数123 3.5.3隐含参数this127 3.6构造方法128 3.6.1无参数构造方法的定义和使用129 3.6.2带参数构造方法的定义和使用131 3.6.3this关键字和构造方法的调用132 3.7静态方法133 3.7.1静态方法的声明和定义134 3.7.2静态方法和实例方法的区别134 3.7.3静态代码块136 3.7.4再论静态成员变量137 3.8main()方法和命令行参数139 3.9结束方法141 3.10本地方法141 3.11本章小结144 第4章继承与多态145 4.1继承的基本原理145 4.2子类对父类的继承146 4.3属性隐藏和方法的覆盖148 4.3.1属性的隐藏148 4.3.2方法的覆盖151 4.4构造方法的继承154 4.5super的使用156 4.5.1用super引用父类的成员156 4.5.2使用super调用父类的构造方法157 4.6继承的内部处理158 4.7多态的基本概念159 4.8重载159 4.8.1普通方法的重载160 4.8.2构造方法的重载161 4.8.3重载的解析163 4.8.4重载与覆盖的区别165 4.9运行时多态165 4.9.1实例方法的运行时多态165 4.9.2成员变量运行时的表现167 4.9.3静态方法运行时
[14本经典Android开发教程]-4-Android应用程序开发36技 本书共分为4篇: ※ 第一篇:介绍应用框架概念、原理和特性。 ※ 第二篇:阐述应用框架之设计技巧。亦即,如何打造应用框架。 (注:如果你的职务是「使用」Android框架來开发应用程式的话,可以跳过本篇,直接进入第三篇。) ※ 第三篇:說明及演練Android应用程式设计的36技。 ※ 第四篇:介绍Android框架与硬体之间C组件的开发流程及工具。 已上传3本: [14本经典Android开发教程]-3-Android SDK 中文开发文档 http://download.csdn.net/detail/cleopard/8380429 [14本经典Android开发教程]-1-Android开发从入门到精通 http://download.csdn.net/detail/cleopard/8355245 [14本经典Android开发教程]-2-Android开发手册—API函数详解 http://download.csdn.net/detail/cleopard/8374487 剩余11本稍后上传!@或直接从这里寻找@ http://download.csdn.net/user/cleopard/album @更多@ http://cleopard.download.csdn.net/ 福利 http://xuemeilaile.com 17份软件测试文档 http://download.csdn.net/album/detail/1425 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资料合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资料合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资料合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 2014年移动游戏行业数据分析 http://download.csdn.net/detail/cleopard/8340331 一文读懂2014年全球互联网广告新生态 http://download.csdn.net/detail/cleopard/8340303
目录 第 1 章 结构化查询语言 DM_SQL 简介 ....................................................................1 1.1 DM_SQL 语言的特点 .....................................................................................................1 1.2 保留字与标识符 ............................................................................................................2 1.3 DM_SQL 语言的功能及语句 .........................................................................................2 1.4 DM_SQL 所支持的数据类型 .........................................................................................3 1.4.1 常规数据类型 ....................................................................................................3 1.4.2 位串数据类型 ....................................................................................................5 1.4.3 日期时间数据类型 ............................................................................................6 1.4.4 多媒体数据类型 ..............................................................................................10 1.5 DM_SQL 语言支持的表达式 .......................................................................................10 1.5.1 数值表达式 ......................................................................................................11 1.5.2 字符串表达式 ..................................................................................................13 1.5.3 时间值表达式 ..................................................................................................13 1.5.4 时间间隔值表达式 ..........................................................................................15 1.5.5 运算符的优先级 ..............................................................................................16 1.6 DM_SQL 语言支持的数据库模式 ...............................................................................17 第 2 章 手册中的示例说明 ......................................................................................18 2.1 示例库说明 ..................................................................................................................18 2.2 参考脚本 ......................................................................................................................26 2.2.1 创建示例库 ......................................................................................................26 2.2.2 创建模式及表 ..................................................................................................26 2.2.3 插入数据 ..........................................................................................................33 第 3 章 数据定义语句 ..............................................................................................50 3.1 数据库修改语句 ..........................................................................................................50 3.2 管理用户 ......................................................................................................................53 3.2.1 用户定义语句 ..................................................................................................53 3.2.2 修改用户语句 ..................................................................................................59 3.2.3 用户删除语句 ..................................................................................................62 3.3 管理模式 ......................................................................................................................63 3.3.1 模式定义语句 ..................................................................................................63 3.3.2 设置当前模式语句 ..........................................................................................65 3.3.3 模式删除语句 ..................................................................................................65 3.4 管理表空间 ..................................................................................................................66 3.4.1 表空间定义语句 ..............................................................................................66 3.4.2 修改表空间语句 ..............................................................................................67 3.4.3 表空间删除语句 ..............................................................................................69 3.4.4 表空间失效文件检查 ......................................................................................70 3.4.5 表空间失效文件恢复准备 ..............................................................................70 I 目录 3.4.6 表空间失效文件恢复 ......................................................................................70 3.5 管理 HTS 表空间 .........................................................................................................71 3.5.1 创建 HTS 表空间 .............................................................................................71 3.5.2 修改 HTS 表空间 .............................................................................................71 3.5.3 删除 HTS 表空间 .............................................................................................72 3.6 管理表 ..........................................................................................................................72 3.6.1 表定义语句 ......................................................................................................72 3.6.2 表修改语句 ....................................................................................................115 3.6.3 基表删除语句 .............................................................................................133 3.6.4 基表数据删除语句 ........................................................................................134 3.6.5 事务型 HUGE 表数据重整 ............................................................................134 3.7 管理索引 ....................................................................................................................135 3.7.1 索引定义语句 ................................................................................................135 3.7.2 索引修改语句 ................................................................................................140 3.7.3 索引删除语句 ................................................................................................142 3.8 管理位图连接索引 .....................................................................................................143 3.8.1 位图连接索引定义语句 ................................................................................143 3.8.2 位图连接索引删除语句 ................................................................................145 3.9 管理全文索引 ............................................................................................................145 3.9.1 全文索引定义语句 ........................................................................................145 3.9.2 全文索引修改语句 ........................................................................................146 3.9.3 全文索引删除语句 ........................................................................................147 3.10 管理空间索引 ..........................................................................................................148 3.11 管理数组索引 ..........................................................................................................148 3.11.1 数组索引定义语句 .....................................................................................149 3.11.2 数组索引修改语句 .....................................................................................149 3.11.3 数组索引使用 .............................................................................................149 3.11.4 数组索引删除语句 .....................................................................................151 3.12 管理序列 ..................................................................................................................151 3.12.1 序列定义语句 .............................................................................................151 3.12.2 序列修改语句 .............................................................................................154 3.12.3 序列删除语句 .............................................................................................156 3.13 管理 SQL 域 .............................................................................................................156 3.13.1 创建 DOMAIN...............................................................................................156 3.13.2 使用 DOMAIN...............................................................................................157 3.13.3 删除 DOMAIN...............................................................................................158 3.14 管理上下文 ..............................................................................................................158 3.14.1 创建上下文 ..................................................................................................158 3.14.2 删除上下文 ..................................................................................................160 3.15 管理目录 ..................................................................................................................161 3.15.1 创建目录 ......................................................................................................161 3.15.2 删除目录 ......................................................................................................161 3.16 设置当前会话 ..........................................................................................................162 3.16.1 时区信息 ......................................................................................................162 II 目录 3.16.2 日期串语言 ..................................................................................................162 3.16.3 日期串格式 ..................................................................................................163 3.17 注释语句 ..................................................................................................................163 3.18 设置 INI 参数 .........................................................................................................164 3.18.1 设置参数值 ..................................................................................................164 3.18.2 设置仅对当前会话起作用 ..........................................................................165 3.19 修改系统语句 ..........................................................................................................166 3.20 设置列、索引生成统计信息 ..................................................................................166 第 4 章 数据查询语句 ............................................................................................168 4.1 单表查询 ....................................................................................................................179 4.1.1 简单查询 ........................................................................................................179 4.1.2 带条件查询 ....................................................................................................180 4.1.3 集函数 ............................................................................................................183 4.1.4 分析函数 ........................................................................................................188 4.1.5 情况表达式 ....................................................................................................205 4.2 连接查询 ....................................................................................................................209 4.2.1 交叉连接 ........................................................................................................209 4.2.2 自然连接(NATURAL JOIN)......................................................................210 4.2.3 JOIN … USING............................................................................................210 4.2.4 JOIN…ON .......................................................................................................211 4.2.5 自连接 ............................................................................................................211 4.2.6 内连接(INNER JOIN)................................................................................212 4.2.7 外连接(OUTER JOIN)................................................................................213 4.3 子查询 ........................................................................................................................217 4.3.1 标量子查询 ....................................................................................................217 4.3.2 表子查询 ........................................................................................................218 4.3.3 派生表子查询 ................................................................................................221 4.3.4 定量比较 ........................................................................................................221 4.3.5 带 EXISTS 谓词的子查询 ...........................................................................222 4.3.6 多列表子查询 ................................................................................................223 4.4 WITH 子句 ................................................................................................................224 4.4.1 WITH FUNCTION 子句 ...............................................................................224 4.4.2 公用表表达式子句 ........................................................................................225 4.5 合并查询结果 .............................................................................................................227 4.6 GROUP BY 和 HAVING 子句 ....................................................................................229 4.6.1 GROUP BY 子句的使用 ...............................................................................229 4.6.2 ROLLUP 的使用 ............................................................................................230 4.6.3 CUBE 的使用 .................................................................................................231 4.6.4 GROUPING 的使用 .......................................................................................233 4.6.5 GROUPING SETS 的使用 ...........................................................................234 4.6.6 GROUPING_ID 的使用 ................................................................................235 4.6.7 GROUP_ID 的使用 .......................................................................................236 4.6.8 HAVING 子句的使用 ....................................................................................237 III 目录 4.7 ORDER BY 子句 ........................................................................................................237 4.8 FOR UPDATE 子句 ...................................................................................................238 4.9 TOP 子句 ....................................................................................................................240 4.10 LIMIT 限定条件 .....................................................................................................241 4.10.1 LIMIT 子句 ................................................................................................241 4.10.2 ROW_LIMIT 子句 ......................................................................................242 4.11 全文检索 ..................................................................................................................243 4.12 层次查询子句 ..........................................................................................................245 4.12.1 层次查询子句 .............................................................................................245 4.12.2 层次查询相关伪列 .....................................................................................246 4.12.3 层次查询相关操作符 .................................................................................246 4.12.4 层次查询相关函数 .....................................................................................246 4.12.5 层次查询层内排序 .....................................................................................246 4.12.6 层次查询的限制 .........................................................................................247 4.13 并行查询 ..................................................................................................................251 4.14 ROWNUM ....................................................................................................................252 4.15 数组查询 ..................................................................................................................253 4.16 查看执行计划与执行跟踪统计 ..... 目录 第 7 章 物化视图 ....................................................................................................283 7.1 物化视图的定义 ....................................................................................................283 7.2 物化视图的修改 ....................................................................................................286 7.3 物化视图的删除 ....................................................................................................287 7.4 物化视图的更新 ....................................................................................................288 7.5 物化视图允许的操作 ...........................................................................................288 7.6 物化视图日志的定义 ...........................................................................................288 7.7 物化视图日志的删除 ...........................................................................................290 7.8 物化视图的限制 ....................................................................................................290 7.8.1 物化视图的一般限制 ....................................................................................290 7.8.2 物化视图的分类 ............................................................................................290 7.8.3 快速刷新通用约束 ........................................................................................291 7.8.4 物化视图信息查看 ........................................................................................291 第 8 章 函数 ............................................................................................................293 8.1 数值函数 ....................................................................................................................298 8.2 字符串函数 ................................................................................................................311 8.3 日期时间函数 ............................................................................................................332 8.4 空值判断函数 ............................................................................................................351 8.5 类型转换函数 ............................................................................................................352 8.6 杂类函数 ....................................................................................................................355 第 9 章 一致性和并发性 ........................................................................................358 9.1 DM 事务相关语句 ......................................................................................................358 9.1.1 事务的开始 ....................................................................................................358 9.1.2 事务的结束 ....................................................................................................358 9.1.3 保存点相关语句 ............................................................................................359 9.1.4 设置事务隔离级及读写特性 ........................................................................360 9.2 DM 手动上锁语句 ......................................................................................................361 第 10 章 外部函数 ..................................................................................................364 10.1 C 外部函数 ..............................................................................................................364 10.1.1 生成动态库 .................................................................................................364 10.1.2 C 外部函数创建 ..........................................................................................366 10.1.3 举例说明 .....................................................................................................367 10.2 JAVA 外部函数 .......................................................................................................369 10.2.1 生成 jar 包 ................................................................................................370 10.2.2 JAVA 外部函数创建 ..................................................................................370 10.2.3 举例说明 .....................................................................................................371 10.3 AP 使用说明 ............................................................................................................372 第 11 章 包 .............................................................................................................373 11.1 创建包 ......................................................................................................................373 V 目录 11.1.1 创建包规范 .................................................................................................373 11.1.2 创建包主体 .................................................................................................374 11.2 重编译包 ..................................................................................................................376 11.3 删除包 ......................................................................................................................376 11.3.1 删除包规范 .................................................................................................376 11.3.2 删除包主体 .................................................................................................377 11.4 应用实例 ..................................................................................................................377 第 12 章 类类型 ......................................................................................................381 12.1 普通 CLASS 类型 .....................................................................................................381 12.1.1 声明类 .........................................................................................................382 12.1.2 实现类 .........................................................................................................383 12.1.3 重编译类 .....................................................................................................385 12.1.4 删除类 .........................................................................................................386 12.1.5 类的使用 .....................................................................................................386 12.2 JAVA CLASS 类型 .................................................................................................388 12.2.1 定义 JAVA 类 ..............................................................................................389 12.2.2 重编译 JAVA 类 ..........................................................................................391 12.2.3 删除 JAVA 类 ..............................................................................................391 12.2.4 类的使用 .....................................................................................................391 第 13 章自定义类型 ................................................................................................393 13.1 创建类型 ..................................................................................................................393 13.2 创建类型体 ...............................................................................................................394 13.3 重编译类型 ...............................................................................................................395 13.4 删除类型 ...................................................................................................................395 13.4.1 删除类型 ......................................................................................................396 13.4.2 删除类型体 ..................................................................................................396 13.5 自定义类型的使用 ...................................................................................................396 13.5.1 使用规则 .....................................................................................................396 13.5.2 应用实例 .....................................................................................................396 第 14 章 触发器 ......................................................................................................398 14.1 触发器的定义 ..........................................................................................................398 14.1.1 表触发器 ......................................................................................................398 14.1.2 事件触发器 ..................................................................................................408 14.1.3 时间触发器 ..................................................................................................418 14.2 触发器替换 ..............................................................................................................419 14.3 设计触发器的原则 ...................................................................................................419 14.4 触发器的删除 ..........................................................................................................420 14.5 禁止和允许触发器 ..................................................................................................420 14.6 触发器的重编 ..........................................................................................................421 14.7 触发器应用举例 ......................................................................................................421 14.7.1 使用触发器实现审计功能 .........................................................................422 VI 目录 14.7.2 使用触发器维护数据完整性 ......................................................................422 14.7.3 使用触发器保障数据安全性 ......................................................................423 14.7.4 使用触发器生成字段默认值 ......................................................................424 第 15 章 同义词 ......................................................................................................426 15.1 创建同义词 ..............................................................................................................426 15.2 删除同义词 ..............................................................................................................427 第 16 章 外部链接 ..................................................................................................429 16.1 创建外部链接 ..........................................................................................................429 16.2 删除外部链接 ..........................................................................................................433 16.3 使用外部链接 ..........................................................................................................434 第 17 章 闪回查询 ..................................................................................................435 17.1 闪回查询子句 ..........................................................................................................435 17.2 闪回版本查询 ..........................................................................................................437 17.3 闪回事务查询 ..........................................................................................................439 第 18 章 JSON.........................................................................................................440 18.1 数据类型 ...................................................................................................................440 18.1.1 string......................................................................................................440 18.1.2 number......................................................................................................441 18.1.3 true、false...........................................................................................441 18.1.4 null...........................................................................................................443 18.1.5 object......................................................................................................444 18.1.6 array ........................................................................................................444 18.2 函数 ..........................................................................................................................444 18.2.1 json_value ............................................................................................444 18.2.2 json_query ............................................................................................445 18.2.3 函数参数详解 ...........................................................................................446 18.3 使用 IS JSON/IS NOT JSON 条件 ...................................................................448 18.4 视图 ...........................................................................................................................451 18.4.1 视图使用说明 ..............................................................................................451 18.4.2 DBA_JSON_COLUMNS................................................................................451 18.4.3 USER_JSON_COLUMNS .............................................................................452 18.4.4 ALL_JSON_COLUMNS................................................................................452 18.5 一个简单的例子 .......................................................................................................452 第 19 章 高级日志 ..................................................................................................455 19.1 简介 ..........................................................................................................................455 19.2 使用须知 ..................................................................................................................455 19.3 语法 ..........................................................................................................................455 19.3.1 管理日志辅助表 .........................................................................................455 19.3.2 使用日志辅助表的规则与约束 ..................................................................456 VII 目录 19.3.3 日志辅助表结构 .........................................................................................456 19.3.4 系统过程 .....................................................................................................457 19.4 使用高级日志同步数据的原则 ..............................................................................457 19.5 应用实例 ..................................................................................................................459 19.5.1 创建不带主键的源表 .................................................................................459 19.5.2 创建带主键的源表 .....................................................................................462 附录 1 关键字和保留字 .........................................................................................465 附录 2 SQL 语法描述说明 ....................................................................................469 附录 3 系统存储过程和函数 .................................................................................472 1) INI 参数管理 ..............................................................................................................472 2) 系统信息管理 ...............................................................................................................477 3) 备份恢复管理 ...............................................................................................................491 4) 定时器管理 ...................................................................................................................521 5) 数据复制管理 ...............................................................................................................524 6) 模式对象相关信息管理 ...............................................................................................533 7) 数据守护管理 ...............................................................................................................543 8) MPP 管理 ......................................................................................................................548 9) 日志与检查点管理 .......................................................................................................551 10) 数据库重演 ................................................................................................................552 11) 统计信息 ....................................................................................................................553 12) 资源监测 ....................................................................................................................560 13) 类型别名 ....................................................................................................................570 14) 杂类函数 ....................................................................................................................572 15) 编目函数调用的系统函数 .........................................................................................583 16) BFILE.........................................................................................................................593 17) HUGE 表备份还原 ......................................................................................................593 18) 定制会话级 INI 参数 ...............................................................................................595 19) 为 SQL 指定 HINT......................................................................................................597 20) 时区设置 ....................................................................................................................599
1.1 Java语言发展简史2 1.2 认识Java语言3 1.2.1 Java语言特性3 1.2.2 JavaApplet4 1.2.3 丰富的类库4 1.2.4 Java的竞争对手5 1.2.5 Java应用领域的优势7 1.3 Java平台的体系结构7 1.3.1 JavaSE标准版8 1.3.2 JavaEE企业版10 1.3.3 JavaME微型版11 1.4 JavaSE环境安装和配置12 1.4.1 什么是JDK12 1.4.2 JDK安装目录和实用命令工具介绍12 1.4.3 设置环境变量13 1.4.4 验证配置的正确性14 1.5 MyEcilpse工具介绍JavaSE环境安装和配置15 1.6 本章练习16 第2章 2.1 什么是程序18 2.2 计算机中的程序18 2.3 Java程序19 2.3.1 Java程序中的类型19 2.3.2 Java程序开发三步曲21 2.3.3 开发Java第一个程序21 2.3.4 Java代码中的注释23 2.3.5 常见错误解析24 2.4 Java类库组织结构和文档27 2.5 Java虚拟机简介28 2.6 Java技术两种核心运行机制29 2.7 上机练习30 第3章 3.1 变量32 3.1.1 什么是变量32 3.1.2 为什么需要变量32 3.1.3 变量的声明和赋值33 3.1.4 变量应用实例33 3.2 数据的分类34 3.2.1 Java中的八种基本数据类型34 3.2.2 普及二进制36 3.2.3 进制间转换37 3.2.4 基本数据类型间转换38 3.2.5 数据类型应用实例38 3.2.6 引用数据类型39 3.3 关键字.标识符.常量39 3.3.1 变量命名规范39 3.3.2 经验之谈-常见错误的分析与处理40 3.3.3 Java标识符命名规则41 3.3.4 关键字42 3.3.5 常量42 3.4 运算符43 3.4.1 算术运算符43 3.4.2 赋值操作符45 3.4.3 关系操作符47 3.4.4 逻辑操作符48 3.4.5 位操作符49 3.4.6 移位运算符49 3.4.7 其他操作符50 3.5 表达式52 3.5.1 表达式简介52 3.5.2 表达式的类型和值52 3.5.3 表达式的运算顺序52 3.5.4 优先级和结合性问题52 3.6 选择结构54 3.6.1 顺序语句54 3.6.2 选择条件语句54 3.6.3 switch结构59 3.6.4 经验之谈-常见错误的分析与处理65 3.6.5 Switch和多重if结构比较66 3.7 循环语句66 3.7.1 While循环67 3.7.2 经验之谈-常见while错误70 3.7.3 do-while循环72 3.7.4 for循环74 3.7.5 经验之谈-for常见错误76 3.7.6 循环语句小结78 3.7.7 break语句79 3.7.8 continue语句82 3.8 JavaDebug技术84 3.9 本章练习85 第4章 4.1 一维数组90 4.1.1 为什么要使用数组90 4.1.2 什么是数组91 4.1.3 如何使用数组92 4.1.4 经验之谈-数组常见错误97 4.2 常用算法98 4.2.1 平均值,最大值,最小值98 4.2.3 数组排序102 4.2.3 数组复制103 4.3 多维数组105 4.3.1 二重循环105 4.3.2 控制流程进阶107 4.3.3 二维数组111 4.4 经典算法113 4.4.1 算法-冒泡排序113 4.4.2 插入排序115 4.5 增强for循环116 4.6 本章练习117 第5章 5.1 面向过程的设计思想120 5.2 面向对象的设计思想120 5.3 抽象121 5.3.1 对象的理解121 5.3.2 Java抽象思想的实现122 5.4 封装124 5.4.1 对象封装的概念理解124 5.4.2 类的理解125 5.4.3 Java类模板创建125 5.4.4 Java中对象的创建和使用127 5.5 属性130 5.5.1 属性的定义130 5.5.2 变量131 5.6 方法132 5.6.1 方法的定义132 5.6.2 构造方法135 5.6.4 方法重载138 5.6.5 自定义方法138 5.6.6 系统提供方法139 5.6.7 方法调用140 5.6.8 方法参数及其传递问题144 5.6.9 理解main方法语法及命令行参数147 5.6.1 0递归算法147 5.7 this关键字148 5.8 JavaBean149 5.9 包150 5.9.1 为什么需要包?150 5.9.2 如何创建包151 5.9.3 编译并生成包:151
目 录 译者序 前言 第一部分 TCP/IP基础 第1章 开放式通信模型简介 1 1.1 开放式网络的发展 1 1.1.1 通信处理层次化 2 1.1.2 OSI参考模型 3 1.1.3 模型的使用 5 1.2 TCP/IP参考模型 7 1.3 小结 7 第2章 TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13 2.2.3 有关RFC的幽默 13 2.3 Internet服务简介 13 2.3.1 Whois和Finger 14 2.3.2 文件传输协议 14 2.3.3 Telnet 14 2.3.4 Email 14 2.3.5 WWW 14 2.3.6 USENET News 15 2.4 Intranet和Extranet概览 15 2.4.1 Intranet 15 2.4.2 将Intranet对外开放 16 2.5 Internet的明天 16 2.5.1 下一代Internet(NGI) 16 2.5.2 超速骨干网服务 16 2.5.3 Internet2(I2) 17 2.6 Internet管理组织 17 2.6.1 Internet协会 17 2.6.2 Internet体系结构组 17 2.6.3 Internet工程任务组 17 2.6.4 Internet工程指导组 17 2.6.5 Internet编号管理局 18 2.6.6 Internet名字和编号分配组织 (ICANN) 18 2.6.7 Internet网络信息中心和其他注 册组织 18 2.6.8 RFC编辑 18 2.6.9 Internet服务提供商 18 2.7 小结 19 第3章 TCP/IP概述 20 3.1 TCP/IP的优点 20 3.2 TCP/IP的层和协议 21 3.2.1 体系结构 21 3.2.2 传输控制协议 21 3.2.3 IP协议 23 3.2.4 应用层 25 3.2.5 传输层 25 3.2.6 网络层 25 3.2.7 链路层 25 3.3 远程登录(Telnet) 25 3.4 文件传输协议(FTP) 25 3.5 普通文件传输协议(TFTP) 26 3.6 简单邮件传输协议(SMTP) 26 3.7 网络文件系统(NFS) 26 3.8 简单网络管理协议(SNMP) 27 3.9 TCP/IP和系统结合 27 3.10 内部网概述 28 3.11 小结 28 第二部分 命名和寻址 第4章 IP网络中的名字和地址 29 4.1 IP寻址 29 4.1.1 二进制和十进制数 30 4.1.2 IPv4地址格式 30 4.2 子网的出现 34 4.2.1 分子网 35 4.2.2 可变长子网掩码(VLSM) 37 4.3 无类域前路由(CIDR) 38 4.3.1 无类地址 38 4.3.2 强化路由汇聚 39 4.3.3 超网化 39 4.3.4 CIDR怎样工作 39 4.3.5 公共地址空间 40 4.3.6 RFC 1597和1918 40 4.4 小结 40 第5章 ARP和RARP 41 5.1 使用地址 41 5.1.1 子网寻址 41 5.1.2 IP地址 43 5.2 使用地址解析协议 44 5.2.1 ARP cache 45 5.2.2 代理ARP 47 5.2.3 反向地址解析协议 47 5.3 使用ARP命令 47 5.4 小结 47 第6章 DNS:名字服务器 48 6.1 域名系统概述 48 6.2 授权局 50 6.3 DNS分布数据库 50 6.4 域和区 50 6.5 Internet顶级域 51 6.6 选择一个域名服务器 52 6.7 名字服务解析过程 52 6.7.1 递归查询 52 6.7.2 叠代查询 52 6.8 高速缓存 52 6.9 反向解析(Pointer)查询 52 6.10 DNS安全 52 6.11 资源记录 53 6.12 小结 54 第7章 WINS 55 7.1 NetBIOS 55 7.2 NetBIOS名字解析 57 7.3 动态NetBIOS名字解析 58 7.3.1 使用WINS的优点 58 7.3.2 WINS如何工作 59 7.3.3 配置WINS客户机 60 7.3.4 为代理配置WINS 60 7.3.5 配置NT 4.0系统 61 7.3.6 配置Windows 95或Windows 98 系统 61 7.4 安装WINS服务器 61 7.5 WINS管理和维护 62 7.5.1 加入静态表项 62 7.5.2 维护WINS数据库 63 7.5.3 备份WINS数据库 65 7.5.4 备份WINS注册项 65 7.5.5 恢复WINS数据库 65 7.5.6 压缩WINS数据库 66 7.5.7 WINS复制参与者 66 7.5.8 WINS实现建议 67 7.6 集成WINS和DNS名字解析服务 67 7.7 DHCP服务WINS选项 67 7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导”协议(BOOTP) 71 8.2 动态主机配置协议(DHCP) 72 8.2.1 DHCP如何工作 72 8.2.2 理解租用地址 73 8.3 管理地址池 74 8.4 DHCP能处理的其他分配 75 8.4.1 注意重载 75 8.4.2 其他分配 75 8.5 小结 76 第三部分 IP和相关协议 第9章 IP协议家族 77 9.1 TCP/IP模型 77 9.1.1 解剖TCP/IP模型 78 9.1.2 协议组件 78 9.2 理解网际协议(IP) 79 9.2.1 IPv4结构 79 9.2.2 IP做什么 80 9.3 理解传输控制协议(TCP) 81 9.3.1 TCP头结构 81 9.3.2 TCP做什么 83 9.4 理解用户数据报协议(UDP) 85 9.4.1 UDP头结构 85 9.4.2 UDP能做什么 85 9.4.3 TCP和UDP 86 9.5 小结 86 第10章 IPv6 87 10.1 IPv6数据报 87 10.1.1 优先级分类 88 10.1.2 流标识 89 10.1.3 128位IP地址 89 10.1.4 IP扩展头 90 10.2 多IP地址主机 91 10.3 单播、组播和任一播头 91 10.4 从IPv4到IPv6的过渡 93 10.5 小结 94 第四部分 IP互联 第11章 IP网络中的路由 95 11.1 路由基本知识 95 11.1.1 静态路由 96 11.1.2 距离-向量路由 99 11.1.3 链路-状态路由 100 11.2 IP网络中的收敛 102 11.2.1 适应拓扑变化 102 11.2.2 收敛时间 106 11.3 计算IP网络中的路由 106 11.3.1 存储多条路由 107 11.3.2 初始化更新 107 11.3.3 路由度量标准 107 11.4 小结 108 第12章 路由信息协议(RIP) 109 12.1 理解RFC1058 109 12.1.1 RIP报文格式 109 12.1.2 RIP路由表 111 12.2 操作机制 112 12.2.1 计算距离向量 113 12.2.2 更新路由表 116 12.2.3 寻址问题 118 12.3 拓扑变化 120 12.3.1 收敛 120 12.3.2 计值到无穷 122 12.4 RIP的限制 127 12.4.1 跳数限制 128 12.4.2 固定度量 128 12.4.3 对路由表更新反应强烈 128 12.4.4 收敛慢 128 12.4.5 缺乏负载均衡 128 12.5 小结 129 第13章 开放式最短路径优先 130 13.1 OSPF起源 130 13.2 理解RFC 2328 OSPF,版本2 130 13.2.1 OSPF区 131 13.2.2 路由更新 134 13.3 研究OSPF数据结构 136 13.3.1 HELLO报文 137 13.3.2 数据库描述报文 137 13.3.3 链路-状态请求报文 138 13.3.4 链路-状态更新报文 138 13.3.5 链路-状态应答报文 140 13.4 计算路由 140 13.4.1 使用自动计算 140 13.4.2 使用缺省路由耗费 141 13.4.3 最短路径树 142 13.5 小结 144 第14章 网关协议 145 14.1 网关、桥和路由器 145 14.1.1 网关 145 14.1.2 网桥 146 14.1.3 路由器 146 14.1.4 自治系统 146 14.2 网关协议:基础知识 146 14.3 内部网关协议和外部网关协议 147 14.3.1 网关-网关协议(GGP) 147 14.3.2 外部网关协议(EGP) 147 14.3.3 内部网关协议(IGP) 148 14.4 小结 148 第五部分 网络服务 第15章 互联网打印协议 149 15.1 IPP历史 149 15.2 IPP和端用户 150 15.3 使用HP的IPP实现 151 15.4 小结 152 第16章 LDAP:目录服务 153 16.1 为什么使用目录服务 153 16.2 目录服务的功能 153 16.3 IP上的目录服务 154 16.4 OSI X.500目录模型 156 16.4.1 早期的X.500 157 16.4.2 今天的X.500 157 16.5 LDAP结构 157 16.5.1 LDAP层次结构 157 16.5.2 名字结构 158 16.6 目录系统代理和访问协议 158 16.7 轻型目录访问协议 158 16.7.1 查询信息 159 16.7.2 存储信息 160 16.7.3 访问权限和安全 160 16.8 LDAP服务器-服务器通信 161 16.8.1 LDAP数据互换格式(LDIF) 161 16.8.2 LDAP复制 162 16.9 设计LDAP服务 162 16.9.1 定义需求 162 16.9.2 设计策略 163 16.9.3 性能 164 16.9.4 网络功能 165 16.9.5 安全 166 16.10 LDAP配置 169 16.11 产品环境 169 16.11.1 创建计划 170 16.11.2 有价值的建议 171 16.12 选择LDAP软件 171 16.13 小结 174 第17章 远程访问协议 175 17.1 远程互联 175 17.1.1 ISDN 176 17.1.2 电缆调制解调器 176 17.1.3 数字用户环(DSL) 176 17.1.4 无线网络 177 17.2 远程认证拨入用户服务(RADIUS) 177 17.2.1 RADIUS认证 178 17.2.2 记账信息 179 17.3 用SLIP、CSLIP和PPP传输IP数 据报文 179 17.3.1 串行线路接口协议(SLIP) 179 17.3.2 压缩的SLIP(CSLIP) 180 17.3.3 点到点协议(PPP) 180 17.4 隧道远程访问 184 17.4.1 点到点隧道协议(PPTP) 185 17.4.2 两层隧道协议(L2TP) 188 17.4.3 IPSec 192 17.5 小结 194 第18章 防火墙 195 18.1 使网络安全 195 18.2 使用防火墙 196 18.2.1 代理服务器 197 18.2.2 报文过滤器 198 18.3 使服务安全 198 18.3.1 电子邮件(SMTP) 198 18.3.2 HTTP:万维网 199 18.3.3 FTP 199 18.3.4 Telnet 199 18.3.5 Usenet:NNTP 199 18.3.6 DNS 200 18.4 建造用户自己的防火墙 200 18.5 使用商业防火墙软件 200 18.6 小结 202 第19章 IP安全 203 19.1 使用加密 203 19.1.1 公共-私钥加密 204 19.1.2 对称私钥加密 205 19.1.3 DES、IDEA及其他 205 19.2 数字签名认证 206 19.3 破译加密的数据 207 19.4 保护网络 207 19.4.1 登录名和口令 208 19.4.2 文件的目录允许权限 208 19.4.3 信任关系 209 19.4.4 UNIX和Linux系统上的UUCP 209 19.5 应付最坏情况 210 19.6 小结 210 第六部分 实现TCP/IP 第20章 一般配置问题 211 20.1 安装网卡 211 20.1.1 网卡 211 20.1.2 资源配置 212 20.1.3 安装适配器软件 213 20.1.4 重定向器和API 214 20.1.5 服务 214 20.1.6 NIC接口 215 20.2 网络和传输层协议 215 20.2.1 IP配置要求 215 20.2.2 配置缺省网关地址 216 20.2.3 配置名字服务器地址 217 20.2.4 配置邮件服务器地址 217 20.2.5 注册域名 218 20.3 IP配置 218 20.4 配置路由表 218 20.5 异种协议的IP封装 219 20.6 小结 220 第21章 Windows 98 221 21.1 Windows 98网络体系结构 221 21.1.1 安装网卡 222 21.1.2 更改网卡配置 224 21.1.3 当Windows 98引导失败 224 21.2 配置Windows 98的TCP/IP 225 21.2.1 写在开始之前 225 21.2.2 安装TCP/IP 225 21.2.3 配置微软的TCP/IP 225 21.2.4 DNS配置 227 21.2.5 静态配置文件 228 21.2.6 注册表配置 229 21.2.7 测试TCP/IP 231 21.3 小结 232 第22章 Windows 98拨号网络 233 22.1 配置拨号网络适配器 233 22.2 安装拨号网络 234 22.3 服务器类型 235 22.4 编写脚本 238 22.5 多重链接 238 22.6 PPTP 239 22.6.1 安装及配置PPTP 240 22.6.2 建立PPTP连接 240 22.7 Windows 98拨号服务器 241 22.8 解决拨号网络连接中的问题 242 22.8.1 确认DUN配置 242 22.8.2 PPP日志 243 22.9 小结 243 第23章 Windows NT 4.0 244 23.1 Windows NT版本 244 23.2 体系结构 244 23.3 安装Windows NT 4.0 244 23.4 配置TCP/IP 246 23.4.1 IP地址 246 23.4.2 DNS 248 23.4.3 WINS地址 248 23.4.4 DHCP中继 249 23.4.5 路由 250 23.5 简单TCP/IP服务 250 23.6 远程访问服务(RAS) 250 23.7 DHCP服务器 252 23.7.1 安装DHCP服务器服务 252 23.7.2 控制DHCP服务器服务 253 23.7.3 压缩DHCP数据库 253 23.7.4 管理DHCP 254 23.8 使用Microsoft DNS 256 23.8.1 安装DNS 256 23.8.2 创建区 257 23.8.3 配置逆向域名解功能 258 23.8.4 配置DNS与WINS服务器的连 接 259 23.8.5 增加辅助名字服务器 259 23.9 FTP和HTTP服务 259 23.10 TCP/IP打印服务 259 23.10.1 安装TCP/IP打印服务 259 23.10.2 安装LPR服务 260 23.11 Windows 2000新特性 260 23.12 小结 261 第24章 在Novell NetWare中支持IP 262 24.1 Novell与TCP/IP 262 24.1.1 IP与NetWare 4 262 24.1.2 NetWare 5与Pure IP初始化 262 24.2 传统解决方案:NetWare 3.x到 NetWare 4.x的IP支持 263 24.2.1 IP隧道 264 24.2.2 IP中继 264 24.2.3 LAN WorkPlace 264 24.2.4 IPX-IP网关 265 24.2.5 NetWare/IP 265 24.3 NetWare 5—Novell对IP的 完全支持 266 24.3.1 纯IP 266 24.3.2 多协议 266 24.4 安装选项 266 24.4.1 NetWare 5的IP-Only安装 267 24.4.2 IPX-Only安装 267 24.4.3 混合TCP/IP安装 268 24.5 IP迁移辅助工具 268 24.5.1 NDS 268 24.5.2 DNS 269 24.5.3 DHCP 269 24.5.4 DDNS 269 24.5.5 SLP 269 24.5.6 兼容模式 269 24.5.7 迁移代理 270 24.6 迁移策略 270 24.6.1 使用测试平台 270 24.6.2 迁移建议 270 24.7 小结 271 第七部分 使用TCP/IP应用 第25章 Whois和Finger 273 25.1 理解Whois协议 273 25.1.1 互联网注册 273 25.1.2 Whois数据库 274 25.1.3 基于Web的Whois 275 25.1.4 命令行方式的Whois 276 25.1.5 示例 276 25.1.6 基于Telnet的Whois 278 25.2 扩充Whois 279 25.2.1 提示Whois(RWhois) 279 25.2.2 WHOIS++ 280 25.3 使用Finger 280 25.3.1 Finger命令 280 25.3.2 Finger 守护进程 282 25.3.3 非UNIX环境下的Finger 283 25.3.4 Finger的应用 283 25.4 相关RFC文档 285 25.5 小结 285 第26章 文件传输协议 286 26.1 FTP和TFTP在网络世界中的作用 286 26.2 使用FTP传输文件 286 26.2.1 FTP连接 287 26.2.2 使用FTP客户端建立连接 288 26.2.3 FTP安全 296 26.2.4 FTP服务器及守护进程 299 26.2.5 匿名FTP访问 299 26.3 使用TFTP 300 26.3.1 FTP与TFTP的区别 301 26.3.2 TFTP命令 301 26.4 小结 301 第27章 使用Telnet 302 27.1 理解Telnet协议 302 27.2 Telnet守护进程 303 27.3 使用Telnet 304 27.3.1 UNIX telnet命令 304 27.3.2 Telnet GUI应用 305 27.3.3 Telnet命令 305 27.3.4 示例 308 27.4 高级主题 309 27.4.1 安全 309 27.4.2 Telnet应用 309 27.4.3 使用Telnet访问其他TCP/IP 服务 310 27.5 相关RFC文档 312 27.6 小结 313 第28章 使用r系列实用工具 314 28.1 理解r系列命令 314 28.1.1 安全问题 314 28.1.2 禁止使用r系列命令 315 28.1.3 增强r系列命令的安全性 316 28.2 使用r系列命令的替代方法 317 28.3 r系列命令详解 317 28.3.2 相关文件 320 28.4 在非UNIX环境下实现r系 列命令的功能 321 28.5 小结 322 第29章 使用网络文件系统(NFS) 323 29.1 什么是NFS 323 29.1.1 NFS的历史 323 29.1.2 为何使用NFS 323 29.2 实现—NFS工作过程 324 29.2.1 远程过程调用(RPC) 和外部数据表示(XDR) 324 29.2.2 加载类型 324 29.3 NFS使用的文件及命令 325 29.3.1 NFS守护进程 325 29.3.2 与NFS相关的文件 327 29.3.3 NFS服务器命令 329 29.3.4 NFS客户命令 331 29.4 示例:共享及加载NFS文件系统 333 29.5 NFS常见问题及解决方案 334 29.5.1 不能加载 334 29.5.2 不能卸载 334 29.5.3 硬加载与软加载 334 29.6 相关协议及产品 334 29.6.1 WebNFS 335 29.6.2 基于PC的NFS及其他客户端 软件 335 29.6.3 SMB和CIFS 335 29.6.4 其他产品 336 29.7 小结 336 第八部分 使用基于IP的应用 第30章 在应用中集成TCP/IP 337 30.1 使用浏览器作为表示层 338 30.2 不断增加的Internet应用 338 30.3 在已有应用中集成TCP/IP 339 30.4 在其他网络中使用TCP/IP 339 30.4.1 NetBIOS与TCP/IP 339 30.4.2 IPX与UDP 340 30.4.3 ARCNET与TCP/IP 340 30.5 小结 340 第31章 Internet Email协议 341 31.1 电子邮件 341 31.1.1 电子邮件的历史 341 31.1.2 标准及制定标准的组织 341 31.2 X.400 341 31.3 简单邮件传输协议(SMTP) 343 31.3.1 MIME和SMTP 343 31.3.2 其他编码标准 344 31.3.3 SMTP命令 344 31.3.4 SMTP状态码 345 31.3.5 扩展SMTP 345 31.3.6 检查SMTP的头 346 31.3.7 SMTP的优势与不足 347 31.4 使用POP和IMAP取回客户邮件 347 31.4.1 邮局协议(POP) 347 31.4.2 互联网邮件访问协议(IMAP) 348 31.4.3 POP3与IMAP4的比较 348 31.5 高级主题 349 31.6 相关RFC文档及其他参考信息 351 31.7 小结 352 第32章 HTTP: World Wide Web 353 32.1 万维网(WWW) 353 32.1.1 Web简史 353 32.1.2 Web的发展 354 32.2 统一资源定位器 354 32.3 Web服务器与浏览器 355 32.4 理解HTTP 356 32.4.1 HTTP/1.1 356 32.4.2 MIME与Web 358 32.4.3 HTTP通信示例 358 32.5 高级主题 359 32.5.1 服务器方功能 359 32.5.2 SSL和S-HTTP 359 32.6 Web语言 359 32.6.1 HTML 360 32.6.2 XML 360 32.6.3 CGI 361 32.6.4 Java 361 32.6.5 JavaScript 362 32.6.6 动态服务器页面 362 32.7 Web的未来 363 32.7.1 HTTP-ng 363 32.7.2 IIOP 363 32.7.3 IPv6 363 32.7.4 IPP 363 32.8 小结 364 第33章 NNTP:互联网新闻组 365 33.1 互联网新闻组 365 33.2 新闻组和层次 366 33.3 网络新闻传输协议 367 33.3.1 获取新闻组 367 33.3.2 获取消息 369 33.3.3 发布消息 370 33.4 大量广告(Spamming)和新闻黑洞 (Blackholing) 371 33.5 小结 371 第34章 Web服务 373 34.1 Web服务工作概览 373 34.2 主流Web服务器 375 34.3 运行Apache HTTP Web服务 376 34.3.1 下载、安装和配置Apache 376 34.3.2 在Windows环境下使用Apache 381 34.4 浏览其他Web服务器 383 34.5 小结 383 第九部分 使用与管理TCP/IP网络 第35章 协议配置与调整 385 35.1 系统的初始化问题 385 35.2 配置文件 390 35.2.1 在/etc/protocols文件中定义网 络协议 390 35.2.2 在/etc/hosts文件中标识主机 391 35.2.3 TCP/IP与/etc/services文件 392 35.2.4 inetd守护进程与/etc/inetd.conf 文件 394 35.2.5 在/etc/networks文件中设置网络 397 35.2.6 DNS客户与/etc/resolv.conf 397 35.3 小结 398 第36章 配置DNS 399 36.1 域名服务器 399 36.2 资源记录 400 36.3 域名解析 401 36.4 配置UNIX或Linux域名服务器 (DNS) 401 36.4.1 添加资源记录 402 36.4.2 完成DNS文件 402 36.4.3 启动DNS守护进程 405 36.4.4 配置客户端 405 36.5 Windows和域名服务器 405 36.6 小结 406 第37章 网络管理 407 37.1 制定网络监控方案 407 37.2 网络问题及其解决方案 408 37.3 网络管理工具 408 37.3.1 使用协议分析器 409 37.3.2 专家系统 410 37.3.3 基于PC的分析器 410 37.3.4 网络管理协议支持 411 37.3.5 集成网络仿真/模型工具 411 37.4 配置SNMP 412 37.4.1 配置Windows SNMP 413 37.4.2 配置UNIX SNMP 414 37.4.3 SNMP安全属性 414 37.4.4 SNMP代理与管理 415 37.5 SNMP工具及命令 416 37.6 RMON及相关的MIB模型 417 37.7 建立网管需求 417 37.8 小结 419 第38章 SNMP:简单网络管理协议 420 38.1 什么是SNMP 420 38.2 管理信息基(MIB) 421 38.3 使用SNMP 421 38.4 UNIX与SNMP 422 38.4.1 在UNIX和Linux上安装SNMP 423 38.4.2 SNMP命令 424 38.5 Windows与SNMP 424 38.5.1 Windows NT 425 38.5.2 Windows 95、Windows 98和 Windows 3.x 425 38.6 小结 427 第39章 加强TCP/IP传输安全 428 39.1 定义所需的网络安全 428 39.1.1 什么是网络安全 428 39.1.2 为什么网络安全非常重要 429 39.1.3 安全级别 429 39.1.4 口令与口令文件 430 39.1.5 控制对口令的访问 430 39.2 加强网络安全 431 39.2.1 攻击种类 431 39.2.2 加强网络安全 432 39.3 应用配置 434 39.3.1 Internet守护进程与 /etc/inetd.conf 434 39.3.2 网络加密软件 436 39.3.3 TCP Wrapper 436 39.4 使用端口及可信端口 437 39.4.1 防火墙 437 39.4.2 包过滤 437 39.4.3 应用层网关 438 39.4.4 其他应用的过滤 438 39.5 一般安全事务 438 39.5.1 用户帐号维护 438 39.5.2 审计 438 39.5.3 正确的系统配置 438 39.6 小结 438 第40章 问题解决工具及要点 440 40.1 监视网络行为 440 40.2 标准应用程序 440 40.2.1 测试基本连接 441 40.2.2 ping命令 442 40.2.3 解决网络访问故障 443 40.3 解决网络接口层问题 449 40.4 解决网络层问题 449 40.4.1 TCP/IP配置参数 449 40.4.2 IP地址配置问题 450 40.5 解决TCP和UDP问题 453 40.6 解决应用层问题 455 40.7 小结 455 第十部分 附 录 附录A RFC及标准化 457 附录B Linux 469 附录C 简写与缩略语 480
太大了,分了四个包<br>目 录<br>译者序<br>前言<br>第一部分 TCP/IP基础<br>第1章 开放式通信模型简介 1<br>1.1 开放式网络的发展 1<br>1.1.1 通信处理层次化 2<br>1.1.2 OSI参考模型 3<br>1.1.3 模型的使用 5<br>1.2 TCP/IP参考模型 7<br>1.3 小结 7<br>第2章 TCP/IP和Internet 8<br>2.1 一段历史 8<br>2.1.1 ARPANET 8<br>2.1.2 TCP/IP 9<br>2.1.3 国家科学基金会(NSF) 9<br>2.1.4 当今的Internet 12<br>2.2 RFC和标准化过程 12<br>2.2.1 获得RFC 13<br>2.2.2 RFC索引 13<br>2.2.3 有关RFC的幽默 13<br>2.3 Internet服务简介 13<br>2.3.1 Whois和Finger 14<br>2.3.2 文件传输协议 14<br>2.3.3 Telnet 14<br>2.3.4 Email 14<br>2.3.5 WWW 14<br>2.3.6 USENET News 15<br>2.4 Intranet和Extranet概览 15<br>2.4.1 Intranet 15<br>2.4.2 将Intranet对外开放 16<br>2.5 Internet的明天 16<br>2.5.1 下一代Internet(NGI) 16<br>2.5.2 超速骨干网服务 16<br>2.5.3 Internet2(I2) 17<br>2.6 Internet管理组织 17<br>2.6.1 Internet协会 17<br>2.6.2 Internet体系结构组 17<br>2.6.3 Internet工程任务组 17<br>2.6.4 Internet工程指导组 17<br>2.6.5 Internet编号管理局 18<br>2.6.6 Internet名字和编号分配组织<br> (ICANN) 18<br>2.6.7 Internet网络信息中心和其他注<br> 册组织 18<br>2.6.8 RFC编辑 18<br>2.6.9 Internet服务提供商 18<br>2.7 小结 19<br>第3章 TCP/IP概述 20<br>3.1 TCP/IP的优点 20<br>3.2 TCP/IP的层和协议 21<br>3.2.1 体系结构 21<br>3.2.2 传输控制协议 21<br>3.2.3 IP协议 23<br>3.2.4 应用层 25<br>3.2.5 传输层 25<br>3.2.6 网络层 25<br>3.2.7 链路层 25<br>3.3 远程登录(Telnet) 25<br>3.4 文件传输协议(FTP) 25<br>3.5 普通文件传输协议(TFTP) 26<br>3.6 简单邮件传输协议(SMTP) 26<br>3.7 网络文件系统(NFS) 26<br>3.8 简单网络管理协议(SNMP) 27<br>3.9 TCP/IP和系统结合 27<br>3.10 内部网概述 28<br>3.11 小结 28<br>第二部分 命名和寻址<br>第4章 IP网络中的名字和地址 29<br>4.1 IP寻址 29<br>4.1.1 二进制和十进制数 30<br>4.1.2 IPv4地址格式 30<br>4.2 子网的出现 34<br>4.2.1 分子网 35<br>4.2.2 可变长子网掩码(VLSM) 37<br>4.3 无类域前路由(CIDR) 38<br>4.3.1 无类地址 38<br>4.3.2 强化路由汇聚 39<br>4.3.3 超网化 39<br>4.3.4 CIDR怎样工作 39<br>4.3.5 公共地址空间 40<br>4.3.6 RFC 1597和1918 40<br>4.4 小结 40<br>第5章 ARP和RARP 41<br>5.1 使用地址 41<br>5.1.1 子网寻址 41<br>5.1.2 IP地址 43<br>5.2 使用地址解析协议 44<br>5.2.1 ARP cache 45<br>5.2.2 代理ARP 47<br>5.2.3 反向地址解析协议 47<br>5.3 使用ARP命令 47<br>5.4 小结 47<br>第6章 DNS:名字服务器 48<br>6.1 域名系统概述 48<br>6.2 授权局 50<br>6.3 DNS分布数据库 50<br>6.4 域和区 50<br>6.5 Internet顶级域 51<br>6.6 选择一个域名服务器 52<br>6.7 名字服务解析过程 52<br>6.7.1 递归查询 52<br>6.7.2 叠代查询 52<br>6.8 高速缓存 52<br>6.9 反向解析(Pointer)查询 52<br>6.10 DNS安全 52<br>6.11 资源记录 53<br>6.12 小结 54<br>第7章 WINS 55<br>7.1 NetBIOS 55<br>7.2 NetBIOS名字解析 57<br>7.3 动态NetBIOS名字解析 58<br>7.3.1 使用WINS的优点 58<br>7.3.2 WINS如何工作 59<br>7.3.3 配置WINS客户机 60<br>7.3.4 为代理配置WINS 60<br>7.3.5 配置NT 4.0系统 61<br>7.3.6 配置Windows 95或Windows 98<br> 系统 61<br>7.4 安装WINS服务器 61<br>7.5 WINS管理和维护 62<br>7.5.1 加入静态表项 62<br>7.5.2 维护WINS数据库 63<br>7.5.3 备份WINS数据库 65<br>7.5.4 备份WINS注册项 65<br>7.5.5 恢复WINS数据库 65<br>7.5.6 压缩WINS数据库 66<br>7.5.7 WINS复制参与者 66<br>7.5.8 WINS实现建议 67<br>7.6 集成WINS和DNS名字解析服务 67<br>7.7 DHCP服务WINS选项 67<br>7.8 通过LMHOSTS进行NetBIOS名字<br> 解析 68<br>7.9 小结 69<br>第8章 地址发现协议(BOOTP和DHCP) 71<br>8.1 “引导”协议(BOOTP) 71<br>8.2 动态主机配置协议(DHCP) 72<br>8.2.1 DHCP如何工作 72<br>8.2.2 理解租用地址 73<br>8.3 管理地址池 74<br>8.4 DHCP能处理的其他分配 75<br>8.4.1 注意重载 75<br>8.4.2 其他分配 75<br>8.5 小结 76<br>第三部分 IP和相关协议<br>第9章 IP协议家族 77<br>9.1 TCP/IP模型 77<br>9.1.1 解剖TCP/IP模型 78<br>9.1.2 协议组件 78<br>9.2 理解网际协议(IP) 79<br>9.2.1 IPv4结构 79<br>9.2.2 IP做什么 80<br>9.3 理解传输控制协议(TCP) 81<br>9.3.1 TCP头结构 81<br>9.3.2 TCP做什么 83<br>9.4 理解用户数据报协议(UDP) 85<br>9.4.1 UDP头结构 85<br>9.4.2 UDP能做什么 85<br>9.4.3 TCP和UDP 86<br>9.5 小结 86<br>第10章 IPv6 87<br>10.1 IPv6数据报 87<br>10.1.1 优先级分类 88<br>10.1.2 流标识 89<br>10.1.3 128位IP地址 89<br>10.1.4 IP扩展头 90<br>10.2 多IP地址主机 91<br>10.3 单播、组播和任一播头 91<br>10.4 从IPv4到IPv6的过渡 93<br>10.5 小结 94<br>第四部分 IP互联<br>第11章 IP网络中的路由 95<br>11.1 路由基本知识 95<br>11.1.1 静态路由 96<br>11.1.2 距离-向量路由 99<br>11.1.3 链路-状态路由 100<br>11.2 IP网络中的收敛 102<br>11.2.1 适应拓扑变化 102<br>11.2.2 收敛时间 106<br>11.3 计算IP网络中的路由 106<br>11.3.1 存储多条路由 107<br>11.3.2 初始化更新 107<br>11.3.3 路由度量标准 107<br>11.4 小结 108<br>第12章 路由信息协议(RIP) 109<br>12.1 理解RFC1058 109<br>12.1.1 RIP报文格式 109<br>12.1.2 RIP路由表 111<br>12.2 操作机制 112<br>12.2.1 计算距离向量 113<br>12.2.2 更新路由表 116<br>12.2.3 寻址问题 118<br>12.3 拓扑变化 120<br>12.3.1 收敛 120<br>12.3.2 计值到无穷 122<br>12.4 RIP的限制 127<br>12.4.1 跳数限制 128<br>12.4.2 固定度量 128<br>12.4.3 对路由表更新反应强烈 128<br>12.4.4 收敛慢 128<br>12.4.5 缺乏负载均衡 128<br>12.5 小结 129<br>第13章 开放式最短路径优先 130<br>13.1 OSPF起源 130<br>13.2 理解RFC 2328 OSPF,版本2 130<br>13.2.1 OSPF区 131<br>13.2.2 路由更新 134<br>13.3 研究OSPF数据结构 136<br>13.3.1 HELLO报文 137<br>13.3.2 数据库描述报文 137<br>13.3.3 链路-状态请求报文 138<br>13.3.4 链路-状态更新报文 138<br>13.3.5 链路-状态应答报文 140<br>13.4 计算路由 140<br>13.4.1 使用自动计算 140<br>13.4.2 使用缺省路由耗费 141<br>13.4.3 最短路径树 142<br>13.5 小结 144<br>第14章 网关协议 145<br>14.1 网关、桥和路由器 145<br>14.1.1 网关 145<br>14.1.2 网桥 146<br>14.1.3 路由器 146<br>14.1.4 自治系统 146<br>14.2 网关协议:基础知识 146<br>14.3 内部网关协议和外部网关协议 147<br>14.3.1 网关-网关协议(GGP) 147<br>14.3.2 外部网关协议(EGP) 147<br>14.3.3 内部网关协议(IGP) 148<br>14.4 小结 148<br>第五部分 网络服务<br>第15章 互联网打印协议 149<br>15.1 IPP历史 149<br>15.2 IPP和端用户 150<br>15.3 使用HP的IPP实现 151<br>15.4 小结 152<br>第16章 LDAP:目录服务 153<br>16.1 为什么使用目录服务 153<br>16.2 目录服务的功能 153<br>16.3 IP上的目录服务 154<br>16.4 OSI X.500目录模型 156<br>16.4.1 早期的X.500 157<br>16.4.2 今天的X.500 157<br>16.5 LDAP结构 157<br>16.5.1 LDAP层次结构 157<br>16.5.2 名字结构 158<br>16.6 目录系统代理和访问协议 158<br>16.7 轻型目录访问协议 158<br>16.7.1 查询信息 159<br>16.7.2 存储信息 160<br>16.7.3 访问权限和安全 160<br>16.8 LDAP服务器-服务器通信 161<br>16.8.1 LDAP数据互换格式(LDIF) 161<br>16.8.2 LDAP复制 162<br>16.9 设计LDAP服务 162<br>16.9.1 定义需求 162<br>16.9.2 设计策略 163<br>16.9.3 性能 164<br>16.9.4 网络功能 165<br>16.9.5 安全 166<br>16.10 LDAP配置 169<br>16.11 产品环境 169<br>16.11.1 创建计划 170<br>16.11.2 有价值的建议 171<br>16.12 选择LDAP软件 171<br>16.13 小结 174<br>第17章 远程访问协议 175<br>17.1 远程互联 175<br>17.1.1 ISDN 176<br>17.1.2 电缆调制解调器 176<br>17.1.3 数字用户环(DSL) 176<br>17.1.4 无线网络 177<br>17.2 远程认证拨入用户服务(RADIUS) 177<br>17.2.1 RADIUS认证 178<br>17.2.2 记账信息 179<br>17.3 用SLIP、CSLIP和PPP传输IP数<br> 据报文 179<br>17.3.1 串行线路接口协议(SLIP) 179<br>17.3.2 压缩的SLIP(CSLIP) 180<br>17.3.3 点到点协议(PPP) 180<br>17.4 隧道远程访问 184<br>17.4.1 点到点隧道协议(PPTP) 185<br>17.4.2 两层隧道协议(L2TP) 188<br>17.4.3 IPSec 192<br>17.5 小结 194<br>第18章 防火墙 195<br>18.1 使网络安全 195<br>18.2 使用防火墙 196<br>18.2.1 代理服务器 197<br>18.2.2 报文过滤器 198<br>18.3 使服务安全 198<br>18.3.1 电子邮件(SMTP) 198<br>18.3.2 HTTP:万维网 199<br>18.3.3 FTP 199<br>18.3.4 Telnet 199<br>18.3.5 Usenet:NNTP 199<br>18.3.6 DNS 200<br>18.4 建造用户自己的防火墙 200<br>18.5 使用商业防火墙软件 200<br>18.6 小结 202<br>第19章 IP安全 203<br>19.1 使用加密 203<br>19.1.1 公共-私钥加密 204<br>19.1.2 对称私钥加密 205<br>19.1.3 DES、IDEA及其他 205<br>19.2 数字签名认证 206<br>19.3 破译加密的数据 207<br>19.4 保护网络 207<br>19.4.1 登录名和口令 208<br>19.4.2 文件的目录允许权限 208<br>19.4.3 信任关系 209<br>19.4.4 UNIX和Linux系统上的UUCP 209<br>19.5 应付最坏情况 210<br>19.6 小结 210<br>第六部分 实现TCP/IP<br>第20章 一般配置问题 211<br>20.1 安装网卡 211<br>20.1.1 网卡 211<br>20.1.2 资源配置 212<br>20.1.3 安装适配器软件 213<br>20.1.4 重定向器和API 214<br>20.1.5 服务 214<br>20.1.6 NIC接口 215<br>20.2 网络和传输层协议 215<br>20.2.1 IP配置要求 215<br>20.2.2 配置缺省网关地址 216<br>20.2.3 配置名字服务器地址 217<br>20.2.4 配置邮件服务器地址 217<br>20.2.5 注册域名 218<br>20.3 IP配置 218<br>20.4 配置路由表 218<br>20.5 异种协议的IP封装 219<br>20.6 小结 220<br>第21章 Windows 98 221<br>21.1 Windows 98网络体系结构 221<br>21.1.1 安装网卡 222<br>21.1.2 更改网卡配置 224<br>21.1.3 当Windows 98引导失败 224<br>21.2 配置Windows 98的TCP/IP 225<br>21.2.1 写在开始之前 225<br>21.2.2 安装TCP/IP 225<br>21.2.3 配置微软的TCP/IP 225<br>21.2.4 DNS配置 227<br>21.2.5 静态配置文件 228<br>21.2.6 注册表配置 229<br>21.2.7 测试TCP/IP 231<br>21.3 小结 232<br>第22章 Windows 98拨号网络 233<br>22.1 配置拨号网络适配器 233<br>22.2 安装拨号网络 234<br>22.3 服务器类型 235<br>22.4 编写脚本 238<br>22.5 多重链接 238<br>22.6 PPTP 239<br>22.6.1 安装及配置PPTP 240<br>22.6.2 建立PPTP连接 240<br>22.7 Windows 98拨号服务器 241<br>22.8 解决拨号网络连接中的问题 242<br>22.8.1 确认DUN配置 242<br>22.8.2 PPP日志 243<br>22.9 小结 243<br>第23章 Windows NT 4.0 244<br>23.1 Windows NT版本 244<br>23.2 体系结构 244<br>23.3 安装Windows NT 4.0 244<br>23.4 配置TCP/IP 246<br>23.4.1 IP地址 246<br>23.4.2 DNS 248<br>23.4.3 WINS地址 248<br>23.4.4 DHCP中继 249<br>23.4.5 路由 250<br>23.5 简单TCP/IP服务 250<br>23.6 远程访问服务(RAS) 250<br>23.7 DHCP服务器 252<br>23.7.1 安装DHCP服务器服务 252<br>23.7.2 控制DHCP服务器服务 253<br>23.7.3 压缩DHCP数据库 253<br>23.7.4 管理DHCP 254<br>23.8 使用Microsoft DNS 256<br>23.8.1 安装DNS 256<br>23.8.2 创建区 257<br>23.8.3 配置逆向域名解功能 258<br>23.8.4 配置DNS与WINS服务器的连<br> 接 259<br>23.8.5 增加辅助名字服务器 259<br>23.9 FTP和HTTP服务 259<br>23.10 TCP/IP打印服务 259<br>23.10.1 安装TCP/IP打印服务 259<br>23.10.2 安装LPR服务 260<br>23.11 Windows 2000新特性 260<br>23.12 小结 261<br>第24章 在Novell NetWare中支持IP 262<br>24.1 Novell与TCP/IP 262<br>24.1.1 IP与NetWare 4 262<br>24.1.2 NetWare 5与Pure IP初始化 262<br>24.2 传统解决方案:NetWare 3.x到<br> NetWare 4.x的IP支持 263<br>24.2.1 IP隧道 264<br>24.2.2 IP中继 264<br>24.2.3 LAN WorkPlace 264<br>24.2.4 IPX-IP网关 265<br>24.2.5 NetWare/IP 265<br>24.3 NetWare 5—Novell对IP的<br> 完全支持 266<br>24.3.1 纯IP 266<br>24.3.2 多协议 266<br>24.4 安装选项 266<br>24.4.1 NetWare 5的IP-Only安装 267<br>24.4.2 IPX-Only安装 267<br>24.4.3 混合TCP/IP安装 268<br>24.5 IP迁移辅助工具 268<br>24.5.1 NDS 268<br>24.5.2 DNS 269<br>24.5.3 DHCP 269<br>24.5.4 DDNS 269<br>24.5.5 SLP 269<br>24.5.6 兼容模式 269<br>24.5.7 迁移代理 270<br>24.6 迁移策略 270<br>24.6.1 使用测试平台 270<br>24.6.2 迁移建议 270<br>24.7 小结 271<br>第七部分 使用TCP/IP应用<br>第25章 Whois和Finger 273<br>25.1 理解Whois协议 273<br>25.1.1 互联网注册 273<br>25.1.2 Whois数据库 274<br>25.1.3 基于Web的Whois 275<br>25.1.4 命令行方式的Whois 276<br>25.1.5 示例 276<br>25.1.6 基于Telnet的Whois 278<br>25.2 扩充Whois 279<br>25.2.1 提示Whois(RWhois) 279<br>25.2.2 WHOIS++ 280<br>25.3 使用Finger 280<br>25.3.1 Finger命令 280<br>25.3.2 Finger 守护进程 282<br>25.3.3 非UNIX环境下的Finger 283<br>25.3.4 Finger的应用 283<br>25.4 相关RFC文档 285<br>25.5 小结 285<br>第26章 文件传输协议 286<br>26.1 FTP和TFTP在网络世界中的作用 286<br>26.2 使用FTP传输文件 286<br>26.2.1 FTP连接 287<br>26.2.2 使用FTP客户端建立连接 288<br>26.2.3 FTP安全 296<br>26.2.4 FTP服务器及守护进程 299<br>26.2.5 匿名FTP访问 299<br>26.3 使用TFTP 300<br>26.3.1 FTP与TFTP的区别 301<br>26.3.2 TFTP命令 301<br>26.4 小结 301<br>第27章 使用Telnet 302<br>27.1 理解Telnet协议 302<br>27.2 Telnet守护进程 303<br>27.3 使用Telnet 304<br>27.3.1 UNIX telnet命令 304<br>27.3.2 Telnet GUI应用 305<br>27.3.3 Telnet命令 305<br>27.3.4 示例 308<br>27.4 高级主题 309<br>27.4.1 安全 309<br>27.4.2 Telnet应用 309<br>27.4.3 使用Telnet访问其他TCP/IP<br> 服务 310<br>27.5 相关RFC文档 312<br>27.6 小结 313<br>第28章 使用r系列实用工具 314<br>28.1 理解r系列命令 314<br>28.1.1 安全问题 314<br>28.1.2 禁止使用r系列命令 315<br>28.1.3 增强r系列命令的安全性 316<br>28.2 使用r系列命令的替代方法 317<br>28.3 r系列命令详解 317<br>28.3.2 相关文件 320<br>28.4 在非UNIX环境下实现r系<br> 列命令的功能 321<br>28.5 小结 322<br>第29章 使用网络文件系统(NFS) 323<br>29.1 什么是NFS 323<br>29.1.1 NFS的历史 323<br>29.1.2 为何使用NFS 323<br>29.2 实现—NFS工作过程 324<br>29.2.1 远程过程调用(RPC)<br> 和外部数据表示(XDR) 324<br>29.2.2 加载类型 324<br>29.3 NFS使用的文件及命令 325<br>29.3.1 NFS守护进程 325<br>29.3.2 与NFS相关的文件 327<br>29.3.3 NFS服务器命令 329<br>29.3.4 NFS客户命令 331<br>29.4 示例:共享及加载NFS文件系统 333<br>29.5 NFS常见问题及解决方案 334<br>29.5.1 不能加载 334<br>29.5.2 不能卸载 334<br>29.5.3 硬加载与软加载 334<br>29.6 相关协议及产品 334<br>29.6.1 WebNFS 335<br>29.6.2 基于PC的NFS及其他客户端<br> 软件 335<br>29.6.3 SMB和CIFS 335<br>29.6.4 其他产品 336<br>29.7 小结 336<br>第八部分 使用基于IP的应用<br>第30章 在应用中集成TCP/IP 337<br>30.1 使用浏览器作为表示层 338<br>30.2 不断增加的Internet应用 338<br>30.3 在已有应用中集成TCP/IP 339<br>30.4 在其他网络中使用TCP/IP 339<br>30.4.1 NetBIOS与TCP/IP 339<br>30.4.2 IPX与UDP 340<br>30.4.3 ARCNET与TCP/IP 340<br>30.5 小结 340<br>第31章 Internet Email协议 341<br>31.1 电子邮件 341<br>31.1.1 电子邮件的历史 341<br>31.1.2 标准及制定标准的组织 341<br>31.2 X.400 341<br>31.3 简单邮件传输协议(SMTP) 343<br>31.3.1 MIME和SMTP 343<br>31.3.2 其他编码标准 344<br>31.3.3 SMTP命令 344<br>31.3.4 SMTP状态码 345<br>31.3.5 扩展SMTP 345<br>31.3.6 检查SMTP的头 346<br>31.3.7 SMTP的优势与不足 347<br>31.4 使用POP和IMAP取回客户邮件 347<br>31.4.1 邮局协议(POP) 347<br>31.4.2 互联网邮件访问协议(IMAP) 348<br>31.4.3 POP3与IMAP4的比较 348<br>31.5 高级主题 349<br>31.6 相关RFC文档及其他参考信息 351<br>31.7 小结 352<br>第32章 HTTP: World Wide Web 353<br>32.1 万维网(WWW) 353<br>32.1.1 Web简史 353<br>32.1.2 Web的发展 354<br>32.2 统一资源定位器 354<br>32.3 Web服务器与浏览器 355<br>32.4 理解HTTP 356<br>32.4.1 HTTP/1.1 356<br>32.4.2 MIME与Web 358<br>32.4.3 HTTP通信示例 358<br>32.5 高级主题 359<br>32.5.1 服务器方功能 359<br>32.5.2 SSL和S-HTTP 359<br>32.6 Web语言 359<br>32.6.1 HTML 360<br>32.6.2 XML 360<br>32.6.3 CGI 361<br>32.6.4 Java 361<br>32.6.5 JavaScript 362<br>32.6.6 动态服务器页面 362<br>32.7 Web的未来 363<br>32.7.1 HTTP-ng 363<br>32.7.2 IIOP 363<br>32.7.3 IPv6 363<br>32.7.4 IPP 363<br>32.8 小结 364<br>第33章 NNTP:互联网新闻组 365<br>33.1 互联网新闻组 365<br>33.2 新闻组和层次 366<br>33.3 网络新闻传输协议 367<br>33.3.1 获取新闻组 367<br>33.3.2 获取消息 369<br>33.3.3 发布消息 370<br>33.4 大量广告(Spamming)和新闻黑洞<br> (Blackholing) 371<br>33.5 小结 371<br>第34章 Web服务 373<br>34.1 Web服务工作概览 373<br>34.2 主流Web服务器 375<br>34.3 运行Apache HTTP Web服务 376<br>34.3.1 下载、安装和配置Apache 376<br>34.3.2 在Windows环境下使用Apache 381<br>34.4 浏览其他Web服务器 383<br>34.5 小结 383<br>第九部分 使用与管理TCP/IP网络<br>第35章 协议配置与调整 385<br>35.1 系统的初始化问题 385<br>35.2 配置文件 390<br>35.2.1 在/etc/protocols文件中定义网<br> 络协议 390<br>35.2.2 在/etc/hosts文件中标识主机 391<br>35.2.3 TCP/IP与/etc/services文件 392<br>35.2.4 inetd守护进程与/etc/inetd.conf<br> 文件 394<br>35.2.5 在/etc/networks文件中设置网络 397<br>35.2.6 DNS客户与/etc/resolv.conf 397<br>35.3 小结 398<br>第36章 配置DNS 399<br>36.1 域名服务器 399<br>36.2 资源记录 400<br>36.3 域名解析 401<br>36.4 配置UNIX或Linux域名服务器<br> (DNS) 401<br>36.4.1 添加资源记录 402<br>36.4.2 完成DNS文件 402<br>36.4.3 启动DNS守护进程 405<br>36.4.4 配置客户端 405<br>36.5 Windows和域名服务器 405<br>36.6 小结 406<br>第37章 网络管理 407<br>37.1 制定网络监控方案 407<br>37.2 网络问题及其解决方案 408<br>37.3 网络管理工具 408<br>37.3.1 使用协议分析器 409<br>37.3.2 专家系统 410<br>37.3.3 基于PC的分析器 410<br>37.3.4 网络管理协议支持 411<br>37.3.5 集成网络仿真/模型工具 411<br>37.4 配置SNMP 412<br>37.4.1 配置Windows SNMP 413<br>37.4.2 配置UNIX SNMP 414<br>37.4.3 SNMP安全属性 414<br>37.4.4 SNMP代理与管理 415<br>37.5 SNMP工具及命令 416<br>37.6 RMON及相关的MIB模型 417<br>37.7 建立网管需求 417<br>37.8 小结 419<br>第38章 SNMP:简单网络管理协议 420<br>38.1 什么是SNMP 420<br>38.2 管理信息基(MIB) 421<br>38.3 使用SNMP 421<br>38.4 UNIX与SNMP 422<br>38.4.1 在UNIX和Linux上安装SNMP 423<br>38.4.2 SNMP命令 424<br>38.5 Windows与SNMP 424<br>38.5.1 Windows NT 425<br>38.5.2 Windows 95、Windows 98和<br> Windows 3.x 425<br>38.6 小结 427<br>第39章 加强TCP/IP传输安全 428<br>39.1 定义所需的网络安全 428<br>39.1.1 什么是网络安全 428<br>39.1.2 为什么网络安全非常重要 429<br>39.1.3 安全级别 429<br>39.1.4 口令与口令文件 430<br>39.1.5 控制对口令的访问 430<br>39.2 加强网络安全 431<br>39.2.1 攻击种类 431<br>39.2.2 加强网络安全 432<br>39.3 应用配置 434<br>39.3.1 Internet守护进程与<br> /etc/inetd.conf 434<br>39.3.2 网络加密软件 436<br>39.3.3 TCP Wrapper 436<br>39.4 使用端口及可信端口 437<br>39.4.1 防火墙 437<br>39.4.2 包过滤 437<br>39.4.3 应用层网关 438<br>39.4.4 其他应用的过滤 438<br>39.5 一般安全事务 438<br>39.5.1 用户帐号维护 438<br>39.5.2 审计 438<br>39.5.3 正确的系统配置 438<br>39.6 小结 438<br>第40章 问题解决工具及要点 440<br>40.1 监视网络行为 440<br>40.2 标准应用程序 440<br>40.2.1 测试基本连接 441<br>40.2.2 ping命令 442<br>40.2.3 解决网络访问故障 443<br>40.3 解决网络接口层问题 449<br>40.4 解决网络层问题 449<br>40.4.1 TCP/IP配置参数 449<br>40.4.2 IP地址配置问题 450<br>40.5 解决TCP和UDP问题 453<br>40.6 解决应用层问题 455<br>40.7 小结 455<br>第十部分 附 录<br>附录A RFC及标准化 457<br>附录B Linux 469<br>附录C 简写与缩略语 480<br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾利克斯冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值