网络服务与应用


网络服务与应用

[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表示未同步

文章作者: 十二惊惶
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 十二惊惶 !
  目录