应用层(计网_06)

文章目录

第六章 应用层

  • 应用层的具体内容就是规定应用进程在通信时所遵循的协议。
  • 应用层的许多协议都是基于客户服务器方式。

6.1 域名系统DNS

6.1.1 域名系统概述

  • 域名系统DNS:是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。
  • 许多应用层软件经常直接使用DNS,而计算机用户只是间接使用DNS。
  • 互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统DNS。
  • 名字到IP地址的解析是由若干个域名服务器程序完成的,域名服务程序在专设的结点上运行,运行该程序的机器称为 域名服务器

6.1.2 互联网的域名结构

  • 任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。

  • 域名的结构:

    • 一般域名最多到四级。
      在这里插入图片描述
  • 域名只是个逻辑概念,并不代表计算机所在的物理地点。

(1)顶级域名TLD(Top Level Domain)

  • 国家顶级域名NTLD
  • 通用顶级域名GTLD
  • 基础结构域名(infrastructure domain)
    1. 这种顶级域名只有一个,即arpa
    2. 用于反向域名解析,因此又称为反向域名。

(2)互联网的域名空间

在这里插入图片描述

6.1.3 域名服务器

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

(1)区的不同划分方法举例

区可能等于或小于域,但一定不能大于域

在这里插入图片描述

(2)根域名服务器

  • 不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助与=于根域名服务器。
  • 根域名服务器并不直接把域名直接转换成IP地址。
  • 在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的IP地址告诉本地域名服务器。

(3)顶级域名服务器

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

(4)权限域名服务器

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

(5)本地域名服务器

  • 当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。
  • 每一个互联网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器。
  • 这种域名服务器有时也称为默认域名服务器

(6)域名解析的过程

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

在这里插入图片描述

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

在这里插入图片描述

(7)名字的高速缓存

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

6.2 文件传送协议

6.2.1 FTP概述

  • 文件传送协议FTP(File Transfer Protocol)是互联网上使用最广泛的文件传送协议。
  • FTP提供 交互式访问
  • FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件

6.2.2 FTP的基本工作原理

(1)网络环境下复制文件的复杂性

  • 计算机存储数据的格式不同
  • 文件的目录结构和文件命名的规定不同
  • 对于相同的文件存取功能,操作系统使用的命令不同
  • 访问控制方法不同

(2)FTP特点

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

(3)主进程的工作步骤

  • 打开熟知端口(端口号为21),使用户进程能够连接上。
  • 等待客户进程发出连接请求。
  • 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。
  • 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行的。

(4)两个连接

  • 控制连接:在整个会话期间一直保持打开,FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
  • 数据连接:用来传输文件。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
  • 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据连接"并结束运行。

在这里插入图片描述

(5)使用两个不同的端口号

  • 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号,用于建立数据传送连接。
  • 接着,服务器进程用自己传送数据的**熟知端口(20)**与客户进程所提供的端口号建立数据传送连接。
  • 由于FTP使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。
  • 使用两个不同端口号的好处
    • 使协议更加简单和更容易实现
    • 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)

(6)网络文件系统NFS

  • NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。
  • NFS可使用户只复制一个大文件中的一个很小的片段,而不需要复制整个大文件。
  • NFS在网络上传送的只是少量的修改数据

6.2.3 简单文件传送协议TFTP

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

(1)TFTP的主要特点

  • 每次传送的数据报文PDU中有512个字节的数据,但最后一次可不足512字节。
  • 数据PDU也称为文件块(block),每个块按序编号,从1开始。
  • 支持ASCLL码或二进制传送
  • 可对文件进行读或写
  • 使用很简单的首部

(2)TFTP的工作很像停止等待协议

  • 发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号
  • 发送完数据后在规定时间内收不到确认就要重发数据PDU
  • 发送确认PDU的一方若在规定时间内收不到下一个文件块,也要重发确认PDU。这样就可保证文件的传送不致因某一个数据报的丢失而告失败。
  • 开始工作时,TFTP客户进程发送一个读请求PDU或写请求PDU给TFTP服务器进程,其熟知端口号码为69
  • TFTP服务器进程要选择一个新的端口和TFTP客户进程通信
  • 若文件长度恰好为512字节的整数倍,则在文件传送完毕后,还必须在最后发送一个只含首部而无数据的数据PDU
  • 若文件长度不是512字节的整数倍,则最后传送数据PDU的数据字段一定不满512字节,这正好可以作为文件结束的标志。

