5.5.2.1 ftp/tftp 简介
ftp(file transfer protocol)/tftp(trivial file transfer protocol)都是文件传输协议,在tcp/ip协议族中处于第四层,即属于应用层协议,主要用于主机之间、主机与交换机之间传输文件。它们都采用客户机-服务器模式进行文件传输。下面是它们的不同之处。
ftp承载于tcp之上,提供可靠的面向连接数据流的传输服务,但它不提供文件存取授权,以及简单的认证机制(通过明文传输用户名和密码来实现认证)。ftp在进行文件传输时,客户机和服务器之间要建立两个连接:控制连接和数据连接。首先由ftp客户机发出传送请求,与服务器的21号端口建立控制连接,通过控制连接来协商数据连接。
数据连接有两种方式:
一种为主动连接。客户端是主动告诉服务器自己用于数据传输的地址和端口号,控制连接将一直保留到数据传输完成。接着服务器在20号端口没有被使用的条件下采用20号端口与客户机提供的地址和端口号建立数据连接,并传输数据;如果20号端口正在被使用,通过设置20号端口可以重用,服务器通过系统自动生成另外的端口号建立数据连接。
另外一种方式是被动连接。客户端通过控制连接告诉服务器端建立被动连接,服务器端就建立自己的数据监听端口,将这个端口通过控制连接告诉客户端,由客户端主动与指定地址的端口建立数据连接。
由于数据连接是通过指定的地址和端口号,还存在通过第三方来提供数据连接服务。
tftp 承载在udp 之上,提供不可靠的数据流传输服务,同时也不提供用户认证机制以及根据用户权限提供对文件操作授权;它是通过发送包文,应答方式,加上超时重传方式来保证数据的正确传输。tftp 相对于ftp 的优点是提供简单的、开销不大的文件传输服务。
本交换机实现ftp/tftp 客户机和服务器的功能。当本交换机作为ftp/tftp 客户机时,在不影响交换机正常工作的情况下,能从远端ftp/tftp 服务器(可以是主机和其它交换机)下载配置文件或系统文件,(ftp 客户端可以查看服务器上的文件列表),也可以将本交换机当前配置文件或系统文件上载到远端ftp/tftp 服务器上(可以是主机和其它交换机)的功能;当本交换机作为ftp/tftp 服务器时,同样它能为它授权的ftp/tftp 客户机提供上传和下载文件的服务,(ftp 服务器还提供传输服务器上文件列表功能)。
下面介绍ftp/tftp 中经常用到的术语:
rom:eprom 的简称,可擦写只读寄存器。本交换机采用flash 内存条代替eprom。
sdram:交换机内存,用于系统软件的运行和配置序列的存放。
flash:闪存,用于保存系统文件和配置文件。
系统文件:包括系统映像文件和引导文件。
系统映像文件:是指交换机硬件驱动和软件支持程序等的压缩文件,即我们通常说的img升级文件。本交换机系统映像文件只允许保存在flash 中。本交换机规定,在全局配置模式下通过ftp 上载系统映像文件的文件名固定为nos.img,拒绝其它系统img 文件的上载。引导文件:是指引导交换机初始化等的文件,即我们通常说的rom 升级文件(如果文件较大,可以压缩为img 文件)。引导文件只允许保存在rom 中。神州数码交换机规定引导文件的文件名固定为nos.rom。
配置文件:包括启动配置文件和运行配置文件。区分启动配置文件和运行配置文件便于实现配置的备份和更新。
启动配置文件:是指交换机启动时采用的配置序列。本交换机启动配置文件只存放在flash中,即对应着所谓的配置保留。为了禁止非法文件的上载和方便配置,神州数码交换机规定,启动配置文件名固定为startup-config。
运行配置文件:是指交换机当前运行的配置序列。本交换机运行配置文件存放在内存中。目前,使用命令write 或命令copy running-config startup-config,可将运行配置序列running-config 从内存中保存到flash 中,即实现运行配置序列到启动配置文件的转变,形成配置保留。为了禁止非法文件的上载和方便配置,神州数码交换机规定,运行配置文件名固定为running-config。
出厂配置文件:即factory-config 文件,是神州数码交换机出厂时的配置文件,使用命令set default 和命令write,重启后可将配置文件恢复成出厂配置文件。
5.5.2.2 ftp/tftp 配置
本交换机作为ftp 或者tftp 客户机时,在配置上极其相似,因此本手册把ftp 和tftp 作为客户机时的配置结合在一起说明。
5.5.2.2.1 ftp/tftp 配置任务序列
1. ftp/tftp 客户机配置
(1)上载/下载配置文件或系统文件
(2)ftp 客户机查看服务器上文件列表
2. ftp 服务器配置
(1)启动ftp server
(2)配置ftp 登录用户名和口令
(3)修改ftp server 连接空闲时限
(4)关闭ftp server
3. tftp 服务器配置
(1)启动tftp server
(2)配置tftp server 连接空闲时限
(3)配置超时范围内没有收到应答报文的重传次数
(4)关闭tftp server
1. ftp/tftp 客户机配置
(1)ftp/tftp 客户机端上下载文件

