计算机网络原理-应用层

应用层

应用层,位于OSI参考模型的第7层,提供了人们所有的应用程序与下层网络的接口,通过下层网络传递信息。

现在有很多应用层的协议,一般情况只要和用户相关的程序基本都属于应用层的范畴。

早期的OSI参考模型高3层(会话层、表示层与应用层)与TCP/IP协议族中的应用层功能基本对应。

大多数应用程序都包含OSI参考模型中的五、六、七3层。下图显示了OSI参考模型与TCP/IP模型的对应关系。

在这里插入图片描述
在OSI参考模型与TCP/IP模型中,应用层的相关软件实现了上层应用与底层数据的对接。当我们打开任何一个应用程序时,就启动了一个应用进程,载入设备的内存。

网络服务模式

当人们利用笔记本电脑、手机等设备上网或者访问其他信息时,都是从别的服务器上下载资源,把资源读取到自己的内存中加以访问,这就是网络服务模式。常见的网络服务模式有以下三种。

  • 客户机-服务器模型(Client/Server,C/S);
  • 对等网络服务模型(Peer-to-Peer,P2P);
  • 浏览器-服务器模型(Browser/Server,B/S)。

Client-Server

传统的网络基本服务基本上都是基于客户机-服务器模型(Client/Server,C/S),例如,Telnet、WWW、E-Mail、FTP等,如图所示。
在这里插入图片描述
在此模型中,请求信息的称为客户端,而响应请求的设备称为服务器,客户端与服务器进程都位于应用层。客户端首先发送请求信息给服务器,服务器通过发送数据流来响应客户端。除了数据传输外,客户端与服务器之间还需要控制信息来控制整个过程。
服务器通常是指为多个客户端系统提供信息共享的计算机。服务器可以存储文档、数据库、图片、网页信息、音频与视频文件等数据,并将它们发送到请求数据的客户端。
在客户端与服务器端的数据交互中,由客户端发送数据给服务器的过程称为“上传”,由服务器发送数据给客户端的过程称为“下载”。

Peer-to-Peer

对等网络服务模型(Peer-to-Peer,P2P),又称为点对点网络模型,端系统主机既充当客户机,又充当服务器。两台计算机直接通过网络互连,它们共享资源可以不借用服务器,每台接入的设备都可以作为服务器也可以作为客户端。如图所示,两台计算机互连成一个典型的点对点网络。
目前,P2P应用相当广泛,常见的应用有Bitcomet、eMule(电驴)、PPLive、迅雷、PPStream等。
点对点网络

Browser-Server

浏览器-服务器模式(Browser/Server,B/S),是Web广泛应用的一种网络结构模式,Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Internet Explorer、Firefox或者Google Chrome等,服务器安装SQL Server、MYSQL、DB2等数据库。浏览器通过Web Server同数据库进行数据交互。

应用层协议及服务

应用层涉及的协议与服务多种多样,而在我们日常生活中常用的协议与服务只有几种,下表是一些日常工作中涉及的应用层协议及与之对应的传输层端口号。
在这里插入图片描述

万维网(WWW)

万维网WWW(World Wide Web)是一个大规模的、连机式的信息储藏所,并非某种特殊网络,万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息,这种访问方式称为“链接”。

超媒体与超文本

万维网是分布式超媒体(Hypermedia)系统,它是超文本(Hypertext)系统的扩充。一个超文本由多个信息源链接成,利用一个链接可使用户找到另一个文档,这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。
超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。

万维网的工作方式

万维网以客户服务器方式工作,浏览器就是在用户计算机上的万维网客户程序,万维网文档所驻留的计算机运行服务器程序,因此这个计算机也称为万维网服务器。

客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(Page)。

万维网在工作时的几个关键问题是:

  • 使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档,使每一个文档在整个因特网的范围内具有唯一的标识符URL。
    URL的一般形式是<URL的访问方式>://<主机>:<端口>/<路径>,例如,http://www.siso.edu.cn/Index.htm。
  • 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议是超文本传送协议(HyperText Transfer Protocol,HTTP),HTTP 是一个应用层协议,它使用TCP 连接进行可靠传送,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
  • 使用超文本标记语言(HyperText Markup Language,HTML)设计页面,用户可以方便地访问因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

下显示了万维网的工作过程。
在这里插入图片描述

域名系统(DNS)

因特网中的域名结构是由TCP/IP协议族中的协议DNS(Domain Name System,DNS)来定义的。许多应用层软件经常直接使用域名系统(DNS),但计算机的用户只是间接而不是直接使用域名系统。
因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统(DNS),名字到域名的解析是由若干个域名服务器程序完成的,域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

因特网的域名结构

因特网采用了层次树状结构的命名方法,任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由若干个分量组成,各分量之间用点隔开,如图所示。
在这里插入图片描述

顶级域名

常见的国际通用域名如表所示。顶级域的划分采用了两种划分模式,即组织模式和地理模式。原来只有8个域对应于组织模式,其余的域对应于地理模式。2000年新增7个顶级域名。地理模式的顶级域是按国家进行划分的,如cn代表中国、jp代表日本、us代表美国、uk代表英国等。
在这里插入图片描述

