网络工程管理 第七章 应用层协议 万维网 DNS 电子邮件 FTP DHCP TELNET

网络工程管理 第七章 应用层协议

应用层的具体内容就是规定应用进程在通信时所遵循的协议

应用层的许多协议都是基于客户/服务器方式。客户是服务请求方,服务器是服务提供方。

常见的应用层协议

在这里插入图片描述

TCP/IP中为各种公共服务保留的端口号范围是:0~1023

万维网 www

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

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

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

❓怎样标志分布在整个因特网上的万维网文档?

使用统一资源定位符 **URL **(Uniform Resource Locator) 来标志万维网上的各种文档。 使每一个文档在整个因特网的范围内具有惟一的标识符 URL。

❓用何协议实现万维网上各种超链的链接?

在万维网客户程序与万维网服务器程序之间进行交互所使用的协议 , 是超文本传送协议 HTTP (HyperText Transfer Protocol)。 HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。HTTP服务器默认TCP 80端口

❓怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?

超文本标记语言 HTML使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何 一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。

URL

统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。URL 相当于一个文件名在网络范围的扩展。因此 URL 是与因特网相连的机器上的任何可访问对象的一个指针。

由以冒号隔开的两大部分组成,并且在 URL 中的字符对 大写或小写没有要求。 URL 的一般形式是:<URL的访问方式>://<主机>:<端口>/<路径>

  • 访问方式:ftp文件传送协议/http超文本传送协议/news USENET新闻
  • 主机:是存放资源的主机在因特网中的域名
  • 端口(具体的协议所使用的端口一般是固定的)和路径有时可以省略

eg:ftp://rtfm.mit.edu/pub/abc.txt

  • 访问方式:ftp
  • 主机域名:rtfm.mit.edu
  • 路径和文件名:pub/abc.txt

WWW的工作过程:

  • 客户方启动浏览器;客户在浏览器的地址栏键入URL
  • 浏览器分析URL,找到信息资源所在主机地址
  • 与该主机(服务器)建立TCP连接(端口号80)
  • 向该主机发出请求,要求获得某个页面;
  • 服务器通过TCP连接传送页面
  • 撤销TCP连接;
  • 浏览器在本机显示所得的页面

万维网高速缓存 (Web cache)代理服务器

万维网高速缓存能代表浏览器发出 HTTP 请求,因此又称为代理服务器(proxy server)。 万维网高速缓存将最近的一些请求和响应暂存在本地磁盘中。

当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。

当请求与存放的请求不同时,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。高速缓存收到此对象后,先复制在其本地存储器中(为今 后使用),然后再将该对象放在 HTTP 响应报文中,通过已 建立的 TCP 连接,返回给请求该对象的浏览器。
在这里插入图片描述

HTTP 有两类报文:

请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。

由于 HTTP 是面向正文的,在报文中的每一个字段都是 一些 ASCII 码串,因而每个字段的长度都是不确定的。

报文由三个部分组成,即开始行、首部行和实体主体。

请求报文

在请求报文中,开始行就是请求行。
在这里插入图片描述

  • 方法就是对所请求的对象进行的操作,因此这些方法实际上也就是一些命令。因此,请求报文的类型是由它所采用的方法决定的。

    方法(操作)意义
    OPTION请求一些选项的信息
    GET请求读取由URL所标志的信息
    HEAD请求读取由URL所标志的信息的首部
    POST给服务器添加信息(例如,注释)
    PUT在指明的URL下存储一个文档
    DELETE删除指明的URL所标志的资源
    TRACE用来进行环回测试的请求报文
    CONNECT用于代理服务器
  • URL 是所请求的资源的 URL

  • 版本是 HTTP 的版本。

响应报文

响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语

求的资源的 URL

  • 版本是 HTTP 的版本。

响应报文

响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语
在这里插入图片描述

  • 1xx 表示通知信息的,如请求收到了或正在进行处理。
  • 2xx 表示成功,如接受或知道了。
  • 3xx 表示重定向,表示要完成请求还必须采取进一步的行动。
  • 4xx 表示客户的差错,如请求中有错误的语法或不能完成。
  • 5xx 表示服务器的差错,如服务器失效无法完成请求。

SSL Secure Sockets Layer 安全套接字协议,为网络通信提供安全及数据完整性的一种安全协议。

HTTPS 是一种安全的HTTP 协议,它使用SSL来 保证信息安全,使用TCP的443端口来发送和接收报文。

HTML

