CCNA Chapter 10 Application Layer

应用程序(例如 Web 浏览器、在线游戏、与朋友聊天和邮件往来)使我们发送和接收数据变得相对容易。通常我们可以访问和使用这些应用程序,而不必了解其工作原理。但是,对于网络工程师而言,就必须了解应用程序如何对网络中收发的信息进行格式化、传输和解释。

通过 OSI 模型的分层结构,我们可以更容易地理解网络通信原理。

在本章中,我们将探讨应用层的作用,以及应用层中的应用程序、服务和协议如何实现强大的数据网络通信。

对于TCP/IP模型来说,应用层就为一层。而对于OSI模型来说。分为三层,分别为应用层,表示层,会话层

应用层,表示层,会话层

应用层

应用层最接近最终用户。该层为用于通信的应用程序和用于消息传输的底层网络提供接口。应用层协议用于在源主机和目的主机上运行的程序之间进行数据交换。

目前已有很多种应用层协议,而且人们还在不断开发新的协议。某些最广为人知的应用层协议包括超文本传输协议(HTTP)、文件传输协议 (FTP),简单文件传输协议 (TFTP),互联网邮件访问协议 (IMAP) 和域名系统 (DNS) 协议。

表示层

表示层具有三个主要功能:

  • 将来自源设备的数据格式化或表示成兼容形式,以便目的设备接收
  • 采用可被目的设备解压缩的方式对数据进行压缩
  • 加密数据以便传输,并在接收时解密。

表示层为应用层格式化数据并制定文件格式标准。常见的视频标准包括 QuickTime 和活动图像专家组 (MPEG)。网络中使用的常见图形图像格式为图形交换格式 (GIF)、联合图像专家组 (JPEG) 和便携式网络图像 (PNG) 格式。

会话层

顾名思义,会话层的功能就是创建并维护源应用程序和目的应用程序之间的对话。会话层用于处理信息交换,发起对话并使其处于活动状态,并在对话中断或长时间处于空闲状态时重启会话。

应用程序交互

客户端-服务器模型

在客户端-服务器模型中,请求信息的设备称为客户端,而响应请求的设备称为服务器。客户端进程和服务器进程都处于应用层。客户端首先向服务器发送数据请求,服务器通过发送一个或多个数据流来响应客户端。应用层协议规定了客户端和服务器之间请求和响应的格式。除了实际数据传输外,数据交换过程还要求用户身份验证以及要传输的数据文件的标识。

客户端-服务器网络的一个示例是使用 ISP 的电子邮件服务发送、接收和存储电子邮件。家用计算机的电子邮件客户端向 ISP 的电子邮件服务器请求所有未读邮件。随后服务器向客户端发送被请求的邮件以示响应。

对等网络

在对等 (P2P) 网络模式中,可以从对等设备访问数据,而无需使用专用服务器。

P2P 网络模型包含两个部分:P2P 网络和 P2P 应用程序。这两个部分具有相似的特征,但实际工作过程却大不相同。

在 P2P 网络中,两台或多台计算机通过网络互连,它们共享资源(如打印机和文件)时可以不借助专用服务器。每台接入的终端设备(称为“对等点”)既可以作为服务器,也可以作为客户端。在某项事务中,作为服务器的计算机也可以同时成为其他服务器的客户端。于是,计算机的角色根据请求的不同在客户端和服务器之间切换。

对等应用程序

对等 (P2P) 应用程序允许设备在同一通信中同时充当客户端和服务器。在该模型中,每台客户端都是服务器,而每台服务器也同时是客户端。P2P 应用程序要求每台终端设备提供用户界面并运行后台服务

某些 P2P 应用程序中采用混合系统,即共享的资源是分散的,但指向资源位置的索引存储在集中目录中。在混合系统中,每台对等设备通过访问索引服务器获取存储在另一台对等设备中的资源位置。

常见 P2P 应用程序

使用 P2P 应用程序时,网络中运行该应用程序的每台计算机都可以充当在网络中运行该应用程序的其他计算机的客户端或服务器。常见 P2P 网络包括:

  • eDonkey
  • G2
  • BitTorrent
  • Bitcoin