(2)ftp 客户机查看服务器上文件列表

2.ftp 服务器配置
(1)启动ftp 服务器

(2)配置ftp 登录用户名和口令

(3)修改ftp server 连接空闲时限

3.tftp 服务器配置
(1)启动tftp 服务器

(2)修改tftp server 连接空闲时限

(3)修改tftp server 连接重传次数

5.5.2.2.2 ftp/tftp 配置命令
5.5.2.2.3 copy ( ftp )
命令:copy [source-url] [destination-url] [ascii | binary]
功能:ftp 客户机上下载文件。
参数:[source-url]为被拷贝的源文件或目录的位置;[destination-url]为文件或目录所要拷贝到的目的地址;[source-url]和[destination-url]的具体形式是随着文件或目录位置的不同而变化的。ascii 表示文件传输使用ascii 标准;binary 表示文件传输使用二进制标准( 缺省传输方式)。当url 是ftp 地址时的格式为:
ftp://[username]:[password]@[ipaddress]/[filename],其中[username]为ftp 用户名,[password]为ftp 用户口令,[ipaddress]为ftp 服务器/客户机的ip 地址,[filename]为ftp 上下载文件名。
filename 的特殊关键字:

命令模式:特权用户配置模式
使用指南:本命令支持命令行提示,即如果用户可以输入如下形式的命令copy [filename]
ftp://或者copy ftp:// [filename]后直接回车,系统会出现如下的提示:
ftp server ip address [x.x.x.x] ]
ftp username]
ftp password]
ftp filename]
要求输入ftp 服务器的地址、用户名、密码及文件名。
举例:
(1)储存flash 内的映像到ftp 服务器10.1.1.1,ftp 服务器的登录用户名为switch,
密码为digitalchina:
switch#copy nos.img ftp://switch:digitalchina@10.1.1.1/nos.img
(2)从ftp服务器10.1.1.1 上得到系统文件nos.img,用户名为switch,密码为digitalchina:
switch#copy ftp://switch:digitalchina@10.1.1.1/nos.img nos.img
(3)保存运行配置文件:
switch#copy running-config startup-config
相关命令:write
5.5.2.2.4 dir
命令:dir [ftp-server-url]
功能:查看ftp 服务器上的文件列表。
参数:[ ftp-server-url ]的格式为:ftp://[username]:[password]@[ipaddress],其中[username]为ftp 用户名,[password]为ftp 用户口令,[ipaddress]为ftp 服务器的ip 地址。
命令模式:全局配置模式
举例:查看地址为10.1.1.1的ftp服务器的文件列表,用户名和口令分别为dcswitch、digitalchina。
switch#config
switch(config)#dir ftp:// dcswitch:digitalchina@10.1.1.1
5.5.2.2.5 ftp-server enable
命令:ftp-server enable
no ftp-server enable
功能:启动ftp server;本命令的no 操作为关闭ftp server 服务,禁止ftp 用户登录。
缺省情况:缺省不启动ftp server。
命令模式:全局配置模式
使用指南:当启动ftp 服务器功能后,交换机仍保留ftp 客户机的功能。系统缺省情况下不启动ftp server。
举例:打开ftp server 服务。
switch#config
switch(config)# ftp-server enable
相关命令:ip ftp password、ip ftp username
5.5.2.2.6 ftp-server timeout
命令:ftp-server timeout [seconds]
no ftp-server timeout
功能:设置数据连接空闲时限;本命令的no 操作为恢复缺省值。
参数:[seconds]为ftp 连接空闲时限,单位秒,取值范围为5~4294967295。
缺省情况:系统缺省空闲时限为600 秒。
命令模式:全局配置模式
使用指南:当ftp 数据连接空闲实现超过此值时,切断ftp 控制连接。
举例:修改空闲时限为100 秒。
switch#config
switch(config)#ftp-server timeout 100
5.5.2.2.7 ip ftp password
命令:ip ftp password {0|7} [password]
功能:配置ftp 登录用户口令。
参数:0|7 分别表示明文显示和加密显示口令,[password]为ftp 连接使用口令,取值范围不超过100 字符。
缺省情况:系统缺省使用的口令为username@switchname.domain,其中变量username是当前用户名,switchname 是交换机名,domain 是switch 的域名。
命令模式:全局配置模式
相关命令:ip ftp username
5.5.2.2.8 ip ftp username
命令:ip ftp username [username]
no ip ftp username [username]
功能:配置ftp 登录用户名;本命令的no 操作为删除配置的用户名,同时也删除密码。
参数:[username]为ftp 连接的用户名,取值范围不超过100 字符。
缺省情况:系统缺省为匿名ftp 连接。
命令模式:全局配置模式
举例:配置用户名为dcswitch,密码为digitalchina。
switch#config
switch(config)#ip ftp username dcswitch
switch(config)#ip ftp password 0 digitalchina
相关命令:ip ftp password
5.5.2.2.9 copy(tftp)
命令:copy [source-url] [destination-url] [ascii | binary]
功能:tftp 客户机上下载文件。
参数:[source-url]为被拷贝的源文件或目录的位置;[destination-url]为文件或目录所要拷贝到的目的地址;[source-url]和[destination-url]的具体形式是随着文件或目录位置的不同而变化的。ascii 表示文件传输使用ascii 标准;binary 表示文件传输使用二进制标准(缺省传输方式)。当url 是tftp 地址时的格式为:tftp://[ipaddress]/[filename],其中[ipaddress]为tftp 服务器/客户机的ip 地址,[filename]为tftp 上下载文件名。
filename 的特殊关键字:

