网络服务与应用
[TOC]
文件传输
FTP协议

FTP采用典型的C/S架构,客户端与服务器端建立TCP连接之后即可实现文件的上传、下载
针对传输的文件类型不同,FTP可以采用不同的传输模式:
ASCII模式:
- 传输文本文件(TXT、LOG、CFG )时会对文本内容进行编码方式转换,提高传输效率。当传输网络设备的配置文件、日志文件时推荐使用该模式
- ASCII模式用于传输文本文件。发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符
Binary [二进制] 模式:
- 非文本文件 [cc、BIN、EXE、PNG],以二进制直接传输原始文件内容。当传输网络设备的版本文件时推荐使用该模式
- 发送端在发送这些文件时无需转换格式即可传输
FTP传输过程
FTP存在两种工作方式:主动模式 [ PORT ] 和被动模式 [ PASV ]
主动模式:

- FTP客户端使用一个随机端口 [一般大于1024] 向FTP服务器端的端口21发送连接请求
- FTP服务器端接受请求,建立一条控制连接来传输控制消息
- FTP客户端开始监听另一随机端口P [一般大于1024] ,并使用PORT命令通知FTP服务器端
- 当需要传输数据时,FTP服务器端从端口20向FTP客户端的端口P发送连接请求,建立一条传输连接来传输数据
被动模式:

- 当使用被动模式时,FTP客户端使用一个随机端口(一般大于1024)向FTP服务器端的端口21发送连接请求,FTP服务器端接受请求,建立一条控制连接来传输控制消息。同时FTP客户端开始监听另一随机端口P(一般大于1024),并使用PASV命令通知FTP服务器端,FTP服务器端接到PASV 命令后,开启一个随机端口N(一般大于1024),并使用Enter PASV命令告知客户端自身开放端口号。当需要传输数据时,FTP客户端从端口P向FTP服务器端N端口发送连接请求,建立一条传输连接来传输数据。
- 主动模式和被动模式建立数据连接方式完全不同,在实际使用中各有利弊:
- 使用主动模式传输数据时,如果FTP客户端在私有网络中并且FTP客户端和FTP服务器端之间存在NAT设备,那么FTP服务器端收到的PORT报文中携带的端口号、IP地址并不是FTP客户端经过NAT转换之后的地址、端口号,因此服务器端无法向PORT报文中携带的私网地址发起TCP连接(此时,客户端的私网地址在公有网络中路由不可达)
- 使用被动模式传输数据时,FTP客户端主动向服务器端的一个开放端口发起连接,如果FTP服务器端在防火墙内部区域中,并且没有放通客户端所在区域到服务器端所在区域的主动访问,那么这个连接将无法建立成功,从而导致FTP无法正常传输
FTP配置命令
1. 开启FTP服务器端功能:
[Huawei] ftp [ ipv6 ] server enable #缺省情况下,设备的FTP服务器端功能是关闭的
2. 配置FTP本地用户:
[Huawei]aaa
[Huawei]local-user user-name password irreversible-cipher password
[Huawei]local-user user-name privilege level level
[Huawei]local-user user-name service-type ftp
[Huawei]local-user user-name ftp-directory directory
# 必须将用户级别配置在3级或者3级以上,否则FTP连接将无法成功
TFTP协议
TFTP的设计是以传输小文件为目标:
- 使用UDP进行传输 [端口号69]
- 无需认证
- 只能直接向服务器端请求某个文件或者上传某个文件,无法查看服务器端的文件目录

TFTP传输示例

TFTP存在5种报文格式:
- RRQ:读请求包
- WRQ:写请求包
- DATA:数据传输报文
- ACK:应答包,用于确认收到对端的报文
- ERROR:差错控制报文
TFTP配置指令:
1. VRP作为TFTP客户端下载/上传文件:
<Huawei> tftp [ -a source-ip-address | -i interface-type interface-number ] tftp-server { get | put } source-filename [ destination-filename ]
# TFTP无需登录,直接输入服务器端IP地址以及操作命令即可
参数 | 参数说明 |
---|---|
-a source-ip-address | 指定TFTP客户端连接使用的源地址,建议使用Loopback地址 |
-i interface-type interface-number | 指定TFTP客户端连接使用的源接口,包括接口类型和接口编号。如果源接口下没有配置IP地址,则导致TFTP连接建立失败 |
tftp-server | 指定IPv4 TFTP服务器的地址或者主机名 |
get | 指定进行下载文件操作 |
put | 指定进行上传文件操作 |
source-filename | 指定源文件名。 |
destination-filename | 指定目标文件名 |
Telnet 远程登录协议
Telnet协议,无需专用线缆直连设备的Console接口,只要IP地址可达、能够和设备的TCP 23端口通信即可
支持通过Telnet协议进行管理的设备被称为Telnet服务器端,而对应的终端则被称为Telnet客户端