某些 P2P 应用程序基于 Gnutella 协议,允许每个用户与他人共享整个文件。如图所示,通过与 Gnutella 协议兼容的客户端软件,用户可以在 Internet 上连接 Gnutella 服务,然后定位并访问由其他 Gnutella 对等设备共享的资源。很多 Gnutella 客户端应用程序可用,包括 gtk-gnutella、WireShare、Shareaza 和 Bearshare。

许多 P2P 应用程序允许用户同时相互分享许多文件片段。客户端使用一个称作 torrent 文件的小型文件查找其他拥有其所需片段的用户,以便可以直接连接到他们。此文件也包含有关跟踪哪些用户有哪些文件的跟踪计算机的信息。客户端同时需要多个用户的文件片段,这被称为集群。该技术称为 BitTorrent。有许多 BitTorren 客户端,包括 BitTorrent、uTorrent、Frostwire 和 qBittorrent。

常用应用层协议

超文本传输协议和超文本标记语言

当在 Web 浏览器中输入一个 Web 地址或统一资源定位符 (URL) 时,Web 浏览器将通过 HTTP 协议建立与服务器上的 Web 服务之间的连接。一提到 Web 地址,大多数人往往想到 URL 以及统一资源标识符 (URI)。

为了更好地理解 Web 浏览器和 Web 客户端的交互原理,我们可以研究一下浏览器是如何打开网页的。例如http://www.cisco.com/index.html URL。

首先,浏览器对 URL 地址的三个组成部分进行分析:

  1. http(协议或方案)

  2. www.cisco.com(服务器名称)

  3. index.html(所要请求的文件名称)

然后,浏览器将通过域名服务器将 www.cisco.com 转换成数字 IP 地址,用它连接到该服务器。根据 HTTP 协议的要求,浏览器向该服务器发送 GET 请求并请求 index.html 文件。服务器,将该网页的 HTML 代码发送到浏览器。最后,浏览器解密 HTML 代码并为浏览器窗口格式化页面。

HTTP 和 HTTPS

HTTP 是一种请求/响应协议。当客户端,尤其是 Web 浏览器,发送请求到 Web 服务器时,HTTP 将指定用于该通信的消息类型。常用的三种消息类型包括 GET、POST 和 PUT(如图所示)。

  • GET - 一种客户端数据请求消息。客户端(Web 浏览器)向 Web 服务器发送 GET 消息以请求 HTML 页面。
  • POST - 上传数据文件到 Web 服务器,例如表单数据。
  • PUT - 用于向 Web 服务器上传资源或内容,例如图像。

尽管 HTTP 灵活性相当高,但它不是一个安全协议。由于请求消息以明文形式向服务器发送信息,它非常容易被拦截和解读。服务器的响应(尤其是 HTML 页面)也不加密。

为了在 Internet 中进行安全通信,人们使用 HTTP 安全(HTTP Secure,HTTPS)协议。HTTPS 借助身份验证和加密来保护数据,使数据得以安全地在客户端与服务器之间传输。HTTPS 使用的客户端请求服务器响应过程与 HTTP 相同,但在数据流通过网络传输以前会使用安全套接字层 (Secure Socket Layer ,SSL) 加密。

电子邮件协议

电子邮件客户端通过与邮件服务器通信来收发电子邮件。邮件服务器之间也会互相通信,以便将邮件从一个域发到另一个域中。也就是说,发送电子邮件时,电子邮件客户端并不会直接与另外一个电子邮件客户端通信。而是双方客户端均依靠邮件服务器来传输邮件。

电子邮件支持三种单独的协议以实现操作:简单邮件传输协议 (SMTP)、邮局协议 (POP) 和 Internet 邮件访问协议 (IMAP)。发送邮件的应用层进程会使用 SMTP。但是,客户端会使用以下两种应用层协议之一来检索电子邮件:POP 或 IMAP。

SMTP 工作原理

SMTP 邮件格式要求邮件具有报头和正文。邮件正文没有长度限制,但邮件报头必须具有格式正确的收件人电子邮件地址和发件人地址。