域名解析

在因特网中,网络只能识别IP地址,不能识别人性化的域名。

需要一种机制,在通信时能够将域名转换成IP地址。域名服务器(DNS Server)完成域名与IP地址的转换过程就是域名解析。在Internet上,域名服务器解析域名是按域名层次执行的,每个域名服务器不仅能够进行域名解析,还能够与其他域名服务器相连,当本服务器不能解析相关域名时,就会把申请发到上一层次的域名服务器解析,域名服务器共有以下3种不同类型。

  1. 本地域名服务器(Local Name Server)
    因特网的任何域名空间的子域里面都有一个本地域名服务器,保存了本子域的域名与IP地址的对应关系。当主机需要域名解析时,首先把请求发送到本地域名服务器进行解析。
  2. 根域服务器(Root Name Server)
    目前,在因特网上有几十个根域名服务器,大部分在北美。当一个本地域名服务器不能解析某个域名时,它就以DNS客户的身份向某个根域名服务器查询。
    如果根域名服务器没有所查询的域名信息,但它一定知道被查询主机名字映射的授权域名服务器的IP地址。通常根域名服务器用来管辖顶级域,它并不直接对顶级域下面所属的域名进行转换,但它一定能够找到下面的所有二级域名或域名服务器,然后逐级向下解析,直到查询到所请求的域名。
  3. 授权域名服务器(Authoritative Name Server)
    因特网上的每台主机都必须在授权域名服务器处注册登记。通常一个主机的授权域名服务器就是它的本地ISP的一个域名服务器。许多域名服务器同时充当本地域名服务器和授权域名服务器。

为了理解HTTP与DNS的工作原理,在Packet Tracer里搭建拓扑,如图所示。
在这里插入图片描述
主机A想要访问网站www.cisco.com,把模拟器切换到Simulation模式,打开主机A的浏览器,输入域名www.cisco.com,首先主机A会找到本地域名服务器Local_Dns进行解析,而DNS工作时在传输层是基于UDP协议运行的,端口号为53,其UDP与DNS查询报文如下图所示。
在这里插入图片描述
在这里插入图片描述
从动画中可以看出,本地域名服务器Local_Dns无法解析域名,所以域名服务器把查询发往根域名服务器Root_Dns服务器,根域名服务器再发往授权域名服务器Com_Dns解析,最后把结果发往主机。
当解析完域名后就由HTTP协议申请网页文件,而HTTP协议在传输层是基于TCP协议的(TCP三次握手过程不再介绍,传输层已经详细说明),端口号为80,其TCP与HTTP请求报文如图所示。
在这里插入图片描述
在这里插入图片描述

动态主机配置协议(DHCP)

DHCP概述

动态主机配置协议(DHCP)提供了即插即用连网(Plug-And-Play Networking)的机制。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。通过DHCP服务,网络中的设备可以从DHCP服务器获取IP地址和其他信息。该协议自动分配IP地址、子网掩码、默认网关、DNS服务器地址等参数。

在大型企业的网络中,DHCP是分配IP地址的首选方法,否则庞大的网络手工分配地址既耗时间又容易出错。DHCP分配的地址并不是永久的,而是在一段时间内租借给主机的。如果主机关闭或者离开网络,该地址就可以返回地址池中给其他的用户使用,这一点特别适用于现在移动用户办公。

DHCP服务的工作过程

为了便于理解DHCP的工作过程,在Packet Tracer中搭建拓扑,如图所示,需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为DHCP客户。
在这里插入图片描述
模拟器切换到Simulation模式,在主机IP地址配置界面单击DHCP获得。首先客户端发送DHCP发现报文,源IP地址为0.0.0.0,目的地IP地址为255.255.255.255。DHCP在传输层是基于UDP工作的,端口号为67,如图所示。
在这里插入图片描述
DHCP发现报文,如图所示。
在这里插入图片描述
本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息;若找不到,则从服务器的IP地址池(Address Pool)中取一个地址分配给该计算机(在分配之前DHCP服务器首先会发送ARP广播信息查看网内是否有人已经用了此IP地址)。DHCP服务器的回答报文叫作提供报文(DHCPOFFER),源IP地址为192.168.1.1,目的IP地址为255.255.255.255,DHCP提供报文如图所示。
在这里插入图片描述
如果网络上有多台DHCP服务器,客户端可能收到多条DHCPOFFER消息;此时,客户端必须做出选择,并且发送一个包含服务器标识信息的DHCP请求(DHCPREQUEST),与DHCPDISCOVER一样,DHCP请求也是广播信息,目的地IP地址为255.255.255.255,源地址为0.0.0.0(因为此时客户还没有IP地址,所以源地址是0),DHCP请求报文如图所示。
在这里插入图片描述
如果客户请求的IP地址(此IP地址是由服务器提议的,如图9-15中的″YOUR″CLIENT ADDRESS:192.168.1.11标识)可以使用,服务器将返回DHCP确认消息(DHCPACK),源IP地址为192.168.1.1,目的地为广播255.255.255.255,DHCP确认报文如图所示。
在这里插入图片描述
客户申请IP地址成功最后,会发送一条ARP的确认广播信息,再一次查看是否网络中有其他用户分配了此IP地址。DHCP服务确保网络中的每个主机的IP地址是唯一的,通过DHCP网络管理员可以轻松地配置客户的IP地址,而不需要手动对客户进行修改。

