一 文件传输

文件传输协议

在这里插入图片描述
主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页、邮箱进行文件传输。
然而在互联网早期,Web(World Wide Web,万维网)还未出现,操作系统使用命令行的时代,用户使用命令行工具进行文件传输。其中最通用的方式就是使用FTP(File Transfer Protocol,文件传输协议)以及TFTP(Trivial File Transfer Protocol,简单文件传输协议)。

FTP基本概念

在这里插入图片描述
FTP采用典型的C/S架构(即服务器端与客户端模型),客户端与服务器端建立TCP连接之后即可实现文件的上传、下载。
针对传输的文件类型不同,FTP可以采用不同的传输模式:
ASCII模式:传输文本文件(TXT、LOG、CFG )时会对文本内容进行编码方式转换,提高传输效率。当传输网络设备的配置文件、日志文件时推荐使用该模式。
Binary(二进制)模式:非文本文件(cc、BIN、EXE、PNG),如图片、可执行程序等,以二进制直接传输原始文件内容。当传输网络设备的版本文件时推荐使用该模式。

FTP传输数据时支持两种传输模式:ASCII模式和Binary模式。
ASCII模式用于传输文本文件。发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。二进制模式常用于发送图片文件和程序文件,发送端在发送这些文件时无需转换格式即可传输。
cc:VRP版本文件。

FTP传输过程 - 主动模式

在这里插入图片描述
FTP存在两种工作方式:主动模式(PORT)和被动模式(PASV)。
使用主动模式时,FTP客户端使用一个随机端口(一般大于1024)向FTP服务器端的端口21发送连接请求;FTP服务器端接受请求,建立一条控制连接来传输控制消息。同时FTP客户端开始监听另一随机端口P(一般大于1024),并使用PORT命令通知FTP服务器端。当需要传输数据时,FTP服务器端从端口20向FTP客户端的端口P发送连接请求,建立一条传输连接来传输数据。

FTP传输过程 - 被动模式

在这里插入图片描述
当使用被动模式时,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无法正常传输。

配置命令介绍 - 设备作为服务器端

1 用户通过FTP访问设备
开启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连接将无法成功。

配置命令介绍 - 设备作为客户端

1 VRP作为FTP客户端访问FTP服务器端
ftp 10.1.1.1
Trying 10.1.1.1 …
Press CTRL+K to abort
Connected to 10.1.1.1.
220 FTP service ready.
User(10.1.1.1:(none)):ftp
331 Password required for ftp.
Enter password:
230 User logged in.
2 VRP作为FTP客户端的常用命令
ascii Set the file transfer type to ASCII, and it is the default type
binary Set the file transfer type to support the binary image
ls List the contents of the current or remote directory
passive Set the toggle passive mode, the default is on
get Download the remote file to the local host
put Upload a local file to the remote host

VRP(Versatile Routing Platform ,通用路由平台)
ascii Set the file transfer type to ASCII, and it is the default type :切换到ASCII传输模式。
binary Set the file transfer type to support the binary image:切换到Binary传输模式。
ls List the contents of the current or remote directory:查看FTP服务器端上的文件列表,也可以使用dir 。
passive Set the toggle passive mode, the default is on:使用被动模式,undo passive使用主动模式。
get Download the remote file to the local host:下载FTP服务器端的文件到本地。
put Upload a local file to the remote host:上传本地文件到FTP服务器端 。

配置示例

在这里插入图片描述
上述两台路由器,一台作为FTP服务器端,一台作为FTP客户端。
首先通过配置,在FTP服务器端上开启FTP服务,创建一个账号作为FTP登录使用账号。然后FTP客户端登录FTP服务器端并使用get命令下载一个文件。
FTP服务器端配置如下:
system-view
[Huawei] sysname FTP_Server
[FTP_Server] ftp server enable
[FTP_Server] aaa
[FTP_Server-aaa] local-user admin1234 password irreversible-cipher Helloworld@6789
[FTP_Server-aaa] local-user admin1234 privilege level 15
[FTP_Server-aaa] local-user admin1234 service-type ftp
[FTP_Server-aaa] local-user admin1234 ftp-directory flash:
FTP客户端操作示例:
ftp 10.1.1.1
[FTP Client-ftp]get sslvpn.zip
200 Port command okay.
FTP: 828482 byte(s) received in 2.990 second(s) 277.08Kbyte(s)/sec.

TFTP基础