命令模式:特权用户配置模式
使用指南:本命令支持命令行提示,即如果用户可以输入如下形式的命令copy [filename]
tftp://或者copy tftp:// [filename]后直接回车,系统会出现如下的提示:
tftp server ip address]
tftp filename]
要求输入tftp 服务器的地址和文件名。
举例:
(1)储存flash 内的映像到tftp 服务器10.1.1.1
switch#copy nos.img tftp:// 10.1.1.1/ nos.img
(2)从tftp 服务器10.1.1.1 上得到系统文件nos.img:
switch#copy tftp://10.1.1.1/nos.img nos.img
(3)保存运行配置文件:
switch#copy running-config startup-config
相关命令:write
5.5.2.2.10 tftp-server enable
命令:tftp-server enable
no tftp-server enable
功能:启动tftp server;本命令的no 操作为关闭tftp server 服务,禁止tftp 用户登录。
缺省情况:缺省不启动tftp server。
命令模式:全局配置模式
使用指南:当启动tftp 服务器功能后,交换机仍保留tftp 客户机的功能。系统缺省情况下不启动tftp server。
举例:打开tftp server 服务。
switch#config
switch(config)#tftp-server enable
相关命令:tftp-server timeout
5.5.2.2.11 tftp-server retransmission-number
命令:tftp-server retransmission-number [number]
功能:设置tftp 服务器重新传输数据的次数。
参数:[number]为重传次数,取值范围为1~20。
缺省情况:系统缺省重传5 次。
命令模式:全局配置模式
举例:修改重传次数为10 次。
switch#config
switch(config)#tftp-server retransmission-number 10
5.5.2.2.12 tftp-server transmission-timeout
命令:tftp-server transmission-timeout [seconds]
功能:设置tftp 服务器传输超时时间。
参数:[seconds]为超时时间,取值范围为5~3600s。
缺省情况:系统缺省超时时间为600s。
命令模式:全局配置模式
举例:修改超时时间为60s。
switch#config
switch(config)#tftp-server transmission-timeout 60
5.5.2.3 ftp/tftp 配置举例

