应用层


应用层

功能

对应用程序通信提供服务

网络应用模型

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)

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/288630.html

(0)
上一篇 2022年9月10日 16:34
下一篇 2022年9月10日 16:35

相关推荐

发表回复

登录后才能评论