相较于FTP,TFTP的设计就是以传输小文件为目标,协议实现就简单很多:
使用UDP进行传输(端口号69)
无需认证
只能直接向服务器端请求某个文件或者上传某个文件,无法查看服务器端的文件目录。
在这里插入图片描述
TFTP传输示例
上传文件
在这里插入图片描述
下载文件
在这里插入图片描述
TFTP存在5种报文格式:
RRQ:读请求包。
WRQ:写请求包。
DATA:数据传输报文。
ACK:应答包,用于确认收到对端的报文。
ERROR:差错控制报文。

配置命令介绍 - 设备作为客户端

1 VRP作为TFTP客户端下载文件
tftp TFTP_Server-IP-address get filename
TFTP无需登录,直接输入服务器端IP地址以及操作命令即可。
2 VRP作为TFTP客户端上传文件
tftp TFTP_Server-IP-address put filename
TFTP无需登录,直接输入服务器端IP地址以及操作命令即可。
目前VRP设备只支持作为TFTP客户端。

二 Telnet

Telnet应用场景

为方便通过命令行管理设备,可以使用Telnet协议对设备进行管理。
Telnet协议与使用Console接口管理设备不同,无需专用线缆直连设备的Console接口,只要IP地址可达、能够和设备的TCP 23端口通信即可。
支持通过Telnet协议进行管理的设备被称为Telnet服务器端,而对应的终端则被称为Telnet客户端。很多网络设备同时支持作为Telnet服务器端、Telnet客户端。
在这里插入图片描述

目前主流的网络设备,如:AC(Access Controller,无线控制器)、AP(Access Point,接入点)、Firewall、Router、Switch、Server等都支持作为Telnet服务器端,同时也基本都支持作为Telnet客户端。

虚拟用户界面

当用户使用Console接口、Telnet等方式登录设备的时候,系统会分配一个用户界面(user-interface)来管理、监控设备与用户间的当前会话,每个用户界面视图可以配置一系列参数用于指定用户的认证方式、登录后的权限级别,当用户登录设备后将会受这些参数限制。
Telnet所对应的用户界面类型为VTY(Virtual Type Terminal,虚拟类型终端)。
在这里插入图片描述

配置命令介绍

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
缺省情况下,无默认认证方式,需要进行手动配置。不同VRP版本执行set authentication password cipher命令有差异:某些版本需要回车后输入密码,某些版本可直接在命令后输入密码。

配置示例

在这里插入图片描述
配置10.1.1.2作为Telnet服务器端,认证方式为AAA本地认证。在本地创建名为huawei的账号,密码为Huawei@123,权限为15级。
用户通过Telnet客户端软件登录并管理Telnet服务器端。
Telnet服务器端配置如下:
system-view
[Huawei] telnet server enable
[Huawei] aaa
[Huawei-aaa] local-user huawei password irreversible-cipher Huawei@123
[Huawei-aaa] local-user huawei privilege level 15
[Huawei-aaa] local-user huawei service-type telnet
[Huawei-aaa] quit
[Huawei] user-interface vty 0 4
[Huawei-ui-vty0-4] authentication-mode aaa

配置示例 (2)

在这里插入图片描述
配置10.1.1.2作为Telnet服务器端,认证方式为AAA本地认证。在本地创建名为huawei的账号,密码为Huawei@123,权限为15级。
用户通过Telnet客户端软件登录并管理Telnet服务器端。
Telnet 客户端操作:
telnet 10.1.1.2
Login authentication

Username:huawei
Password:
Info: The max number of VTY users is 5, and the number
of current VTY users on line is 1.
The current login time is 2020-01-08 15:37:25.

三 DHCP

手动配置网络参数的问题

参数多、理解难
在这里插入图片描述
普通用户对于网络参数不了解,经常配置错误,导致无法正常访问网络。随意配置IP地址导致地址冲突更是时常发生。
工作量大
在这里插入图片描述
交由网络管理员统一配置,工作量巨大,属于重复性劳动。
网络管理员需要提前对IP地址进行规划、分配到个人。
利用率低
在这里插入图片描述
企业网中每个人固定使用一个IP地址,IP地址利用率低,有些地址可能长期处于未使用状态。
灵活性差
在这里插入图片描述
WLAN(Wireless Local Area Network,无线局域网)的出现使终端位置不再固定,当无线终端移动到另外一个无线覆盖区域时,可能需要再次配置IP地址。

DHCP基本概念

DHCP工作示意图
在这里插入图片描述
为解决传统的静态手工配置方式的不足,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)应运而生,其可以实现网络动态合理地分配IP地址给主机使用。
DHCP采用C/S构架,主机无需配置,从服务器端获取地址,可实现接入网络后即插即用。

DHCP优点