虚拟用户界面
当用户使用Console接口、Telnet等方式登录设备的时候,系统会分配一个用户界面 [user-interface]来管理、监控设备与用户间的当前会话,每个用户界面视图可以配置一系列参数用于指定用户的认证方式、登录后的权限级别,当用户登录设备后将会受这些参数限制
Telnet所对应的用户界面类型为VTY [Virtual Type Terminal,虚拟类型终端]
Telnet配置命令
1. 开启Telnet服务器端功能:
[Huawei] telnet server enable
# 使能设备的Telnet服务器端功能,缺省情况下,设备的Telnet服务器端功能处于去使能状态
# undo telnet server enable即可重新关闭Telnet服务器端功能
2. 进入用户视图:
[Huawei] user-interface vty first-ui-number [ last-ui-number ]
# 进入VTY用户界面视图,不同设备型号的VTY接口可能并不一致
3. 配置VTY用户界面支持的协议:
[Huawei-ui-vty0-4]] protocol inbound { all | telnet }
# 缺省情况下,VTY用户界面支持的协议是SSH [Secure Shell Protocol ,安全外壳协议]和Telnet
4. 配置认证方式以及密码认证方式下的认证密码:
[Huawei-ui-vty0-4] authentication-mode {aaa | none | password}
[Huawei-ui-vty0-4] set authentication password cipher
# 缺省情况下,无默认认证方式,需要进行手动配置
DHCP 动态主机配置协议
DHCP采用C/S构架,主机无需配置,从服务器端获取地址,可实现接入网络后即插即用

DHCP工作原理

- DHCP Discover [广播]:用于发现当前网络中的DHCP服务器端
- DHCP Offer [单播]:携带分配给客户端的IP地址
- DHCP Request [广播]:告知服务器端自己将使用该IP地址
- DHCP Ack [单播]:最终确认,告知客户端可以使用该IP地址
DHCP租期更新

如果在50%租期时客户端未得到原服务器端的回应,则客户端在87.5%租期时会广播发送DHCP Request,任意一台DHCP服务器端都可回应,该过程称为重绑定
DHCP配置命令
1. 开启DHCP功能:
[Huawei] dhcp enable
2. 开启接口采用接口地址池的DHCP服务器端功能:
[Huawei-Gigabitthernet0/0/0]dhcp select interface
3. 指定接口地址池下的DNS服务器地址:
[Huawei-Gigabitthernet0/0/0]dhcp server dns-list ip-address
4. 配置接口地址池中不参与自动分配的IP地址范围:
[Huawei-Gigabitthernet0/0/0]dhcp server excluded-ip-address start-ip-address [ end-ip-address ]
参数 | 参数说明 | 取值 |
---|---|---|
start-ip-address | 指定不参与自动分配的IP地址段的起始IP地址 | 点分十进制形式 |
end-ip-address | 指定不参与自动分配的IP地址段的结束IP地址。不指定该参数,表示只有一个IP地址start-ip-address | 应与start-ip-address在同一网段,并且不小于start-ip-address |
5. 配置DHCP服务器接口地址池中IP地址的租用有效期限功能:
[Huawei-Gigabitthernet0/0/0] dhcp server lease { day day [ hour hour [ minute minute ] ] | unlimited } # 配置DHCP服务器接口地址池中IP地址的租用有效期限功能
# 缺省情况下,IP地址的租期为1天
参数 | 参数说明 |
---|---|
day day | 指定租用有效期限的天数 |
hour hour | 指定租用有效期限的小时数 |
minute minute | 指定租用有效期限的分钟数 |
unlimited | 指定租用有效期限为无限长 |
6. 创建全局地址池:
[Huawei] ip pool ip-pool-name #创建全局地址池,ip-pool-name指定地址池名称
7. 配置全局地址池可动态分配的IP地址范围:
[Huawei-ip-pool-2] network ip-address [ mask { mask | mask-length } ]
8. 配置DHCP客户端的网关地址:
[Huawei-ip-pool-2] gateway-list ip-address #配置DHCP客户端的网关地址
9. 配置DHCP客户端使用的DNS服务器的IP地址:
[Huawei-ip-pool-2]dns-list ip-address #配置DHCP客户端使用的DNS服务器的IP地址
10. 配置IP地址租期:
[Huawei-ip-pool-2] lease { day day [ hour hour [ minute minute ] ] | unlimited }
# lease命令用来配置地址池下的地址租期
11. 使能接口的DHCP服务器功能:
[Huawei-Gigabitthernet0/0/0] dhcp select global
HTTP 超文本传输协议

HTTP [Hypertext Transfer Protocol,超文本传输协议]:客户端浏览器与Web服务器之间的应用层通信协议
HTTP是典型的C/S构架应用,作为应用层协议使用TCP进行传输
DNS域名解析系统
DNS [ Domain Name System,域名解析系统 ] 协议负责将域名解析到IP地址
域名系统组成
域名:主机的字符标识方式
域名解析服务器 [DNS Server] :负责维护域名与IP地址对应关系的数据库,并对解析者的请求进行响应

域名的表示方法为:主机名 . 次顶级域名 . 顶级域名 . 根域 ,根域为 .
,一般最后的根域不表示
DNS查询方式
DNS是一个分布式系统,绝大多数的DNS服务器端的数据库不会拥有所有的域名记录
- 客户端向DNS服务器端查询域名但该DNS服务器端上却没有该域名的记录时,此时有两种继续查询的方式:
- 递归查询:由DNS服务器向其他DNS服务器进行查询,将最终查询结果返回给DNS客户端
- 迭代查询:DNS服务器告知DNS客户端其他DNS服务器地址,客户端自行向其他DNS服务器进行查询

NTP时钟同步
网络时间协议NTP [ Network Time Protocol ] 是TCP/IP协议族里面的一个应用层协议
- NTP用于在一系列分布式时间服务器与客户端之间同步时钟
- NTP的实现基于IP和UDP,NTP报文通过UDP传输,端口号是123

NTP网络结构
- 主时间服务器:
- 通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等
- 二级时间服务器:
- 通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机
- 层数(stratum):
- 层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~15,数值越小,精确度越高。1表示时钟精确度最高,15表示未同步
