资源描述
应用层
本章讨论的问题是各种应用进程通过什么样的应用层协议来使用网络所提供的通信服务
应用层的许多协议都是基于客户-服务器方式的,客户和服务器都是主机之中的应用进程.
一、 域名系统 DNS
1、 域名系统DNS是因特网使用的命名系统,用来把人们便于使用的机器名字转换为IP地址。
2、 为什么机器在处理IP数据报时不使用域名,而要使用IP地址呢?
因为IP地址的长度固定为32位,域名长度不固定,机器处理起来比较困难。
3、 整个因特网为什么不只使用一个域名服务器?
因为整个因特网规模很大,一台服务器会因为负载太大无法正常工作,一旦出错,整个因特网就瘫痪了。
4、域名服务器:名字到 IP 地址的解析是由若干个域名服务器程序完成的.运行域名服务器程序的专设结点的机器称为域名服务器。
5、DNS请求报文是UDP数据报
6、域名:任何一个连接在因特网上的主机或路由器,都有的一个唯一的层次结构名字
7、域名的结构由标号序列组成,各标号之间用点隔开:
… 。 三级域名 . 二级域名 。 顶级域名
8、域名只是个逻辑概念,并不代表计算机所在的物理地点.
9、域名的语法:由标号序列组成,用。分开,每一个标号不超过63字符,完整域名不超过255个字符,标号中除了-不能有其他标点符号
10、域名只是个逻辑概念,并不代表计算机所在的物理地点。
11、顶级域名 TLD
(1) 国家顶级域名 nTLD:如: .cn 表示中国,。us 表示美国,.uk 表示英国,等等。
(2) 通用顶级域名 gTLD:最早的顶级域名是:
。com (公司和企业)
.net (网络服务机构)
.org (非赢利性组织)
。edu (美国专用的教育机构()
。gov (美国专用的政府部门)
.mil (美国专用的军事部门)
。int (国际组织)
(3) 基础结构域名(infrastructure domain):这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。
12、 之前我国把二级域名划分为类别域名和行政区域名,现在可以直接注册
13、 域名服务器:一个服务器所负责管辖的(或有权限的)范围叫做区(zone).每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射,DNS 服务器的管辖范围不是以“域"为单位,而是以“区”为单位。区小于等于域。
14、 域名服务器有以下四种类型
(1)根域名服务器 :根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址,在因特网上共有13 个不同 IP 地址的根域名服务器,是 13 套装置(不是 13 个机器)
(2)顶级域名服务器 :这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名.
(3)权限域名服务器 :负责一个区的域名服务器.
(4)本地域名服务器 :当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器,也称为默认域名服务器。
15、提高域名服务器的可靠性:DNS 域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性.
16、主机向本地域名服务器的查询一般都是采用递归查询
17、本地域名服务器向根域名服务器的查询通常是采用迭代查询。
18、每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项
二、文件传送协议FTP
1、 FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
2、FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。
3、主进程的工作步骤如下
n 打开熟知端口(端口号为 21),使客户进程能够连接上。
n 等待客户进程发出连接请求。
n 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
n 回到等待状态,继续接受其他客户进程发来的请求.主进程与从属进程的处理是并发地进行.
4、 FTP 使用的两个 TCP 连接:TCP 控制连接,TCP 数据连接
5、 两个不同的端口号:熟知端口(21)用于建立TCP控制连接,20号端口用于建立TCP数据连接
6、网络文件系统NFS 允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据.在网络上传送的只是少量的修改数据。
简单文件传送协议 TFTP
三、TFTP 是一个很小且易于实现的文件传送协议。
1、 TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施.
2、 TFTP 只支持文件传输而不支持交互。
3、 TFTP 的主要特点:
(1) 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节.
(2) 数据 PDU 也称为文件块(block),每个块按序编号,从 1 开始。
(3) 支持 ASCII 码或二进制传送。
(4) 可对文件进行读或写。
(5) 使用很简单的首部。
4、 在一开始工作时。TFTP 客户进程发送一个读请求 PDU 或写请求 PDU 给 TFTP 服务器进程,其熟知端口号码为 69。
5、 若文件长度恰好为 512 字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据 PDU。
四、远程终端协议 TELNET也称终端仿真协议
1、用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)
2、 远程终端协议 TELNET是基于TCP协议、端口23号。
3、 和 FTP 的情况相似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。
4、为了适应不同格式的网络要使用网络虚拟终端 NVT :客户软件把用户的击键和命令转换成 NVT 格式,并送交服务器。服务器软件把收到的数据和命令,从 NVT 格式转换成远地系统所需的格式。
五、万维网 WWW (World Wide Web)
1、万维网 WWW并非某种特殊的计算机网络.万维网是一个大规模的、联机式的信息储藏所,采用链接访问方式,提供分布式服务。以客户-服务器方式工作。
2、超文本是包含指向其他文档的链接的文本,是万维网的基础,
3、超媒体与超文本的区别是文档内容不同,超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。
4、 万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充.
5、万维网必须解决的问题
(1) 怎样标志分布在整个因特网上的万维网文档?
n 使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。
n 使每一个文档在整个因特网的范围内具有唯一的标识符 URL。
(2) 用何协议实现万维网上各种超链的链接?
n 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
n HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
(3) 怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
n 超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
(4) 怎样使用户能够很方便地找到所需的信息?
n 用户可使用各种的搜索工具(即搜索引擎)在万维网上方便地查找信息。
6、 统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示,是一个指针
7、URL 的一般形式是:〈协议>://〈主机>:〈端口〉/<路径〉 > 是存放资源的主机
在因特网中的域名,端口有时可省略,若再省略文件的<路径〉项,则 URL 就指到因特网上的某个主页
Eg:http://www.tsinghua。edu。cn:80/chn/yxsz/index.htm
但是对于万维网的http协议一般默认端口是80,可以省略
http://www。tsinghua。edu。cn/chn/yxsz/index。htm
8、超文本传送协议 HTTP:定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给服务器。
9、用户浏览网页有两种方法:在浏览器的地址栏输入URL,或者点击超链接
10、用户点击鼠标后所发生的事件
(1) 浏览器分析超链指向页面的 URL。
(2) 浏览器向 DNS 请求解析 www.tsinghua.edu。cn 的 IP 地址。
(3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。
(4) 浏览器与服务器建立 TCP 连接
(5) 浏览器发出取文件命令:
GET /chn/yxsz/index。htm。
(6) 服务器给出响应,把文件 index。htm 发给浏览器。
(7) TCP 连接释放。
(8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。
11、HTTP 的主要特点
n HTTP 是面向事务的客户服务器协议。
n HTTP 1。0 协议是无状态的(stateless).,不具记忆性
n HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务
12、浏览器请求一个万维网文档到收到所需的时间
传输文档的时间+2RTT
13、HTTP/1。1 协议是1。0的加强版,使用持续连接。即万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
14、HTTP 1。1的特点
n 在一个TCP连接上可以传送多个HTTP请求和响应
n 多个请求和响应过程可以重叠进行
n 增加了更多的请求头和响应头
15、 持续连接的两种工作方式:
非流水线方式:客户在收到前一个响应后才能发出下一个请求。减少了一个RTT
流水线方式:客户在收到 HTTP 的响应报文之前就能够接着发送新的请求报文。减少1.5个RTT
16、代理服务器:又称为万维网高速缓存(Web cache),它代表浏览器发出 HTTP 请求。万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源.减少访问因特网服务器的时延,减少网络链路通信量。
17、使用高速缓存的情况
(1) 浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文
(2) 若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。
(3) 否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。
(4) 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。
(5) 高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器。
18、HTTP 有两类报文:请求报文和响应报文
19、HTTP 的报文结构:由三个部分组成,即开始行、首部行和实体主体。
20、请求报文中,开始行就是请求行,组成:“方法“:即命令eg: GET
“URL”是所请求的资源的 URL。“版本"是 HTTP 的版本.
21、响应报文的开始行是状态行。组成: HTTP 的版本,状态码,以及解释状态码的简单短语。
状态码解释:
n 1xx 表示通知信息的,如请求收到了或正在进行处理。
n 2xx 表示成功,如接受或知道了.
n 3xx 表示重定向,表示要完成请求还必须采取进一步的行动。
n 4xx 表示客户的差错,如请求中有错误的语法或不能完成。
n 5xx 表示服务器的差错,如服务器失效无法完成请求。
22、Cookie 表示在 HTTP 服务器和客户之间传递的状态信息。万维网站点使用 Cookie 来跟踪用户。
23、万维网的文档:超文本标记语言 HTML
HTML 把各种标签(用于排版的命令)嵌入到万维网的页面中.这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。标签一般成对出现,一个表示开始,一个表示结束,由尖括号包围< >
24、 万维网文档可以分为动态万维网文档和静态万维网文档.动态文档和静态文档 之间的主要差别体现在服务器一端.
25、 在万维网中用来进行搜索的程序叫做搜索引擎,可以分为全文检索搜索引擎(谷歌,百度)和分类目录搜索引擎(雅虎,新浪,搜狐,网易)
五、电子邮件
1、 电子邮件(e—mail)是因特网上使用得最多的和最受用户欢迎的一种应用。
2、 发送邮件的协议:SMTP——简单邮件传送协议
3、 读取邮件的协议:POP3 --邮局协议和 IMAP
4、用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件。功能:撰写、显示、处理和通信
5、 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等).
6、 一个邮件服务器既可以作为客户,也可以作为服务器。需要使用发送和读取两个不同的协议。
7、 发送和接收电子邮件的几个重要步骤
发件人调用 PC 中的用户代理撰写和编辑要发送的邮件.
发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器,
SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连接,然后就把邮件缓存队列中的邮件依次发送出去。
运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
收件人在打算收信时,就运行 PC 机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。
8、 电子邮件地址的格式: 收件人邮箱名@邮箱所在主机的域名
eg:111400851@fzu 。
9、 SMTP 通信的三个阶段:连接建立 邮件传送 连接释放
10、 电子邮件的信息格式:一个电子邮件分为信封和内容两部分.内容可以分为首部和主体
11、 邮件内容首部的一些关键字:To:一个或多个收件人的电子邮件地址; Subject:邮件的主题
12、在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。
13、IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。IMAP 还允许收件人只读取邮件中的某一个部分,比如只读取标题,比较方便.缺点:用户需要经常与 IMAP 服务器建立连接。
六、动态主机配置协议 DHCP
1、协议配置在协议软件中给这些参数赋值的动作
2、DHCP 提供了即插即用连网的机制。这种机制允许一台计算机加入新的网络和获取IP地址不用手工参与。
3、租用期:DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,DHCP 客户能使用分配到的 IP 地址的时间。
4、IP获取方式:需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
5、DHCP 报文只是 UDP 用户数据报中的数据。基于UDP协议
6、DHCP 协议的工作过程
:DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文。
:DHCP 客户从 UDP 端口 68发送 DHCP 发现报文。
:凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文.
:DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文。
:被选择的 DHCP 服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了。DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0。875T。当超时时间到就要请求更新租用期。
租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST 要求更新租用期。
:DHCP 服务器若同意,则发回确认报文DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。
:DHCP 服务器若不同意,则发回否认报文DHCPNACK.这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤)。若DHCP服务器不响应步骤的请求报文DHCPREQUEST,则在租用期过了 87。5% 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤),然后又继续后面的步骤。
:DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。
七、 简单网络管理协议 SNMP
1、网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。
2、 管理站也常称为网络运行中心 NOC ,是网络管理系统的核心。
3、 管理程序在运行时就成为管理进程,管理程序是客户程序,代理程序是服务器程序
4、 Manager 不是指人而是指机器或软件。
5、 网络管理员(administrator) 指的是人.大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。
6、 网络的每一个被管设备中可能有多个被管对象.
7、 被管设备有时可称为网络元素或网元.
8、 代理:在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做网络管理代理程序,或简称为代理。
9、 网络管理协议,简称为网管协议。并不是网管协议本身来管理网络,而是管理程序和代理程序之间进行通信的规则。
10、 在网管系统中往往是一个(或少数几个)客户程序与很多的服务器程序进行交互.
11、SNMP 报文 使用 UDP 来传送。
12、委托代理:若网络元素使用的不是 SNMP 而是另一种网络管理协议,SNMP 协议就无法控制该网络元素.这时可使用委托代理.委托代理能提供如协议转换和过滤操作等功能对被管对象进行管理.
13、SNMP 的网络管理由三个部分组成:SNMP 本身,管理信息结构 SMI,管理信息库 MIB
14、SNMP 定义了管理站和代理之间所交换的分组格式.所交换的分组包含各代理中的对象(变量)名及其状态(值).SNMP 负责读取和改变这些数值.
15、SMI 定义了命名对象和定义对象类型(包括范围和长度)的通用规则,以及把对象和对象的值进行编码的规则。
16、 MIB 在被管理的实体中创建了命名对象,并规定了其类型。
17、 SMI 规定所有被管对象必须在命名树上
18、用 TLV 方法进行编码,把各种数据元素表示为以下三个字段组成的八位位组序列:
(1) T 字段,即标识符八位位组(identifier octet),用于标识标记。
(2) L 字段,即长度八位位组(length octet),用于标识后面 V 字段的长度。
(3) V 字段,即内容八位位组(content octet),用于标识数据元素的值。
19、L 字段定义 V 字段的长度
如 IPAddress 192.1.2。3,其 T 字段是 40,V 字段需要 4 字节表示,因此得出 IPAddress 192。1.2.3 的 TLV 编码是 40 04 C0 01 02 03.
20、被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息总称为管理信息库 MIB 。管理程序使用 MIB 中这些信息的值对网络进行管理
21、SMI 标准指明了所有的 MIB 变量必须使用抽象语法记法 1(ASN。1)来定义。SMI 既是 ASN.1 的子集,又是 ASN。1 的超集.
22、 SMI 把数据类型分为两大类:简单类型和结构化类型。
23、 基本编码规则 BER:指明了每种数据类型中每个数据的值的表示.
24、发送端用 BER 编码,可将用 ASN。1 所表述的报文转换成唯一的比特序列。接收端用 BER 进行解码,得到该比特序列所表示的 ASN。1 报文。
八、本章提到的协议全都采用客户-—服务器方式
整理者:福州大学 张毅
展开阅读全文