1. Linux 实用教程 刘兵 吴煜煌等编著 本书从三个方面来介绍 Red Hat Linux 操作系统。第一部分是 Red Hat Linux 操作系统的安装、配置及常用命令。第二部分是 Red Hat Linux 操作系统的网络管理。包括如何管理用户,如何设置 DNS 服务器, SMTP/POP3 E-mail 服务器, Web 服务器, NFS 服务器以及文件和打印服务器, FTP 服务器的配置和维护,最后对 Linux 系统的网络安全及应用架构进行了讲解。第三部分是如何在 Red Hat Linux 进行程序设计,包括一个程序的编辑、编译、调试、生成 RPM 安装包的整个过程。本书使用 Red Hat 9.0 版本为例来描述。 本书适合高等学校计算机专业及计算机网络专业的学生使用。也可作为 Linux 系统管理人员、网络管理人员及广大 Linux 爱好者学习使用。
2.
3. Linux 以它的高效性和灵活性著称。它能够在个人计算机上实现全部的 Unix 特性,具有多任务、多用户的能力。 Linux 可在 GNU (“不是 UNIX ” 工程的缩写)公共许可权限下免费获得,是一个符合 POSIX 标准的操作系统。 Linux 操作系统软件包不仅包括完整的 Linux 操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的 X-Windows 图形用户界面,如同我们使用 Windows NT 一样,允许我们使用窗口、图标和菜单对系统进行操作。
4.
5.
6.
7.
8.
9. 1.1.3 Red Hat Linux 的主要优势 1.2 Red Hat 9.0 的安装 1.2.1 Red Hat 9.0 的硬件需求 1.2.2 安装前的准备
25. ( 16 )准备安装: 应该看到一个安装 Red Hat Linux 做准备的屏幕。 当你重新引导系统后,一份完整的安装日志可在 /root/install.log 中找到,以备今后参考。要取消安装进程,按计算机的重新启动按钮,或者使用 [Control]-[Alt]-[Delete] 组合键来重启计算机。
31. ( 22 )安装完成 祝贺你!你的 Red Hat Linux 9 安装现已完成! 安装程序会提示你做好重新引导系统的准备。 如果安装介质(磁盘驱动器内的磁盘或光盘驱动器内的光盘)在重新引导时没有被自动弹出,请记住取出它们。
32. 1.2.4 Red Hat Linux9.0 的登录和关闭 1. 登录: 使用 Red Hat Linux 系统的一个前提条件是登录。登录实际上是向系统做自我介绍,又称验证( authentication )。如果键入了错误的用户名或口令,就不会被允许进入系统。 Linux 系统有普通用户和超级用户之分。普通用户的用户名是任意的,而超级用户的用户名是 root 。 Linux 系统是严格区分大小写的,无论是用户名、文件名、设备名都是如此。即 liubing 、 LiuBing 、 LIUBING 是三个不同的用户名或文件名。图 1-21 显示为 Red
49. 1.3.4 打印机的安装与设置 Red Hat Linux 包括了一个用来配置本地和远程打印机的图形化工具。使用它,不必再安装额外的驱动程序和应用程序,此工具使用渐进的步骤来帮助用户配置打印机。有两种方式打开打印机的图形化配置工具,方法如下: 依次选择“主菜单->系统设置-> Printing ” 双击桌面上的“从这里开始”图标,选择“系统设置”,然后在打开的对话框中选择“ Printing ”
50. 1. 添加本地打印机 ( 1 )要添加并行端口或 USB 端口的本地打印机,单击打印机配置工具主窗口上的“新建”按钮。
71. 终端显示提示符后,用户就可以输入命令请示系统执行。这里所谓命令就是请示调用某个程序。例如当用户输入 date 命令时,系统就去调用 date 程序显示当前的日期和时间,终端屏幕上会出现类似下面的信息: [root@lbliubing root]# date 日 2 月 1 15:49:11 CST 2004 当命令输入完毕后,一定不要忘记按回车健,因为系统只有收到回车键才认为命令行结束。 又如 询问当前有哪些用户挂在系统里。命令及响应如下所示: [root@lbliubing root]# who root :0 Feb 1 15:41 root pts/0 Feb 1 15:46 (:0.0) jl pts/1 Feb 1 15:40 (:0.0)
72. 还有另外的方法 可以查看目前登录用户的注册信息。命令及响应如下所示: [root@lbliubing root]# who am i root pts/0 Feb 1 15:46 (:0.0) 这时系统仅回送用户自己的注册信息。假如用户打错了命令,系统将回答这一命令没有找到。 [root@lbliubing root]# whom whom: unable to open /root/Mail/draft: 没有那个文件或目录 上面几条命令在终端中的输入方法及响应如图 2-3 所示。
73. 另外,在终端上还有一个命令补齐 (Command-Line Completion) 的操作技巧,所谓命令补齐是指当键入的字符足以确定目录中一个唯一的文件时,只须按 Tab 键就可以自动补齐该文件名的剩下部分,例如要把目录 /freesoft 下的文件 gcc-2.8.1.tar.gz 解包,当键入到 tar xvfz /freesoft/g 时,如果此文件是该目录下唯一以 g 开头的文件,这时就可以按下 Tab 键,这时命令会被自动补齐为: tar xvfz /freesoft/gcc-2.8.1.tar.gz ,非常方便
75. 这意味着 bash 保留了一定数目的先前已经在 shell 里输入过的命令。这个数目取决于一个叫做 HISTSIZE 的变量。 使用历史记录列表最简单的方法是用上方向键。 另一个使用命令历史文件的方法是用 bash 的内部命令 history 和 fc(fix 命令 ) 命令来显示和编辑历史命令。 history 命令能以两种不同的方法来调用。第一种是: history [n] 当 history 命令没有参数时,整个历史命令列表的内容将被显示出来。使用 n 参数的作用是仅有最后 n 个历史命令会被列出 。 例如, history 5 显示最后 5 个命令。 调用 history 命令的第二种方法用于修改命令历史列表文件的内容。命令的语法如下: history [-r|w|a|n] [filename]
76. 这种形式中, -r 选项告诉 history 命令读命令历史列表文件的内容并且把它们当作当前的命令历史列表。 -w 选项将把当前的命令历史记录写入文件中并覆盖文件原来的内容。 -a 选项把当前的命令历史记录追加到文件中。 -n 选项将读取文件中的内容并加入到当前历史命令列表中。如果 filename 选项没有被指定, history 命令将用变量 HISTFILE 的值来代替 。 命令别名通常是其他命令的缩写,用来减少键盘输入。 还有一个使工作变得轻松的方法是使用命令别名 命令格式为 : alias [ alias-name= ’ original-command ’ ] 其中, alias-name 是用户给命令取的别名, original-command 是原来的命令和参数。需要注意的是,由于 Bash 是以空格或者回车来识别原来的命令的,所以如果不使用引号就可能导致 Bash 只截取第一个字,从而出现错误。
85. 2.2 文件概念及操作命令 2.2.1 文件显示命令 显示指定工作目录中所包含的内容的指令是 ls , 要 说明的是 ls 命令列出文件的名字,而不是文件的内容。该命令的使用方式如下 : ls [ 选项 ] [ 文件目录列表 ] ls 命令中的常用选项如下: -a :显示所有文件及目录 (ls 规定将文件名或目录名中开头为 "." 的视为隐藏档,不会列出 ) -c :按列输出,纵向排序 -x :按列输出,横向排序 -l :除文件名外,也将文件状态、权限、拥有者、文件大小 等信息详细列出 -t :根据文件建立时间的先后次序列出 -A :同 -a ,但不列出 "." ( 目前目录 ) 及 ".." ( 父目录 ) -X :按扩展名排序显示 -R :递归显示下层子目录 --help :显示帮助信息 --version :显示版本信息
86. Linux 支持多种文件类型,每一类用一个字符来表示,其说明如下: - :常规文件 d :目录 b :块特殊设备 c :字符特殊设备 p :有名管道 s :信号灯 m :共享存储器 文件类型的字符表示文件的权限,权限由三个字符串组成,这三个字符串分别表示:该文件所有者的权限、组中其他人的权限和系统中其人的权限;每个字符串又由三个字符组成,依次表示对文件的读(用字符 r 表示)、写(用字符 W 表示)和执行权限(用字符 x 表示)。当用户没有相应的权限时,该权限的对应位置用短线“ - ” 来表示。
87. 例如: drwxr-x- -- 表示的含义是: d 表示这条信息是目录;目录拥有者的权限是 rwx (表示有读、写和执行权限);组中其他人对该目录的权限是 r-x (表示有读和执行权限,没有写权限),系统中其他人对该目录的权限是 --- (表示读、写和执行权限都没有)。 下面是使用命令来显示帮助和版本信息,命令如下: #ls --version #l ls --help |more
89. 显示整个文件路径和名称。一般来说,都要用 -print ,如果没有这个参数,则 find 命令进行所要求的搜索是没有显示结果的。 -print 匹配所有大小为 n 块的文件( 512 字节块,若 k 在 n 后,则为 1K 字节块) 。 -size n 匹配所有修改时间比 file 文件更新的文件。 -newer 文件 匹配所有在前 n 天内修改过的文件。 -mtime n 匹配所有在前 n 天内访问过的文件。 -atime n 匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名 。 -user 用户号 匹配所有连接数为 n 的文件。 -links n 匹配所有类型为 x 的文件。 x 是 c (字符特殊), b (块特殊), d (目录), p (有名管道), l (符号连接), s (套接文件)或 f (一般文件)。 -type x 匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号( - ),表示采用除这个模式外的所有模式。 -perm 模式 告诉 find 要找什么文件;要找的文件包括在引号中,可以使用通配符( * 和?) -name 文件 说 明 表达式
91. 3 )根据文件的特征查询 如果仅知道某个文件的大小、修改日期等特征也可使用 find 命令把该文件查找出来。例如,知道一个文件尺寸小于为 2500bytes ,可使用如下命令查找: #find /etc –size -2500c –print 下面是以时间特征为查找条件的 find 命令函数的参数: amin n 查找 n 分钟以前被访问过的所有文件 . atime n 查找 n 天以前被访问过的所有文件 . cmin n 查找 n 分钟以前文件状态被修改过的所有文件 . ctime n 查找 n 天以前文件状态被修改过的所有文件 . mmin n 查找 n 分钟以前文件内容被修改过的所有文件 . mtime n 查找 n 天以前文件内容被修改过的所有文件 .
109. 如前所述,目录也是一种类型的文件。 Linux 系统通过目录将系统中所有的文件分级、分层组织在一起,形成了 Linux 文件系统的树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。 Linux 目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为特定的文件创建特定的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。 需要说明的是,根目录 ( 系统目录 ) 是 Linux 系统中的特殊目录。 Linux 是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中。
110. 2. 工作目录、用户主目录与路径 ( 1 ) 工作目录与用户主目录 从逻辑上讲,用户在登录到 Linux 系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录( Working Directory )。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录( Home Directory )就成为其工作目录。工作目录用“ . ” 表示,其父目录用“ .. ” 表示。 用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。 用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。
124. 2. 文件打包 tar tar 可以对文件和目录进行打包。利用 tar ,用户可以对某一特定文件进行打包(一般用作备份文件),也可以在包中改变文件,或者向包中加入新的文件。 t tar 命令的使用语法格式如下: tar [ 主选项 + 辅选项 ] 文件或者目录 表 2-10 tar 命令的主选项的常用选项 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 -u 列出档案文件的内容,查看已经备份了哪些文件。 -t 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。 -r 从档案文件中释放文件。 -x 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 -c 说 明 常用选项
131. 第 3 章 Linux 系统管理 本章学习目标 在 Linux 系统中,虽然有很多应用都使用图形界面,但是大多数使用和管理 Linux 的实用程序和技巧还是通过键入命令来运行的。在本章中,将介绍一些基本的 Linux 命令,并通过一些实际的例子使读者边学边用,让读者尽快熟悉 Linux 系统。。通过对本章的学习,读者应该掌握以下主要内容: 了解对系统管理的具体工作。 理解对用户和工作组管理的基本概念及相 关的管理方法。 理解文件系统管理的基本概念及相关的管 理方法。
156. 3.3 进程管理 3.3.1 进程的定义 Linux 是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指 Linux 可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。 那到底什么叫进程? Linux 系统上所有运行的程序都可以称之为一个进程。 Linux 用分时管理方法使所有的任务共同分享系统资源。进程的一个比较正式的定义是∶在自身的虚拟地址空间运行的一个单独的程序。进程与程序是有区别的,进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。而且一个程序可以启动多个进程。
159. 表 2-14 ps 命令输出字段的含义 字 段 含 义 USER 进程所有者的用户名 PID 进程号 %CPU 进程自最近一次刷新以来所占用的 CPU 时间和总时间的百分比 %MEM 进程使用内存的百分比 VSZ 进程使用的虚拟内存大小,以 K 为单位 RSS 驻留空间的大小。显示当前常驻内存的程序的 K 字节数。 TTY 进程相关的终端 STAT 进程状态,用下面的代码中的一个给出: R :可执行的。 S :睡眠状态。 D :不间断睡眠。 T :停止或跟踪。 Z :僵尸。 W :进程没有驻留页。 I :空闲。 TIME 进程使用的总 CPU 时间 COMMAND 被执行的命令行 NI 进程的优先级值,较小的数字意味着占用较少的 CPU 时间 PRI 进程优先级。 PPID 父进程 ID WCHAN 进程等待的内核事件名
170. 第 4 章 Linux 网络基础 本章学习目标 本章主要让读者在使用 Internet 之前对 Internet 有一个大致的了解,以帮助读者对本书后续章节的学习。通过对本章的学习,读者应该掌握以下主要内容: 什么是 Internet Internet 的由来和发展历程 Internet 提供的主要服务有哪些 Internet 在企业内部网的应用 我国在 Internet 网络上的发展状况
172. 4.1.2 Internet 网际协议( IP ) 在 TCP/IP 体系中,网际协议是最主要的协议之一 。 1 . IP 地址 在 TCP/IP 网络中,每个主机都有唯一的地址,它是通过 IP 协议来实现的。 IP 协议要求在每次与 TCP/IP 网络建立连接时,每台主机都必须为这个连接分配一个唯一的 32 位地址,因为在这个 32 位 IP 地址中,不但可以用来识别某一台主机,而且还隐含着网际间的路径信息。需要强调指出的,这里的主机是指网络上的一个节点,不能简单地理解为一台计算机,实际上 IP 地址是分配给计算机的网络适配器(即网卡)的,一台计算机可以有多个网络适配器,就可以有多个 IP 地址,一个网络适配器就是一个节点。 IP 地址为 32 位地址,一般以 4 个字节表示。每个字节的数字又用十进制表示,即每个字节的数的范围是 0~255 ,且每个数字之间用点隔开,例如: 192.168.101.5 ,这种记录方法称为“点 - 分”十进制记号法。 IP 地址的结构如下所示:
173. 网络类型 网络 ID 主机 ID IP 地址的 32 位被分成了 3 个字段:网络类型字段、网络 ID 字段和主机 ID 字段。网络类型字段用于标识网络的类型,到目前为止网络划分为 A~E 五类;网络 ID 则标识该主机所在的网络,由网络类型字段和网络 ID 字段构成网络标识;主机 ID 是该主机在网络中的标识。 IP 地址的基本分配原则是要为同一网络内的所有主机分配相同的网络标识号,同一网络内的不同主机必须分配不同的主机 ID 号,以区分主机,不同网络内的每台主机必须具有不同的网络标识号,但是可以具有相同的主机标识号。按照 IP 地址的结构和其分配原则,可以在 Internet 上很方便的寻址:先按 IP 地址中的网络标识号找到相应的网络,再在这个网络上利用主机 ID 找到相应的主机。由此可看出 IP 地址并不只是一个计算机的代号,而是指出了某个网络上的某个计算机。
174. 组建一个网络时,为了避免该网络所分配的 IP 地址与其他网络上的 IP 地址发生冲突,必须为该网络向 InterNIC ( Internet 网络信息中心)组织申请一个网络标识号,这也就是整个网络使用一个网络标识号,然后再给该网络上的每个主机设置一个唯一的主机号码,这样网络上的每个主机都拥有一个唯一的 IP 地址。另外,国内用户可以通过中国互联网络信息中心( CNNIC )来申请 IP 地址和域名。当然,如果网络不想与外界通信,就不必申请网络标识号,而自行选择一个网络标识号即可,只是网络内的主机的 IP 地址不可相同。 2 . IP 地址的分类
175. 为了充分利用 IP 地址空间, Internet 委员会定义了五种 IP 地址类型以适合不同容量的网络,即 A 类至 E 类,如图 4-1 所示。其中 A 、 B 、 C 三类由 InterNIC ( Internet 网络信息信心)在全球范围内统一分配, D 、 E 类为特殊地址。 0 网络地址 ID ( 7BIT) 主机地址 ID(24BIT) 0 1 7 8 31 A 类 IP 地址 10 网络地址 ID ( 14BIT) 主机地址 ID(16BIT) 0 1 2 15 16 31 B 类 IP 地址
176. 110 网络 IP 地址( 21BIT) 主机地址 ID ( 16BIT) 012 3 23 24 31 C 类 IP 地址 1110 广播地址 ID ( 28BIT) 0123 4 31 D 类 IP 地址 11110 保留用于将来和试验使用 01234 5 31 E 类地址
177. ( 1 ) A 类地址。 从图 4-1 ( a )中可以看出,在 A 类地址中,用第一个字节来表示网络类型和网络标识号,后面三个字节用来表示主机号码,其中第一个字节的最高位设为 0 ,用来与其他 IP 地址类型区分。第一个字节剩余的 7 位用来表示网络地址,最多可提供 2 7 -2=126 个网络标识号;这种 IP 地址的后 3 个字节用来表示主机,每个网络最多可提供大约 1678 万( 2 24 -2 )个主机地址。这类地址网络支持的主机数量非常大,只有大型网络才需要 A 类地址,由于 Internet 发展的历史原因, A 类地址早已被分配完毕。
178. ( 2 ) B 类地址。 从图 4-1 ( b )中可以看出,在 B 类地址中,用前两个字节来表示网络类型和网络标识号,后面两个字节标识主机号码,其中第一个字节的最高两位设为 10 ,用来与其他 IP 地址区分开,第一个字节剩余的 6 位和第二个字节(共 14 位)用来表示网络地址,最多可提供 2 14 -2=16,384 个网络标识号。这种 IP 地址的后 2 个字节用来表示主机号码,每个网络最多可提供大约 65,534 ( 2 16 -2 )个主机地址。这类地址网络支持的主机数量较大,适用于中型网络,通常将此类地址分配给规模较大的单位。
179. ( 3 ) C 类地址。 从图 4-1 ( c )中可以看出,在 C 类地址中,用前 3 个字节来表示网络类型和网络标识号,最后一个字节用来表示主机号码,其中第一个字节的最高位设为 110 用来与其他 IP 地址区分开,第一个字节剩余的 5 位和后面两个字节(共 21 位)用来表示网络地址,最多可提供约 200 万( 2 21 -2 )个网络标识号。最后 1 个字节用来表示主机号码,每个网络最多可提供 254 ( 2 8 -2 )个主机地址。这类地址网络支持的主机数量较少,适用于小型网络,通常将此类地址分配给规模较小的单位,如公司、院校等单位。
180. D 类地址是多播地址,主要是留给 Internet 体系结构委员会 IAB ( Internet Architecture Board )使用。 E 类地址保留在今后使用。目前大量使用的 IP 地址仅有 A , B 和 C 类三种 IP 地址。 例如:一个 IP 地址为 130.12.4.34 ,其用二进制表示为 10000010 00001100 00000100 00100010 ,把其与图 4-1 相比较可以看出,此 IP 地址属于 B 类网络,其网络 ID 号为 0000010 00001100B ,即 524 ,主机号为 00000100 00100010 ,即为 1058 。
181. ( 4 )特殊的 IP 地址。 ① 如果网络 ID 为 127 ,主机地址任意,这种地址是用来做循环测试用的,不可用作其他用途。例如, 127.0.0.1 是用来将消息传给自己的。 ② 在 IP 地址中,如果某一类网络的主机地址为全 1 ,则该 IP 地址表示是一个网络或子网的广播地址。例如, 192.168.101.255 ,分析可知它是 C 类网络地址,其主机地址为最后一个字节,即 255 ,二进制为 11111111B ,表示将信息发送给该网络上的每个主机。 ③ 在 IP 地址中,如果某一类网络的主机地址为全 0 ,则该 IP 地址表示为网络地址或子网地址。例如, 192.168.101.0 ,分析可知它是 C 类网络地址,其主机地址为最后一个字节即 0 ,二进制为 00000000B ,表示一个网络地址。
182. 说明: 正是由于地址不允许全 0 (表示网络或子网地址)或全 1 (表示广播地址),所以其网络数目和主机数目都要减 2 。例如, C 类网络只能支持 2 8 -2=254 个主机地址。 另外,如果要使网络直接连入 Internet ,应使用由 InterNIC 分配的合法 IP 地址。如果通过代理服务器连入 Internet ,也不应随便选择 IP 地址,应使用由 IANA (因特网地址分配管理局)保留的私有 IP 地址,以避免与 Internet 上合法的 IP 地址相冲突。这些私有地址的范围是: 10.0.0.1 ~ 10.255.255.254 ( A 类); 172.13.0.1 ~ 172.32.255.254 ( B 类); 192.168.0.1 ~ 192.168.255.254 ( C 类)。
183. 综合来看, IP 地址具有以下一些重要特点: ① IP 地址是一种非等级的地址结构。这就是说,和电话号的结构不一样, IP 地址不能反映有关主机位置的地理信息。 ② 当一个主机同时连接到两个网络上时(作路由器用的主机即为这种情况),该主机就必须同时具有两个相应的 IP 地址,其网络号是不同的。这种主机称为多地址主机。 ③ 按照 Internet 的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号码。 ④ 在 IP 地址中,所有分配到网络号的网络都是平等的。
184. 3 .子网及子网掩码 ( 1 )子网。 子网是指在一个 IP 地址上生成的逻辑网络,它使用源于单个 IP 地址的 IP 寻址方案,把一个网络分成多个子网,要求每个子网使用不同的网络 ID ,通过把主机号(主机 ID )分成两个部分,为每个子网生成唯一的网络 ID 。一部分用于标识作为唯一网络的子网,另一部分用于标识子网中的主机,这样原来的 IP 地址结构变成如下三层结构: 网络地址部分 子网地址部分 主机地址部分
185. ( 2 )子网掩码。 子网掩码是一个 32 位地址,它用于屏蔽 IP 地址的一部分以区别网络 ID 和主机 ID ;用来将网络分割为多个子网;判断目的主机的 IP 地址是在本局域网或是在远程网。在 TCP/IP 网络上的每一个主机都要求有子网掩码。这样当 TCP/IP 网络上的主机相互通信时,就可用子网掩码来判断这些主机是否在相同的网络段内。 如表 4-2 所示为各类 IP 地址所默认的子网掩码。其中值为 1 的位用来定出网络的 ID 号,值为 0 的位用来定出主机 ID 。例如,如果某台主机的 IP 地址为 192.168.101.5 ,通过分析可以看出它属于 C 类网络,所以其子网掩码为 255.255.255.0 ,则将这两个数据作逻辑与( AND )运算后结果为 192.168.101.0 ,所得出的值中非 0 位的字节即为该网络的 ID 。默认子网掩码用于不分子网的 TCP/IP 网络。
188. 子网掩码的另一个用途就是可将网络分割为多个以 IP 路由连接的子网。如果某单位仅申请了一个网络 ID 号,但其网络规模较大,需要按照部门划分出多个子网段,此时可以借助子网掩码来实现需求。从 IP 地址的三层结构可以看出,用于子网掩码的位数决定可能的子网数目和每个子网内的主机数目。在定义子网掩码之前,必须弄清楚网络中使用的子网数目和主机数目,这有助于今后当网络主机数目增加后,重新分配 IP 地址的时间,子网掩码中如果设置的位数使得子网越多,则对应的其网段内的主机就越少。 4 . IP 路由 路由是数据从一个节点传输到另一个节点的过程。例如,要出发到某地,一般先确定到达目的地的路线。在 TCP/I