第7章 应用层

第7章 应用层

什么是应用层

应用层位于TCP/IP协议簇的最高层,在这一层中,网络应用程序和服务经过TCP和UDP端口与低层协议进行通讯。也许有人会问,TCP和UDP端口已经构成了定义零号的网路接口,为何还要把应用层算在协议栈中呢?须要指明的是,在像TCP/IP这样的分层体系中,每一层都是通向网络的一个接口。应用层必须像传输层同样了解TCP和UDP端口,并且必须相应地传递数据web

TCP/IP的应用层是一些可以意识到网络的软件组件,向TCP和UDP端口发送和接收数据。这些组件从逻辑类似性来说并不太相同,有些只是收集网络配置的简单工具,而有些则多是支持桌面操做系统的用户界面系统或应用编程接口。有些组件为网络提供服务,好比文件和打印服务或名称解析服务。本章将介绍应用层中常见的服务和程序。这些组件的具体实现取决于编程和软件设计的细节。shell

TCP/IP应用层与OSI

应用层存在于不少不一样的操做系统和网络环境,而在这些环境中,OSI模型是定义和描述网络系统的重要工具。OSI模型可以帮助咱们理解TCP/IP应用层中发生的过程。编程

TCP/IP应用层对应于OSI模型的应用层、表示层和会话层。浏览器

  • 应用层:OSI的应用层(不要与TCP/IP的应用层混淆)包含的组件为用户应用程序提供服务并支持网络访问
  • 表示层:表示层把数据转化为与平台无关的格式,并处理加密和数据压缩
  • 会话层:负责管理联网计算机上应用程序之间的通讯,提供了一些传输层不具有、与链接相关的功能,好比名称识别和安全

这些服务对于应用程序和实现来讲并非必需的。在TCP/IP模型中,各类实现都没必要遵循这些OSI细分的层次。但从总体来讲,OSI模型中应用层、表示层和会话层的功能都属于TCP/IP应用层的职责。缓存

网络服务

应用层的不少组件都是网络服务。前面章节中讲到,协议系统中的任何一层都为系统中的其余层提供服务。在大多数状况下,这些服务是定义明确的、属于协议系统的一部分。然而在应用层中,这些服务对于协议软件的运行并非必需的,更多的是为用户提供方便,或是让本地操做系统链接到网络。安全

客观地说,协议栈中的低层协议与通讯机制有关,与平常用户的关系就不明显了。而从另外一个方面来讲,应用层包含的大量网络服务倒是为用户提供的:文件服务、远程访问服务、E-mail和HTTP Web服务协议。服务器

下表列出了最重要的一些应用层协议和服务。网络

协议 描述
BitTorrent 点对点文件共享协议,一般用于从Internet中快速下载大型文件
通用Internet文件系统(CIFS) SMB文件服务协议加强版本
域名系统(DNS) 把Internet名称映射为IP地址的一种分层系统
动态主机配置协议(DHCP) 用于动态分配IP地址和其余网络配置参数的协议
文件传输协议(FTP) 一种上传和下载文件的流行协议
Finger 查看和请求用户信息的协议
超文本传输协议(HTTP) 万维网的通讯协议
Internet消息访问协议(IMAP) 访问邮件消息的通用协议
轻量级目录访问协议(LDAP) 用于实现和管理信息目录服务的协议
网络文件系统(NFS) 让远程用户可以访问文件资源的协议
网络时间协议(NTP) 在TCP/IP网络同步时钟和其余时间资源的协议
邮局协议(POP) 从邮件服务器下载E-mail协议
远程过程调用(RCP) 每一个协议可以让一台计算机上的程序调用另外一个计算机上的子程序或过程
服务器信息块(SMB) 文件和打印服务协议
简单网络管理协议(SNMP) 管理网络设备的协议
  • 文件和打印服务
  • 名称解析服务
  • 远程访问服务
  • Web服务

文件和打印服务

打印服务器负责操做打印机,知足针对这台打印机的所有打印请求。文件服务器操做数据存储设备(好比硬盘),知足对设备内数据读取和写入的请求。并发

因为文件服务和打印服务太经常使用了,它们常常会被统一考虑。也就是常常会用一台计算机(有时甚至是同一个服务)来提供文件和打印服务功能。不管这2个服务是否在同一台计算机上,它们的原理是同样的。一个文件服务先对文件的请求通过网络传递到传输层,后者经过适当的接口把请求路由到发文件服务器的服务程序。tcp

文件服务系统,好比UNIX/Linux的网络文件系统(NFS)和Microsoft的通用Internet文件系统(CIFS)与服务器信息块(SMB),都工做于应用层,经典的文件传输工具文件传输协议(FTP)和简单文件传输协议(TFTP)亦是如此。

