第11讲 Linux网络 杨忠义 学习内容 ? ? ? TCP/IP网络基础 配置以太网络接口 常用网络测试命令 学习目标 ? ? ? ? 了解TCP/IP协议 了解TCP/IP网络模型 掌握Linux下以太网络接口配置 掌握常用网络测试命令 第11讲 Linux网络 11.1 TCP/IP网络基础 11.2 配置以太网络接口 11.3 常用网络测试工具 11.1 TCP/IP网络基础 ? ? ? TCP/IP协议概述 TCP/IP 网络模型 TCP/IP与OSI TCP/IP协议概述(IP协议) 现在,随着Internet 的迅速发展使得计算机网络 的应用已经开始遍及到我们现实生活的方方面面, 而在Internet网络上所使用的协议正是TCP/IP (Transmission Control Protocol/Internet Protocol)协议,即传输控制协议/网际协议。在 20世纪60年代后期开发出来了用于“异构”网络 环境中的TCP/IP协议。也就是说,TCP/IP协议可 以在各种硬件和操作系统上实现,并且TCP/IP协 议已成为建立计算机局域网、广域网的首选协议, 并将随着网络技术的进步和信息高速公路的发展而 不断地完善。 1.IP地址 在TCP/IP网络中,每个主机都有唯一的地址,它 是通过IP协议来实现的。IP协议要求在每次与 TCP/IP网络建立连接时,每台主机都必须为这个 连接分配一个唯一的32位地址,因为在这个32位 IP地址中,不但可以用来识别某一台主机,而且还 隐含着网际间的路径信息。需要强调指出的,这里 的主机是指网络上的一个节点,不能简单地理解为 一台计算机,实际上IP地址是分配给计算机的网络 适配器(即网卡)的,一台计算机可以有多个网络 适配器,就可以有多个IP地址,一个网络适配器就 是一个节点。 1.IP地址 IP地址为32位地址,一般以4个字节表示。每个 字节的数字又用十进制表示,即每个字节的数的 范围是0~255,且每个数字之间用点隔开,例 如:192.168.101.5,这种记录方法称为“点分”十进制记号法。IP地址的结构如下所示: 网络类型 网络ID 主机ID 1.IP地址 IP地址的32位被分成了3个字段:网络类型 字段、网络ID字段和主机ID字段。网络类 型字段用于标识网络的类型,到目前为止 网络划分为A~E五类;网络ID则标识该主 机所在的网络,由网络类型字段和网络ID 字段构成网络标识;主机ID是该主机在网 络中的标识。 2.IP地址的分类 为了充分利用IP地址空间,Internet委员会 定义了五种IP地址类型以适合不同容量的 网络,即A类至E类,如图所示。其中A、B、 C三类由InterNIC(Internet网络信息信心) 在全球范围内统一分配,D、E类为特殊地 址。 0 0 1 网络ID(7bit) 7 8 主机地址ID(24bit) 31 (1)A类地址。 从图中可以看出,在A类地址中,用第一个字节 来表示网络类型和网络标识号,后面三个字节用 来表示主机号码,其中第一个字节的最高位设为 0,用来与其他IP地址类型区分。第一个字节剩 余的7位用来表示网络地址,最多可提供272=126个网络标识号;这种IP地址的后3个字节 用来表示主机,每个网络最多可提供大约1678万 (224-2)个主机地址。这类地址网络支持的主 机数量非常大,只有大型网络才需要A类地址, 由于Internet发展的历史原因,A类地址早已被分 配完毕。 01 10 2 网络ID(14bit) 15 16 主机地址ID(16bit) 31 (2)B类地址。 从图中可以看出,在B类地址中,用前两个字节 来表示网络类型和网络标识号,后面两个字节标 识主机号码,其中第一个字节的最高两位设为10, 用来与其他IP地址区分开,第一个字节剩余的6 位和第二个字节(共14位)用来表示网络地址, 最多可提供214-2=16,384个网络标识号。这种IP 地址的后2个字节用来表示主机号码,每个网络 最多可提供大约65,534(216-2)个主机地址。 这类地址网络支持的主机数量较大,适用于中型 网络,通常将此类地址分配给规模较大的单位。 012 110 3 网络ID(21bit) 23 24 主机地址ID(16bit) 31 (3)C类地址。 从图中可以看出,在C类地址中,用前3个字节来 表示网络类型和网络标识号,最后一个字节用来 表示主机号码,其中第一个字节的最高位设为 110用来与其他IP地址区分开,第一个字节剩余 的5位和后面两个字节(共21位)用来表示网络 地址,最多可提供约200万(221-2)个网络标识 号。最后1个字节用来表示主机号码,每个网络 最多可提供254(28-2)个主机地址。这类地址 网络支持的主机数量较少,适用于小型网络,通 常将此类地址分配给规模较小的单位,如公司、 院校等单位。 0123 1110 4 广播地址ID(28bit) 31 D类地址是多播地址,主要是留给Internet体系结 构委员会IAB(Internet Architecture Board)使 用。 01234 11110 5 保留用于将来和试验使比较用 31 E类地址保留在今后使用。目前大量使用的IP地址 仅有A,B和C类三种IP地址。 例如:一个IP地址为130.12.4.34,其用二 进制表示为10000010 00001100 00000100 00100010,把其与前面5个图相 比较可以看出,此IP地址属于B类网络,其 网络ID号为0000010 00001100B,即524, 主机号为00000100 00100010,即为1058。 (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,表示一个网络地址。 思考 ? 某C类网络最多只能支持( )个主机 地址? 28-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类)。 综合来看,IP地址具有以下一些重要特点: ① IP地址是一种非等级的地址结构。这就是说, 和电话号的结构不一样,IP地址不能反映有关主 机位置的地理信息。 ② 当一个主机同时连接到两个网络上时(作路由 器用的主机即为这种情况),该主机就必须同时 具有两个相应的IP地址,其网络号是不同的。这 种主机称为多地址主机。 ③ 按照Internet的观点,用转发器或网桥连接起来 的若干个局域网仍为一个网络,因此这些局域网 都具有同样的网络号码。 ④ 在IP地址中,所有分配到网络号的网络都是平 等的。 3.子网及子网掩码 (1)子网。 子网是指在一个IP地址上生成的逻辑网络,它使 用源于单个IP地址的IP寻址方案,把一个网络分 成多个子网,要求每个子网使用不同的网络ID, 通过把主机号(主机ID)分成两个部分,为每个 子网生成唯一的网络ID。一部分用于标识作为唯 一网络的子网,另一部分用于标识子网中的主机, 这样原来的IP地址结构变成如下三层结构: 网络地址部分 子网地址部分 主机地址部分 (2)子网掩码。 子网掩码是一个32位地址,它用于: ? ? ? 屏蔽IP地址的一部分以区别网络ID和主机 ID; 用来将网络分割为多个子网; 判断目的主机的IP地址是在本局域网或是在 远程网。 在TCP/IP网络上的每一个主机都要求有子 网掩码。这样当TCP/IP网络上的主机相互 通信时,就可用子网掩码来判断这些主机 是否在相同的网络段内。 各类IP地址所默认的子网掩码 类型 子网掩码 子网掩码的二进制表示 A B C 255.0.0.0 255.255.0.0 255.255.255.0 11111111.00000000. 00000000.00000000 11111111.11111111. 00000000.00000000 11111111.11111111. 11111111.00000000 如上表所示为各类IP地址所默认的子网掩码。 其中值为1的位用来定出网络的ID号,值为0的位 用来定出主机ID。 例如,如果某主机的IP地址为192.168.101.5, 通过分析可以看出它属于C类网络,所以其子网掩 码为255.255.255.0,则将这两个数据作逻辑与 (AND)运算后结果为192.168.101.0,所得出的 值中非0位的字节即为该网络的ID。 默认子网掩码用于不分子网的TCP/IP网络。 具体的运算步骤如下: 例如:192.168.101.5的二进制表示为 11000000 10101000 01100101 00000101B;子网掩码为 255.255.255.0,其二进制值为11111111 11111111 11111111 00000000,则当 192.168.101.5和255.255.255.0进行逻辑与运算 11000000 10101000 01100101 00000101 11111111 11111111 11111111 00000000 11000000 10101000 01100101 00000000 4.IP路由 路由是数据从一个节点传输到另一个节点 的过程。例如,要出发到某地,一般先确 定到达目的地的路线。在TCP/IP网络中, 同一网络区段中的计算机可以直接通信, 不同网络区段中的计算机要相互通信,则 必须借助于IP路由。 在TCP/IP网络中,IP路由器又叫IP网关。每一个 节点都有自己的网关。IP报头指定的目的地址不 在同一网络区段中,就会将数据报传送给该节点 的网关,如果网关知道数据报的去向,就将其转 发到目的地。每一网关都有一组定义好的路由表, 指明网关到特定目的地的路由。网关不可能知道 每一个IP地址的位置,因此网关也有自己的网关, 通过不断转发、寻找路径,直到数据报到达目的 地为止。 一般的,作为路由器的计算机中都安装有两块网 卡,这两块网卡的IP分别是要路由的两个网段中 的一个IP地址,这样该计算机就好比一座桥梁一 样用来连接两个不同的网段,完成路由的功能。 11.1 TCP/IP网络基础 ? ? ? TCP/IP协议概述 TCP/IP 网络模型 TCP/IP与OSI TCP/IP 网络模型 ? 接入网层(Host-to-Net Layer) ? 负责数据的实际传输,相当于OSI RM中的下两层。 TCP/IP模型对该层很少定义具体协议,它依赖于早期 的协议传输数据。 负责网络间的寻址和数据传输,相当于OSI RM中的第 三层。 ? 网间网层(Inter-Network Layer) ? ? 传输层(Transport Layer) ? ? 应用层(Application Layer) ? 负责提供可靠的传输服务,相当于OSI RM中的第四层。 负责实现一切与应用程序相关的功能,相当于OSI RM 中的上三层。 11.1 TCP/IP网络基础 ? ? ? TCP/IP协议概述 TCP/IP 网络模型 TCP/IP与OSI TCP/IP与OSI 第11讲 Linux网络 11.1 TCP/IP网络基础 11.2 配置以太网络接口 11.3 常用网络测试工具 11.2 配置以太网络接口 ? ? ? ? Red Hat Linux中的TCP/IP配置文件族 网络配置文件介绍 使用GUI工具配置以太网络 使用CLI工具配置以太网络 Red Hat Linux中的 TCP/IP配置文件族 11.2 配置以太网络接口 ? ? ? ? Red Hat Linux中的TCP/IP配置文件族 网络配置文件介绍 使用GUI工具配置以太网络 使用CLI工具配置以太网络 网络配置文件介绍 在Linux系统中,TCP/IP网络是通过若干个 文本文件进行配置的,可以通过编辑这些 文件来完成联网工作。系统中重要的有关 网络配置文件有: 1. 网络设置/etc/sysconfig/network 该文件用来指定服务器上的网络配置信息,包含了控制和 网络有关的文件和守护程序的行为的参数。下面是一个例 子文件: NETWORKING=yes HOSTNAME=machine1 GATEWAY=210.34.6.2 FORWARD_IPV4=yes GATEWAYDEV= 其中,NETWORK=yes/no 表示网络是否被配置; HOSTNAME=hostname hostname 表示服务器的主机 名;GATEWAY=gw-ip gw-ip 表示网络网关的IP地址; FORWARD_IPV4=yes/no 是否开启IP转发功能; GAREWAYDEV=gw-dev gw-dw 表示网关的设备名 2. 主机名/etc/HOSTNAME 该文件包含了系统的主机名称,包括完全 的域名,如: 192.168.0.1 lb.whpu.edu.cn 这个文件是在启动时从文件 /etc/sysconfig/network中的 HOSTNAME行中得到的,用于在启动时 设置系统的主机名。 3. IP地址和主机名的映射/etc/hosts /etc/hosts文件中包含了IP地址和主机名 之间的映射,还包括主机名的别名,IP地 址的设计使计算机容易识别,但对于人来 说却很难记忆,为了解决这个问题,就创 建了/etc/hosts这个文件。下面是一个例 子文件: 3. IP地址和主机名的映射/etc/hosts 127.0.0.1 machine1 localhost.localdomain localhost 192.168.1.100 machine7 192.168.1.101 otherpc otheralias 在这个例子中,本机名是machine1,otherpc 还有别名otheralias,它可以指向otheralias。。