6.3 远程终端协议TELNET

  • TELNET是一个简单的远程终端协议,也是互联网的正式标准
  • 用户用TELNET就可在其所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址)
  • TELNET能将用户的基键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉好像键盘和显示器是直接连在远地主机上。

(1)客户-服务器方式

  • 现在由于PC的功能越来越强,用户已较少使用TELNET了
  • TELNET也使用客户服务器方式。在本地系统运行TELNET客户进程,而在远地主机则运行TELNET服务器进程。
  • 和FTP类似,服务器中的主进程等待新的请求,并产生从属进程来处理每一个连接。

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

  • 客户软件把用户的击键和命令转换成NVT格式,并送交服务器
  • 服务器软件把收到的数据和命令,从NVT格式转化成远地系统所需要的格式
  • 向用户返回数据时,服务器把远地系统的格式转换成NVT格式,本地客户再从NVT格式转换到本地系统所需的格式。

在这里插入图片描述

6.4 万维网WWW

6.4.1 万维网概述

  • 万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所
  • 万维网用 链接 的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。

(1)万维网提供分布式服务

在这里插入图片描述

(2)超媒体与超文本

  • 万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。
  • 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础。
  • 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息。

(3)万维网的工作方式

  • 万维网以客户-服务器方式工作
  • 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序
  • 页面:在一个客户程序主窗口上显示出的万维网文档称为页面(page)

万维网必须解决的问题

  1. 怎样表示分布在整个互联网上的万维网文档?
    • 使用统一资源定位符URL来标志万维网上的各种文档
    • 使每一个文档在整个互联网的范围内具有唯一的标识符URL。
  2. 用何种协议实现万维网上各种超链的链接?
    • 使用超文本传送协议HTTP
    • HTTP是一个应用层协议,他使用TCP连接进行可靠的传送。
  3. 怎样使用各种万维网文档都能在互联网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链接?
    • 使用超文本标记语言HTML
  4. 怎样使用户能够很方便地找到所需要的信息?
    • 用户可使用各种的搜索工具(即搜索引擎)

6.4.2 统一资源定位符URL

(1)URL的格式

  • URL相当于一个文件名在网络范围内的扩展。因此URL是与互联网相连的机器上的任何可访问对象的一个指针
    在这里插入图片描述
  1. 协议:如ftp、http、news、
  2. 主机:是存放资源的主机在互联网中的域名
  3. 端口和路径:有时可以省略

6.4.3 超文本传送协议HTTP

(1)HTTP的操作过程

在这里插入图片描述

万维网的工作过程

  • 每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求
  • 一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
  • 最后,TCP连接就被释放了
  • 在浏览器和服务器之间的请求响应的交互,必须按照规定的格式和遵循一定的规则。就是超文本传送协议HTTP
  • HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCLL码串构成的请求和一个类似的用用互联网扩充,即“类MIME(MIME-like)”的响应组成。
  • HTTP报文通常都使用TCP连接传送

(2)HTTP的主要特点

  • HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠性传输。
  • HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务。
  • HTTP是面向事务的客户服务器协议
  • HTTP1.0协议是无状态的

(3)请求一个万维网文档所需的时间

  • 2RTT+该文档的传输时间

在这里插入图片描述

(4)持续连接

  • HTTP/1.1协议使用持续连接
  • 持续连接:万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文。
  • 这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。

(5)持续连接的两种工作方式

  • 非流水线方式:客户在收到前一个响应后才能发出下一个请求。这比非持续连接的两倍RTT的开销节省了建立TCP连接所需的一个RTT时间。但服务器在发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源。
  • 流水线方式:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可持续发回响应报文。使用流水线方式,客户访问所有的对象只需花费一个RTT时间,使TCP连接中的空闲时间减少,提高了下载文档效率。

(6)代理服务器

  • 代理服务器(proxy serve):又称为万维网高速缓存(web cache),它代表浏览器发出HTTP请求。
  • 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。
  • 使用高速缓存可减少访问互联网服务器的时延

(7)HTTP的报文结构

HTTP有两类报文

  • 请求报文:从客户向服务器发送请求报文
    在这里插入图片描述

  • 响应报文:从服务器到客户的回答
    在这里插入图片描述

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

状态码都是三位数字

  • 1**表示通知信息
  • 2**表示成功
  • 3**表示重定向
  • 4**表示客户的差错
  • 5**表示服务器的差错

(8)在服务器上存放用户的信息

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

6.4.4 万维网的文档

(1)超文本标记语言HTML

  • 超文本标记语言HTML中的Markup的意思是“设置标志”
  • HTML定义了许多用于排版的命令(即标签)

