计算机网络复习-第六章应用层

计算机网络复习-第六章应用层

第六章 应用层

  • 应用层协议概述

    • 应用层协议特点
      • 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容是规定应用进程在通信时所遵循的协议
      • 应用层的许多协议都是基于客户服务器方式。客户和服务器都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。
  • 域名系统DNS

    • 域名系统概述

      • 许多应用层软件经常直接使用域名系统DNS,但计算机用户只是间接而不是直接使用域名系统
    • 互联网域名结构

      • 层次树状结构命名方法并使用分布式域名系统DNS
      • … . 三级域名 . 二级域名 . 顶级域名
      • 域名
        • 顶级域名
          • 国家顶级域名 .cn .us .uk
          • 通用顶级域名 .com .net .org .edu .gov
    • 域名服务器

      • 概念

        img

        • 一个服务器所负责管辖的范围叫做区
        • 各单位根据具体情况来划分自己管辖范围的区。但在一个区中所有节点必须是能够连通的
        • 每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射
        • DNS服务器的管辖范围不是以域为单位,而是以区为单位
      • 分类

        从理论上讲,整个互联网可以只使用一个域名服务器,使它装入互联网上所有的主机名,并回答所有对IP地址的查询。然而这种做法并不可取,因为互联网规模很大,这样的域名服务肯定会因过负荷而无法正常工作,而且一旦域名服务器出现故障,整个互联网就会瘫痪。

        • 根域名服务器
          • 共有13套装置,不是13个机器。采用任播技术。因此当DNS客户向某个根域名服务器IP地址发出查询报文时,互联网上的路由器就能找到离这个DNS客户最近的一个根域名服务器。
        • 顶级域名服务器
          • 负责管理在该顶级域名服务器注册的所有二级域名
          • 当收到DNS查询请求时,就给出相应的回答
        • 权限域名服务器
          • 负责一个区的域名服务器
          • 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器
        • 本地域名服务器
          • 本地域名服务器对域名系统非常重要
          • 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个互联网服务提供者ISP或一个大学都可以拥有一个本地域名服务器。这种域名服务器有时也称为默认域名服务器。
      • 域名解析过程

        • 要点
          • 当某一个应用程序需要把主机名解析为IP地址时,该应用进程就调用解析程序,并成为DNS一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回,应用进程获得目的主机的IP地址后即可进行通信。
          • 若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。
        • 迭代查询
          img
        • 递归查询
          img
      • 名字的高速缓存

        • 每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。
        • 为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。
        • 当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。
  • 文件传送协议

    • FTP和TFTP特点
      • 他们都是文件共享协议中的一大类,即复制整个文件。若要存取一个文件,就必须先获得一个本地的文件副本。如果要修改文件,只能对文件的副本进行修改,然后再将修改后的文件副本传回到原节点。
      • 文件共享协议中的另一大类是联机访问。联机访问意味着允许多个程序同时对一个文件进行存取。和数据库系统的不同之处是用户不需要调用一个特殊的客户进程,而是由操作系统提供对远地共享文件进行访问的服务,就如同对本地文件的访问一样。这就使用户可以用远地文件作为输入和输出来运行任何应用程序,而操作系统中的文件系统则提供对共享文件的透明存取。透明存取的优点是:将原来用于处理本地文件的应用程序用来处理远地文件,不需要对该应用程序作明显改动。
    • 基于TCP的FTP
      • FTP概述
        • 文件传送协议FTP是互联网上使用最广泛的文件传送协议
        • FTP提供交互式访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
      • FTP简单工作原理
        • 网络环境的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。所以要保证可靠性那就得基于TCP
        • 网络环境下复制文件的复杂性
          • (1)计算机存储数据的格式不同。
          • (2)文件的目录结构和文件命名的规定不同。
          • (3)对于相同的文件存取功能,操作系统使用的命令不同。
          • (4)访问控制方法不同。
      • FTP特点
        • FTP只提供文件传输一些基本服务,它使用TCP可靠的运输服务
        • FTP的主要功能减少或消除在不同操作系统下处理文件的不兼容性
        • FTP使用客户服务器模式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成:一个主进程,负责接收新得请求。另外有若干个从属进程,负责处理单个请求。
          • 主进程工作步骤
            • 打开熟知端口(端口号为21),使客户进程能够连接上。
            • 等待客户进程发出连接请求。
            • 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
            • 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。
          • 两个连接
            • 控制连接在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
            • 实际用于传输文件的是“数据连接”(端口20)。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来来连接客户端和服务器端的数据传送进程。
            • 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。
            • 优点
              • 使协议更加简单和更容易实现
              • 在传输文件时还可以利用控制连接
            • 缺点
              • 当只需要在大文件的指定位置添加信息,而不需要使用该文章的内容时,就没必要把大文件全部传送复制过来。可以用NFS网络文件系统,允许应用进程打开一个远地文件,并能在文件的某一个特定的位置上开始读写数据。
    • 基于UDP的简单文件传送协议TFTP
      • 很小且易于实现得文件传送协议**,采用UDP数据报**,采用客户服务器方式。因此TFTP需要有自己得差错改正措施
      • TFTP只支持文件传输而不支持交互
      • TFTP没有一个庞大得命令集,没有列目录的功能也不能对用户进行身份鉴别
      • 工作原理很像停止等待协议
  • 远程终端协议TERNET

    • 概念
      • 简单的远程终端协议。用户用TERNET就可在其所在地通过TCP连接注册到远地的另一个主机上。
      • 之前只是像传送数据,但是现在是想通过指令控制另一个主机
    • 客户服务器方式
      • TELNET也使用客户服务器方式。在本地系统允许TELNET客户进程,而在远地主机则运行TELENT服务器进程
      • 但是这个连接是明文的,特别不安全。所以为了保证安全性,我们会在TELNET基础配合使用SSH等加密方式保证安全性。
      • 同理FTP,通过主进程等待新的请求,并产生从属进程来处理每一个连接
    • 虚拟网络终端NVT
      • 可能客户服务器端的操作系统不同,所以在TCP连接中使用网络虚拟终端NVT方式进行转换。客户软件把用户的击键和命令转换成NVT格式。向用户返回数据时,服务器把远地系统的格式转换为NVT格式,本地客户再从NVT格式转换到本地系统所需的格式
  • 万维网WWW

    • 概述

      • 万维网是一个大规模,联机式的信息储藏所
      • 链接的方式方便的从互联网上的一个站点访问另一个站点,从而主动按需获取丰富信息
      • 万维网是分布式超媒体系统是超文本系统的扩充
        • 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础。
        • 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频冬像。
    • 工作方式

      • 万维网以客户服务器方式工作。
      • 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
      • 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
      • 在一个客户程序主窗口上显示出的万维网文档称为页面(page)。
    • 统一资源定位符URL

      怎样标志分布在整个互联网上的万维网文档

      • <协议>://<主机>:<端口>/<路径>
    • 超文本传输协议HTTP

      用何种协议实现万维网各种超链接的链接

      • 特点
        • 面向事务的应用层协议(所谓事物就是指一系列的信息交换)
        • HTTP1.0协议是无状态的(同一个客户第二次访问同一个服务器上的页面时服务器的响应与第一次被访问时的相同)
        • HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务
          • HTTP1.1协议使用持续连接,万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和相应报文
          • 持续连接的两种工作方式
            • 非流水线方式
            • 流水线方式
      • 代理服务器
        • 概念
          • 又称万维网高速缓存,它代表浏览器发出HTTP请求。代理服务器把最近的一些请求和响应暂存在本地磁盘中
          • 当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按URL的地址再去互联网访问该资源
        • 优点
          • 减少服务器压力
          • 提升客户访问服务器效率
          • 屏蔽内网细节
      • 状态码
        • 1xx表示通知信息的,如请求收到了或正在进行处理。
        • 2xx表示成功,如接受或知道了。
        • 3xx表示重定向,表示要完成请求还必须采取进一步的行动。
        • 4xx表示客户的差错,如请求中有错误的语法或不能完成。
        • 5xx表示服务器的差错,如服务器失效无法完成请求。
      • cookie
        • 表示在HTTP服务器和客户之间传递的状态信息
        • 使用cookie的网站浏览器为用户产生一个唯一的识别码。利用此识别码网站就能够跟踪该用户在该网站的活动
    • 万维网文档HTML

      怎样使各种万维网文档都能在互联网上各种计算机上显示处理,同时使用户清楚地知道在什么地方存在着超链接

      • 定义许多用于排版的命令
      • XML
        • 可扩展标记语言,和HTML很相似,但XML的设计宗旨是传输数据而不是显示数据
        • XML不是要替换HTML而是对HTML的补充
      • XHTML
        • 可扩展的超文本标记语言。与HTML几乎相同,但XHTML是更严格的HTML版本。
    • 万维网信息检索

      为了在万维网上方便地查找信息,用户可使用各种地搜索工具(即搜索引擎)

      • 全文检索搜索
      • 分类目录搜索
  • 电子邮件

    • 过程

      • 电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取
    • 优点

      • 使用方便,传递迅速,费用低廉 ,现在的电子邮件不仅可以传送文字信息,而且还可以附上声音和图像
    • 协议

      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZaHa67O2-1658979497304)(https://api2.mubu.com/v3/document_image/e426ca38-7b3f-4c82-9a61-acbd8dcf9b75-16574888.jpg)]

      • 发送邮件的协议SMTP

        • 连接建立(连接时发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器)
        • 邮件传送
        • 连接释放(邮件发送完毕后,SMTP应释放TCP连接)
      • 读取邮件的协议POP3和IMAP

        • POP3仅在客户端内操作
        • IMAP客户端与邮箱更新同步
    • 基于万维网的电子邮件

      • 电子邮件从A发送到网易邮件服务器使用HTTP协议
      • 两个邮件之间使用SMTP
      • 好处:只要能够找到上网的计算机,打开任何一种浏览器就可以非常方便的收发电子邮件
    • 通过互联网邮件扩充MIME

      img

      并非取代SMTP,而是对SMTP的不足做了补充

  • 动态主机配置协议DHCP

    • 协议配置
      • IP地址
      • 子网掩码
      • 默认路由器IP地址
      • 域名服务器的IP地址
    • 即插即用连网(允许一台计算机加入新的网络和获取IP地址而不用手工参与)
      img
    • DHCP和NAT区别
      • DHCP是用来分配IP地址的。NAT是用来转换IP地址的。
      • NAT的类型很多,但很多时候,NAT就是为了让N台手机/电脑/平板能共享同一个公网IP来上网。
      • 你把电脑/手机/平板插上网线/连上WiFi,操作系统的DHCP客户端就会开始工作,尝试联系网络里的DHCP服务器,然后从那里“租”一个IP地址。
      • DHCP服务器维护了一个地址池,它只会从这个池子里分配地址,一个MAC对应一个地址,如果不用了就放回池子,这样就可以避免搞出重复的IP地址——当然,你也可以给电脑/手机/平板直接填一个IP,这样就可能重复了,DHCP服务器管不着你,但你这样用也可能碰到冲突、动不动断网。
      • 然后,很多时候,我们手里的设备从DHCP服务器那里拿到的是私有IP,192.168.X.X这种。(直接拿到公网IP的也有,有些地方的ChinaNet就有机会拿到)
      • 但是,**私有IP在互联网上是不用的。**如果你把IP包头的“目标地址”字段填入私有地址,再把这个数据包发到互联网上,一般过不了几跳就会被丢弃,因为没人在用这种地址。
      • 然后,家用路由器/NAT网关等设备就开始发挥作用了。比如你用手机打开知乎首页,数据包从手机发出去时,经过家里的路由器,它就把数据包头部的源IP改成自己在用的公网IP,这样数据包就可以正常发到目的地了
  • 简单网络管理协议SNMP

    img

    • 概念
      • 网络管理包括对硬件、软件和人力的使用、绿合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。
    • 主要构建
      • 管理站也常称为网络运行中心NOC (NetworkOperations Center),是网络管理系统的核心。
      • 管理程序在运行时就成为管理进程。
      • 管理站(硬件)或管理程序(软件)都可称为管理者(manager)。
      • Manager不是指人而是指机器或软件。
      • 网络管理员(administrator)指的是人。大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。
    • 操作
      • SNMP的操作只有两种基本的管理功能:
        • 读”操作,用get 报文来检测各被管对象的状况;
        • 写”操作,用set报文来改变各被管对象的状况。
      • SNMP的这些功能通过探询操作来实现。
  • 应用进程跨越网络的通信

    • 系统调用和应用编程接口
      • 当某个应用进程启动系统调用时,控制权就从应用进程传递给了系统调用接口。
      • 此接口再将控制权传递给计算机的操作系统。探作系统将此调用转给某个内部过程,并执行所请求的操作。
      • 内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用进程。
      • 系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口API(Application Programming Interface)
    • 套接字的作用
      • 当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建“套接字”以便把网络通信所需要的系统资源分配给该应用进程。
      • 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示,并把此号码返回给应用进程/应用进程所进行的网络操作都必须使用这个号码
      • 通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该“号码”相关的所有资源。
    • 几种常用的系统调用
  • P2P应用

    • 在P2P工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输。这是相当于有很多分散在各地的媒体服务器向其他用户提供所要下载的音频/视频文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值