[TOC]
应用层协议
应用层有以下几个重要协议
- DNS
DNS
应用程序层协议定义应用程序如何在不同系统上运行,将消息相互传递。
- DNS代表域名系统。
- DNS是一种目录服务,它提供网络上主机名称与其数字地址之间的映射。
- 互联网的运作需要DNS。
- 树中的每个节点都有一个域名,完整的域名是由点指定的符号序列。
- DNS是一种将域名转换为IP地址的服务。这允许网络用户在查找其他主机时使用用户友好的名称,而不是记住IP地址。
- 例如,假设EduSoft的FTP站点的IP地址为132.147.165.50,大多数人都会通过指定ftp.EduSoft.com来访问此站点。因此,域名比IP地址更可靠。
DNS是在不同平台上使用的TCP / IP协议。域名空间分为三个不同的部分:通用域,国家域和反域。
通用域
- 它根据通用行为定义已注册的主机。
- 树中的每个节点都定义域名,域名是DNS数据库的索引。
- 它使用三个字符的标签,这些标签描述了组织类型。
标签 | 描述 |
---|---|
aero | 航空公司和航空航天公司 |
biz | 企业或公司 |
com | 商业组织 |
coop | 合作企业组织 |
edu | 教育机构 |
gov | 政府机构 |
info | 信息服务提供商 |
int | 国际组织 |
mil | 军事团体 |
museum | 博物馆和其他非营利组织 |
name | 个人名字 |
net | 网络支持中心 |
org | 非营利组织 |
pro | 专业的个人组织 |
国家域
国家域的格式与通用域相同,但它使用两个字符的国家/地区缩写(例如,我们用于美国)来代替三个字符的组织缩写。
反向域
逆域用于将地址映射到名称。当服务器收到来自客户端的请求,并且服务器包含仅授权客户端的文件。要确定客户端是否在授权列表中,它会向DNS服务器发送查询并要求将地址映射到名称。
DNS的工作
- DNS是客户端/服务器网络通信协议。DNS客户端向其发送请求。DNS服务器向客户端发送响应时的服务器。
- 客户端请求包含一个名称,该名称将转换为称为转发DNS查找的IP地址,而包含IP地址的请求将转换为称为反向DNS查找的名称。
- DNS实现了一个分布式数据库,用于存储Internet上可用的所有主机的名称。
- 如果像Web浏览器这样的客户端发送包含主机名的请求,那么诸如DNS解析器之类的软件会向DNS服务器发送请求以获取主机名的IP地址。如果DNS服务器不包含与主机名关联的IP地址,则它会将请求转发到另一个DNS服务器。如果IP地址已到达解析器,则解析器通过Internet协议完成请求。
FTP
- FTP代表文件传输协议。
- FTP是TCP / IP提供的标准Internet协议,用于将文件从一个主机传输到另一个主机。
- 它主要用于将网页文件从其创建者传输到充当互联网上其他计算机服务器的计算机。
- 它还用于从其他服务器将文件下载到计算机。
FTP的目标
- 它提供文件共享。
- 它用于鼓励使用远程计算机。
- 它可以更可靠,更有效地传输数据。
为何选择FTP?
虽然将文件从一个系统传输到另一个系统非常简单直接,但有时会导致问题。例如,两个系统可能具有不同的文件约定。两个系统可能有不同的方式来表示文本和数据。两个系统可能具有不同的目录结构。FTP协议通过在主机之间建立两个连接来克服这些问题。一个连接用于数据传输,另一个连接用于控制连接。
FTP机制
FTP中有两种类型的连接:
FTP客户端
- FTP客户端是一个实现文件传输协议的程序,允许您在Internet上的两台主机之间传输文件。
- 它允许用户连接到远程主机并上载或下载文件。
- 它有一组命令可用于连接到主机,在您和主机之间传输文件并关闭连接。
- FTP程序也可作为Web浏览器中的内置组件使用。这个基于GUI的FTP客户端使文件传输非常简单,也不需要记住FTP命令。
FTP的优点
- 速度: FTP的最大优势之一是速度。FTP是将文件从一台计算机传输到另一台计算机的最快方法之一。
- 高效:它更高效,因为我们不需要完成所有操作来获取整个文件。
- 安全性:要访问FTP服务器,我们需要使用用户名和密码登录。因此,我们可以说FTP更安全。
- 来回移动: FTP允许我们来回传输文件。假设您是公司的经理,您向所有员工发送一些信息,他们都在同一台服务器上发回信息。
FTP的缺点
- 该行业的标准要求是所有FTP传输都应加密。但是,并非所有FTP提供商都是相同的,并非所有提供商都提供加密。因此,我们必须留意提供加密的FTP提供商。
- FTP提供两种操作,即在网络上发送和接收大文件。但是,文件的大小限制为2GB,可以发送。它也不允许您同时传输到多个接收器。
- 密码和文件内容以明文形式发送,允许不必要的窃听。因此,攻击者很可能通过尝试猜测FTP密码来执行暴力攻击。
- 它与每个系统都不兼容。
Telnet(远程登录)
- 互联网的主要任务是为用户提供服务。例如,用户希望在远程站点上运行不同的应用程序并将结果传输到本地站点。这需要客户端 - 服务器程序,如FTP,SMTP。但这不允许我们为每个需求创建一个特定的程序。
- 更好的解决方案是提供一般的客户端 - 服务器程序,允许用户访问远程计算机上的任何应用程序。因此,一个允许用户登录到远程计算机的程序。流行的客户端 - 服务器程序Telnet用于满足这些需求。Telnet是终端网络的缩写。
- Telnet提供与远程计算机的连接,使本地终端看起来位于远程端。
登录有两种类型
- 本地登陆
- 远程登陆
本地登陆
当用户登录到本地计算机时,它称为本地登录。当工作站运行终端仿真器时,终端驱动程序接受用户输入的击键。终端驱动程序然后将这些字符传递给操作系统,操作系统又调用所需的应用程序。但是,操作系统对特殊字符有特殊意义。例如,在UNIX中,某些字符组合具有特殊含义,例如控制字符,“z”表示暂停。这种情况不会产生任何问题,因为终端驱动程序知道这些字符的含义。但是,它可能会导致远程登录问题。
远程登陆
当用户想要访问远程计算机上的应用程序时,用户必须执行远程登录。
如何进行远程登陆
在当地的网站
用户将击键发送给终端驱动程序,然后将字符发送到TELNET客户端。TELNET客户端,它又将字符转换为通用字符集,称为网络虚拟终端字符,并将它们传送到本地TCP / IP堆栈。
在远程站点
NVT表单中的命令被传输到远程机器上的TCP / IP。这里,字符被传送到操作系统,然后传递给TELNET服务器。TELNET服务器转换远程计算机可以理解的字符。但是,由于远程操作系统不从TELNET服务器接收字符,因此无法将字符直接传递给操作系统。因此,它需要一些可以接受来自TELNET服务器的字符的软件。然后,操作系统将这些字符传递给适当的应用程序。
网络虚拟终端(NVT)
- 网络虚拟终端是定义如何通过网络发送数据和命令的接口。
- 在当今世界,系统是异构的。例如,操作系统接受一个特殊的字符组合,例如运行DOS操作系统ctrl + z的文件结束标记,而运行UNIX操作系统的标记是ctrl + d。
- TELNET通过定义称为网络虚拟接口的通用接口解决了这个问题。
- TELNET客户端将来自本地终端的字符转换为NVT格式,然后将它们传送到网络。然后,Telnet服务器将数据从NVT格式转换为远程计算机可以理解的形式。
SMTP
- SMTP代表简单邮件传输协议。
- SMTP是一组通信指南,允许软件通过Internet传输电子邮件称为简单邮件传输协议。
- 它是一个程序,用于根据电子邮件地址向其他计算机用户发送消息。
- 它在相同或不同的计算机上提供用户之间的邮件交换,并且还支持:
- 它可以向一个或多个收件人发送单个邮件。
- 发送消息可以包括文本,语音,视频或图形。
- 它还可以在互联网外的网络上发送消息。
- SMTP的主要用途是用于在服务器之间设置通信规则。服务器有一种识别自己的方式,并宣布他们正在尝试进行何种通信。他们还有一种处理错误的方法,例如错误的电子邮件地址。例如,如果收件人地址错误,则接收服务器回复,并显示某种错误消息。
SMTP的组件
- 首先,我们将SMTP客户端和SMTP服务器分为两个组件,如用户代理(UA)和邮件传输代理(MTA)。用户代理(UA)准备消息,创建信封,然后将消息放入信封中。邮件传输代理(MTA)通过Internet传输此邮件。
- SMTP通过添加中继系统允许更复杂的系统。可以添加更多的MTA,作为客户端或服务器来传递电子邮件,而不是仅在发送端有一个MTA而在接收端有一个MTA。
- 没有TCP / IP协议的中继系统也可以用于向用户发送电子邮件,这是通过使用邮件网关实现的。邮件网关是一个可用于接收电子邮件的中继MTA。
使用SMTP
- 邮件的组成:用户通过使用邮件用户代理(MUA)编写电子邮件消息来发送电子邮件。邮件用户代理是用于发送和接收邮件的程序。该消息包含两部分:正文和标题。正文是邮件的主要部分,而邮件头包含发件人和收件人地址等信息。标题还包括描述性信息,例如消息的主题。在这种情况下,邮件正文就像一个字母,标题就像一个包含收件人地址的信封。
- 邮件提交:撰写电子邮件后,邮件客户端会使用TCP端口25上的SMTP将完成的电子邮件提交到SMTP服务器。
-
邮件传递:电子邮件地址包含两部分:收件人的用户名和域名。例如,vivek @ gmail.com,其中“vivek”是收件人的用户名,“gmail.com”是域名。
如果收件人的电子邮件地址的域名与发件人的域名不同,则MSA会将邮件发送到邮件传输代理(MTA)。要转发电子邮件,MTA将找到目标域。它检查域名系统中的MX记录以获取目标域。MX记录包含收件人域的域名和IP地址。找到记录后,MTA连接到Exchange服务器以中继消息。 - 邮件的接收和处理:一旦收到传入邮件,交换服务器就将邮件传递给传入服务器(邮件传递代理),传入服务器将电子邮件存储在等待用户检索它的位置。
- 访问和检索邮件:可以使用MUA(邮件用户代理)检索MDA中存储的电子邮件。可以使用登录名和密码访问MUA。
SNMP
- SNMP代表简单网络管理协议。
- SNMP是用于管理互联网上的设备的框架。
- 它提供了一组用于监控和管理互联网的操作。
SNMP概念
- SNMP有两个组件,Manager和Agent。
- 管理器是控制和监视一组代理(如路由器)的主机。
- 它是一个应用层协议,其中一些管理站可以处理一组代理。
- 在应用程序级别设计的协议可以监视由不同制造商制造并安装在不同物理网络上的设备。
- 它用于由路由器或网关连接的不同LAN和WAN组成的异构网络。
经理和代理商
- 管理器是运行SNMP客户机程序的主机,而代理程序是运行SNMP服务器程序的路由器。
- 通过管理者和代理之间的简单交互来实现对互联网的管理。
- 代理用于将信息保留在数据库中,而管理器用于访问数据库中的值。例如,路由器可以存储适当的变量,例如接收和转发的多个数据包,而管理员可以比较这些变量以确定路由器是否拥塞。
- 代理商也可以为管理流程做出贡献。代理上的服务器程序检查环境,如果出现问题,代理会向管理器发送警告消息。
使用SNMP管理有三个基本想法
- 管理员通过请求反映代理行为的信息来检查代理。
- 管理器还通过重置代理数据库中的值来强制代理执行某项功能。
- 代理人还通过向管理员发出关于异常情况的警告来促进管理过程。
管理组件
- 管理不仅仅通过SNMP协议实现,还可以使用可与SNMP协议配合的其他协议。通过使用其他两个协议来实现管理:SMI(管理信息的结构)和MIB(管理信息库)。
- 管理是SMI,MIB和SNMP的组合。所有这三个协议,如抽象语法符号1(ASN.1)和基本编码规则(BER)。
SMI
SMI(管理信息的结构)是网络管理中使用的组件。其主要功能是定义可以存储在对象中的数据类型,并显示如何通过网络对数据进行编码。
MIB
- MIB(管理信息库)是网络管理的第二个组件。
- 每个代理都有自己的MIB,它是管理员可以管理的所有对象的集合。MIB分为八组:系统,接口,地址转换,ip,icmp,tcp,udp和egp。这些组属于mib对象。
SNMP
SNMP定义了五种类型的消息:GetRequest,GetNextRequest,SetRequest,GetResponse和Trap。
GetRequest: GetRequest消息从管理器(客户端)发送到代理(服务器)以检索变量的值。
GetNextRequest: GetNextRequest消息从管理器发送到代理以检索变量的值。此类消息用于检索表中条目的值。如果管理器不知道条目的索引,则它将无法检索值。在这种情况下,GetNextRequest消息用于定义对象。
GetResponse: GetResponse消息从代理发送到管理器以响应GetRequest和GetNextRequest消息。此消息包含管理器请求的变量的值。
SetRequest: SetRequest消息从管理器发送到代理以设置变量中的值。
陷阱:陷阱消息从代理发送到管理器以报告事件。例如,如果重新启动代理,则它会通知管理器并发送重新启动的时间。
HTTP
- HTTP代表超文本传输协议。
- 它是用于访问万维网(www)上的数据的协议。
- HTTP协议可用于以纯文本,超文本,音频,视频等形式传输数据。
- 该协议被称为超文本传输协议,因为它的效率允许我们在超文本环境中使用,其中从一个文档快速跳转到另一个文档。
- HTTP类似于FTP,因为它还将文件从一个主机传输到另一个主机。但是,HTTP比FTP简单,因为HTTP只使用一个连接,即没有控制连接来传输文件。
- HTTP用于以类似MIME的格式携带数据。
- HTTP类似于SMTP,因为数据在客户端和服务器之间传输。HTTP与消息从客户端发送到服务器以及从服务器发送到客户端的方式与SMTP不同。在立即传递HTTP消息时,将存储和转发SMTP消息。
HTTP的功能
- 无连接协议: HTTP是一种无连接协议。HTTP客户端发起请求并等待来自服务器的响应。当服务器收到请求时,服务器处理请求并将响应发送回HTTP客户端,之后客户端断开连接。客户端和服务器之间的连接仅在当前请求和响应时间期间存在。
- 媒体无关: HTTP协议是独立于媒体的,因为只要客户端和服务器都知道如何处理数据内容,就可以发送数据。客户端和服务器都需要在MIME类型头中指定内容类型。
- 无状态: HTTP是无状态协议,因为客户端和服务器仅在当前请求期间相互了解。由于协议的这种性质,客户端和服务器都不保留网页的各种请求之间的信息。
HTTP事务
上图显示了客户端和服务器之间的HTTP事务。客户端通过向服务器发送请求消息来启动事务。服务器通过发送响应消息来回复请求消息。
消息
HTTP消息有两种类型:请求和响应。两种消息类型都遵循相同的消息格式。
请求消息:请求消息由客户端发送,该请求消息由请求行,标题,有时是正文组成。
响应消息:响应消息由服务器发送到客户端,该客户端包含状态行,标题,有时还包含正文。
统一资源定位器
- 想要在因特网中访问文档的客户端需要地址并且便于访问文档,HTTP使用统一资源定位符(URL)的概念。
- 统一资源定位符(URL)是在互联网上指定任何类型信息的标准方式。
- URL定义了四个部分:方法,主机,端口和路径。
方法:该方法是用于从服务器检索文档的协议。例如,HTTP。
主机:主机是存储信息的计算机,并为计算机指定别名。网页主要存储在计算机中,并且计算机具有以字符“www”开头的别名。该字段不是强制性的。
端口: URL还可以包含服务器的端口号,但它是可选字段。如果包含端口号,则它必须位于主机和路径之间,并且应该通过冒号与主机分隔。
路径: Path是存储信息的文件的路径名。路径本身包含将目录与子目录和文件分开的斜杠。