HTML 定义了许多用于排版的命令(标签)
HTML 把各种标签嵌入到万维网的页面中。这样就构成了所 谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器 创建的 ASCII 码文件

仅当 HTML 文档是以.html 或 .htm 为后缀时,浏览器才对此文档的各种标签进行解释。 如 HTML 文档改换以 .txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。 当浏览器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率 大小,重新进行排版并恢复出所读取的页面。

**元素(element)是 HTML 文档结构的基本组成部分。**一个 HTML 文档本身就是一个元素。每个 HTML 文档由两个主要 元素组成:首部(head)和主体(body) 。 首部包含文档的标题(title)(标题相当于文件名),以及系统用来标识文档的一些其他信息。 文档的主体是 HTML 文档的最主要的部分。 主体部分往往又由若干个更小的元素组成 , 如段落 (paragraph)、表格(table)、和列表(list)等。

HTML 用一对标签(即一个开始标签和一个结束标签)或几对标签来标识一个元素。 开始标签由一个小于字符“<”、一个标签名、和一个大于 字符“>”组成。  结束标签和开始标签的区别只是在小于字符的后面要加上一 个斜线字符“/”

在这里插入图片描述

eg:<IMG SRC=portrait.gif HEIGHT=100 WIDTH=65>

插入图像 图像名为protrait.gif 高度100 宽度65

链接到其他网点上的页面

<A HREF=“http://www/tsinghua.edu.cn”>清华大学</A>
超链接终点是清华大学的主页,起点是“清华大学”四个字

链接到一个本地文件

