ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

应用层

2022-09-10 15:32:26  阅读:237  来源: 互联网

标签:请求 报文 域名 DNS 服务器 应用层 邮件


应用层

功能

对应用程序通信提供服务


网络应用模型

C/S(描述的是进程之间服务与被服务的关系)

客户是服务请求发,服务器是服务提供方

客户(client)

  • 可能使用动态IP地址

  • 使用服务器提供服务

  • 间歇性接入网络

  • 不与其他客户机直接通信

服务器(server)

  • 永久性访问地址/域名

  • 永久提供服务


P2P

  • 不存在永远在线的服务器
  • 每个主机既可以提供服务,也可以请求服务
  • 任意端系统/节点之间可以直接通信
  • 节点间歇性接入网络
  • 节点可能改变IP地址
  • 可扩展性好
  • 网络健壮性好

DNS域名系统(Domain Name System)

DNS是互联网的命名系统,能够把互联网上的主机名字转换为IP地址

互联网采用层次树状结构命名方法,并使用分布式的域名系统DNS

任何一个连接在互联网上的主机或路由器,都有唯一一个层次结构的名字,即域名(domain name),每一个域名都由一个标号序列组成,而各标号之间用点隔开

                                         例:mail.cctv.com.(根)

DNS规定:

  • 域名中的标号都由英文字母和数字组成

  • 每一个标号不超过63个字符

  • 不区分大小写

  • 标号中除连字符(-)外不能使用其他标点符号

  • 级别最低的域名写在最左边,级别最高的域名写在最右边

  • 由多个标号组成的完整域名总共不超过255个字符


顶级域名(由ICANN管理):

  • 国家顶级域名nTLD:国家顶级域名下注册的二级域名均有该国家自行确定
  • 通用顶级域名gTLD:
  • 基础顶级域名(infrastructure domain)(反向域名):只有一个,即arpa,用于反向域名解析

我国的二级域名:

  • 类别域名(7个):

    • ac:科研机构

    • com:企业

    • edu:教育机构

    • gov:政府机构

    • mil:国防机构

    • net:提供互联网络服务的机构

    • org:非营利性组织

  • 行政区域名(共34个):适用于我国的各省,自治区,直辖市等

一旦某个单位拥有了一个域名,就可以自己决定是否要进一步划分其下属的子域,不必由其上级机构批准

域名只是个逻辑概念,并不代表计算机所在的物理地点,互联网的名字空间是按照机构的组织来划分的,与物理的网络无关,与IP地址中的子网也没有关系


DNS采用划分区的办法来解决域名服务器数量太多运行效率低的问题:

  • 一个服务器所管辖的(或有权限的)范围叫做区(zone)
  • 每一个区设置相应的权限域名服务器(authoritative name server)来保存该区中的所有主机域名到IP地址的映射
  • DNS的管辖范围以区为单位(区是域的子集)

域名服务器:

  • 根域名服务器(root name server):
    • 最高层次的域名服务器,也是最重要的域名服务器
    • 知道所有顶级域名服务器的域名和IP地址
    • 只使用13(A~M)个不同IP地址的域名,实际上,互联网中是由13套装置构成这13组根域名服务器,每一套装置在很多地点安装根域名服务器(也可称为镜像根服务器),但都使用同一个域名
    • 采用任播(anycast)技术,互联网上的路由器可以找到离这个DNS客户最近的一个根域名服务器
  • 顶级域名服务器(TLD服务器):负责管理该顶级域名服务器下注册的所有二级域名
  • 权限域名服务器:负责一个区的域名服务器
  • 本地域名服务器(local name server)

采用主域名服务器(master name server)和辅助域名服务器(secondary name server)可以提供域名服务器的可靠性:

  • 当主域名服务器出现故障时,辅助域名服务器可以保证DNS查询工作不会中断
  • 主域名服务器定期把数据复制到辅助域名服务器中
  • 更改数据只能在主域名服务器中进行

互联网的域名系统DNS被设计为一个联机分布式数据库系统,并采用C/S方式


域名—>IP地址的解析过程:

  1. 当某个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序(resolver),并成为DNS的一个客户
  2. 把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发送给本地域名服务器(使用UDP为了减小开销)
  3. 本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回,应用进程获得目的主机IP地址后即可进行通信
  4. 若本地域名服务器不能回答该请求,则次域名服务器就暂时成为DNS中另一个客户,并向其他域名服务器发送查询请求,直至找到能够回答该请求的域名服务器为止

  • 主机向本地域名服务器查询一般采用递归(靠别人)查询
  • 本地域名服务器向根域名服务器查询通常采用迭代(靠自己)查询
  • image

为了提高DNS查询效率,在域名服务器/主机中广泛使用了高速缓存(存放最近查询过的域名以及从何处获得域名映射信息的记录)


FTP文件传送协议(File Transfer Protocol)

  • 是互联网上使用最广泛的文件传送协议
  • 提供交互式的访问
  • 屏蔽了OS的差异,适合在异构网络中任意计算机之间传送文件
  • 基于TCPFTP的控制信息是带外(out of band)传送的
    • 控制连接:21号端口
    • 数据连接(传输文件):20号端口(主动);>1024(被动)
  • 复制整个文件,若要存取一个文件,就必须先获得一个本地的文件副本,若要修改,只能修改副本,再将副本传回原结点
  • 使用C/S方式 :FTP服务器:(主进程与从进程是并发进行)
    • 一个主进程:接受新的请求
    • 若干从属进程:处理单个请求

TFTP简单文件传送协议(Trivial File Transfer Protocol)

  • 采用C/S方式
  • 基于DUP 69
  • TFTP代码所占内存小
  • 每次传送报文有512B,最后一次可不足
  • 数据报文按序编号,从1开始
  • 支持ASCII和二进制传输
  • 可对文件读写
  • 工作很像停止等待协议(发完后等对方确认,若收不到则重发)

