计算机网络笔记—应用层

文章目录

应用层协议的特点

  • 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议
  • 应用层的许多协议都是基于客户服务器方式。客户(clinet)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是请求方,服务器是服务提供方

应用层常见服务与协议

  • 域名系统DNS(Domain Name System)
  • 动态主机配置协议(Dynamic Host Configuration Protocol)
  • 文件传送协议FTP(File Tranfer Protocoll)
  • 远程终端协议TELNET
  • 远程桌面协议RDP
  • 万维网WWW(World Wide Web)
  • 电子邮件(SMTP、POP3、IMAP)

域名系统DNS(Domain Name System)

概述

  • 许多应用层软件经常直接使用域名系统DNS,但计算机的用户只是间接而不是直接使用域名系统
  • 因特网采用层次结构的命名树作为主机的名字,并采用分布式的域名结构DNS
  • 名字到IP地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器
  • 域名不包括前面的www、mail、ftp等,包含了www的网址实际是该域下的一个主机,其本身只是三级域名或者四级域名

域名结构(层次树状结构)

  • 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字——域名
  • 域名的结构由标号序列组成,各标号之间用点隔开:
    • XXX.三级域名.二级域名.顶级域名
  • 各标号分别代表不同级别的域名
  • 域名只是一个逻辑概念,并不代表计算机所在的物理地点
  • 域名中的“点”和点分十进制IP地址中的“点”并无一一对应的关系

顶级域名TLD(Top Level Domain)

国家顶级域名nTLD

  • 如.cn表示中国,.us表示美国,.uk表示英国

通用顶级域名gTLD

域名 说明
.com 公司和企业
.net 网络服务机构
.org 非盈利性组织
.edu 专用教育机构
.gov 专用政府部门
.mil 专用军事部门
.int 国际组织

域名服务器

  • 一个服务器所负责管辖的范围叫作区
  • 各单位根据具体情况来划分自己管辖的区。但在一个区中的所有节点必须是能够连通的
  • 每个区设置相应的权限域名服务器,用来保存该区中所有主机的域名到IP地址的映射
  • DNS服务器的管辖范围不是以域为单位,而是以区为单位

四种类型

  1. 根域名服务器
  2. 顶级域名服务器
  3. 权限域名服务器
  4. 本地域名服务器

根域名服务器

  • 根域名服务器是最中岛的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址
  • 不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器
  • 在因特网上共有13个不同IP地址的根域名服务器(13套装置)

顶级域名服务器

  • 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名
  • 当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)

权限域名服务器(对应区)

  • 负责一个区
  • 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器

本地域名服务器

  • 本地域名服务器不属于域名服务器层次结构,但对域名系统非常重要
  • 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器
  • 每一个因特网服务提供者ISP,或者一个单位甚至一个用户,都可以拥有一个本地域名服务器
  • 有时也称为默认域名服务器

域名解析过程

递归查询

  • 主机向本地域名服务器的查询一般都是采用递归查询
  • 如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文,而不是让主机自己进行下一步的查询

迭代查询

  • 本地域名服务器向根域名服务器的查询通常是采用迭代查询
  • 当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器“你下一步应当向哪一个域名服务器进行查询”,然后让本地域名服务器进行后续的查询,而不是代替本地域名服务器进行后续的查询

使用高速缓存

  • 为了提高DNS查询效率,并减轻根域名服务器的负荷和减少互联网上的DNS查询报文数量, 在域名服务器中广泛地使用了高速缓存

提高域名服务器的可靠性

  • DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器
  • 当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断
  • 主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只在主域名服务器中进行,这样就保证了数据的一致性

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

  • 动态主机配置协议DHCP提供了即插即用连网(plug-and-play networking)的机制
  • 这种机制允许一台计算机加入新的网络或获取IP地址,而不需要手工参与
  • DHCP很适合于经常移动位置的计算机。计算机若使用“自动获得IP地址”和“自动获得DNS服务器地址”,就表示是在使用DHCP协议

