第9章 TCP IP网络基础
第9章TCP/IP网络基础本章的学习目标:●了解TCP/IP网络●了解5种网络连接类型●学会使用网络配置向导9.1TCP/IP基础TCP/IP起源于20世纪60年代末美国政府资助的一个分组交换网络研究
第9章TCP/IP网络基础本章的学习目标:
●了解TCP/IP网络
●了解5种网络连接类型
●学会使用网络配置向导
9.1TCP/IP基础
TCP/IP起源于20世纪60年代末美国政府资助的一个分组交换网络研究项目,到20世纪90年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议组件的定义及其多种实现可以不用花钱或花很少的钱就可以公开得到。它成为Internet 的基础,该广域网(WAN)已包含超过100万台遍布世界各地的计算机。通常所说的网络类型(如TCP/IP、IPX/SPX或Novell) ,指的是网络上的计算机间通信所用的协议或语言。这是独立于网络所用的实际物理连接类型的。
在物理层,当今的网络是建立在各种以太网技术(包括10-Base-2、10-Base-T 和100-Base-TX Ethernet) 以及光纤和其他技术之上的。事实上,TCP/IP网络由运行在各种不同网络设施上的组件构成:以太网组件、通过电话串行连接连成的组件和红外发射器与接收器上的连接。而在网络协议层,移动网络上各种数据的实际电缆和硬件类型无关紧要。采用这种逻辑(协议) 与物理(硬件和电缆) 的抽象(或分离) 方法,使我们可以不必考虑连接类型来介绍网络。
9.1.1TCP/IP网络的分层体系结构
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,例如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个4层协议系统,如图9-1

•176•

Red Hat Linux 9.0基础教程
图9-1TCP/IP协议族的4个层次
每一层具有不同的功能。
1. 链路层
2. 网络层
3. 运输层
4. 应用层
9.1.2TCP/IP协议成员概述
理解TCP/IP中每个协议的作用,知道在TCP/IP网络上能干什么是很有用的。下面列出了TCP/IP提供的主要用户应用程序。
1. Telnet 程序
Telnet 程序提供远程登录功能。
2. 文件传输协议
文件传输协议(FTP)允许用户将一个系统上的文件复制到另一个系统上。
3. 简单邮件传输协议
简单邮件传输协议(SMTP)用于传输电子邮件。
4. Kerberos 协议
Kerberos 是一个受到广泛支持的安全性协议。
5. 域名服务器协议
域名服务器(DNS)能使一台具有普通名字的设备转换成某个特定的网络地址。
6. 简单网络管理协议
简单网络管理协议(SNMP)把用户数据报协议(UDP)作为传输机制,它使用和TCP/IP不同的术语,TCP/IP用客户和服务器,而SNMP 用管理器(manager)和代理(agent),代理提供设备信息,而管理器管理网络通信。
,第9章TCP/IP网络基础•177•
7. 网络文件服务器
网络文件服务器(NFS)是由Sun Microsystems 公司开发的一套协议,可使多台计算机能透明地访问彼此的目录。
8. 远程过程调用
远程过程调用(RPC)是使应用软件能与另一台计算机(服务器) 通信的一些函数。
9. 普通文件传输协议
普通文件传输协议(TFTP)是一种缺乏任何安全性的非常简单落后的文件传输协议。
10. 传输控制协议
传输控制协议(TCP/IP中的TCP 部分) 是一种可靠数据传输的通信协议。
11. 网际协议
网际协议(IP)负责在网络上传输由TCP/UDP装配的数据包。
12. 网际控制报文协议
网际控制报文协议负责根据网络上设备的状态发出和检查报文,它可以将某台设备的故障通知到其他设备。
9.1.3TCP/IP配置基础
1. IP 地址
在TCP/IP中,每台连接网络的计算机(或主机) 都被指定惟一的IP 地址。
IP 地址长32位,Internet 地址并不采用平面形式的地址空间,如1、2、3等。IP 地址具有一定的结构。
目前有3种TCP/IP网络:A 类网、B 类网和C 类网,如图9-2所示。