实例1:交换机作为ftp/tftp 客户端来使用。交换机通过某个端口与计算机相连接,计算机为ftp/tftp 服务器,ip 地址为10.1.1.1,交换机作为ftp/tftp 客户端,交换机管理vlan 的ip 地址为10.1.1.2。从计算机上下载交换机的“nos.img”文件。
1 ftp 配置:
计算机端配置:
在计算机上启动ftp server 软件,并且设置用户名为“switch”,密码为“digitalchina”。并将“12_30_nos.img”文件放到计算机上对应的ftp server 目录下。
交换机的配置步骤如下:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#exit
switch#copy ftp://switch:digitalchina@10.1.1.1/12_30_nos.img nos.img
switch#reload
执行完上述命令,交换机就可将计算机上的“nos.img”文件下载到flash 中了。
2 tftp 配置:
计算机端配置:
在计算机机上启动tftp server 软件,并将“nos.img”文件放到计算机上对应的tftp server目录下。
交换机的配置步骤如下:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#exit
switch#copy tftp://10.1.1.1/12_30_nos.img nos.img
switch#reload
实例2:交换机作为ftp 服务器来使用。交换机通过某个端口与计算机相连接,交换机作为ftp 服务器,计算机作为ftp 客户端,将交换机上的“nos.img”文件传送到计算机上,保存为12_25_nos.img。
交换机的配置步骤如下:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#ftp-server enable
switch(config)#ip ftp username switch
switch(config)#ip ftp password 0 digitalchina
计算机端配置:
通过ftp 客户端软件,登录到交换机,用户名为“switch”,密码为“digitalchina”,通过“get nos.img 12_30_nos.img”命令将交换机上的“nos.img”文件下载到计算机上。
实例3:交换机作为tftp 服务器来使用。交换机通过某个端口与计算机相连接,交换机作为tftp 服务器,计算机作为tftp 客户端,将交换机上的“nos.img”文件传送到计算机上。
交换机的配置步骤如下:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#tftp-server enable
计算机端配置:
通过tftp 客户端软件,登录到交换机,通过“tftp”命令将交换机上的“nos.img”文件下载到计算机上。
实例4:交换机作为ftp/tftp 客户端来使用。交换机通过某个端口与计算机相连接,计算机为ftp/tftp 服务器,ip 地址为10.1.1.1,它记录了交换机的多个用户情景配置文件。
交换机作为ftp/tftp 客户端,交换机管理vlan 的ip 地址为10.1.1.2。从计算机上下载
交换机的用户情景配置文件保存到交换机的flash 中。
1 ftp 配置:
计算机端配置:
在计算机上启动ftp server 软件,并且设置用户名为“switch”,密码为“digitalchina”。并将“profile1”、“profile2”、“profile3”文件放到计算机上对应的ftp server 目录下。
交换机的配置步骤如下:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#exit
switch#copy ftp://switch:digitalchina@10.1.1.1/profile1 profile1
switch#copy ftp://switch:digitalchina@10.1.1.1/profile2 profile2
switch#copy ftp://switch:digitalchina@10.1.1.1/profile3 profile3
执行完上述命令,交换机就可将计算机上的用户情景配置文件下载到flash 中了。
2 tftp 配置:
计算机端配置:
在计算机机上启动tftp server 软件,并将“profile1”、“profile2”、“profile3”文件放到计算机上对应的tftp server 目录下。
交换机的配置步骤如下:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#exit
switch#copy tftp://10.1.1.1/ profile1 profile1
switch#copy tftp://10.1.1.1/ profile2 profile2
switch#copy tftp://10.1.1.1/ profile3 profile3
案例5:本交换机作为ftp 客户机查看ftp 服务器上文件列表
同步情况:交换机通过以太口和pc 相连,pc 为ftp 服务器,ip 地址为10.1.1.1,交换机作为ftp 客户端,交换机vlan1 接口ip 地址为10.1.1.2。
ftp 配置:
pc 端:
在pc 机上启动ftp server 软件,并且设置用户switch,密码为digitalchina。
交换机端:
switch(config)#inter vlan 1
switch(config-if-vlan1)#ip address 10.1.1.2 255.255.255.0
switch(config-if-vlan1)#no shut
switch(config-if-vlan1)#exit
switch(config)#dir ftp://switch:digitalchina@10.1.1.1
220 serv-u ftp-server v2.5 build 6 for winsock ready...
331 user name okay, need password.
230 user logged in, proceed.
200 port command successful.
150 opening ascii mode data connection for /bin/ls.
recv total = 480
nos.img
nos.rom
parsecommandline.cpp
position.doc
qmdict.zip
shell 维护统计.xls
…(省略部分显示)
show.txt
snmp.txt
226 transfer complete.
switch(config)#
5.5.2.4 ftp/tftp 排错帮助
5.5.2.4.1 监测和调试命令
5.5.2.4.1.1 show ftp
命令:show ftp
功能:显示ftp 服务器参数的设置情况。
命令模式:特权用户配置模式
缺省情况:缺省不显示。
举例:
switch#sh ftp
timeout :600