DHCP中继代理

并不是每个网络上都有DHCP服务器,这样会使DHCP服务器的数量太多。现在是每一个网络至少有一个DHCP中继代理,它配置了DHCP服务器的IP地址信息。
当DHCP中继代理收到主机发送的发现报文后,就以单播方式向DHCP服务器转发此报文并等待其回答。收到DHCP服务器回答的提供报文后,DHCP中继代理再将此提供报文发回给主机,DHCP中继代理的工作原理如图所示。
在这里插入图片描述

电子邮件(E-mail)

电子邮件(E-mail)是因特网上使用得最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到ISP的邮件服务器,并放在其中的收信人邮箱中,收信人可随时上网到ISP的邮件服务器上读取。
电子邮件可以在两个用户间交互,也可以向多个用户发送同一封邮件,或者将邮件转发给其他用户。电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点,现在电子邮件不仅可传送文字信息,而且还可附上声音、图像、应用程序等各类计算机文件。

电子邮件基本概念

电子邮件由信封(Envelope)和内容(Content)两部分组成,电子邮件的传输程序根据邮件信封上的信息来传送邮件,用户在从自己的邮箱中读取邮件时才能见到邮件的内容,在邮件的信封上,最重要的就是收信人的地址,电子邮件信封中的相关信息,可以自动从内容中获得。
TCP/IP体系的电子邮件系统规定电子邮件地址的格式如图所示。
在这里插入图片描述
符号“@”读作“at”,表示“在”的意思。例如,123@siso.edu.cn,其中123这个用户名在该域名的范围内是唯一的,@siso.edu.cn表示邮箱所在主机的域名,在全世界范围内也是唯一的。

简单邮件传送协议(SMTP)

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个简单的基于文本的电子邮件传输协议,是因特网上用于邮件服务器之间交换邮件的协议。SMTP所规定的就是在两个相互通信的SMTP进程之间应如何交换信息,由于SMTP使用客户服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。
SMTP规定了14条命令和21种应答信息。每条命令用4个字母组成,而每一种应答信息一般只有一行信息,由一个3位数字的代码开始,后面附上(也可不附上)很简单的文字说明。
SMTP通信要经过建立连接、传送邮件和释放连接三个阶段。

  • 建立连接:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。
  • 传送邮件。
  • 释放连接:邮件发送完毕后,SMTP应释放TCP连接。

邮件读取协议POP3和IMAP

邮局协议(Post Office Protocol,POP)是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3。POP3是目前与SMTP协议相结合最常用的电子邮件服务协议,它为邮件系统提供了一种接收邮件的方式,使用户可以直接将邮件下载到本地计算机上,在自己的客户端阅读邮件。
POP也使用客户服务器的工作方式,在接收邮件的用户PC中必须运行POP客户程序,而在用户所连接的ISP的邮件服务器中则运行POP服务器程序。
IMAP(Internet Message Access Protocol)协议也是按客户服务器方式工作的,现在较新的版本是IMAP4。用户在自己的PC上就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样,因此IMAP是一个连机协议,当用户PC上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可看到邮件的首部,若用户需要打开某个邮件,则该邮件才传到用户的计算机上。
IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。IMAP还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。
IMAP的缺点是如果用户没有将邮件复制到自己的PC上,则邮件一直是存放在IMAP服务器上。因此用户需要经常与IMAP服务器建立连接。

文件传输

文件传输协议(FTP)

文件传输协议(File Transfer Protocol,FTP)是Internet上使用得最为广泛的文件传输协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。FTP文件传输服务允许Internet上的用户将一台计算机上的文件传输到另一台计算机,几乎所有类型的文件,包括文本文件、可执行文件、音频与视频、Flash、数据压缩等,都可以使用FTP传输。
文件传送协议(FTP)只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务。FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。
FTP使用客户服务器方式,一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务器进程由两大部分组成,一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
主进程主要负责打开端口(端口号为21),使客户进程能够与服务器建立连接,等待客户进程发出连接请求。当客户进程向服务器进程发出连接请求时,就需要找到端口号21,同时还要告诉服务器进程自己的另一个端口号,用于建立数据传输连接,然后服务器进程利用端口号20与客户进程所提供的端口号建立数据传输连接。

简单文件传输协议(TFTP)

简单文件传送协议(Trivial File Transfer Protocol,TFTP)是一个很小且易于实现的文件传送协议。TFTP使用客户服务器方式和UDP数据报,因此TFTP需要有自己的差错改正措施。

远程登录(Telnet)

Telnet是一个简单的远程终端协议,也是因特网的正式标准。用户用Telnet就可在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)。
Telnet能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕,这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。现在由于PC的功能越来越强,用户已经较少使用Telnet了。
Telnet也使用客户服务器方式,在本地系统运行Telnet客户进程,指定远程计算机的名字,而远程主机则运行Telnet服务器进程。和FTP的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值