(2)XML

  • XML(Extensible Markup Language)是可扩展标记语言,它和HTML很相似。
  • 但XML的设计宗旨是传输数据,而不是显示数据。

(3)动态万维网文档

  • 静态文档:是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。
  • 动态文档:是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。
  • 区别:动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。

(4)万维网服务器功能的扩充

  1. 应增加另一个应用程序,用来处理浏览器发来的数据,并创建动态文档。
  2. 应增加一个机制,用来使万维网服务器把浏览器发来的数据传送给这个应用程序,然后万维网服务器能够解释这个应用程序的输出,并向浏览器返回HTML文档。

扩充了功能的万维网服务器

在这里插入图片描述

(5)通用网关接口CGI

  • CGI(common Gateway Interface)是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用。
  • 万维网服务器与CGI的通信遵循CGI标准
  • 通用:CGI标准所定义的规则对其他任何语言都是通用的。
  • 网关:CGI程序的作用像网关
  • 接口:有一些已定义好的变量和调用等可供其他CGI程序使用。

(6)CGI程序

  • CGI程序的正式名字是CGI脚本(script)
  • 脚本:指的是一个程序,它被另一个程序(解释程序)而不是计算机的处理机来解释或执行。
  • 脚本运行起来要比一般的编译程序要慢,因为他的每一条指令先要被另一个程序来处理(这就要一些附加的指令),而不是直接被指令处理器来处理。

6.4.5 万维网的信息检索系统

(1)全文检索搜索和分类目录搜索

(2)垂直搜索引擎

6.4.6 博客和微博

6.4.7 社交网络

6.5 电子邮件

6.5.1 电子邮件概述

  • 电子邮件(e-mail):指使用电子设备交换的邮件及其方法。

(1)电子邮件的重要标准

  • 简单邮件发送协议:SMTP
  • 互联网文本报文格式
  • 通用互联网邮件扩充MIME
  • 邮件读取协议:POP3和IMAP

(2)电子邮件的组成:三个主要构件

  1. 用户代理
  2. 邮件服务器
  3. 邮件发送和读取协议
    • 简单邮件发送协议SMTP:用于在用户代理向邮件服务器或邮件服务器之间发送邮件。
    • 邮局协议POP3:用于用户代理从邮件服务器读取邮件。

在这里插入图片描述

  • 推(push):SMTP客户把邮件“推”给SMTP服务器
  • 拉(pull):POP3客户把邮件从POP3服务器“拉“过来

注:一个邮件服务器既可以作为客户,也可以作为服务器。可看它在SMTP的那一端。

注:邮件服务器必须能够同时充当客户和服务器

注:SMTP和POP3(或IMAP)都是使用TCP连接来传送邮件的,目的是为了可靠地传送邮件。

注:邮件不会在互联网中的某个中间邮件服务器落地。

(3)用户代理UA(User Agent)

  • 用户代理UA就是用户与电子邮件系统的接口,是电子邮件客户端软件
  • 用户代理的功能:撰写、显示、处理和通信。
  • 邮件服务器的功能:发送和接收邮件,同时还要向发信人报告邮件传送情况(已交付、被拒绝、丢失等)
  • 邮件服务器按照客户-服务器方式工作。邮件服务器需要使用发送和读取两个不同的协议(SMTP、POP3)。

(4)发送邮件和接收电子邮件的几个重要步骤

  1. 发件人调用PC中的用户代理撰写和编辑要发送的邮件
  2. 发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器
  3. SMTP服务器把邮件 临时存放在邮件缓存队列中,等待发送
  4. 发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接,然后就把邮件缓存队列中的邮件依次发送出去。
  5. 运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。
  6. 收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或IMAP)协议读取发送给自己的邮件。

(5)电子邮件的组成

  • 电子邮件由信封(envelope)和内容(content)两部分组成。
  • 电子邮件的传输程序根据邮件信封上的信息来传送邮件。用户在从自己的邮箱中读取邮件时才能看到邮件的内容
  • 在邮件的信封上,最重要的就是收件人的地址。

(6)电子邮件地址的格式

在这里插入图片描述

6.5.2 简单邮件传送协议SMTP

  • SMTP规定了在两个相互通信的SMTP进程交换信息的方法
  • SMTP使用客户-服务器方式
  • SMTP基于TCP实现客户与服务器的通信
  • SMTP是一个基于文本的(即ASCLL码)的协议
  • SMTP客户与服务器之间采用命令-响应方式进行交互。
    在这里插入图片描述