当客户端发送电子邮件时,客户端 SMTP 进程会连接公认端口 25上的服务器 SMTP 进程。连接建立后,客户端将尝试通过此连接发送电子邮件到服务器。

发出电子邮件时,目的电子邮件服务器可能并不在线,或者正忙。因此,SMTP 将邮件转到后台处理,稍后再发送。服务器会定期检查邮件队列,然后尝试再次发送。经过预定义的过期时间后,如果仍然无法发送邮件,则会将其作为无法投递的邮件退回给发件人。

SMTP is used to send mail from the client to the server but POP3 is used to download mail from the server to the client

POP 工作原理

应用程序使用 POP 从邮件服务器中检索邮件。根据 POP 的规定,邮件将从服务器下载到客户端,然后从服务器上删除。这就是默认情况下 POP 的运行方式。

服务器通过在 TCP 端口 110 上被动侦听客户端连接请求来启动 POP 服务。当客户端要使用此服务时,它会发送一个请求来建立与服务器的 TCP 连接。一旦建立连接,POP 服务器即会发送问候语。然后客户端和 POP 服务器会交换命令和响应,直到连接关闭或中止。

根据 POP,由于电子邮件会下载到客户端并从服务器删除,因此电子邮件不会集中保存在某一特定的位置。因为 POP 不会存储邮件,因此不适于需要集中备份解决方案的小型企业。

IMAP 工作原理

IMAP 是另外一种用于检索电子邮件消息的协议。与 POP 不同的是,当用户连接使用 IMAP 的服务器时,邮件的副本会下载到客户端应用程序。同时原始邮件会一直保留在服务器上,直到用户将它们手动删除。用户在自己的电子邮件客户端软件中查看邮件副本。

用户可以在服务器上创建文件层次结构来组织和保存邮件。该文件结构会照搬到电子邮件客户端。当用户决定删除邮件时,服务器会同步该操作,从服务器上删除对应的邮件。

IP编址服务

域名服务

在数据网络中,使用数字 IP 地址标记设备以便通过网络发送和接收数据。人们创建了可以将数字地址转换为简单易记名称的域名系统。

在 Internet 上,更便于人们记忆的是 http://www.cisco.com 这样的域名,而不是该服务器的实际数字地址 198.133.219.25。如果思科决定更改 www.cisco.com 的数字地址,那么更改对用户是透明的,因为域名将保持不变。公司只需要将新地址与现有域名链接起来即可保证连通性。

DNS 协议定义了一套自动化服务,该服务将资源名称与所需的数字网络地址匹配。协议涵盖了查询格式、响应格式及数据格式。DNS 协议通信采用单一格式,即消息格式。该格式用于所有类型的客户端查询和服务器响应、报错消息、以及服务器间的资源记录信息的传输。
DNS 服务器中存储不同类型的资源记录,用来解析域名。这些记录中包含域名、地址以及记录的类型。这些记录中有以下类型:

  • A - 终端设备 IPv4 地址
  • NS - 权威域名服务器
  • AAAA - 终端设备 IPv6 地址(读作“四 A”)
  • MX - 邮件交换记录。

DHCP 工作原理

,配置了 DHCP 的 IPv4 设备在启动或连接到网络时,客户端将广播一条 DHCP 发现 (DHCPDISCOVER) 消息以确定网络上是否有可用 DHCP 服务器。DHCP 服务器回复 DHCP 服务 (DHCPOFFER) 消息,为客户端提供租赁服务。该服务消息包含为其分配的 IPv4 地址和子网掩码、DNS 服务器的 IPv4 地址和默认网关的 IPv4 地址。租赁服务还包括租用期限。

如果本地网络中有超过一台 DHCP 服务器,客户端可能会收到多条 DHCPOFFER 消息。此时,客户端必须在这些服务器中进行选择,并且将包含服务器标识信息及客户端所接受的租赁服务的 DHCP 请求 (DHCPREQUEST) 消息发送出去。客户端还可选择向服务器请求分配以前分配过的地址。