DHCP使用客户服务器方式

  • 需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文(DHCPDISCOVER),这时该主机就称为DHCP客户
  • 本地网络上的所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文
  • DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池(address pool)中去一个地址分配给该计算机。DHCP服务器的回答报文叫作提供报文(DHCPOFFER)

DHCP中继代理

  • 并不是每个网络上都有DHCP服务器,这样会使DHCP服务器的数量太多。现在是每一个网络至少有一个DHCP终极代理,它配置DHCP服务器的IP地址信息
  • 当DHCP中间代理收到主机发送的发现报文后,就以单播方式向DHCP服务器转发此报文,并等待其回答。收到DHCP服务器回答的提供报文后,DHCP中继代理再将此提供报文发给主机

租用期

  • DHCP服务器分配给DHCP客户的IP地址的临时的,因此DHCP客户只能在一段有限的时间内使用这个分配到的IP地址。DHCP协议称这段时间为租用期
  • 租用期的数值应由DHCP服务器自己决定,同时客户也可以提出对租用期的要求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N13wp4pJ-1582350801543)(D:\Typora\images\1582278409489.png)]

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

  • FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限
  • FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HzSrcoFI-1582350801545)(D:\Typora\images\1582278625938.png)]

FTP特点

  • FTP只提供文件传送的一些基本的服务,它使用TCP可靠的运输服务
  • FTP的主要功能是减少或消除在不同操作系统下处理文件的不兼容性
  • FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。FTP的服务进程由两大部分组成:
    • 一个主进程,负责接受新的请求
    • 若干个从属进程,负责处理单个请求

FTP连接方式

控制连接

  • 标准端口为21,用于发送FTP命令信息

数据连接

  • 标准端口为20,用于上传、下载数据

数据连接的建立类型

  • 主动模式:服务端从20端口主动向客户端发起连接
  • 被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接

使用两个端口号的好处

  • 使协议更加简单和易于实现
  • 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)

FTP传输方式

  • 文本模式:ASCII模式,以文本序列传输数据
  • 二进制模式:Binary模式,以二进制序列传输数据

简单文件传送协议TFTP(Trivial FIle Transfer Protocol)

  • TFTP是一个很小且易于实现的文件传送协议
  • TFTP使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施
  • TFTP只支持文件传输而不支持交互
  • TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户的身份进行鉴别
  • TFTP的工作很像停止等待协议

远程终端协议TELNET

  • TELNET是一个简单的远程终端协议,也是因特网的正式标准
  • 用户用TELNET就可以在其所在地通过TCP连接注册(即登录)到远地的另一台主机上(使用主机名或IP地址)
  • TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕
  • TELNET也使用了客户服务器方式。在本机系统运行TELNET客户进程,而在远地主机则运行TELNET服务器进程
  • TELNET使用网络虚拟终端NVT(Network VIrtual Terminal)实现本地主机和远程主机格式的转换
  • 由于现在的PC机功能越来越强,用户已较少使用TELNET协议。现常使用SSH安全外壳协议(Secure SHell)

远程桌面协议RDP(Remote Desktop Protocol)

万维网WWW(World Wide Web)

万维网概述

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

超媒体与超文本

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

万维网的工作方式

  • 万维网以客户服务器方式工作
  • 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器
  • 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所需要的万维网文档
  • 在一个客户程序主窗口上显示出的万维网文档称为页面

万维网必须解决的问题

怎样标志分布在整个因特网上的万维网文档?——使用统一资源符URL

用何协议实现万维网上的各种链接?——使用超文本传送协议HTTP

怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在这超链接?——使用超文本标记语言HTML

怎样使用户能够很方便地找到所需的信息?——使用搜索工具、搜索引擎