5.5.2.4.1.2 show tftp
命令:show tftp
功能:显示tftp 服务器参数的设置情况。
缺省情况:缺省不显示。
命令模式:特权用户配置模式
举例:
switch#sh tftp
timeout :60
retry times :10

5.5.2.4.2 ftp 排错帮助
在使用ftp 协议上下载系统文件时,务必保证链路的可达,即在使用ftp 之前,使用ping 命令检验ftp 客户机和服务器的是否可达。如ping 不通,则需查看相应排错信息,恢复链路的可达性。
1 下面是发送文件时的正确信息,如果不正确,请检查链路的可达性并重新执行copy 命令。
220 serv-u ftp-server v2.5 build 6 for winsock ready...
331 user name okay, need password.
230 user logged in, proceed.
200 port command successful.
nos.img file length = 1526021
read file ok
send file
150 opening ascii mode data connection for nos.img.
226 transfer complete.
close ftp client.
2 下面是接收文件时的正确信息,如果不正确,请检查链路的可达性并重新执行copy 命令。
220 serv-u ftp-server v2.5 build 6 for winsock ready...
331 user name okay, need password.
230 user logged in, proceed.
200 port command successful.
recv total = 1526037
************************
write ok
150 opening ascii mode data connection for nos.img (1526037 bytes).
226 transfer complete.
3 如果交换机通过ftp 升级系统文件或系统启动文件时,必须等待系统提示出现表示升级成功的“close ftp client.”或“226 transfer complete.”的字样,此时交换机可以进行重启的操作,否则将回导致交换机的无法启动。若出现通过ftp 升级系统文件及系统启动文件失败时,请重新升级或进入到bootrom 模式升级。
5.5.2.4.3 tftp 排错帮助
在使用tftp 协议上下载系统文件时,务必保证链路的可达,即在使用tftp 之前,使用ping 命令检验tftp 客户机和服务器的是否可达。如ping 不通,则需查看相应排错信息,恢复链路的可达性。
1 下面是发送文件时的正确信息,如果不正确,请检查链路的可达性并重新执行copy 命令。
nos.img file length = 1526021
read file ok
begin to send file,wait...
file transfers complete.
close tftp client.
2 下面是接收文件时的正确信息,如果不正确,请检查链路的可达性并重新执行copy 命令。
begin to receive file,wait...
recv 1526037
************************
write ok
transfer complete
close tftp client.
如果交换机通过tftp 升级系统文件或系统启动文件时,必须等待系统提示出现表示升级成功的“close tftp client.”的字样,此时交换机可以进行重启的操作,否则将回导致交换机的无法启动。若出现通过tftp 升级系统文件及系统启动文件失败时,请重新升级或进入到bootrom 模式升级。