如果客户端请求的 IPv4 地址(或者服务器提供的 IPv4 地址)仍然可用,服务器将返回 DHCP 确认 (DHCPACK) 消息,向客户端确认地址租赁。如果请求的地址不再有效,则所选服务器将回复一条 DHCP 否定确认 (DHCPNAK) 消息。一旦返回 DHCP NAK 消息,应重新启动选择进程,并重新发送新的 DHCP 发现消息。客户端租赁到地址后,应在租期结束前发送 DHCPREQUEST 消息进行续期。

DHCP 服务器确保每个 IP 地址都是唯一的(一个 IP 地址不能同时分配到不同的网络设备上)。因此,大多数 Internet 提供商往往使用 DHCP 为其客户分配地址。

DHCPv6 消息是 SOLICIT、ADVERTISE、INFORMATION REQUEST 和 REPLY

文件共享服务

文件传输协议

文件传输协议 (FTP) 也是一种常用的应用层协议。FTP 用于客户端和服务器之间的数据传输。FTP 客户端是一种在计算机上运行的应用,用于从 FTP 服务器中收发数据。

为了成功传输数据,FTP 要求客户端和服务器之间建立两个连接,一个用于命令和应答,另一个用于实际文件传输:

  • 客户端使用 TCP 端口 21 与服务器建立第一个连接用于控制流量,包含客户端命令和服务器应答。
  • 客户端使用 TCP 端口 20 与服务器建立第二个连接用于实际数据传输。每当有数据需要传输时都会建立此连接。

数据传输可以在任何一个方向进行。客户端可以从服务器下载(取)数据,也可以向服务器上传(放)数据。

服务器消息块

服务器消息块 (SMB) 是一种客户端/服务器文件共享协议,用于规范共享网络资源(如目录、文件、打印机以及串行端口)结构。这是一种请求-响应协议。所有的 SMB 消息都采用一种常用格式。该格式采用固定大小的文件头,后跟可变大小的参数以及数据组件。
Microsoft 网络配置中主要采用 SMB 形式实现文件共享和打印服务。

SMB 消息可以:

  • 启动、身份验证以及终止会话
  • 控制文件和打印机的访问
  • 允许应用程序向任何设备收发消息

与 FTP 协议支持的文件共享不同,SMB 协议中的客户端要与服务器建立长期连接。一旦建立连接,客户端用户就可以访问服务器上的资源,就如同资源位于客户端主机上一样。

在 LINUX 和 UNIX 操作系统中,通过 SAMBA(SMB 的一个版本)可以实现与 Microsoft 网络的资源共享。在 Apple Macintosh 操作系统中,通过 SMB 协议也可以实现资源共享。

  • presentation layer - the layer in the OSI model that is responsible for formatting, compressing, and encrypting data
  • peer-to-peer network - consists of peer machines that exchange data with each other without a dedicated server
  • application layer - provides data exchange and the interface between the system and the network
  • domain name - the name that is used to uniquely identify a website and is used instead of the IP address
  • URL - Uniform Resource Locator - the “friendly” address that is used in a web browser bar and that corresponds to the IP address of the site
  • nslookup - a tool used to query the DNS system to find the IP addresses for domain names, and vice versa
  • session layer - used to arrange the communication between source and destination applications and responsible for the state of the conversation
  • client-server network - an architecture that allows network clients to request services directly from network servers
  • HTTP - Hypertext Transfer Protocol - used to request and transfer hypertext data between clients and servers
  • POP - a protocol that is used to retrieve email from a server It deletes messages from the server by default.
  • IMAP - a protocol that is used in email retrieval It leaves copy of messages on the server.
  • SMTP - the protocol responsible for sending email
  • DHCP - a service that is used in networks to automatically configure IP addresses on devices

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jyzh@yahoo.com

文章标题:CCNA Chapter 10 Application Layer

文章字数:4.6k

本文作者:Jooeys

发布时间:2019-01-20, 04:56:02

最后更新:2019-01-22, 13:55:59

原始链接:http://jooeys.github.io/2019/01/20/CCNA-Chapter-10-Application-Layer/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