首页 > 编程知识 正文

列举三个应用层常用的协议,常见的五种文件类型

时间:2023-05-05 18:26:09 阅读:176160 作者:1716

另一方面,DHCP DHCP概念动态主机配置协议是使用UDP协议操作的APP应用层协议。 通过将客户机主机的ip地址设置为动态获取方法,DHCP服务器可以基于DHCP协议为客户机分配一个ip,然后客户机可以使用该ip连接到internet。

DHCP操作1.寻找DHCP Server

当DHCP客户机首次登录网络时,即客户机没有IP地址数据时,DHCP客户机通过UDP 67端口将DHCP发现包发送到网络。 数据包包含客户端的MAC地址和计算机名称等信息。 因为客户端还不知道自己属于哪个网络,所以数据包的源地址是0.0.0.0,目的地址是255.255.255.255.255,添加DHCP discover的信息并广播到网络

2.提供IP地址租用

当DHCP服务器接收到来自客户端的DHCP发现广播时,从还未租用的地址中选择起始空闲IP和其他TCP/IP设定,并通过UDP 68端口发送DHCP OFFER分组该信息包包含IP地址、子网掩码和地址租用期限等信息。 这种情况下也使用广播进行通信。 发送方IP地址是DHCP服务器的IP地址,目标地址为255.255.255.255。 另一方面,DHCP服务器会保留提供给此客户的IP地址,以便不将此IP地址分配给其他DHCP客户。

因为客户机还没有IP地址,所以DHCP discover包包含MAC地址信息,并使用XID号标识包。 DHCP服务器响应的DHCP OFFER包将根据这些数据传递给请求租用的客户。

3.接受IP租约

如果客户从网络上的多个DHCP服务器接收到响应,则选择仅一个DHCP OFFER,通常将初始到达的DHCP请求广播分组发送到网络,并从客户的MAC地址、租赁信息中删除客户机仍然将0.0.0.0作为源,因为它会通知所有DHCP服务器接受哪些DHCP服务器,包括提供租用的DHCP服务器地址

4.租约确认

DHCP服务器接收到客户接收到DHCP请求后,其向客户端广播返回DHCP ACK消息分组指示已经接受了客户选择,并广播其IP地址的合法租用和其他配置信息

当客户端接收到DHCP ACK广播时,它会向网络发送三个对此IP地址的ARP解析请求,以执行冲突检测,并检查网络上的其他计算机是否正在使用该IP地址。 如果发现IP地址已在使用中,客户将向DHCP服务器发送DHCP DECLINE包,拒绝租用此IP地址,然后重新发送DHCP发现信息。 此IP地址在DHCP服务器管理控制台中显示为BAD_ADDRESS。

如果网络上的其他主机未使用此IP地址,则客户端的TCP/IP将使用租用中提供的IP地址完成初始化,以便可以与其他网络上的主机进行通信。

不同的网络和其他APP应用层流程一样,客户可以位于一个网络上,而服务可以位于与几个网络分离的另一个网络上。 这会带来问题。 DHCP请求通过广播发送。 因为客户不知道服务器的IP地址。 广播的IP数据报无法通过路由器。 当路由器收到这样的数据包时,它会丢弃它。 所有1的IP地址是受限广播地址。

要解决这个问题,需要中介物。 主机或可配置为在APP应用层运行的路由器可以用作中继。 在这种情况下,该主机称为中级代理。 中级代理在端口67处接收广播消息至DHCP服务器的单播地址。 当接收到这种类型的包时,它会将其封装为单播数据报,并将此请求发送到DHCP服务器。 具有单播目的地地址的分组可以被从任何路由器转发,并最终到达DHCP服务器。 DCP服务器知道此消息来自中继代理。 因为请求消息包含用于定义中继代理IP地址的字段。 中继代理收到回复后,将其发送到DHCP客户机。

另一方面,作为域名与IP地址在DNS DNS概念网上相互映射的分布式数据库,即使不记住用户可以被机器直接读取的IP数的字符串也可以容易访问因特网。 通过域名最终获得与该域名对应的IP地址的过程称为域名解析(或主机名解析)。 DNS协议在UDP协议上运行,使用端口号53。

域名系统在互联网规模还很小时,通过主机文件实现映射。 此主机文件只包含两列:名称和地址。 每个主机都可以将主机文件保存在自己的磁盘上,并根据主机文件的总数定期更新。 如果程序或用户需要将名称映射到地址,主机可以搜索主机文件以找到相应的映射。

但是,现在不可能将所有地址和名称都与单独的主机文件相关联。 主机文件太大,无法保存在每台主机上。 此外,每次映射关系发生变化时,也无法更新全球范围内的所有主机文件。

现在采用的解决方案是把这个作为

巨大的信息量划分为若干个较小的组成部分,并把每一部分存储在不同的主机上。使用这种方法时,需要映射的计算机可以寻找持有所需信息的最近的计算机。这种方法就是域名系统。

域名空间

名字被定义在根置于顶部的倒置树的结构中。这个树最多只能有128级:从第0级(跟)到第127级。

DNS域名服务器

DNS是能够在不同平台上使用的协议。在因特网中,域名空间(树)被划分为三个不同的部分:类属域、国家域和反向域。

因为完整的域名体系结构不能存储在一个单独的服务器上,所以它们分散地存储在若干个服务器上。一个服务器负责的范围,或者说有管理权想的范围,就称为区。