本地链接可进行许多的简化:
协议(http://)被省略——表明与当前页面的协议相同。
主机域名被省略——表明是当前的主机域名。
目录路径被省略——表明是当前目录(对于远程链接,表明是主机的默认根目录)。
文件名被省略——表明是当前文件(对于远程链接,表明是对方服务器上默认的文件名,通常是一个名为 index.html 的文件)

语句:定义一个锚并给它命名<A NAME="name">abc</A>
指向这个锚<A HREF="#name">X</A>

浏览器

组成:一组客户,一组解释程序,管理这些客户和解释程序的控制程序。
例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文。(一个用户指一个server,指对外发出请求的一个主体,一个接口)

在这里插入图片描述

解释程序

HTML 解释程序是必不可少的,而其他的解释程序则是可选的。
解释程序把 HTML 规格转换为适合用户显示硬件的命令来处理版面的细节。
许多浏览器还包含 FTP 客户,用来获取文件传送服务。
一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件。

浏览器缓存

取回的页面都放在缓存里,用户鼠标点击的时候先查缓存。

动态文档与CGI

动态文档:访问时被应用程序在服务器创建。
服务器有一个应用程序(CGI程序,脚本),处理浏览器发来的数据并创建动态文档。
服务器有一个机制,把浏览器发来的数据给这个应用程序,应用程序创建动态文档,输出给服务器,服务器解析其输出,并向浏览器返回HTML。

CGI标准,规定了动态文档创建、输入、输出等操作的标准。
CGI程序,也叫脚本,是被解释程序执行的程序。

表单

动态文档,表单和脚本常配合使用。
用户通过表单把数据传递给服务器。
定义表单的的标签是<FORM> </FORM>
标签中要指明ACTION参数、CGI程序地址、METHOD方法

CGI参数传递使用环境变量。

搜索引擎

要进行搜索就要把网页页面中的关键词做成索引

DNS

进行IP地址和域名(好记)的转换。联机分布式数据库系统。

需要解析域名时,应用程序成为了域名系统的一个客户,以UDP格式向本地域名服务器发出请求,本地无法解析就向上发送,递归解析,直到找到。找到后就放在应答报文中发回。

域名结构

层次树状结构:… . 三级域名 . 二级域名 . 顶级域名(TLD)

国家顶级域名 :.cn 表示中国,.us 表示美国,.uk 表示英国,等等。
国际顶级域名:采用.int 国际性的组织可在 .int下注册。
通用顶级域名:
.com 表示公司企业
.net 表示网络服务机构
.org 表示非赢利性组织
.edu 表示教育机构(美国专用)
.gov 表示政府部门(美国专用)
.mil 表示军事部门(美国专用)
.aero 用于航空运输企业 .biz 用于公司和企业
.coop 用于合作团体 .info 适用于各种情况
.museum 用于博物馆 .name 用于个人
.pro 用于会计、律师和医师 等自由职业者
在这里插入图片描述

域名服务器的分类
  • 本地域名服务器
    每一个因特网服务提供者或大学等单 位都可拥有一个本地域名服务器,即默认域名服务器,本地 主机的域名解析请求首先送给它们就近解析;
  • 根域名服务器
    记录所有第二级域名的DNS信息,分布在网络的不同地方,具有公开的IP地址。当本地域名服务器不能立即回答某个主机的解析请求时,就以DNS客户的身份向某一个根域名服务器查询。
  • 授权域名服务器
    把一个单位的域名划分为很多个区域,每个区域设置一台授权域名服务器。
递归查询

在这里插入图片描述

名字的高速缓存

每个域名服务器都维护一个高速缓存,存放最近用过的名字 以及从何处获得名字映射信息的记录。每次查询先查缓存,提高速度。

测试DNS服务器是否正常工作可以采用的命令是ping和nslookup

电子邮件

电子邮件把邮件发送到 ISP 的邮件服务器,并放在其中的收信人邮箱中,收信人可随时上网到 ISP 的邮件服务器进行读取。

1982年,制定出**简单邮件传送协议 SMTP (Simple Mail Transfer Protocol) **和因特网文本报文格式。
1993年,通用因特网邮件扩充 MIME。

发送:SMTP 接收:POP TCP连接

电子邮件的组成

UA:用户代理,用户与电子邮件系统的接口。也就是在 PC机上运行的程序(如Outlook),功能是:撰写、显示和处理。

邮件服务器:发送和接收邮件,同时还要向发信人 报告邮件传送的情况(已交付、被拒绝、丢失等)。

一个邮件服务器既可以作为客户,也可以作为服务器。
例如,当邮件服务器 A 向另一个邮件服务器 B 发送邮件时, 邮件服务器 A 就作为 SMTP 客户,而 B 是 SMTP 服务器。 当邮件服务器 A 从另一个邮件服务器 B 接收邮件时,邮件 服务器 A 就作为 SMTP 服务器,而 B是 SMTP 客户

电子邮件系统工作流程

(1) 发信人调用用户代理来编辑要发送的邮件。用户代理用 SMTP 把邮件传送给发送端邮件服务器。
(2) 发送端邮件服务器将邮件放入邮件缓存队列中,等待发送。
(3) 运行在发送端邮件服务器的 SMTP 客户进程,发现在邮件缓存 中有待发送的邮件,就向运行在接收端邮件服务器的SMTP 服务器 进程发起 TCP 连接的建立
(4) TCP 连接建立后,SMTP 客户进程开始向远程的 SMTP 服务器 进程发送邮件。当所有的待发送邮件发完了,SMTP 就关闭所建立 的 TCP 连接
(5) 运行在接收端邮件服务器中的 SMTP 服务器进程收到邮件后, 将邮件放入收信人的用户邮箱中,等待收信人在方便时进行读取。
(6) 收信人在打算收信时,调用用户代理,使用 POP3(或 IMAP) 协议将自己的邮件从接收端邮件服务器的用户邮箱中的取回。

简单邮件传送协议 SMTP

SMTP 所规定的就是在两个相互通信的 SMTP 进程之间应 如何交换信息。 由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上很简单的文字说明。

使用TCP25端口

邮件读取协议POP3 和 IMAP

邮局协议 POP 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。POP 也使用客户服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而 在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程 序。POP3协议只要用户从服务器上把邮件存储到本地主机, 上,同时删除保存在邮件服务器上的邮件。

IMAP 也是按客户服务器方式工作,现在较新的版本是 IMAP4。 用户在自己的 PC 机上就可以操纵 ISP 的邮件服务器的邮箱,就像在本地操纵一样。 因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。

IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。 IMAP 还允许收信人只读取邮件中的某一个部分。例如, 收到了一个带有视像附件(此文件可能很大)的邮件。为了 节省时间,可以先下载邮件的正文部分,待以后有时间再读 取或下载这个很长的附件。
IMAP 的缺点是如果用户没有将邮件复制到自己的 PC 机 上,则邮件一直是存放在 IMAP 服务器上。因此用户需要经 常与 IMAP 服务器建立连接。

注意!
不要将邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 弄混。 发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。 而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议。

通用因特网邮件扩充 MIME

SMTP缺点:
不能传送可执行文件或其他的二进制对象
限于传送 7 位的 ASCII 码。许多其他非英语国家 的文字(如中文、俄文,甚至带重音符号的法文或德文) 就无法传送
服务器会拒绝超过一定长度的邮件

MIME继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则。

改进:5个新的邮件首部字段,它们可包含在[RFC 822]首部中。 这些字段提供了有关邮件主体的信息。
定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变

FTP

文件传输协议FTP是用来在远程主机与本地主机之间或两台 远程主机之间传输文件的。通过该协议,用户可以从一个 Internet主机向另一个Internet主机拷贝文件。我们通常所说的“下载”文件就是用FTP程序实现的。

客户/服务器系统

FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。

TCP 端口:21 20

两种进程:主进程接收请求,转交给从属进程处理,并发进行。

两种连接:控制连接(21端口),始终保持打卡,控制进程;数据连接(20端口),用来传输数据。

工作步骤
  • 登录:客户机向FTP服务器登录,存在两种方式:
    • 匿名登录用anonymous为用户名,以用户自己的电子邮件地 址为口令。
    • 非匿名登录需要从FTP服务器申请得到用户名和口令。
  • 浏览和下载
  • 退出

简单文件传送协议 TFTP

小 易于实现 使用UDP 只传输 不支持交互 指令集很小 不支持列目录 不支持身份鉴别

每次传输512字节的数据,文件分块编号(PDU或block),支持ASCII码或二进制传送,可对文件进行读或写,使用很简单的首部。

工作类似停止等待协议,发送后等确认,否则重发。

端口:69

引导程序协议与动态主机配置协议

协议配置:在协议软件中给参数赋值,配置信息常储存在一个配置文件中。

例如连接网络的计算机协议软件需要配置:IP 子网掩码 GW DNS等

引导程序协议BOOTP

自举协议,UDP,广播请求报文,收到报文的服务器把配置信息回复给提出请求的计算机。

动态主机配置协议DHCP

扩展了的BOOTP
需要IP得知时,广播询问,DHCP服务器听到后在数据库中查找这个计算机的配置信息,找不到的话,就从服务器的IP地址池里分配一个给它,通过“提供报文” 回复给计算机。

端口:客户 UDP 68 服务器 67

DHCP中继代理

并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服 务器的数量太多。现在是每一个网络至少有一个 DHCP 中继 代理,它配置了 DHCP 服务器的 IP 地址信息。

当 DHCP 中继代理收到主机发送的发现报文后,就以单播 方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提 供报文发回给主机。

DHCP 服务器分配给 DHCP 客户的 IP 地址是临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。租用期的数值应由 DHCP 服务器自己决定。 DHCP 客户也可在自己发送的报文中(例如,发现报文) 提出对租用期的要求。

DHCP工作过程

  1. 服务器被动打开UDP67端口
  2. 客户UDP68端口发送 发现报文
  3. 收到发现报文的服务器都发送一个提供报文 ,一个客户可能会收到多个提供报文
  4. 客户选择一个服务器发送请求报文
  5. 服务器回复请求报文 发送确认报文 ,确认绑定,可以开始使用临时IP
  6. 客户根据提供的租用期设置两个定时器:0.5T和0.875T
  7. 0.5T到了之后请求更新租用期,服务器若同意,则回复确认报文,更新租用期重新设置计时器;若不同意则回复否认报文,客户立即停止使用原IP地址,重新申请IP地址;若未响应,则等待至0.875T,继续发送请求报文
  8. 客户可随时终止,发送释放报文

DHCP服务器提供给客户机的信息:
必须:IP地址、子网掩码
可选:默认网关、DNS

例题:

在这里插入图片描述

DHCP配置文件解读

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VhJ1CVlB-1640499667043)(图片/image-20211226140216037.png)]

远程终端协议TELNET

TELNET 是一个简单的远程终端协议,也是因特网的正式

标准用户用 TELNET 就可在其所在地 通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)

TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。

在用户需要登录的远程系统上运行Telnet服务程序,在本地机上需要安装Telnet客户程序。客户机只有拥有了远程计算机的用户名和口令才可以对远程计算机进行登录访问,即只有非匿名登录。

端口:TCP 23

TELNET 使用网络虚拟终端 NVT 格式

网络虚拟终端(NVT)是一种虚拟的终端设备,它提供了一种专门的键盘定义,用来屏蔽不同计算机系统对键盘输入的差异性。它被客户和服务器所采用,用来建立数据表示和解释的一致性。客户软件把用户的击键和命令转换成 NVT 格式,并送交服 务器。 服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。

由于Telnet两端的机器和操作系统的异构性,使得Telnet 不可能也不应该严格规定每一个telnet连接的详细配置,否则将大大影响Telnet的适应异构性。因此,Telnet采用选项协商机制来解决这一问题。

例题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值