计算机网络——应用层

  应用层是五层结构的最顶层了,作用是利用进程间的通信完成具体的网络应用。所以这章介绍了几个网络应用。大致有这么几个:DNS、FTP、TELNET、WWW、电子邮件、DHCP、SNMP,下面主要介绍下各种应用的功能及需求。

  域名系统DNS(Domain Name System)

  它是互联网的使用的命名系统,通过DNS可以找到互联网上的主机并访问。奇了怪了?之前不是通过IP地址吗?确实,我感觉这正是DNS的奇妙之处,最后的访问方式确实还是依靠IP地址。但IP地址也太难记了!!难道访问某一个网站要把它的IP地址全记住吗?DNS的作用就是提供一种简洁易记的方式给使用者,使用者输入这种方式,DNS会帮助转换成IP地址。这样对使用者来说访问就是透明的,相当于通过简单的方式达到了访问的目的。DNS的数据叫做域名。域名的长度不固定,没有规范化,所以不能代替IP地址作为访问的地址。域名的分类包括:一级域名、二级域名、三级域名。使用时级别越高越靠后。
  DNS里还有重要内容是关于域名服务器的,DNS访问目标主机其实也是通过范围内的查询完成的。一个域名服务器分管一个范围(学名叫),在访问时如果不在这个区就要去找下一个区,直到找到目标为止。域名服务器有四层结构(从大到小排列):
    1) 根域名服务器
    2) 顶级域名服务器
    3) 权限域名服务器
    4) 本地域名服务器
  域名的解析方式主要有两种:递归查询和迭代查询。二者有什么区别呢?下面这个图很好的解释了:
在这里插入图片描述
  对于主机和本地域名服务器来说,都是通过递归查询的方式。结果相同都是本地域名服务器为主机提供IP地址。迭代查询指本地域名服务器发现IP地址不在本区,依次向其余服务器发送请求,其余服务器各自做出回应。递归查询是本地服务器单方面与根域名服务器做交流,剩下的查找工作交给根域名服务器来完成。有两种结果:根域名服务器直接提供IP地址或者提供IP地址所在的服务器为止,等本地自己去查询。
  举个例子像.com(公司的域名),.edu(教育机构的域名),.org(非营利性组织的域名)。

  文件传送协议FTP(File Transfer Protocol)

  从名字上就可以看出,它是用来传输文件的。我一开始以为传输文件还挺简单的,但实际上还是很复杂的。不同的计算机体系结构存储数据的形式是不一样的,比如不同的指令集存储数据会采用大端和小端的方式,等等等(其余的我就不是特别清楚了)。于是需要统一的协议进行各种转换(现在明白为什么需要FTP了吧~)。FTP使用TCP提供的可靠传输来保证文档传输的正确性,同时FTP使用了C/S模式,FTP服务器有两种进程类型:主进程和从属进程。主进程负责控制,从属进程负责数据具体传输。(主进程唯一、从属进程n多个)。但也不是所有的从属进程都负责传输,从属进程也分两种:数据连接和控制连接。控制连接就是用来给双方协商控制,建立连接的,数据连接才是真正传输数据的。
  FTP也有缺点:修改远端文件时,一定要将文件先下载到本地,修改后再发送回远端。这对大数据文件,并作少量修改是不太划算的。为了弥补这方面的缺陷,有研究了一个NFS,它允许应用进程打开一个原地文件,并能在该文件的某一个特定的位置上开始读写数据。
  FTP还有一个改进版叫简单文件传输协议TFTP(Trivial File Transfer Protocol)。这个协议的特点是简单、轻量化。它使用了UDP数据报,为了保证可靠传输,TFTP自身做了一点处理(具体的我就不知道了~)。如果是多机下载的时候,TFTP还是更适合一点,其实TFTP只支持文件传输而不支持交互。

  远程终端协议TELNET

  其实这个协议没啥好说的,就了解下它的功能就行了。很多时候自己本机的终端性能太差,没有啥处理能力。我们就需要寻求一些高性能终端。并希望连接到高性能终端对进行操作。这就是TELNET的作用,可以连接到远程终端。对于用户来说,透明的过程使得用户感觉自己直接连在了高性能终端上。其实这也是通过C/S模式完成的,本地作为客户,远程作为服务器。这传输说起来容易,但有的时候客户端和服务器端系统不同(一个windows,一个Linux),对于字符的处理不同。自然也需要一个桥梁:网络虚拟终端NVT(Network Virtual Terminal)。它的作用就是进行转换

  万维网WWW(World Wide Web):

  这个就更常见了,我们的网址都是www开头的。那第一个问题就是万维网和互联网有什么不同呢?回答这个问题就要先了解万维网的定义了:万维网是一个大规模的、联机式的信息储存所。简单点儿说万维网是储存信息。但互联网除了可以存信息还可以进行通信。其实万维网算互联网的一个子集,万维网提供的是一种服务(储存信息)。QQ这种通信的功能就属于互联网而不属于万维网。
  万维网是一个分布式的超媒体和超文本。文本都知道,那什么是超文本呢?超文本就是包含指向其他文档的链接的文本。比如在hao123网址里面,有很多可以点击,点击一次就跳入新的页面,那个就叫做超文本。超媒体和超文本差不多,只不过里面的数据换成了视频、图片等等。万维网也是也C/S的模式工作,客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。客户程序主窗口上显示的万维网文档称为页面。
  技术都是问题推动的,万维网有这么几个问题需要被解决:
  1) 怎样标志分布在整个互联网上的万维网文档?
  2) 用什么样的协议来实现万维网上的各种链接?
  3) 怎样使不同的客户使用不同的方式编辑的文档在互联网的各种主机上都能显示?
  怎样标志分布在整个互联网上的万维网文档?
  万维网使用统一资源定位符URL(Uniform Resource Locator)。URL就像是每一个文档的名字,通过URL就可以访问到特定的页面。URL的一般形式如下图:
在这里插入图片描述
  这个有没有似曾相识?比如http://www.baidu.com?现在万维网中最常用的协议就是http协议和FTP协议。(但我自己感觉好像全都是http一样)。我们也叫URL为网址。因为协议不多,为了增加体验感,有的时候不加http也可以,会自动补齐。甚至有的时候www不加也可以(都是这样,就自动缺省啦~)
  用什么样的协议来实现万维网上的各种链接
  这个前面也提到过了,就是超文本传输协议HTTP(HyperText Transfer Protocol)。HTTP是面向事务的应用层协议,是万维网上能够可靠地交换文件的重要基础。HTTP也是C/S结构。HTTP有一个特点:本身是无连接的,但是使用了面向连接的TCP协议。也就是说要先通过TCP建立一个连接,再进行HTTP相关的交互。同时HTTP是无状态的。啥叫无状态的呢?就是当同一个对象第二次建立连接时已经当作新对象来看待(我将其理解成无记忆性)。这种特性有一个缺点,发送一次数据需要建立一次连接。所以将其改善提出一种持续连接的方式,即建立连接后维持一段时间,等待数据多次传送,也就是HTTP1.1。持续连接的工作方式也有两种:流水线方式和非流水线方式。这和前面的很像了,非流水线一个接一个,收到确认后继续传输。流水线一次传输多个,分别确认。
  怎样使不同的客户使用不同的方式编辑的文档在互联网的各种主机上都能显示
  这个使用的是HTML语言,这个听到的比较多了,是一种制作网页的语言。注意,HTML只是语言,不是协议。语言自有语法,可惜我不会。(有人跟我说,会HTML的不算是程序员,也不知道为啥.HTML有两个概念需要区分下:动态万维网文档,活动万维网文档。其实这是都是对静态不变的一种优化,那二者有什么不同呢?先说说啥叫静态文档,静态文档就是这个页面从始至终是固定的。动态文档在其上做了一点儿优化:每次页面是在服务器端生成的。每请求一次就更新一次。但是还有一个问题:用户在使用的时候,页面也有可能更新啊!这就是活动文档的优势,把任务放到了客户端,实时刷新页面。这样就解决了全部的问题。(我在这里解释的很简单,只是突出了各自的特点,具体的运行机制,可以上网查询相关资料~)
  还有一个应用比较有意思:就是这个搜索引擎,比较有代表性的是谷歌和百度。但其实二者用了不同的模式,谷歌使用的是网页排名,就是根据网页的点击量来推送顺序。而百度是竞价排名,就是后台可以微调(都懂哈~)。

  电子邮件

  电子邮件应该都发过吧,对你来说,点击一个发送就发过去了(像短信一样)。那有没有想过它到底是怎么实现的呢?(反正我是没有,学完了,才懂~)。我直接放出电子邮件的流程图,咱们按照这个说:
在这里插入图片描述
  大致可以分两部分:发送方和接受方。结构基本也差不多用户代理和服务器。整个的流程是这样的:发件人用户代理先发送给发送方邮件服务器,发送方邮件服务器发送给接收方邮件服务器,接受方邮件服务器发给收件人用户代理,传输结束。以上分为了三个过程,那这三个过程是怎么实现的呢?这就是我们的收发协议:SMTP和POP3。

  简单邮件传送协议SMTP(Simple Mail Transfer Protocol)

  SMTP的功能是负责发送,它负责发送两部分:发件人用户代理给发送方邮件服务器、发送方服务器给接收方服务器。SMTP也是C/S模式,包括三个部分:连接建立、发送数据、连接释放。SMTP有一个特点是直接发送,也就是发送方服务器直接给到接收方服务器,而中途不经过什么中转。

  POP3协议和网际报文存取协议ICMP(Internet Message Access Protocol)

  POP3和ICMP都是接受协议,负责接收方服务器和接收方用户代理部分。那两者有什么区别呢?POP3非常的简单,但功能受限。起初的POP3从服务器中智能下载一次文件,下完后文件就被服务器丢弃。这样如果是两台电脑想看同一个文件的话就没办法实现了,后来做了改进用户可设置文件在服务器中存储的时间。而ICMP是联机协议。有这么几个优点:用户可以在不同的地方使用不同的计算机、允许收件人只读取邮件中的一部分。但联机式也有缺点,就是如果用户没有在服务器上将文件拷贝到自己的电脑上,要想访问必须要网。

  动态主机配置协议DHCP(Dynamic Host Configuration Protocol)

  这个协议其实没啥说的,我就说说它的功能吧!前面介绍了要通过IP地址上网,IP地址包括网络号,这就导致了IP地址是可变的。计算机在不同网络下的IP地址是不同的。难道让用户每次自己去设置IP地址吗?当然不可能,动态设置IP地址的方法就是DHCP。这个DHCP也不是给你一直用的,是过一段儿时间要请求一下,告诉是继续使用还是停用。
  之前在实验室上机的时候恰好拍到这个图:
在这里插入图片描述
  嘿嘿,这个应该是就是BIOS在开机自动配置DHCP。

  简单网络管理协议SNMP(Simple Network Management Protocol)

  SNMP是专门用来进行网络管理的,那什么叫网络管理呢?网络管理包括对硬件、软件和人力的使用,综合与协调,以便对网络资源进行监视、配置、分析、评价和控制,这样就能以合理的价格满足一些网络需求,像实时运行性能、服务质量等。网络管理也称网管。这个不是课程的重点,我也理解的比较皮毛。网管就像是后台操纵的人,为了能够更好的运行。分为两部分管理结构SMI和管理信息库MIB。MIB就是用来存储被管理单元信息。(对SNMP的理解到此为止了,以后再慢慢了解吧~)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值