A 类
B 类C 类图9-2网络类型
,•178•Red Hat Linux 9.0基础教程
2. 子网与子网掩码(subnetmask)
子网掩码是另一组由句号分开的单字节整数,它定义了IP 地址中表示网络的部分。下面采用一个8位数字来说明其工作方法。
例如,对于一个8位数字194,其二进制表示如下:
11000010
如果将这个数字一分为二,前4位表示网络,后4位表示主机,则子网掩码用逻辑“与”组合这个数字时,后4位为0,前4位不变。
根据逻辑“与”的规则,子网掩码的二进制形式为11110000。
以此类推,假如IP 地址为194.148.43.194,如果要用子网掩码标识B 类网及其网络地址,则要让前两个的所有位为1(每个字节的值为255) ,后两个字节的所有位为0(每个字节的值为0) ,产生的子网掩码为255.255.0.0。
3. 广播地址(broadcastaddress)
“广播地址”使用户能将消息一次性传递到自己网络中的全体系统中。在了解“子网和子网掩码”的概念以后,用户可以很容易根据自己主机的地址确定广播地址:广播地址中主机部分被设置为255(二进制位为全1) ,而网络部分不变。例如,IP 地址192.68.4.6/22的广播地址为192.168.7.255/22,其中22表示前22位是网络地址,后10位是主机地址,把后10位设置为1就可以得到其广播地址了。
4. 网关地址(gateway)
网关是提供外部世界的路由的机器,它通常至少有两个网络接口卡:一个连接局域网,另一个进行远程连接。网关在适当时候将局域网中的分组重新选择路由。
对于连接外部网络的主机,则需要知道局域网外至少一个网关的IP 地址。
5. 域名系统(DNS和BIND)
域名服务(DNS,Domain Name Service) 是一个系统,DNS 域名就是给网络上的计算机起一个名字,就像一个人名一样,形象而容易记忆。实际上是将主机的IP 地址与它的主机名对应起来并存放在DNS 服务器上。DNS 服务器遇到请求之后,就将域名解析为IP 地址后反馈回去。使用域名将大大减轻用户记忆的负担。例如,访问水木清华的时候,就可以输入如下地址:
telnet bbs.tsinghua.edu.cn
是不是名字还是挺长的,叫bbs.tsinghua 不是更简单吗?但是不行。
这是因为,为了将Internet 上茫茫的IP 地址进行划分,于是使用了域的概念。一个主机名的格式如下:
子域名.[子域名.]…域名
,第9章TCP/IP网络基础•179•
在Internet 上,域的分类是有规定的。Internet 是由美国开发的,美国使用的域名意义如表9-1所示。表9-1Internet 上的域名含义
域
com
gov
int
mil
net
org
us
edu 金融业政府部门国际组织军事部门网络服务组织其他组织ISO 的美国域大学及学院指代
其他国家或地区都必须使用双字母域来标志;在表中的域名上加上ISO(国际标准化组织) 规定的国家域名。常见国家域名如表9-2所示。表9-2Internet 上的国家域名
域
cn
hk
mo
tw
sg
th
jp
kr
de
fr
uk
us
ch
se 中国香港澳门台湾新加坡泰国日本韩国德国法国英国美国瑞士瑞典国家或地区
因此,中国的大学的域名就是edu.cn ,清华大学的域名就是tsinghua.edu.cn ,而清华的BBS 就是bbs.tsinghua.edu.cn 。
理解了域名的含义之后,将更容易记忆主机名。
,•180•Red Hat Linux 9.0基础教程
为了访问域名系统,需要在该站点运行一个DNS 服务器(DNS服务器也称为域名服务器或简称NS ) 。DNS 服务器分为以下3类:
●主DNS 服务器(master或primary)
●从DNS 服务器(slave或secondary)
●缓冲DNS 服务器(caching)
6. 端口(port)
服务器一般都是通过人们所熟知的端口号来识别的。表9-3常用TCP 和UDP 端口
服务名
FTP
Telnet
SMTP
Name
HTTP
POP3
IMAP 端2123254280110143口类TCP TCP TCP TCP TCP TCP TCP 型文件传输协议Telnet 连接简单邮件传输协议域名系统服务超文本传输协议(万维网) 使用邮政局协议3的邮件阅读器使用Internet 消息访问协议的邮件阅读器说明
9.1.4Telnet 程序
Telnet 程序的目的是通过网络提供远程登录终端的能力。换句话说,计算机A 的用户可以与网络中任意计算机B 联机操作,对用户而言,就像坐在计算机B 前面一样。Telnet 是通过TCP 端口号32提供服务的。
远程登录的过程如下。
首先在Shell 提示符下输入telnet 命令如下:
$telnet
telnet>open bbs.tsinghua.edu.cn
或者直接输入如下:
telnet bbs.tstinghua.edu.cn
Connected to bbs.tstinghua.edu.cn
login:
一旦连接到远程系统,必须提供一个注册名和口令。一旦注册成功,就好像在操作远程系统,可采用操作系统全部有效的命令。所有命令都与服务器相关,所有目录命令显示服务器的当前目录,而不是客户目录。要观看客户目录,用户必须进入命令模式。
为了脱离远程对话,只要输入以下命令。
,第9章TCP/IP网络基础
telnet>quit •181•
或者直接按Ctrl D键,此时用户可以重新返回到自己的计算机。
当用户在操作一台低功能的计算机或者终端时,或希望使用另一台计算机的处理能力时,或另外一台计算机中具有用户不希望在自己的本地计算机中装载的特殊工具时,Telnet 程序十分有用。
9.1.5常用的命令
1. 网络信息统计
关于网络协议总体信息的统计可用netstat -s 命令来获取,该统计信息通常可提供IP 、ICMP 、TCP 和UDP 的总体情况,这个命令的输出是很有用的,它可以确定接收数据包中的错误被放在何处,然后可使用户分析错误是软件引起的还是网络问题造成的。
还可以使用ping 、finger 、traceroute 和host 命令找到有关系统和网络上用户的状态信息。ping 用于检测远程系统是否已经启动和运行;finger 用于找到网络上其他用户的信息,查看他们是否已收到邮件;host 显示网络上某一系统有关地址的信息,给用户提供系统IP 和域名地址;traceroute 可以用来跟踪信息通过计算机网络和系统这条路线传给用户的顺序;arp 用来解析和显示本机IP 地址和物理地址。可以在终端窗口上输入这些命令。
2. 远程访问命令
远程访问命令用于较小的网络,例如Intranets 。它们能使用户远程注册到另一个系统上的另一个账号,并把文件从一个系统复制到另一个系统。
(1)rlogin 命令
(2)rcp 命令
(3)rsh 命令
9.2建立与Internet 的连接
网上冲浪已渐渐成为一项广受欢迎的活动。从金融信息到医药处方,与人息息相关的方方面面都在使用Internet 。然而,要使用Internet ,必须先连接它。Internet 的连接方式也有很多种,其中包括以下几种:
●以太网连接
●ISDN 连接
●调制解调器连接
●无线连接
●xDSL 连接
,•182•Red Hat Linux 9.0基础教程
9.3本章小结
本章首先介绍了当今大多数计算机用户都感兴趣的主题:网络,主要介绍了Linux 中的基本网络概念,TCP/IP网络基础和路由的概念、TCP/IP配置的基本组件,例如,IP 地址、子网掩码、端口与网关;TCP/IP协议族以及几个网络实用程序,然后介绍了Linux 与Internet 的连接问题,主要介绍了使用Internet 配置向导来建立网络连接以及5种网络连接类型。
9.4思考和练习
1. 试描述TCP/IP网络的分层体系结构及各层的作用。
2. 如何查看一个网络连接是否激活?
3. 主要存在哪几种Internet 连接类型?试述各自的特点。