名称解析服务

名称解析就是把预约义的、方便用户使用的名称映射为IP地址的过程。域名系统(DNS)服务为Internet提供了名称解析,也能为独立的TCP/IP网络提供名称解析。DNS使用名称服务器解决DNS名称查询。名称服务运行于服务器的应用层,而且与其余名称服务器交换名称解析信息。其余常见的名称解析系统有网络信息服务(NIS)、NetBIOS名称解析,还有一些名称服务利用了轻量级目录访问协议(LDAP)

远程访问

让用户从一台计算机向另一台计算机发起交互式链接请求的技术大多集中在应用层。好比Telnet和SSH就可让用户经过网络登陆到远程系统并发送命令,而现代的屏幕共享工具为桌面GUI系统实现了相似的效果。

为了把本地环境与网络集成在一块儿,有些网络操做系统使用名为重定向器的服务。重定向器有时被称为请求者。重定向截获本地计算机上的服务请求,查看这个请求是否能够在本地实现,仍是转发到网络中的其余计算机。若是请求针对其余计算机中的服务,重定向器就把请求转发到网络上。

重定向器为须要访问网络资源的用户提供了通用的解决方案,就好像这些服务位于本地环境同样。例如,对一个远程硬盘的操做与对客户端计算机上本地硬盘上的操做是同样的。

Web服务

超文本输出协议(HTTP)是应用层的一个协议,是万维网生态系统的核心。HTTP最初的用途是传输文本和图像,但Web服务模型的发展须要大量与Web相关的协议和组件来创建与运行Web浏览器中的工具。

TCP/IP工具

应用层还包含一些TCP/IP工具。这些工具最初是围绕Internet和早期的UNIX开发的,如今用于配置、管理和诊断全世界的TCP/IP网络。

工具 描述
链接工具
IPConfig 一个Window工具,显示TCP/IP配置信息(相应的UNIX工具是ifconfig)
Ping 测试网络连通性的工具
Arp 查看并可能修改本地或远程计算机的ARP缓存的工具。ARP缓存包含物理地址与IP地址之间的映射
Traceroute 追逐数据报通过Internet路径的工具
Route 查看、添加或编辑路由表条目的工具
Netstat 显示IP、UDP、TCP和ICMP统计数据的工具
NBTstat 显示NetBIOS和NBT统计数据的工具
Hostname 返回本地主机名称的工具
文件传输工具
FTP 使用TCP的基本文件传输工具
Tftp 使用UDP的基本文件传输工具,通常用于给网络设备下载代码这样的任务
Rcp 简单的远程文件传输工具
远程工具
Telnet 远程终端工具
Rexec 经过rexecd daemon在远程计算机上运行命令的工具
Rsh 调用远程计算机上的shell来执行命令的工具
Finger 显示用户信息的工具
Internet工具
浏览器 可以访问万维网HTML内容的工具
新闻浏览器 与Internet新闻组链接的工具
E-mail阅读器 提供收发E-mail功能的工具
Archie 可以访问匿名FTP站点索引的工具,曾经很流行,但万维网及其搜索引擎下降了Archie的重要性
Gopher 基于菜单的Internet信息工具。与万维网相比,它像Archie同样已通过时了
Whois 可以访问我的联系信息目录(相似于Internet白页)的工具

问与答:

  1. 问:做为文件服务器的计算机处于运行状态,并且也链接到了网络,但用户不能访问文件,会是什么问题呢?

答:首先咱们要检查文件服务器的服务程序是否在运行。文件服务器并不只仅是一台计算机,它是运行于计算机上的一个服务,用于知足文件请求。

  1. 问:OSI模型为何把应用层的功能进一步划分为3个单独的层(会话层、表示层和应用层)?

答:应用层提供了普遍的服务,OSI模型对应用层的细分为软件开发人员更好地组织其中的部件提供了一种模块化结构,也为应用程序与协议栈之间的交互提供了更多的选择。

问题

  1. 使用什么网络工具能够检测网络的连通性?
    答:ping工具用来检测网络连通性

  2. 什么应用层协议用来载入Web页面?
    答:HTTP超文本传输协议

  3. 哪两种应用层协议用来接收邮件?
    答:POP3(邮局协议版本3)和IMAP(Internet消息访问协议)。

  4. 哪一个协议将主机名称映射为IP地址?
    答:DNS,域名服务器。

  5. 哪一个协议用来同步计算机时钟? 答:NIP,网络时间协议。

相关文章
相关标签/搜索