(*长期更新)软考网络工程师学习笔记——Section 9 应用层

一、DNS

(一)DNS的组成

域名系统是用于将主机域名解析为IP地址的系统,由解析器域名服务器组成,DNS主要基于UDP协议,较少情况下使用TCP协议,端口号均为53

可从三部分来解释域名系统:DNS名字空间、域名服务器和DNS客户机。
1、DNS名字空间
DNS名字空间是树状结构,连接在Internet上的主机或路由器都有唯一的层次结构名称,也称为域名。
不同级别的域名通过“.”隔开,根域处于Internet三域名结构的最高,提供根域名服务,其中根域名也是通过“.”来表示,域名的完整结构如下:
主机.三级域名.二级域名.顶级域名.
在这里插入图片描述
主机属于最低层域名,处于域名树的叶子端,代表各类主机提供的服务,而顶级域名处于根域名之下,它可分为国家顶级域名、通用顶级域名和国际顶级域名三大类。
2、域名服务器
域名服务器运行模式为客户机/服务器模式(C/S模式),以下通过域名空间层次和域名服务器的作用可分类如下:
(1)按域名空间层次可分为根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器四种。
(2)按域名服务器的作用可分为主域名服务器、辅域名服务器、缓存域名服务器和转发域名服务器。

名称 作用
主域名服务器 具有域名数据库,一个域只有一个主域名服务器
辅域名服务器 具有域名数据库,可进行主域名服务器备份,使负载均衡
缓存域名服务器 无域名数据库,有高速缓冲,其获取解析结果耗时最短
转发域名服务器 具有域名数据库,负责非本地和缓存中无法查到的域名转发

其中缓存域名服务器没有域名数据库,它向其他域名服务器进行域名查询,将查询的结果保存在缓存中的域名服务器。

(二)DNS的资源记录类型

1、资源记录的格式
域名数据库中包括DNS服务器所使用的一个或多个区域文件,每个区域都有一组结构化的资源记录,DNS的资源记录格式为:

[引用的域对象名][TTL生存时间记录字段][指定网络的地址类][记录类型][资源记录有关的数据]

其中TTL通常为空,表示生存周期在授权资源记录开始中指定,指定网络的地址类时对于TCP/IP网络使用IN。
2、常见的资源记录