(1)SMTP通信的三个阶段

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.5.3 电子邮件的信息格式

  • 一个电子邮件分为信封内容两大部分。
  • RFC5322只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。

在这里插入图片描述

(1)邮件内容的首部

  1. to:后面填入一个或多个收件人的电子邮箱地址。
  2. Subject:是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。
  3. Cc:表示应给某某人发送一个邮件副本。
  4. From和Date:表示发信人的电子邮件地址和发信日期。
  5. Reply-To:是对方回信所用的地址。

在这里插入图片描述

6.5.4 邮件读取协议POP3和IMAP

两个常用的邮件读取协议:
  1. POP3:邮局协议(Post Office Protocol)第三个版本
  2. IMAP:忘记报文存取协议(Internet Message Access Protocol)

(1)POP3协议

在接收方服务器和接收方用户代理之间使用。

  • POP3使用客户-服务器方式
  • POP3基于TCP实现客户与服务器的通信
  • POP3支持用户鉴别
  • POP3服务器删除被用户读取了的邮件

(2)IMAP协议

在这里插入图片描述

  • IMAP使用客户-服务器方式
  • IMAP基于TCP实现客户与服务器的通信
  • IMAP是一个联机协议

(3)IMAP的特点

  • 连接后只下载邮件首部(部分下载)
  • 用户直接在IMAP服务器上创建和管理文件夹
  • 用户可以搜索邮件内容
  • 用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件,
  • 允许收信人只读取邮件中的某一个部分
  • 缺点:要想查阅邮件,必须先联网

(4)IMAP和POP3比较

在这里插入图片描述

在这里插入图片描述

注:POP协议或IMAP协议是用户从目的邮件服务器上读取邮件所使用的协议。

在这里插入图片描述

6.5.5基于万维网的电子邮件

用户代理(UA)的缺点

  • 必须在计算机中安装用户代理软件
  • 但可能不能安装或不允许安装
  • 因此,不方便收发邮件

(1)万维网电子邮件优点

  • 不需要在计算机中再安装用户代理软件
  • 计算机能联网,就能非常方便地收发电子邮件
  • 电子邮件界面非常友好。


在这里插入图片描述

  • 发送、接收电子邮寄时使用HTTP协议
  • 两个邮件服务器之间传送邮件时使用SMTP

6.5.6 通用互联网邮件扩充MIME

SMTP有一下缺点:

  • SMTP不能传送可执行文件或其他的二进制对象
  • SMTP限于传送7位的ASCLL码。许多其他非英语国家的文字就无法传送
  • SMTP服务器会拒绝超过一定长度的邮件
  • 某些SMTP的实现并没有完全按照SMTP标准

(1)MIME概述

  • 通用互联网邮件扩充MIME并没有改动SMTP或取代它
  • MIME的意图是继续使用目前的【RFC 822】格式,但增加了邮件主体的结构,并定义了传送非ASCLL码的编码规则。

(2)MIME和SMTP的关系

在这里插入图片描述

(3)MIME主要包括三个部分

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

在这里插入图片描述

(4)内容传送编码

在这里插入图片描述

Quoted-printable编码

在这里插入图片描述

Base64编码

在这里插入图片描述

(5)内容类型

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.6 动态主机配置协议DHCP

(1)协议配置

  • 协议配置:在协议软件中给这些参数赋值的动作。
  • 一个软件协议在使用之前必须是已正确配置的。
  • 具体的配置信息有哪些取决于协议栈
  • 需要配置的项目
    1. IP地址
    2. 子网掩码
    3. 默认路由器的IP地址
    4. 域名服务器的IP地址
  • 这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。

(2)动态主机配置协议DHCP

  • 互联网广泛使用的动态主机配置协议DHCP(Dynamic Host Configuration Protocol)提供了即插即用连网的机制。
  • 即插即用连网机制:允许一台计算机加入新的网络和获取IP地址,而不用手工配置。
  • DHCP给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址。

(3)DHCP使用客户-服务器方式

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

(4)DHCP工作方式

  • DHCP使用客户-服务器方式,采用请求/应答方式工作。
  • DHCP基于UDP工作,DHCP服务器运行在67号端口,DHCP客户运行在68号端口。
    在这里插入图片描述

过程

在这里插入图片描述

在这里插入图片描述

(5)DHCP中继代理(relay agent)

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

DHCP中继代理以单播方式转发发现报文

在这里插入图片描述

(6)租用期(lease period)

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

(7)DHCP协议的工作过程

