2.1.1 TCP协议基础(1)
TCP是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport Layer)通信协议。在本小节的内容中,将简单介绍TCP协议的基础知识。
1. TCP支持的服务类型
(1) FTP文件传送(File Transfer)
文件传送协议FTP(File Transfer Protocol)允许用户从一台计算机到另一台取得文件,或发送文件到另外一台计算机。从安全性方面考虑,需要用户指定一个使用其他计算机的用户名和口令。它不同于NFS(Network File System)和NetBIOS协议。一旦你要访问另一台系统中的文件,任何时刻都要运行FTP。而且你只能拷贝文件到自己的机器中去,才能使用它。
(2) RLogin远程登录(Remote Login)
网络终端协议Telnet允许用户登录到网络中任一计算机上。你可启动一个远程进程连接到指定的计算机,直到进程结束,期间你所键入的内容被送到所指定的计算机。值得注意的是,这时你实际上是与你的计算机进行对话。Telenet程序使得你的计算机在整个过程中不见了,所敲的每一个字符直接送到所登录的计算机系统。一般来说,这种远程连接是类似拨号连接的,也就是拨通后,远程系统提示你输入注册名和口令,退出远程系统时,Telnet程序也就退出,你又与自己的计算机对话了。微电脑中的Telnet工具一般含有一个终端仿真程序。
(3) SMTP POP3电子邮件(Mail)
SMTP POP3允许你发送消息给其他计算机的用户。计算机邮件系统只需你简单地往另一用户的邮件文件中添加信息,但随之产生了问题,使用的微电脑的环境不同,还有重要的是宏(MACRO)不适合于接受计算机邮件。为了发送电子邮件,邮件软件希望连接到目的计算机,如果是微电脑,也许它已关机,或者正在运行另一个应用程序呢。出于这种原因,通常由一个较大的系统来处理这些邮件,也就是一个一直运行着的邮件服务器。邮件软件成为用户从邮件服务器取回邮件的一个界面。
任何一个TCP/IP工具都可提供上述这些服务。这些传统的应用功能在基于TCP/IP的网络中一直扮演着非常重要的角色。目前情况有点变化,这些功能使用也发生变化,如老系统的改造,计算机的发展等,出现了各种安装版本,如微电脑、工作站、小型机和巨型机等。这些计算机好像在一起完成指定的任务,尽管有时看来像是只用到某个指定的计算机,但它是通过网络得到其他计算机系统的服务。服务器Server是为网络上其他计算机提供指定服务的系统,客户机Client是得到这种服务的另外的计算机系统(值得注意的是,服务器/客户机不一定是不同的计算机,有可能是同一计算机中不同的运行程序)。以下会介绍几种目前计算机上典型的一些服务,这些服务可在TCP/IP网络上调用。
(4) NFS网络文件系统(Network File System)
这种访问另一计算机的文件的方法非常接近于流行的FTP。网络文件系统提供磁盘或设备服务,而无需特定的网络实用程序来访问另一系统的文件。可以简单地认为它是一个外加的磁盘驱动器。这种额外的"虚拟"磁盘驱动器就是其他计算机系统的磁盘。这非常有用。你只需加大几台计算机的磁盘容量,就可使网络上其他用户访问它,且不说所带来的经济效益,它还能够让几台工作的计算机共享相同的文件。它也使得系统维护和备份易如反掌,因为再不必为大量的不同机器上的文件的升级和备份而担心。
(5) 远程打印(Remote Printing)
允许你使用其他计算机上的打印机,好像这些打印机直接连到你的计算机上。
(6) 远程执行(Remote Execution)
允许你请求运行在不同计算机上的特殊程序。当你在一个很小的计算机上运行一个需要大机系统资源的程序时,远程执行非常有用。
(7) 名字服务器(Name Servers)
在一个大的系统安装过程中,需要用到大量的各种名字,包括用户名、口令、姓名、网络地址、账号等,管理这些是非常令人感觉乏味的。因此将这些数据形成数据库,放到一个小系统中去,其他的系统通过网络来访问这些数据。
(8) 终端服务器(Terminal Servers)
很多的终端连接安装不再直接将终端连到计算机,取而代之的是,将它们连接到终端服务器上。终端服务器是一个小的计算机,它只需知道怎样运行TELNET(或其他一些完成远程登录的协议)。如果你的终端想连上去,只须键入要连的计算机名就可。通常有可能同时有几个这种连接,这时终端服务器采用快速开关技术来切换。
注意:在本章只详细讲解TCP的最基本应用,至于细分的邮件协议等应用,将在本书后面的知识中进行详细介绍。
2. TCP段格式
TCP的段格式结构如图2-1所示。
|
| 图2-1 TCP段格式 |