03 应用层功能及协议
3.1 应用程序——网络间的接口
3.1.1 OSI模型和TCP/IP模型
1、 开放式系统互连 (Open Systems Interconnection reference,OSI) 参考模型是一种抽象的分层模型。
OSI七层网络参考模型:
Layer 7:应用层(Application Layer)
Layer 6:表示层(Presentation Layer)
Layer 5:会话层(Session Layer)
Layer 4:传输层(Transport Layer)
Layer 3:网络层(Network Layer)
Layer 2:数据链路层(Data Link Layer)
Layer 1:物理层(Physical Layer)
TCP/IP协议模型:
应用层(Application Layer);传输层(Transport Layer);Internet层/网络层;网络接入层(Network Access Layer)
2、 OSI七层网络参考模型
1) 应用层(Application Layer):该层为用于通信的应用程序和用于消息传输的底层网络提供接口
2) 表示层(Presentation Layer):
表示层有三个主要功能:
对应用层数据进行编码与转换,从而确保目的设备可以通过适当的应用程序理解源设备上的数据;
采用可被目的设备解压缩的方式对数据进行压缩;
对传输数据进行加密,并在目的设备上对数据解密
3) 会话层(Session Layer):它就是用于在源应用程序和目的应用程序之间创建并维持对话。
大多数应用程序(如 Web 浏览器或电子邮件客户程序)已包含 OSI 模型 5、6、7 层的功能。
3、TCP/IP 应用层协议是那些用于交换用户信息的协议。常见 TCP/IP 应用层协议包括:
域名服务协议 (DNS),用于将 Internet 域名解析为 IP 地址;61.139.2.69;202.96.68.98
超文本传输协议 (HTTP),用于传输构成万维网网页的文件;
简单邮件传输协议 (SMTP),用于传输邮件及其附件信息;
电子邮局协议版本3(POP3),用于接收邮件及其附件信息;
Telnet 协议(一种终端模拟协议),提供对服务器和网络设备的远程访问;明文传输。
安全外壳(Secure Shell ,SSH),提供对服务器和网络设备的远程访问,提供加密功能。
文件传输协议 (FTP),用于系统间的文件交互传输。
3.1.2 应用层的软件
1、 网络感知应用程序:
应用程序是指人们用于网络通信的软件程序。有些终端用户应用程序是网络感知程序,即这些程序实现应用层协议,并可直接与协议栈的较低层通信。电子邮件客户程序和 Web 浏览器就属于这种类型的应用程序。
2、 应用层服务 3.1.3 用户应用程序、服务以及应用层协议
应用程序为我们提供创建消息的方法;
应用层服务负责创建与网络交互的接口;
协议则负责提供进行数据处理的规则和格式。
这三个组件可以由一个可执行程序使用,甚至还可以使用相同的名称。例如谈到
“Telnet” 时,我们可以指应用程序,也可以指服务,还可以指协议。
3.1.4 应用层协议功能
1、 应用层协议为应用程序之间的通信提供规则,为确保通信畅通,源主机和目的主机上所实现的应用层协议必须一致。
2、 应用层协议的功能:
为通信双方定义过程;
定义消息类型;
定义消息的语法;
定义任何信息性字段的含义;
定义发送消息的方式和预期的响应;
定义与下一层之间的交互;
3.2 准备应用程序和服务
3.2.1 客户端——服务器模型
1、客户端/服务器模型(CS模型)
1)在客户端/服务器模型中,请求信息的设备称为客户端,而响应请求的设备称为服务器;
2)从客户端到服务器的数据传输称为上传(UPload);而从服务器到客户端的数据传输则称为下载(Download)。
3.2.2 服务器(Server)
1、在一般网络环境中,响应客户端应用程序请求的设备扮演的是服务器角色。
2、在客户端/服务器网络中,服务器运行的服务或者进程有时被称为服务器守护程序。
3.2.3 应用层的服务和协议
3.2.4 P2P(点到点)网络及其应用程序
1、点对点模型
1)点对点网络
2)点对点应用程序
点对点应用程序 (P2P) 允许设备在同一通信过程中既作客户端又作服务器。
3.3 应用层协议及服务实例
3.3.1 DNS服务及协议
1、 DNS(Domain Name System ,域名系统):可以将数字地址转换为简单易记名称的域名系统。
2、 DNS 是一种客户端/服务器服务。
3、 C:\nslookup
4、 DNS 服务器使用域名守护程序(通常简称为 named 守护程序)提供域名解析。
5、 域名系统采用分级系统创建域名数据库,从而提供域名解析服务。该层级模型的外观类似一棵倒置的树,枝叶在下,而树根在上。
6、 位于最高层的根域名服务器维护最高级域名服务器记录,而后者维护下一级域名服务器的记录(如.com、.org、.cn) 7、 顶级域名下层为二级域名,二级域名下层还有其它更低级的域名。
3.3.2 WWW服务及HTTP
1、 超文本传输协议 (HTTP) 是 TCP/IP 协议簇中的一种协议。
2、 GET 是一种客户端数据请求消息。
3、 POST 和 PUT 消息用于向 Web 服务器发送上传数据的请求。
3.3.3 电子邮件服务及SMTP/POP3协议
1、 电子邮件服务中最常见的两种应用层协议是邮局协议 (POP) 和简单邮件传输协议
(SMTP)。
2、 电子邮件客户端可以使用 POP 协议从电子邮件服务器接收电子邮件消息。从客户端或者从服务器中发送的电子邮件消息格式以及命令字符串必须符合 SMTP 协议的要求。
3、 电子邮件服务器进程 — MTA 及 MDA
电子邮件服务器运行两个独立的进程:
邮件传送代理 (MTA)
邮件分发代理 (MDA)
3.3.4 FTP(File Transfer Protocol ,文件传输协议)
1、 为了保障文件的成功传输,FTP 要求在客户端和服务器之间建立两条连接:一条是命令和回复连接,另一条是实际文件传输连接。
客户端在 TCP 的 21 号端口建立第一条连接。该连接由客户端命令和服务器回复组成,用于管理传输流量;
第二条连接建立在 TCP 的 20 号端口。每当有文件需要传输时建立该连接,用于实际文件传输。
3.3.5 DHCP(Dynamic Host Configuration Protocol ,动态主机配置协议)
1、 通过动态主机配置协议 (DHCP) 服务,网络中的设备可以从 DHCP 服务器中获取 IP
地址和其它信息。该服务自动分配 IP 地址、子网掩码、网关以及其它 IP 网络参数。
3.3.6 文件共享服务与SMB协议
1、 SMB(Server Message Block ,服务消息块)是一种客户端/服务器文件共享协议。
2、 与 FTP 协议支持的文件共享不同,SMB 协议中的客户端要与服务器建立长期连接。一旦建立连接,客户端用户就可以访问服务器上的资源,就如同资源位于客户端主机上一样。
3.3.7 P2P服务和Gnutella协议
3.3.8 Telnet服务及协议
使用 Telnet 的连接称为虚拟终端 (VTY) 会话或者连接。与使用物理设备连接服务器不同,Telnet 使用软件创建虚拟设备,从而提供相同性质的终端会话并能访问服务器命令行接口
(CLI)。