DNS服务器的管辖范围是以“区”为单位。区可能等于或小于域,但一定不可能大于域。

解析

把名字映射为地址,或者把地址映射为名字,都称为地址解析。

解析程序

DNS被设计为客户-服务器应用程序。需要把地址映射为名字或把名字映射为地址的主机要调用称为解析程序的DNS客户程序。解析程序访问靠得最近的DNS服务器并发出映射请求。若DNS服务器有这个信息,就满足解析程序的要求,否则,让解析程序再去找其他的服务器,或者直接请其他服务器提供这个信息。

当解析程序收到映射后,就解释这个响应,看它是真正的解析还是差错,最后把结果交给请求映射的进程。

递归解析

客户(解析程序)可以向名字服务器请求递归回答。这就表示解析程序期望服务器提供最终的解答。若服务器就是这个域名的权限服务器,就检查它的数据库并响应。若服务器不是它的权限服务器,就将请求发送给另一个服务器(通常是父服务器)并等待响应。若服务器是权限服务器,则响应,否则,就将查询再发送给另一个服务器。当查询最终被解析后,响应就原路返回,直至最后到达发出请求的客户。

迭代解析

迭代解析

若客户没有要求递归回答,则映射可以按迭代方式进行。若服务器是这个域名的权限服务器,它就发送解答。若不是,就返回(到客户)它认为可以解析这个查询的服务器的IP地址。客户再次向第二个服务器发送查询。若新找到的服务器能够解决这个问题,就i用IP地址回答,否则,就向客户返回一个新的服务器的IP地址。现在客户必须向第三个服务器再次查询。这个过程称为迭代的,因为客户向多个服务器重复同样的查询。

三、TELNET与SSH TELNET概念

Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。

网络虚拟终端(NVT)

接入到远程计算机的过程很复杂,这是因为每一个计算机及其操作系统都会接受一些特殊的字符组合作为记号。例如:在运行DOS操作系统的计算机中,文件结束标记是Ctrl+z,但在UNIX操作系统中则是Ctrl+d。

我们现在是和异构系统打交道。如果我们想接入世界上的任何一台远程计算机,那么我们必须首先知道将要连接的计算机的类型是什么,我们还必须安装那台计算机所使用的特定的终端仿真程序。TELNET解决这个问题的方法是定义一个通用的接口,称为网络虚拟终端字符集(NVT)。通过这个接口,TELNET客户把来自本地终端的字符(数据或命令)转换为NVT形式,然后交付给网络。另一方面,TELNET服务器把NVT形式的数据和命令转换成远程计算机可接受的形式。

远程的操作系统没有被设计成能够从TELNET服务器接收字符,它的设计使得它必须从终端驱动程序接收字符。解决这个问题的方法是增加一个称为伪终端驱动程序的软件,它将这些字符伪装成好像是从另一个终端发来的。然后操作系统就可以把这些字符传递给适当的应用程序。

四、TFTP 概念

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议。和使用TCP的文件传输协议(FTP)不同,为了保持简单短小,TFTP使用了UDP。TFTP的实现(和它所需要的UDP、IP、和设备驱动程序)可以放入只读存储器中

TFTP是一个简单的协议,适合于只读存储器,仅用于无盘系统进行系统引导,它只使用几种报文格式,是一种停止等待协议

特点

1、简单
2、占用资源小
3、适合传递小文件
4、适合在局域网进行传递
5、端口号为69
6、基于UDP实现

UDP端口

在TFTP客户和TFTP服务器之间的通信可能持续很长的时间(几秒钟或几分钟)。若TFTP服务器使用熟知端口69和客户进行长时间的通信,那么jddgs就没有其他的客户能够使用这样的服务。解决这问题的方法是使用熟知端口进行初始连接,但对剩下的通信则采用临时端口。

步骤:

1.服务器使用熟知端口69被动打开连接。

2.客户主动打开连接,它使用临时端口作为源端口而熟知端口69作为目的端口。它使用RRQ报文或WRQ报文做到这点。

3.服务器主动打开连接,它使用新的临时端口作为源端口,而使用收到的来自客户的临时端口作为目的端口。它使用这些端口发送DATA或ACK或ERROR报文。服务器腾出熟知端口(69)使其他客户能够使用。当客户收到来自服务器的第一个报文时,它就使用自己的临时端口和服务器发送的临时端口进行今后的通信。

缺陷

TFTP分组中并不提供用户名和口令。这是TFTP的一个特性(即"安全漏洞")。由于TFTP是设计用于系统引导进程,它不可能提供用户名和口令。
目前大多数TFTP服务器提供了一个选项来限制只能访问特定目录下的文件,这个目录中只包含无盘系统进行系统引导时所需的文件

TFTP举例

操作码功能1读请求,即下载2写请求,即上传3表示数据包,即DATA4确认码,即ACK5错误

 

因为udp的数据包不安全,即发送方发送是否成功不能确定,所以TFTP协议中规定,为了让服务器知道客户端已经接收到了刚刚发送的那个数据包,所以当客户端接收到一个数据包的时候需要向服务器进行发送确认信息,即发送收到了,这样的包成为ACK(应答包)

为了标记数据已经发送完毕,所以规定,当客户端接收到的数据小于516(2字节操作码+2个字节的序号+512字节数据)时,就意味着服务器发送完毕了

 TFTP数据包格式

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。