第 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类为特殊地
址。
( 1) A类地址。
从图中可以看出,在 A类地址中,用第一个字节
来表示网络类型和网络标识号,后面三个字节用
来表示主机号码,其中第一个字节的最高位设为
0,用来与其他 IP地址类型区分。第一个字节剩
余的 7位用来表示网络地址,最多可提供 27-
2=126个网络标识号;这种 IP地址的后 3个字节
用来表示主机,每个网络最多可提供大约 1678万
( 224-2)个主机地址。这类地址网络支持的主
机数量非常大,只有大型网络才需要 A类地址,
由于 Internet发展的历史原因,A类地址早已被分
配完毕。
0 主机地址 ID(24bit)
0 1 7 8 31
网络 ID(7bit)
( 2) B类地址。
从图中可以看出,在 B类地址中,用前两个字节
来表示网络类型和网络标识号,后面两个字节标
识主机号码,其中第一个字节的最高两位设为 10,
用来与其他 IP地址区分开,第一个字节剩余的 6
位和第二个字节(共 14位)用来表示网络地址,
最多可提供 214-2=16,384个网络标识号。这种 IP
地址的后 2个字节用来表示主机号码,每个网络
最多可提供大约 65,534( 216-2)个主机地址。
这类地址网络支持的主机数量较大,适用于中型
网络,通常将此类地址分配给规模较大的单位。
10
0 1 2 15 16 31
网络 ID(14bit) 主机地址 ID(16bit)
( 3) C类地址。
从图中可以看出,在 C类地址中,用前 3个字节来
表示网络类型和网络标识号,最后一个字节用来
表示主机号码,其中第一个字节的最高位设为
110用来与其他 IP地址区分开,第一个字节剩余
的 5位和后面两个字节(共 21位)用来表示网络
地址,最多可提供约 200万( 221-2)个网络标识
号。最后 1个字节用来表示主机号码,每个网络
最多可提供 254( 28-2)个主机地址。这类地址
网络支持的主机数量较少,适用于小型网络,通
常将此类地址分配给规模较小的单位,如公司、
院校等单位。
110 网络 ID(21bit) 主机地址 ID( 16bit)
012 3 23 24 31
D类地址是多播地址,主要是留给 Internet体系结
构委员会 IAB( Internet Architecture Board)使
用。
1110 广播地址 ID( 28bit)
0123 4 31
11110 保留用于将来和试验使比较用
01234 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 255.0.0.0 11111111.00000000.
00000000.00000000
B 255.255.0.0 11111111.11111111.
00000000.00000000
C 255.255.255.0 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模型对该层很少定义具体协议,它依赖于早期
的协议传输数据。
? 网间网层( Inter-Network Layer)
? 负责网络间的寻址和数据传输,相当于 OSI RM中的第
三层。
? 传输层( Transport Layer)
? 负责提供可靠的传输服务,相当于 OSI RM中的第四层。
? 应用层( Application Layer)
? 负责实现一切与应用程序相关的功能,相当于 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。。一
旦配置完机器的网络配置文件,应该重新启动网络
以使修改生效,使用下面的命令来重新启动网络:
/etc/rc.d/init.d/network restart
4,端口号和服务器名之间的映射
/etc/services
/etc/services中包含了服务名和端口号之间
的映射,不少系统程序要使用这个文件
5,配置名字解析器 /etc/host.conf
/etc/host.conf文件指定如何解析主机名,
Linux通过解析器库来获得主机名对应的 IP
地址。
6,配置 DNS客户 /etc/resolv.conf
文件 /etc/resolv.conf配置 DNS客户,它包
含了主机的域名搜索顺序和 DNS服务器的
地址,每一行应包含一个关键字和一个或
多个的由空格隔开的参数。下面是一个例
子文件:
search mydom.edu.cn
nameserver 210.34.0.14
nameserver 210.34.0.2
7,主机地址、子网掩码和网关
/etc/init.d/network
不像很多其他的 UNIX和 Linux操作系统,Red
Hat当前并不能自动地通过 /etc/hostname和
/etc/hosts文件来配置网络。为了改变主机缺省
的 IP地址,必须直接编辑 /etc/init.d/network脚本
使其反映正确的网络配置。这个文件包括了声明
IP地址、掩码、网络、广播地址和缺省路由器的
变量。下面是这个文件中相应的部分:
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1
11.2 配置以太网络接口
? Red Hat Linux中的 TCP/IP配置文件族
? 网络配置文件介绍
? 使用 GUI工具配置以太网络
? 使用 CLI工具配置以太网络
使用 GUI工具配置以太网络
在 Red Hat Linux 9中提供了一个图形界面的网络
配置工具。使用该配置工具,可以配置各种网络
连接。下面使用该工具来对一个 Linux系统进行网
络配置,配置时需要的主要参数如下:
网络 IP地址:如 211.85.203.22
子网掩码:如 255.255.255.0
默认网关:如 211.85.203.254
DNS服务器地址:如 211.85.192.8
使用 GUI工具配置以太网络
启动 redhat-config-network管理工具,方
法有以下两种:
?依次单击面板上的, 主菜单 → 系统设置 →
网络,,可打开如下图的对话框。
?在终端的提示符下输入, redhat-config-
network”命令,可打开如下图的对话框。
使用 GUI工具配置以太网络
使用 GUI工具配置以太网络
? 配置项目
? 新建以太网连接
? 配置使用设备别名
? 修改常规网络配置
? 配置路由
? 配置 DNS客户
? 配置静态主机解析表
11.2 配置以太网络接口
? Red Hat Linux中的 TCP/IP配置文件族
? 网络配置文件介绍
? 使用 GUI工具配置以太网络
? 使用 CLI工具配置以太网络
使用 CLI工具配置以太网络
?使用 hostname命令获得 /设置计算机的名字
每个系统都应该有一个名字,这个名字通常
在系统安装时确定,可以使用 hostname命令来
获得当前系统的名字。同样设置计算机的名字也
可以使用 hostname命令,但这需要 root权限:
# hostname yzy.vlab.com
# hostname
yzy.vlab.com
使用 CLI工具配置以太网络
? 使用 ifconfig命令设置 IP地址
? 格式,# ifconfig <网络接口 > <IP地址 >
[<Mask> <Broadcast>]
? 举例:
? # ifconfig eth0 192.168.1.10
? # ifconfig eth0 10.0.0.10 netmask
255.255.255.0 broadcast 10.0.0.255
? # ifconfig eth0:1 192.168.0.3
? # ifconfig eth0
使用 CLI工具配置以太网络
? 使用 route命令设置默认网关
? 格式,route add default gw <网关地址 >
? 举例:
? # route add default gw 192.168.1.1
? # route
使用 CLI工具配置以太网络
? 设置 DNS客户端配置文件
? # gedit /etc/resolv.conf
nameserver 192.168.1.1
nameserver 202.106.196.115
domain sinolido.org
search sinolido.org
首选域名服务器
使用 CLI工具配置以太网络
? 配置静态主机解析表
? # gedit /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.0.200 server.localdomain server
…………
? 设置 DNS客户端控制文件
? # gedit /etc/host.conf
order hosts,bind
第 11讲 Linux网络
11.1 TCP/IP网络基础
11.2 配置以太网络接口
11.3 常用网络测试工具
常用网络测试工具
检测网络接口
? # ifconfig
检测网络连通性
? # ping www.sina.con.cn
? # ping -c 4 192.168.1.12
显示路由表
? # route
检测到目的主机所经过的路由器
? # traceroute www.sina.com.cn
常用网络测试工具
查看网络状态
? 显示网络接口状态信息
? # netstat -i
? 显示所有监控中的服务器的 Socket和正在使用
Socket的程序信息
? # netstat -lpe
? 显示内核路由表信息
? # netstat -r
? # netstat -nr
常用网络测试工具
查看网络状态
? 显示 TCP/UDP传输协议的连接状态
? # netstat -t
? # netstat -u
? 显示所有的 sockets
? # netstat -a
小结
本课介绍了 TCP/IP网络的基本知识,
学习了如何在 Linux环境下配置以太网络接
口以及使用常用工具测试网络。这些内容
是后面学习各种网络服务的基础。
思考题
1,简述 TCP/IP模型及协议栈?
2,如何使用命令配置以太网接口?