统一资源定位符URL(Uniform Resource Locator)

  • 统一资源定位符是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示

  • 只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性

  • URL相当于一个文件名在网络范围内的扩展。因此URL是与因特网相连的机器上的任何可访问对象的一个指针

  • URL的一般形式:
    < > : / / < > : < > / < > <协议>://<主机>:<端口>/<路径>

    • 协议有:ftp文件传送协议FTP、http超文本传送协议HTTP、News新闻
    • 主机:是存放资源的主机在因特网中的域名
    • 端口:可省略
    • 路径:指向层次结构的从属页面,可省略

超文本传送协议HTTP(HyperText Transfer Protocol)

  • HTTP协议定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器
  • 从层次的角度看,HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ABQWKRx9-1582350801546)(D:\Typora\images\1582291137092.png)]

  • HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务

HTTP/1.0协议

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhulXsEL-1582350801547)(D:\Typora\images\1582291521852.png)]

  • HTTP/1,0的缺点,就是每请求一个文档就要有两倍RRT的开销,这种非持续连接会使万维网服务器的负担很重

HTTP/1.1协议

  • HTTP/1.1使用了持续连接。所谓持续连接就是万维网服务器在发送响应后在一段时间内保持这条连接,使同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和相应报文
  • HTTP/1.1协议的持续连接有两种工作方式:非流水线方式和流水线方式

代理服务器proxy server

  • 代理服务器又称为万维网高速缓存(Web cache)
  • 代理服务器把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的相应,而不需要按URL的地址再次去互联网访问该资源

HTTP的报文结构

  • HTTP有两类报文:
    • 请求报文——从客户向服务器发送请求报文
    • 响应报文——从服务器到客户的回答
    • 由于HTTP是面向正文的,因此在报文中的每一个字段都是一些ASCII码串,因而每一个字段的长度都是不确定的
  • HTTP请求报文和相应报文都是由三个部分组成:开始行、首部行、实体主体

在服务器上存放用户的信息Cookie

  • 万维网站点使用Cookie来跟踪用户
  • Cookie表示在HTTP服务器和客户之间传递的状态信息
  • 使用Cookie的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能跟踪该用户在网站上的活动

万维网的文档

静态万维网文档

  • 静态文档在文档创作完毕以后就防止万维网服务器中,在被用户浏览的过程中,内容不会改变
  • 静态文档最大优点是简单,缺点是不够灵活

超文本标记语言HTML(HyperText Markup Language)

  • HTML定义了许多用于排版的命令(标签)
  • HTML把各种标签嵌入到万维网的页面中,这样就构成了所谓HTML文档。HTML文档是一种可以用任何文本编辑器创建额ASCII码文件
  • 远程链接:超链接的终点是其他网点上的页面
  • 本地连接:超链接指向本计算机中的某个文件

可扩展标记语言XML(Extensible Markup Language)

  • 设计宗旨是传输数据,而不是显示数据
  • XML用于标记电子文件,使其具有结构性的标记语言,可用来标记数据、定义数据类型
  • XML相对于HTML都是优点是它将用户界面与结构化数据分隔开来。这种数据与显示的分离使得集成来自不同源的数据称为可能

可扩展超文本标记语言XHTML(Extensible HTML)

  • 是更严格的HTML版本

层叠样式表CSS(Cascading Style Sheets)

  • CSS是一种样式表语言,用于为HTML文档定义布局
  • CSS与HTML的区别是:HTML用于结构化内容,而CSS则用于格式化结构化的内容。例如,在浏览器上显示的字体、颜色、边距、高度、宽度等方面

动态万维网文档

  • 动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建
  • 动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,二者并没有区别

通用网关接口CGI(Common Gateway Interface)

  • 通用网关接口CGI是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用
  • CGI程序的正式名字是CGI脚本
  • 使用脚本语言可以更容易和更快地进行编码,这对一些有限功能的小程序是很合适的

活动万维网文档

  • 活动文档技术把所有的工作都转移到浏览器端(客户端)
  • 每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行
  • 活动文档程序可与用户直接交互,并可连续地改变屏幕的显示
  • 由于活动文档技术不需要服务器的连续更新传送,对网络带宽的要求也不会太高

