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的优点是提供简单的、开销不大的文件传输服务。
dcrs-5512gc实现ftp/tftp客户机和服务器的功能。当dcrs-5512gc作为ftp/tftp客户机时,在不影响交换机正常工作的情况下,能从远端ftp/tftp服务器(可以是主机和其它交换机)下载配置文件或系统文件,(ftp客户端可以查看服务器上的文件列表),也可以将dcrs-5512gc当前配置文件或系统文件上载到远端ftp/tftp服务器上(可以是主机和其它交换机)的功能;当dcrs-5512gc作为ftp/tftp服务器时,同样它能为它授权的ftp/tftp客户机提供上传和下载文件的服务,(ftp服务器还提供传输服务器上文件列表功能)。
下面介绍ftp/tftp中经常用到的术语:
rom:eprom的简称,可擦写只读寄存器。dcrs-5512gc采用flash内存条代替eprom。
sdram:交换机内存,用于系统软件的运行和配置序列的存放。
flash:闪存,用于保存系统文件和配置文件。
系统文件:包括系统映像文件和引导文件。
系统映像文件:是指交换机硬件驱动和软件支持程序等的压缩文件,即我们通常说的img升级文件。dcrs-5512gc系统映像文件只允许保存在flash中。dcrs-5512gc规定,在全局配置模式下通过ftp上载系统映像文件的文件名固定为nos.img,拒绝其它系统img文件的上载。
引导文件:是指引导交换机初始化等的文件,即我们通常说的rom升级文件(如果文件较大,可以压缩为img文件)。dcs引导文件只允许保存在rom中。dcrs-5512gc规定引导文件的文件名固定为nos.rom。
配置文件:包括启动配置文件和运行配置文件。区分启动配置文件和运行配置文件便于实现配置的备份和更新。
启动配置文件:是指交换机启动时采用的配置序列。dcrs-5512gc启动配置文件只存放在flash中,即对应着所谓的配置保留。为了禁止非法文件的上载和方便配置,dcrs-5512gc规定,启动配置文件名固定为startup-config。
运行配置文件:是指交换机当前运行的配置序列。dcrs-5512gc运行配置文件存放在内存中。目前,使用命令write或命令copy running-config startup-config,可将运行配置序列running-config从内存中保存到flash中,即实现运行配置序列到启动配置文件的转变,形成配置保留。为了禁止非法文件的上载和方便配置,dcrs-5512gc规定,运行配置文件名固定为running-config。
出厂配置文件:即factory-config文件,是dcrs-5512gc出厂时的配置文件,使用命令set default和命令write,重启后可将配置文件恢复成出厂配置文件。
5.5.2.2 ftp/tftp配置
dcrs-5512gc作为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客户机配置

2.ftp 服务器配置

3.tftp服务器配置

5.5.2.2.2 ftp/tftp配置命令
5.5.2.2.2.1 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]@[ipadress]/[filename],其中[username]为ftp用户名,[password]为ftp用户口令,[ipadress]为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.2.2 dir
命令:dir [ftp-server-url]
功能:查看ftp服务器上的文件列表。
参数:[ ftp-server-url ]的格式为:ftp://[username]:[password]@[ipadress],其中[username]为ftp用户名,[password]为ftp用户口令,[ipadress]为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.2.3 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.2.4 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.2.5 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.2.6 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.2.7 copy(tftp)
命令:copy [source-url] [destination-url] [ascii | binary]
功能:tftp客户机上下载文件。
参数:[source-url]为被拷贝的源文件或目录的位置;[destination-url]为文件或目录所要拷贝到的目的地址;[source-url]和[destination-url]的具体形式是随着文件或目录位置的不同而变化的。ascii表示文件传输使用ascii标准;binary表示文件传输使用二进制标准(缺省传输方式)。当url是tftp地址时的格式为:tftp://[ipadress]/[filename],其中[ipadress]为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.2.8 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.2.9 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.2.10 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中。
3 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中了。
4 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:dcrs-5512gc作为ftp客户机查看ftp服务器上文件列表
同步情况:交换机通过以太口和pc相连,pc为ftp服务器,ip地址为10.1.1.1,交换机作为ftp客户端,交换机vlan1接口ip地址为10.1.1.2。查看pc 机上ftp服务器上文件列表。如图x-x所示
ftp配置:
pc端:
在pc机上启动ftp server软件,并且设置用户switch,密码为digitalchina。
dcrs-5512gc:
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服务器参数的设置情况。
命令模式:特权用户配置模式
缺省情况:缺省不显示。
举例:

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模式升级。