统一管理
在这里插入图片描述
IP地址由从服务器端的地址池中获取,服务器端会记录维护IP地址的使用状态,做到IP地址统一分配、管理。
在这里插入图片描述
DHCP提出了租期的概念,可有效提高地址利用率。
对于已分配的IP地址,若终端超过租期仍未续租,服务器端判断该终端不再需要使用该IP地址,将IP地址回收,可继续分配给其他终端。

DHCP工作原理

在这里插入图片描述
思考:为什么DHCP客户端收到Offer之后不直接使用该IP地址,还需要发送一个Request告知服务器端?
广播的Request报文让网络中其他DHCP服务器端得知客户端已选择了某个服务器端分配的IP地址,保证其他服务器端可以释放通过单播Offer分配给该客户端的IP地址。

DHCP租期更新

在这里插入图片描述
如果在50%租期时客户端未得到原服务器端的回应,则客户端在87.5%租期时会广播发送DHCP Request,任意一台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 ]
5 配置DHCP服务器接口地址池中IP地址的租用有效期限功能
[Huawei-Gigabitthernet0/0/0]dhcp server lease { day day [ hour hour [ minute minute ] ] | unlimited }
缺省情况下,IP地址的租期为1天。
6 创建全局地址池
[Huawei]ip pool 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
9 配置DHCP客户端使用的DNS服务器的IP地址
[Huawei-ip-pool-2]dns-list ip-address
10 配置IP地址租期
[Huawei-ip-pool-2] lease { day day [ hour hour [ minute minute ] ] | unlimited }
11 使能接口的DHCP服务器功能
[Huawei-Gigabitthernet0/0/0]dhcp select global

DHCP接口地址池配置

在这里插入图片描述
需求描述:
配置一台路由器作为DHCP服务器端,使用接口GE0/0/0所属的网段作为DHCP客户端的地址池,同时将接口地址设为DNS Server地址,租期设置为3天。
DHCP服务器端配置如下:
[Huawei]dhcp enable
[Huawei]interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0]dhcp select interface
[Huawei-GigabitEthernet0/0/0]dhcp server dns-list 10.1.1.2
[Huawei-GigabitEthernet0/0/0]dhcp server excluded-ip-address 10.1.1.2
[Huawei-GigabitEthernet0/0/0]dhcp server lease day 3
全局使能DHCP服务,进入接口视图下,关联当前接口到DHCP地址池,在接口视图下配置DNS地址、排除地址(将接口自身地址排除在外),同时配置给客户端分配IP地址的租期。

DHCP全局地址池配置

在这里插入图片描述
需求描述:
配置一台路由器作为DHCP服务器端,配置全局地址池ip pool 2为DHCP客户端分配IP地址;分配地址为1.1.1.0/24网段,网关地址1.1.1.1,DNS地址同样也是1.1.1.1,租期10天,在GE0/0/0接口下调用全局地址池。
DHCP服务器端配置如下:
[Huawei]dhcp enable
[Huawei]ip pool pool2
Info: It’s successful to create an IP address pool.
[Huawei-ip-pool-pool2]network 1.1.1.0 mask 24
[Huawei-ip-pool-pool2]gateway-list 1.1.1.1
[Huawei-ip-pool-pool2]dns-list 1.1.1.1
[Huawei-ip-pool-pool2]lease day 10
[Huawei-ip-pool-pool2]quit
[Huawei]interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/1]dhcp select global
全局使能DHCP服务,配置全局地址池pool2。在pool2中配置地址池范围、网关地址、DNS地址、租期。
最后在具体的接口中配置选择全局地址池。当GE0/0/0收到DHCP请求就会从全局地址池中进行IP地址分配。

四 HTTP

使用浏览器访问网页

在这里插入图片描述
当我们在浏览器中输入URL(Uniform Resource Locator,统一资源定位符)时,浏览器就可以从某处获取内容,并将页面内容显示在浏览器中。
HTTP(Hypertext Transfer Protocol,超文本传输协议):客户端浏览器或其他程序与Web服务器之间的应用层通信协议。
HTTP是典型的C/S构架应用,作为应用层协议使用TCP进行传输。
URL:唯一标识Internet上网页和其他资源位置的地址,可以包括如超文本网页(扩展名通常为.html或.htm)名称之类的详细信息。

诞生背景

在这里插入图片描述
在互联网早期,为了进行文档之间的共享,人们提出了WWW(World Wide Web,万维网)。
WWW由三部分组成:在浏览器中显示文档内容的页面标记语言HTML(Hypertext Markup Language,超文本标记语言)、在网络上传输文档的协议HTTP、在网络上表明文档位置的URL。
WWW早期其实是浏览HTML的客户端应用程序的名称,现在则代表三项技术的合集,也可以简称为Web。