用Java技术创建活动文档

万维网的信息检索系统

全文检索搜索和分类目录搜索

  • 在万维网中用来进行搜索的程序叫搜索引擎
  • 全文检索搜索引擎是一种纯技术性的检索工具。它的工作原理是通过搜索软件到因特网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站。然后按照一定的规则建立一个很大的在线数据库供用户查询
  • 用户在查询时只要输入关键词,就从已经建立的索引数据库上进行查询(并不是实时地在因特网上检索到的信息)
  • 分类目录搜索引擎并不采集网站上的任何信息,而是利用各网站向搜索哦引擎提交的网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询

电子邮件

  • 发送邮件的协议:简单邮件传送协议SMTP(Simple Mail Transfer Protocol)
  • 读取邮件的协议:邮件读取协议POP3(Post Office Protocol 3)和网际报文存取协议IMAP(Internet Message Access Protocol)
  • 通用互联网邮件扩充MIME(Multipurpose Internet Mail Extensions)在其邮件首部中说明了邮件的数据类型,使用MIME可以在邮件中同时传送多种类型的数据

用户代理UA(User Agent)和邮件服务器

  • 用户代理UA就是用户与电子邮件系统的接口,是电子邮件客户端软件
  • 用户代理的功能:撰写、显示、处理和通信
  • 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况
  • 邮件服务器按照客户服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议
  • 一个邮件服务器既可以作为客户,也可以作为服务器

发送和接收电子邮件的重要步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RV7CIE1M-1582350801548)(D:\Typora\images\1582295898157.png)]

扫描二维码关注公众号,回复: 9345688 查看本文章
  1. 发件人调用PC机中的用户代理撰写和编辑要发送的邮件
  2. 发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器
  3. SMTP服务器把邮件临时存放在邮件缓存队列中,等待发送
  4. 发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP链接,然后就把邮件缓存队列中的邮件依次发送出去
  5. 运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取
  6. 收件人在打算收信时,就运行PC机中的用户代理,使用POP3或IMAP协议读取发送给自己的邮件

简单邮件传送协议SMTP

  • SMTP所规定的就是在两个相互通信的SMTP进程之间应该如何交换信息
  • SMTP通信的三个阶段:
    • 连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器
    • 邮件传送
    • 连接释放:邮件发送完毕后,SMTP应释放TCP连接

邮件读取协议POP3

  • 邮局协议POP是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本POP3
  • POP也使用客户服务器的工作方式
  • 在接收邮件的用户PC机中必须运行POP客户程序,而在用户所连接的ISP的邮件服务器中则运行POP服务器程序

网际报文存取协议IMAP

  • IMAP也是按客户服务器方式工作,现在较新的是版本4
  • 用户在自己的PC机就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样
  • 因此IMAP是一个联机协议。当用户PC机上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可以看到邮件的首部。若用户需要打开某个邮件,则将该邮件传到用户的计算机上
  • IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件
  • IMAP还允许收件人只读取邮件的某一部分
  • IMAP的缺点是如果用户没有将邮件复制到自己的PC机上,则邮件一直是存放在IMAP服务器上。要想查阅自己的邮件,必须先上网

基于万维网的电子邮件

  • 电子邮件从A发送到网易邮件服务器是使用HTTP协议
  • 两个邮件服务器之间的传送使用SMTP协议
  • 邮件从新浪邮件服务器传送到B是使用HTTP协议

通用互联网邮件扩充MIME

  • MIME并没有改动SMTP或取代它
  • MIME的意图是继续使用目前的[RFC 822]格式,但增加了邮件主题的结构,并定义了传送非ASCII码的编码规则

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

发布了77 篇原创文章 · 获赞 7 · 访问量 4809

猜你喜欢

转载自blog.csdn.net/Felix_hyfy/article/details/104442834