在这里插入图片描述

  • 凡收到DHCP发现报文的DHCP服务器都发出DHCP提供报文DHCPOFFER,因此DHCP客户可能收到多个DHCP提供报文
  • DHCP客户从几个DHCP服务器中选择一个,并向所选择的DHCP服务器发送DHCP请求报文DHCPREQUEST
  • 被选择的DHCP服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时IP地址了。
  • DHCP客户可随时提前终止服务器所提供的租用期,这时只需向DHCP服务器发送释放报文DHCPRELEASE即可。

在这里插入图片描述

6.7 简单网络管理协议SNMP

6.7.1 网络管理的基本概念

  • 网络管理:包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理简称为“网管”。
  • 网络管理并不是指对网络进行行政上的管理。

(1)网络管理的五大功能

  1. 故障管理:故障检测、隔离和纠正
  2. 配置管理:初始化网咯、并配置网络
  3. 计费管理:记录网络资源的使用
  4. 性能管理:估价系统资源的运行状况及通信效率等
  5. 网络安全管理:对授权机制、访问控制、加密和加密关键字的管理。

(2)网络管理的一般模型

在这里插入图片描述

(3)网络管理模型中的主要构件

  • 管理站也常称为 网络运行中心NOC(Network Operations Center),是网络管理系统的核心
  • 管理程序在运行时就成为管理进程。
  • 管理站(硬件)或管理程序(软件)都可称为管理者(manager)
  • 网络的每一个被管设备中可能由多个 被管对象
  • 被管设备有时可称为 网络元素 或网元

(4)代理(agent)

  • 在一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些运行着的程序叫做 网络管理代理程序,或简称为 代理
  • 代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。

代理程序在客户机(被管程序)上运行。

(5)网络管理协议

  • 网络管理协议简称为网管协议。
  • 网络管理协议:是管理程序和代理程序之间进行通信的规则。

(6)简单网络管理协议SNMP

  • 简单网络管理协议SNMP(Simple Network Management Protocol)中的管理程序和代理程序按照客户-服务器方式工作。
  • 管理程序运行SNMP客户程序,向某个代理程序发出请求(或命令),代理程序运行SNMP服务器程序,返回响应(或执行某个动作)

注:在网管系统中,往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。

(7)SNMP的基本功能

  • SNMP最重要的指导思想就是要尽可能简单
  • SNMP的基本功能:
    1. 监视网络性能
    2. 检测分析网络差错
    3. 配置网络设备

在这里插入图片描述

(8)SNMP网络管理组成

  • SNMP本身
  • 管理信息结构SMI
  • 管理信息库MIB

6.7.2 管理信息结构SMI

  • SMI的功能:
    1. 被管对象应怎样命名
    2. 用来存储被管对象的数据类型有哪些种
    3. 在网络上传送的管理数据应如何编码

(1)SMI规定所有被管对象必须在命名树上

在这里插入图片描述

(2)SMI使用ASN.1

  • SMI标准指明:所有的MIB变量必须使用抽象语法记法1(ASN.1)来定义

(3)SMI数据类型

在这里插入图片描述

  • SMI把数据类型分为两大类
    1. 简单类型
    2. 结构化类型

(4)ASN.1部分数据类型

在这里插入图片描述

6.7.3 管理信息库MIB

  • 管理信息库MIB:被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息的总称为管理信息库MIB。(Management Information Base)
  • 管理程序使用MIB中这些信息的值对网络进行管理(如读取或重新设置这些值)
  • 只有在MIB中的对象才是SNMP所能够管理的。

6.7.4 SNMP的协议数据单元和报文

  • SNMP的操作只有两种基本的管理功能:
    1. “读”操作,用给get报文来检测各被管对象的状况
    2. “写”操作,用set报文来改变各被管对象的状况。

(1)SNMP的探询操作

  • 探询操作:SNMP管理进程定时向被管理设备周期性地发送探询信息
  • 探询的好处:
    1. 可使系统相对简单
    2. 能限制通过网络所产生的管理信息的通信量
  • 探询的缺点:
    1. 不够灵活,而且所能管理的设备数目不能太多
    2. 开销也较大
  • SNMP是有效的网络管理协议
  • SNMP使用无连接的UDP
    • 在运行代理程序的服务器端用熟知端口161来接收get或set报文和发送响应报文
    • 运行管理程序的客户端则使用熟知端口162来接收来自各代理的trap报文

(2)SNMP的报文格式

在这里插入图片描述

6.8 应用进程跨越网络的通信

6.9 P2P应用

猜你喜欢

转载自blog.csdn.net/weixin_48931875/article/details/117855890