计算机网络--应用层

      最后更新:2022-06-20 14:01:11 手机定位技术交流文章

      应用层(第五层)

      不同的网络应用过程需要不同的通信规则,因此在传输层之上,还有应用层来定义这些通信规则的意义。

      许多应用程序层协议都是基于客户端-服务器的,客户端(Client)和服务器(Server)指的是与通信有关的两个应用程序过程;客户端是服务请求者,服务器是服务提供者。

      1. DNS

      1.1. 概述

      域名系统(DNS)是互联网上使用的域名系统。IP地址可以标记一个主机,而域名也可以代表一个主机。

      DNS是一个分布式系统,即使一个系统失败,它也不会影响整个 DNS系统运行。

      1.2. 域名结构

      域名由每个标签之间使用的标签的序列组成.分开;例如域名:ww.xbai-hang.com;

      每个符号不得超过63个字符,包括多个符号的全域不得超过255个字符,不分字母大小;

      顶级域名:

      1. 国家一级域名nTLD,一般称为ccTLD
      2. 一般上层域名 gTLD,
      3. 基础结构域是一个用于反域分析的Arpa,因此反域名称

      二级域名:

      1. 类别域名
      2. 行政区域名

      根据域名服务器的作用,它可以分为四个类型:

      1. 根域名服务器
      2. 高级域名服务器(即TLD服务器)
      3. 权限域名服务器
      4. 本地域名服务器

      递归查询通常用于从主机到本地域名服务器的查询,即结果是查询的IP地址或错误报告。

      从本地域服务器到根域服务器的查询通常使用迭代查询,即查询的结果是查询的IP地址,或者下一步是使用下一个权限来查询域服务器。

      同时,为了提高查询效率和降低查询网络成本,每个域名服务器使用高速缓存,以存储与经常或最近查询的域名对应的IP地址

      2. 文本传送协议

      2.1. FTP

      FTP(文件传输协议)基于TCP;

      • 主要功能:减少或消除在不同操作系统下处理文件的兼容性(包括文件控制方法、命名方法等)。

      • 特点: 属于文件共享协议; 连接访问;

      • 基本原理:

        • 使用客户服务启动方法;
        • 服务器分为两个主要进程:
          1. 主要进程用于接收请求消息;它始于从文件传输中接收消息后
          2. 若干次级进程处理消息;主要进程仍处于等待状态;
      • 主要和次级工程同时进行;

      • 在数据传送过程中,启动两个相关过程:控制过程和数据传输过程;其中控制过程用于传输数据传输过程中产生的控制信息;数据传输过程传输数据;并同时建立两个连接:控制连接(21号端口)和数据传输连接(20号端口);

      2.2. TFTP

      简单的文件传输协议TFTP(Trivial File Transfer Protocol)是基于UDP用户数据报告的。只传输不支持交互

      1. 每个传输的消息大小为512字节(最后的消息可能小于512字节),最后的服务图标设置在最后的字节中;

      2. 数据报告编号(从1开始);

      3. 支持ASCII代码或二进制传输;

      4. 可以读写文件;

      5. 使用简单的首部

      6. 每次发送UDP时确认;

      3.远程终端协议TELNET

      远程终端协议TELNET,也称为终端仿真协议;

      功能:提供远程终端控制和访问控制;即通过互联网访问远程终端;并适应许多计算机和操作系统的不同;

      在不同的计算机操作系统中生成的控制信息被传输到一个统一格式的网络,然后以成本转换到计算机所要求的格式。

      4.世界网络

      万维网(Wrold Wide Web)是一个大型的网络信息库,称为万维网。万维网是一个超文本系统。

      客户端程序向服务器发送请求,服务器程序将所有客户端需要的页面发送回客户端程序。超文本标记语言(HTML,HyperText Markup Language),使用统一资源定位器(URL)来定位各种文件),HyperText Transfer Protocol (HTTP),常用HTTP是一个应用程序层协议,基于TCP连接实现可靠的传输;

      4.1. URL

      1. URL 的格式:协议: http://hostname:port/path,HTTP默认端口80,HTTPS默认端口443,默认端口可以省略;
      2. URL的“协议”和“主机名称”部分不区分大小写字,但路径中的字符有时必须区分大小写字;

      4.2. HTTP

      HTTP 过程
      1. HTTP协议是一个面向事务的应用程序层协议;
      2. HTTP使用TCP作为传输层协议,但HTTP本身没有连接,即HTTP是一个无状态协议
      3. 当用户访问文档时,HTTP协议首先建立与服务器的TCP连接。三个报告被递交,然后两个报告由客户端发送到服务器,用于TCP连接的第三个报告。
      4. HTTP/1.使用连续连接(在服务器发送响应后保持此连接一段时间)
        1. 非线性模式:在收到第一个响应后,客户端不能发送下一请求;
        2. 一种简化的方式:客户端可以在收到HTTP响应消息之前发送一个新的请求消息;
      5. HTTP/2.0将服务器的响应转换为平行输出(使用相同的TCP连接)并大大减少服务器的响应时间;
      HTTP 报文结构

      HTTP有两个报告:

      1. 请求消息:从客户端发送到服务器的请求消息
      2. 响应报告:服务器到客户响应

      image-20220508034850047

      HTTP是面向文本的,每个消息中的字段是 ASCII代码字符串,所以每个字段的长度是不确定的;

      1. 初始行,区分请求消息和响应消息,称为请求消息中的请求行和响应消息中的状态行;最后的“CR”和“LF”分别代表“返回”和“更改行”;
      2. 用于描述浏览器、服务器或消息主体的一些信息的第一个行可以多行,每个行都有一个CRLF返回行,其次是整个第一个行末端的返回行;
      3. 在请求消息中通常不使用实体体,而响应消息通常不使用。

      HTTP请求声明:

      开始行格式(即请求行):GET http://jwgl.csuft.edu.cn HTTP/1.1

      HTTP请求声明的完整例子:

      HTTP响应消息:

      响应消息的第一行是启动行(即状态行),包括三个项目:

      1. HTTP 版本
      2. 状态码
      3. 解释状态代码的简单短语
      状态码 解释
      1XX 如果收到或正在处理请求,显示通知信息
      2XX 以成功表示接受或了解
      3XX 表示必须采取进一步行动以完成这项请求的重新定位
      4XX 如果请求包含错误的语法或无法完成,表示客户错误
      5XX 如果服务器未能完成请求,则表示服务器错误

      常见的状态行:

      1. HTTP/1.1 202 Accepted: 接受
      2. HTTP/1.1 400 Bad Request:错误的请求
      3. HTTP/1.1 404 Not Found:找不到
      服务器存放用户信息

      使用Cookie记录用户信息,这些信息是用户本地的;

      代理服务器

      代理服务器是一个网络实体,也被称为Web缓存,它暂时存储一些最近的请求和响应在本地磁盘上。

      内容分配网络(CDNs)设置为代理服务器。

      在校园网络上使用代理服务器:

      1. 当校园网络计算机中的浏览器向互联网服务器请求服务时,首先与校园网络代理服务器建立TCP连接并向代理服务器发送HTTP请求消息;
      2. 如果请求的对象已经存储在代理服务器(例如: http://ww.Baidu.com/index.The代理服务器将对象放在HTTP响应消息中回到计算机的浏览器中;
      3. 否则,代理服务器代表发送请求的用户浏览器,与源服务器建立TCP连接,并发送HTTP请求消息;
      4. 源服务器在HTTP响应消息中将请求对象发送回校园网络的代理服务器;
      5. 接收对象后,代理服务器首先将该对象复制到自己的本地存储器(供以后使用),然后将该对象置于HTTP响应消息中,并将其返回通过已建立的TCP连接(与校园网络用户进程建立的)请求对象的浏览器;

      5. 电子邮件

      互联网电子邮件系统有三个核心组成部分:用户代理、邮件服务器和SMTP(Simple Mail Transfer Protocol)。

      • 每个收件人有一个邮件服务器上的邮箱,并管理和维护发送给他的邮件;
      • 消息存储在发送方的邮件服务器上的邮件队列中,即使另一方的邮件服务器失败并再次尝试发送,也可以存储;

      5.1 SMTP

      SMTP是互联网电子邮件的主要应用层协议,它使用TCP可靠的数据传输服务;

      SMTP工作流程如下:

      • 客户端SMTP(运行在发件人的邮件服务器主机上)在25端口建立一个TCP连接到服务器SMTP。
        • 如果服务器没有打开,则客户端将继续尝试以后;
      • 一旦建立连接,服务器和客户端之间就会发生一些应用程序层的震动;
        • 指明发件人邮政地址、收件人邮政地址等;
      • 在握手完成后,客户端发送消息,如果另一个消息被成功发送,客户端可以继续使用TCP连接发送消息,如果消息被发送,TCP连接被关闭;

      此外,SMTP通常不使用中间邮件服务器发送邮件,这意味着如果邮件的接收者没有打开,邮件将存储在发送者的邮件服务器上;

      HTTP和SMTP协议的比较

      1. HTTP是一个提取协议,即用户使用HTTP从服务器提取信息,而SMTP是一个推送协议,即发送邮件服务器将文件推向接收文件服务器;
      2. SMTP消息需要使用ASCII代码格式,而HTTP数据不受此要求限制;
      3. HTTP将每个对象包入自己的响应消息中,而SMTP将所有消息对象放在一个消息中;

      5.2邮件格式

      电子邮件由三个部分组成:

      1. 信封:由邮件服务器交付;
      2. 标题:由用户代理使用;
      3. 主体:是发送者发送给接收者的信息内容;

      用户代理接收我们指定的部分文本,添加一些初始字段,并发送结果到邮件服务器。 发送邮件服务器添加一些初始字段,添加信封,并发送结果到另一个接收服务器。

      5.3邮件访问协议:POP3和IMAP

      SMTP 是邮件服务器之间发送邮件协议不通过代理和邮件服务器进行用户之间的通信;

      用户代理使用邮件访问协议从邮件服务器获取邮件信息;

      目前常见的邮件访问协议是POP3(Post Office Protocol-Version 3)、Internet Mail Access protocol(IMAP)和HTTP

      POP3

      当用户代理打开TCP连接到邮件服务器端口110时,POP3开始工作;

      POP3工作三个阶段:许可、事务处理和更新

      • 许可阶段:用户代理发送(书面形式)用户名和密码,以识别用户;
      • 交易处理阶段: 用户代理接收返回消息, 并可进行删除、取消删除等标记或统计邮件信息;
        • 您可以使用下载和删除或下载和保存方法,以便您可以设置不同的标签;
        • 当使用下载和消除可能的问题时,不同的机器不能接收相同的信封。
      • 更新阶段:客户端发送退出命令,结束POP3会话,邮件服务器删除被标记为删除的邮件;

      在用户代理和邮件服务器之间的POP3对话中,POP3服务器保留了一些状态信息,具体而言, 哪些用户报告被标记为删除.然而,POP3服务器在POP3绘图期间不会携带状态信息。POP3服务的实现大大简化。

      IMAP

      IMAP(Internet Message Access Protocol)与POP类似,也是接收电子邮件的协议;在POP中,邮件由客户端管理,在IMAP中,邮件由服务器管理。

      • 使用IMAP时,您也可以从服务器下载所有电子邮件。因为IMAP在服务器上处理MIME信息,因此,当邮件包含10个附件时,它可以执行“只下载第七个附件”的功能。这在窄带宽线中起着重要的作用。

      • IMAP在服务器上管理读取/未读取的信息和邮件分类,因此即使在不同计算机上打开邮件箱也能保持同步;

      • IMAP在服务器上存储和管理邮件信息,就像在本地客户端的闪存驱动器中管理自己的信息一样简单;

      补充:MIME
      • 很长一段时间里,网上的电子邮件只能处理短信,不过现在,电子邮件发送的数据类型已经扩展到MIME(多用途互联网邮件扩展,广泛使用于互联网和广泛扩展的数据格式),它可以以各种形式发送静态图像、动画、声音、程序等数据;
      • MIME基本上由两个部分组成,第一部分和第二部分,MIME可以通过一些设置和操作将多个MIME消息结合成一个MIME消息。 这个叫做多部分,一个基于Web的电子邮件
      • 用户使用HTTP协议与邮件服务器进行通信,而用户代理是一个普通的浏览器,但SMTP协议则用于邮件服务器之间。

      6.动态主机配置协议 DHCP

      DHCP(动态主机配置协议),它提供了一种机制,这个机制允许计算机在不需要手动参与的情况下加入一个新的网络并获得IP地址。

      1. DHCP使用客户端服务器模式发送一个消息(DHCPDISCOVER)给 DHCP服务器,在启动时发送IP地址给主机。设置目标IP地址为完全1,即源IP地址为 然后主机成为 DHCP客户端;
      2. 本地网络的所有主机接收此广播消息,但只有 DHCP服务器响应它(称为 DHCPOFFER):
        1. DHCP首先在数据库中找到计算机的配置信息,如果它找到返回的找到信息
        2. 如果找不到,从服务器的IP地址池中提取一个地址,并将其分配给计算机

      DHCP分配的IP地址是临时的,使用期称为租赁期.DHCP使用UDP传输层协议,DHCP客户端使用的端口为68,DHCP服务器使用的UDP端口为67;

      7.简单的网络管理协议SNMP

      网络管理包括使用、整合和协调硬件、软件和人力资源,以监测、测试、配置、分析、评价和控制网络资源,以满足一些网络需求,如实时性能、服务质量等,以合理的价格。

      8.申请过程互联网通讯

      上端的进程由应用程序控制,接口下的层协议软件由计算机操作系统控制;只要应用程序使用TCP/IP协议进行通信,必须与操作系统(系统调用功能)进行交互并通过接口请求其服务;

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/27805.html

          热门文章

          文章分类