TELNET远程终端协议/终端仿真协议

  • 基于TCP

  • 采用C/S方式

  • 定义了NVT(Network Virtual Terminal)网络虚拟终端即数据和命令通过互联网的方式

    NVT格式使用8位一个字节,所有可打印字符在NVT和ASCII码中一样


WWW万维网(World Wide Web)

  • 万维网是一个大规模的联机式的信息储藏所

  • 是一个分布式超媒体(hypermedia)系统,是超文本(hypertext)系统的扩充

  • 超文本(包含指向其他文档的链接的文本)是万维网的基础

  • 采用C/S方式

  • www使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档:

    • URL实际上就是互联网上的资源的地址

    • 统一资源定位符URL用来表示从互联网上得到的资源位置访问这些资源的方法

    • 一般形式:<协议>://<主机>:<端口>/<路径> (<端口>/<路径>有时可省略)

      <协议><主机>部分不区分大小写,但<路径>有时候区分大小写

  • 使用HTTP超文本传送协议(HyperText Transfer Protocol)来实现www上各种链接

    • 定义了浏览器怎样向www服务器请求www文档以及服务器怎样把文档传送给浏览器

    • 默认端口号是80

    • 面向事务(transaction-oriented)的应用层协议

    • 基于TCP

    • HTTP协议本身是无连接的,通信双方在交换HTTP报文之前不需要先建立HTTP连接

    • HTTP协议是无状态的,即第二次访问同一个服务器上的页面时,服务器的响应与第一次时的相同

      可采用存储在用户主机中的文本文件——cookie来记录一段时间内某用户的访问记录

    • 请求一个www文档所需的时间是该文档的传输时间+2RTT

    • 面向文本的(text-oriented),报文中的每个字段都是一些ASCII码串,长度不确定

    • HTTP1.0——非持续性连接

    • HTTP1.1——持续连接(persistent connection):发送响应后仍然在一段时间内保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文

      • 非流水线方式(without pipelining):收到前一个响应后才能发出下一个请求
      • 流水线方式(with pipelining):收到响应报文之前就能够接着发送新的请求报文,客户访问所有对象只需花费一个RTT时间

    • HTTP的报文结构:

      • 请求报文:客户向服务器发送请求报文

      • 响应报文:从服务器到客户的回答

      • image

      • HTTP请求报文的一些方法

        方法(操作) 意义
        OPTION 请求一些选项的信息
        GET 请求读取由URL所标志的信息
        HEAD 请求读取由URL所标志的信息的首部
        POST 给服务器添加信息
        PUT 在指明的URL下存储一个文档
        DELETE 删除指明的URL所标志的资源
        TRACE 进行环回测试的请求报文
        CONNECT 用于代理服务器

      • HTTP状态码

        1XX 表示通知信息
        2XX 表示成功
        3XX 表示重定向
        4XX 客户的差错
        5XX 服务器的差错

  • HTML超文本标记语言(HyperText Markup Language)解决页面制作标准化问题,消除了不同计算机之间信息交流的障碍


  • www的信息检索系统:

    • 全文检索搜索:用户查询时只要输入关键词,就从建立的索引数据库里进行查询

      (谷歌是全球最大的全文检索搜索引擎)

    • 分类目录搜索:更加准确

      (雅虎是最著名的分类目录检索搜索引擎)


电子邮件

  • 信封:最重要的就是收件人的地址:用户名@邮件服务器域名
  • 内容:
    • 首部
    • 主体

电子邮件系统

  • 用户代理UA(User Agent):用户与电子邮件系统的接口:
    • 撰写
    • 显示
    • 处理
    • 通信
  • 邮件服务器:必须能同时充当客户和服务器
  • 邮件发送协议和邮件读取协议
  • image

SNMP简单邮件传输协议(Simple Mail Transfer Protocol)

  • 只能传送可打印的7位ASCII码邮件
  • 不能传送其他非英语国家的文字
  • 会拒绝超过一定长度的邮件
  • 基于TCP
  • 使用C/S

邮件读取协议

POP3邮局协议第三个版本:

  • 基于TCP

  • 使用C/S

  • 只要用户从POP3服务器读取了邮件,POP3服务器就把该邮件删除


IMAP网际报文存取协议(Internet Message Access Protocol):

  • 基于TCP
  • 使用C/S
  • 是一个联机协议,用户可以看见邮件的首部,若需要打开才传到用户计算机上,在未删除之前,IMAP服务器邮箱中的邮件一直保存(想要查阅自己邮件,必须先上网)

基于www的电子邮件

不管在什么地方,只要能够找到上网的计算机,在打开任何一种浏览器后,就可以非常方便的收发电子邮件

浏览器和互联网上的邮件服务器之间传送邮件时仍然使用HTTP协议,但在各邮件服务器之间传送邮件时 ,仍然使用SMTP协议


通用互联网邮件扩充MIME

使传输内容丰富多彩


DHCP动态主机配置协议(Dynamic Host Configuration Protocol)

  • 即插即用

  • 使用C/S

  • 基于UDP

    • 客户 UDP 68
    • 服务器 UDP 67
  • 以广播交互

  • 允许地址重用

  • 允许移动用户加入网络

  • 允许在用地址续租


SNMP简单网络管理(Simple Network Management Protocol)协议

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

  • 使用C/S

组成:

  • SNMP本身
  • SMI管理信息结构(Structure of Management Information)
  • MIB管理信息库(Management Information Base)

标签:请求,报文,域名,DNS,服务器,应用层,邮件
来源: https://www.cnblogs.com/yuanyu610/p/16676704.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有