传输示例 (1)

在这里插入图片描述
传输示例 (2)
在这里插入图片描述

五 DNS

DNS的诞生

当我们在浏览器中输入一个域名访问某个网站时,这个域名最终会被解析为一个IP地址,我们的浏览器实际是在和这个IP地址进行通信。
负责将域名解析到IP地址的协议为DNS(Domain Name System,域名解析系统)。
网络中每个节点都有自己唯一的IP地址,通过IP地址可以实现节点之间的相互访问,但是如果和所有的节点进行通信都使用IP地址的方式,人们很难记住这么多IP地址,为此提出了DNS,将难以记忆的IP地址映射为字符类型的地址。

在这里插入图片描述
Internet的前身ARPAnet时就已经存在主机名称和IP地址的对应关系,只是当时主机数目很少,只需要一个HOSTS.txt文件就可以维护对应关系,HOSTS.txt由NIC(network information center)维护,改动自己主机名的使用者通过电子邮件将自身改动发送给NIC,NIC定期更新HOSTS.txt,这一切在主机数目很少时都没有什么问题。但当ARPAnet使用TCP/IP协议之后,网络用户数量出现了激增,手动维护HOSTS.txt似乎变得困难起来:
名称冲突:NIC虽然可以保证管理的主机名称一致性,但很难保证主机不会随机修改名称和别人正在使用的一致。
一致性:随着网络规模扩大,用户的HOSTS.txt很难保持一致性,很可能主机的HOSTS.txt文件还未更新,其余主机的名称已经变动了数次。
于是接替者DNS由此诞生。

域名系统组成

域名:主机的字符标识方式。大部分情况下,我们访问网站时在浏览器内输入的URL就是该网站的域名。
域名解析服务器(DNS Server):负责维护域名与IP地址对应关系的数据库,并对解析者的请求进行响应。
在这里插入图片描述
域名系统是一个分布式的结构,每个服务器上的数据库只保存了部分域名与IP的对应关系。

域名的表示方法

域名的表示方法为:主机名.次顶级域名.顶级域名.根域,根域为“.”,一般最后的根域不表示。
在这里插入图片描述

DNS查询方式

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

在这里插入图片描述
迭代查询不同于递归查询,DNS服务器1返回的DNS响应里的内容是另外一个DNS服务器地址。

六 NTP

时间同步需求

当今企业园区网络中很多场景都需要所有设备保持时钟一致:
网络管理:对从不同路由器采集来的日志信息、调试信息进行分析时,需要以时间作为参照依据。
计费系统:要求所有设备的时钟保持一致。
多个系统协同处理同一个复杂事件:为保证正确的执行顺序,多个系统必须参考同一时钟。
备份服务器和客户机之间进行增量备份:要求备份服务器和所有客户机之间的时钟同步。
系统时间:某些应用程序需要知道用户登录系统的时间以及文件修改的时间。

NTP简介

如果采用管理员手工输入命令修改系统时间来进行时间同步,不但工作量巨大,而且也不能保证适中的精确性。为此可以使用NTP(Network Time Protocol)技术来同步设备的时钟。
网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议。NTP用于在一系列分布式时间服务器与客户端之间同步时钟。NTP的实现基于IP和UDP。NTP报文通过UDP传输,端口号是123。
在这里插入图片描述
目前主流的网络设备,如:AC(Access Controller,无线控制器)、AP(Access Point,接入点)、Firewall、Router、Switch、Server等基本都作为NTP的客户端,同时其中部分还可以作为NTP服务器端。

NTP网络结构

主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等。
二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机。
层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~15,数值越小,精确度越高。1表示时钟精确度最高,15表示未同步。
在这里插入图片描述
传输网络设备上的日志文件、配置文件,推荐使用FTP的哪种模式?为什么?
ASCII模式;Binary模式更加适用于传输无法进行编码转换的非文本文件,如:EXE、BIN、cc(VRP版本文件)等。

为什么DHCP客户端收到Offer之后不直接使用该IP地址,还需要发送一个Request告知服务器端?
广播的Request报文让网络中其他DHCP服务器端得知客户端已选择了某个服务器端分配的IP地址,保证其他服务器端可以释放通过单播Offer分配给该客户端的IP地址。

HTML、URL、HTTP的作用分别是什么?
HTML用于显示页面内容,URL用于定位文档文件的网络位置,HTTP用于请求、传输文档。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