(*长期更新)软考网络工程师学习笔记——Section 9 应用层
Posted 晚风(●•σ )
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(*长期更新)软考网络工程师学习笔记——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协议实体发送请求和应答报文的默认端口号是161
,SNMP代理发送陷阱报文(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欺骗,另外它由于传输的数据是经过压缩的所以可以加快传输的速度。
以上是关于(*长期更新)软考网络工程师学习笔记——Section 9 应用层的主要内容,如果未能解决你的问题,请参考以下文章
(*长期更新)软考网络工程师学习笔记——Section 2 数字传输系统
(*长期更新)软考网络工程师学习笔记——Section 17 交换技术原理
(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令
(*长期更新)软考网络工程师学习笔记——Section 6 网络层上篇