资源记录名称 作用
A 指明一个域名对应的IP地址(将DNS域名映射到IPv4的32位地址
AAAA 指明一个域名对应的IP地址(将DNS域名映射到IPv6的128位地址
CNAME 规范名资源记录,也就是别名记录允许多个名称对应同一个主机(常见别名记录之前必须先创建A记录)
MX 指明邮件服务器的IP地址和优先级
NS 定义区域的授权服务器指明域名由哪台服务器来解析
PTR 指针,定义了区域的反向搜索,用于将一个IP地址映射为一个主机名

通常不需要设置NS记录,因为域名解析是通过ISP提供的域名服务器解析的,若用户需要自己用DNS服务器来解析自己的域名,则需创建NS记录,并将域名服务器的IP地址告诉给ISP进行登记。

(三)域名解析

将域名解析为IP地址,也就是域名解析,域名解析分为递归查询和迭代查询两种。
1、递归查询
递归查询是主要的域名查询方式,当主机有域名解析的需求时,首先查询本地域名服务器,如果成功,则由本地域名服务器反馈结果;如果查询失败,则查询上一级域名服务器,然后由上一级域名服务器完成查询,即通过该查询方式,发送的域名请求只有1条。
在这里插入图片描述
2、迭代查询
当主机有域名解析的需求时,和递归查询一样,也是首先查询本地域名服务器,如果成功,由本地域名服务器反馈结果;如果查询失败,则本地域名服务器直接向根域名服务器发起查询请求,然后本地域名服务器直接向顶级域名服务器发起查询请求,依次迭代下去,直到得到结果IP,这种查询方式发送的域名请求有多条。
3、DNS服务器在解析过程中的查询顺序
在一般情况下,DNS客户端先查找hosts文件中的配置,然后再通过DNS查询,具体的查找顺序如下:
在这里插入图片描述
客户机首先查找DNS缓存,若无法找到,则根据本机的配置确定查找HOSTS文件或者是DNS服务器。

(四)DNS安全

DNS系统的是网络运行的前提,可以通过设置防火墙控制对DNS的访问、避免DNS的主机信息被窃取、限制区域传输等方式确保DNS的安全。

另外,DNS通知是一种安全机制,即只有被通知的辅助服务器才能进行区域复制,从而防止未授权的服务器非法区域复制,它也是一种推进机制,用于辅助服务器及时更新区域的信息

二、DHCP

(一)DHCP的基本概念

动态主机配置协议是基于BOOTP上的改进所来的主机配置协议,通过该协议,DHCP服务器为DHCP客户端进行动态IP地址分配,即不必指明DHCP服务器的IP地址就能获得DHCP服务。

(二)DHCP的相关端口

当需要跨越多个网段提供DHCP服务时,要通过DHCP中继代理获取外网IP地址,从而在DHCP客户和服务器之间转发DHCP消息的主机或路由器。
在这里插入图片描述
DHCP服务端使用UDP(用户数据报协议)的67号端口来监听和接收客户请求消息,而客户端通过UDP的68号端口接收来自DHCP服务器的消息回复,而当DHCP客户端无法找到对应的服务器、获取合法IP地址失败的前提下,此时获取的IP地址为169.254.X.X(window系统中)。

(三)DHCP的优点

通过采用DHCP分配IP地址可以合理地分配IP地址资源(超过租约或由用户释放的IP地址会被服务器收回,并重新分配给其它的主机)、减少网络管理人员的工作量(由于其自动获取服务器提供的配置参数)和减少IP地址分配出错的可能(服务器对地址池的管理防止出错)等等,但不能提高域名解析的速度。

(四)DHCP的工作流程

1、第一步,DHCP客户端发送IP租用请求(发送一个DHCPDISCOVER广播消息),其封包的源地址为0.0.0.0,目标地址为255.255.255.255,即DHCP客户端在启动时会向网络发出一个DHCPDISCOVER包来请求IP地址为0.0.0.0。
2、第二步,收到后,DHCP服务器提供IP租用服务,通过UDP的67号端口向DHCP客户端回应一个DHCPOFFER信息,其中包括一个还没被分配的有效IP地址
3、第三步IP租用选择,由于同一子网中可能有多台DHCP服务器,在一般情况下,客户端会采用最先到达的DHCP服务器并分配IP地址,即此时不止一台DHCP服务器收到DHCPOFFER信息,所以客户端选择最先到达的DHCPOFFER并发送DHCPREQUEST消息包
4、第四步IP租用确认,DHCP服务器向客户端发送一个DHCPACK确认信息,其中包括IP地址、子网掩码、默认网关、DNS服务器地址以及IP地址的租约期限(默认为8天)。
5、第五步,获取后DHCP客户端重新登录(即重新联网),直接发送包含之前分配的地址信息的DHCPREQUEST请求(依然是通过广播方式),DHCP服务器收到请求后,若该地址可用,则返回DHCPACK信息确认,若不可用则发送DHCPNACK信息否认(此时客户端就需从头开始申请IP地址)。

(五)DHCP的更新租约和管理

1、DHCP的更新租约
DHCP服务器向DHCP客户端发送的IP地址都有一个租用期限(默认为8天),在期限到达时,DHCP会收回出租的IP地址,若想延长租约则需更新IP租约,而若没有延长租约从而超过租约期限或由用户自己释放的IP地址会被DHCP服务器收回,并重新分配给其它的主机。
在DHCP客户端启动时和IP租约期过一半(50%)时,DHCP客户端会自动向DHCP服务器发送更新IP租约的信息,若没有响应,则在IP的使用时间到达租约期的87.5%时会再次请求更新
2、DHCP的管理
通过使用DHCP可将所有获取IP地址的主机划分为不同的类别进行管理,对于频繁变化的、使用远程访问的笔记本和移动设备则需提供较短的租约时间,例如移动用户适合划分到租约期较短的类别,固定用户适合划分到租约期较长的类别,远程访问用户适合划分到默认路由类别,服务器适合划分到固定IP地址的类别。

三、FTP和TFTP

(一)FTP的基本概念和相关端口

文件传输协议,用于在Internet上控制文件的传输,通过TCP(传输控制协议)的20号端口建立的连接是数据连接,通过TCP的21号端口建立的连接是控制连接,若客户端应用进程的命令端口为N,则数据传输端口为N+1(N≥1024)。
在这里插入图片描述

(二)FTP的工作方式

FTP有两种工作方式,分为主动式和被动式。
1、主动式
当需要传输数据时,客户端从一个任意的非系统端口N(N≥1024)连接到FTP服务器的21号端口(控制连接),随后开始监听端口N+1发送FTP命令至FTP服务器,服务器会从20号数据端口向客户端指定的N+1号端口发送连接请求,并建立一条数据链路来传输数据。
2、被动式
当需要传输数据时,被动式与主动式一样,连接到FTP服务器的21号端口,随后客户端发送PASV命令,且服务器响应,然后服务器开启一个任意的非系统端口Y(Y≥1024),客户端从端口N+1连接到FTP服务器的Y号端口。

(三)TFTP的基本概念

TFTP与FTP类似,相对于FTP其小而简单,基于UDP协议,一般用于路由器、交换机、防火墙配置文件传输。

三、WWW和HTTP

(一)WWW的构成

WWW,即万维网,基于URL进行定位,通过HTTP(超文本传送)协议传送给用户,由HTML(超文本标记语言)进行文档的展现
1、URL
统一资源标识符是为万维网上资源定位的系统,它由四个部分组成:
在这里插入图片描述
<协议>://表示使用的哪种协议来获取文档,比如http、https、ftp等等;主机表示资源主机的域名,端口表示主机服务端口(有时候可省略),路径表示资源在主机中的具体位置(有时候可省略)。
2、HTTP
HTTP是一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。
3、HTML
HTML语言用于描述网页文档,WWW采用客户机/服务器(C/S)的工作模式,首先用户使用浏览器或其它程序建立客户机与浏览器的连接,并发送浏览请求,Web服务器接收到请求后返回信息到客户机,通信完成后关闭连接。

(二)HTTP

1、HTTP协议的相关端口
HTTP协议通过使用TCP的80号端口提供服务,它工作在客户机/服务器(C/S)的模式下,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求,收到请求后服务器向客户端发回响应消息,其中客户端请求和连接端口需大于1024。
HTTP使用TCP协议的原因是,通过TCP协议提供传输控制,可用对数据进行顺序组织且可以对错序数据进行纠正。
2、HTTP报文
HTTP报文分为请求报文和响应报文,前者是客户端向服务器发送的请求报文,而后者是服务器应答客户端的报文。
常见的请求报文如下:

名称 作用
GET 读网页,请求读取URL标识的信息
HEAD 读网页头,请求读取URL标识的信息首部
POST 推送网页信息,将消息加载到指定网页上
PUT 指明URL常见或修改资源,用于上传资源
DELETE 删除URL所指定的资源
OPTION 请求一些参数信息
TRACE 进行环路测试
CONNECT 用于代理服务器

(三)HTTPS

HTTP有很大的安全缺陷,由于其数据的明文传送和消息完整性检测的缺乏,所以在HTTP 的基础上加入SSL(安全套接字协议),通过传输加密和身份认证,相比于HTTP,保证了传输过程的安全性可防止数据在传输过程中被窃取、改变,确保数据的完整性

四、电子邮件协议

常见的电子邮件协议有:简单邮件传输协议(SMTP)、邮局协议(POP,目前版本是POP3)和Internet邮件访问协议(IMAP,目前版本是IMAP4)三种协议。

(一)SMTP

简单邮件传输协议负责底层的邮件系统,将邮件从一台主机发送至另一台主机,它基于TCP协议的25号端口

(二)POP

邮局协议是将邮件从邮件服务器中传输至用户计算机的协议,它基于TCP协议的110号端口,客户端软件与POP3服务器建立TCP连接,由于使用了客户端软件,所以可看作采用C/S模式。

(三)IMAP

Internet邮件访问协议是POP的一种替代协议,提供了邮件检索和邮件处理的新功能,它增强了电子邮件的灵活性,它基于TCP协议的143号端口

五、SNMP

(一)OSI定义的网络管理

OSI定义的网络管理有五大功能域:性能管理、配置管理、故障管理、安全管理和计费管理。

(二)CMIS/CMIP

公共管理信息服务/协议是OSI模型提供的网络管理协议簇,CMIS定义了每个网络组成部件提供的网络管理服务,而CMIP是实现CMIS服务的协议。

(三)网络管理系统

网络管理系统主要包括四大部分:至少一个网络管理站、多个被管代理、网管协议(如SNMP、CMIP),以及至少一个网管信息库。一个代理由多个管理站管理,一个管理进程可以联系多个代理,一个代理也可以给多个管理进程提供信息。
在SNMPv3中,网络管理站和代理统一叫做SNMP实体,SNMP实体由一个SNMP引擎一个或多个SNMP应用程序组成。
1、网络管理站
网络管理站位于网络系统主干或靠近主干的工作站,是网络管理系统的核心驻留在网络管理的服务器上负责管理代理和管理信息库,实施网络管理功能,作为网络管理员与网络管理系统的接口。
2、代理
代理位于被管理设备内部,在网络管理系统中,主机、网桥、路由器及集线器可作为被管代理工作,负责收集被管理设备的各种信息和响应管理站的命令或请求并将其传输至MIB数据库中
3、管理信息库(MIB)
一个虚拟数据库提供有关被管理网络各类系统和设备的信息,属于分布式数据库。
4、网络管理协议
网络管理协议用于在管理站和代理之间传递、交互信息,比如SNMP和CMIS/SMIP。

(四)SNMP的组成

简单网络管理协议是一组标准,它基于UDP协议,SNMP协议实体发送请求和应答报文的默认端口号是161SNMP代理发送陷阱报文(Trap)的默认端口号是162,由SNMP协议、管理信息库(MIB)和管理信息结构(SMI)三项组成,它是进行网络设备间通信的管理协议,可以进行网络状态监视、网络参数设定、网络流量统计与分析、发现网络故障等等。
在这里插入图片描述

(五)SNMP PDU

SNMP规定了五个重要的协议数据单元PDU,也称为SNMP报文,可分为从管理站到代理的SNMP报文和代理到管理站的SNMP报文。
在这里插入图片描述
如下表,两种SNMP报文:
在这里插入图片描述

(六)SNMP版本

SNMP版本由SNMPv1、SNMPv2、SNMPv3三个版本,SNMPv1易于实现,同一团体的管理站和代理才能互相作用;SNMPv2可以实现分布和集中两种方式的管理,它较于SNMPv1增加管理站之间的信息交换,且增加多协议支持,引入了信息模块的概念;SNMPv3采用模块化设计,提供安全的支持,基于用户的安全模型。

(七)管理信息库(MIB)

目前的管理信息库版本为MIB-2,每个MIB-2信息包括若干个MIB变量,常见的MIB-2信息类别有:
在这里插入图片描述
MIB中被管对象的访问方式有只读、读写、只写和不可访问四种方式。

七、Telnet

Telnet即TCP/IP终端仿真协议,它是一种基于TCP协议端口号为23的虚拟终端通信协议,采用的工作方式也是C/S(客户端/服务器)的工作方式,通过网络虚拟终端(NVT)实现客户端和服务器的数据传输,NVT代码中包含了标准ASCII字符集和Telnet命令集,是本机终端和远程主机之间的网络接口,从而实现远程登录、远程管理交换机和路由器等功能。

八、SSH和SSL

SSH(安全外壳协议)是一种可靠的、为远程登录会话以及其他网络服务提供安全性的协议,它是位于应用层和传输层基础上的安全协议,通过SSH协议阔以对所有传输的数据进行加密,同时防止DNS欺骗和IP欺骗,另外它由于传输的数据是经过压缩的所以可以加快传输的速度。

猜你喜欢

转载自blog.csdn.net/qq_43085848/article/details/122293838