ch06 Application Layer-01.md

目录

ch06 Application Layer-01

应用层的许多协议都是基于客户服务器方式

应用层协议目的

解决某一类实际应用问题

应用层协议如何解决网络中的实际问题

(不同主机中的)进程间的通信

说简单一些就是:

应用层协议通过进程间通信解决实际问题

实际问题:收发邮件,看视频...

应用层的许多协议都是基于客户服务器方式

6-1

域名系统DNS (Domain Name System)

一,域名系统

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。

注意:

\[\Huge域名系统\neq 域名 \]

域名系统是互联网的一项服务,它是一个能够将域名和IP地址相互映射的一个分布式数据库

名字到IP地址的解析是由若干个域名服务器程序完成的

运行域名服务器程序的机器称为域名服务器

二,因特网的域名结构

1. 域名结构

域名的结构由标号序列组成,各标号之间用点隔开:

\[\Huge… . 三级域名 . 二级域名 . 顶级域名 \]

例如:

\[\Large mail. sohu. com \\[2ex] \Large www.baidu.com \\[2ex] \]

当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

mail. sohu. com表示搜狐公司的邮件服务

mail:邮件

siohu:搜狐

com:公司

www:web服务

2. 因特网的域名空间

因特网采用了层次树状结构的命名方法

6-2

三,域名服务器

域名系统的主要功能是什么?域名系统中的本地域名服务器、根域名服务器、顶级域名服务器以及权限域名服务器有何区别?

解答:

  • 域名系统DNS是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。在域名系统中使用了层次结构的许多域名服务器。

  • 本地域名服务器离用户较近,一般不超过几个路由器的距离。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。当所要查询的主机也属于同一个本地ISP时,该本地域名服务器立即就能将所查询的主机名转换为它的IP地址,而不需要再去询问其他的域名服务器。

  • 根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。根域名服务器是最重要的域名服务器,因为不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析(即转换为IP地址), 只要自己无法解析,就首先要求助于根域名服务器

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

  • 一个服务器所负责管辖的(或有权限的)范围叫做区。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。

    每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。因此,权限域名服务器是负责个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器

1. 域名服务器的介绍

DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位

一个域名可以有多个区,每个区有一台权限域名服务器(DNS),用来记录域名与IP地址的对应关系

各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的

6-3

2. 树状结构的DNS域名服务器

6-4

3. 域名服务器有以下四种类型

根域名服务器

根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。

所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址

不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器

根域名服务器并不直接把域名直接转换成 IP 地址
在使用迭代查询时,根域名服务器把下一步应当找的顶级域名服务器的 IP 地址告诉本地域名服务器

在互联网上共有 13 个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从 a 一直到 m(前 13 个字母)

根域名服务器共有 13 套装置,不是 13 个机器。
这些根域名服务器相应的域名分别是:
a.rootservers.net
b.rootservers.net

m.rootservers.net
到2016年2月,全世界已经在 588 个地点安装了根域名服务器,使世界上大部分 DNS 域名服务器都能就近找到一个根域名服务器。

6-5

顶级域名服务器

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

权限域名服务器

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

本地域名服务器

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

4. 提高域名服务器的可靠性

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

5. 域名的解析过程

6-6

主机本地域名服务器的查询一般都是采用递归查询

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

本地域名服务器根域名服务器的查询通常是采用迭代查询

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

6. 名字的高速缓存

每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录
可大大减轻根域名服务器的负荷,使互联网上的 DNS 查询请求和回答报文的数量大为减少
为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)
当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性

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

一,FTP 概述

1. 基本结构

中文

文件传输协议

英文

File Transfer Protocol

含义

TCP/IP 协议组中的协议之一。

FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。

其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。

在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议

2. FTP流程解析
C/S的架构

FTP使用的是C/S架构,C/S中的进程情况如下图

FTP服务器

6-33

FTP客户端

6-34

服务器端有两个从属进程:控制进程数据传送进程

在客户端除了控制进程数据传送进程外,还有一个用户界面进程用来和用户接口

在进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:

  • TCP连接1:“控制连接”

  • TCP连接2:“数据连接”

  1. 控制连接在整个会话期间一直保持打开,FTP客户所发出的传送请求,通过控制连接发送给服务器端的控制进程

控制连接并不用来传送文件

  1. 实际用于传输文件的是“数据连接

服务器端的控制进程在接收到FTP客户发送来的文件传输请求后,就创建“数据传送进程”并在C/S间建立“数据连接”(除传送控制信息外的第二个TCP连接),用来在客户端和服务器端之间进行数据传送。

FTP(File Transfer Protocol)中的File的传送实际上是由数据传送进程实现的,数据传送进程在传送完毕后关闭“数据传送连接”并结束运行

  1. FTP的控制信息是带外传送

由于FTP的数据信息和控制信息是分开传送的,也称FTP的控制信息是带外(out of band)传送的

我们知道,传送数据一般都是在带内传送(控制信息和数据信息是在同一个连接中进行传送),所以FTP显得有些特别

FTP具体实现

FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。
FTP的服务器进程由两大部分组成:

  • 一个主进程,负责接受新的请求

  • 另外有若干个从属进程,负责处理单个请求

主进程的工作步骤如下:

主进程:

(1)打开熟知端口(端口号为21)并持续监听,看是否存在请求连接的客户端
(2)若收到客户进程发出连接请求,则启动从属进程来处理客户进程发来的请求
(3)回到监听状态,继续监听其他客户进程发来的请求

从属进程:

从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程

主进程与从属进程的处理是并发进行的

3. FTP 特点:

FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求

举例:

主进程只负责监听打开21号端口看是否存在请求连接的客户端,如果监听到了有client,就会去启动从属进程,启动从属进程后,主进程便继续去监听,从属进程去处理单个请求,从属进程根据需要也可以去建立新的子进程

\[主进程-->负责监听 \\[2ex] 从属进程= \begin{cases} 进程控制: & \text {port:21} \\[2ex] 数据传输 & \text{port:20} \\[2ex] \end{cases} \\[2ex] 主进程将监听到的请求交给从属进程去处理 \]

简单文件传送协议 TFTP

TFTP (Trivial File Transfer Protocol) 是一个很小且易于实现的文件传送协议
TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施

能提供可靠传输的只有TCP,所以TFTP使用UDP传输数据的话,只能自己指定差错处理机制

TFTP的特点

  1. 每次传送的数据 PDU 中有 512 字节的数据,但最后一次可不足 512 字节

  2. 数据 PDU 也称为文件块 (block),每个块按序编号,从 1 开始

  3. 支持 ASCII 码或二进制传送

  4. 可对文件进行读或写

  5. 使用很简单的首部

6-35

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

发送完一个文件块后就等待对方的确认,确认时应指明所确认的块编号

发完数据后在规定时间内收不到确认就要重发数据 PDU

发送确认 PDU 的一方若在规定时间内收不到下一个文件块,也要重发确认 PDU

这样就可保证文件的传送不致因某一个数据报的丢失而告失败

远程终端协议TELNET

用户用 TELNET 就可在其所在地通过 TCP 连接登录到远地的另一个主机上

TELNET 能将用户的击键传到远地主机,同时也能将远地主机的输出通过 TCP 连接返回到用户屏幕

6-8

TELNET是一个简单的远程终端协议,它也是互联网的正式标准。

TELNET简介

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

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

利用网络虚拟终端NVT( Network Virtual Terminal)进行数据交互

为了适应这种差异, TELNET定义了数据和命令应怎样通过互联网。

这些定义就是所谓的网络虚拟终端NVT( Network Virtual Terminal)。

客户软件把用户的击键和命令转换成NVT 格式,并送交服务器。

服务器软件把收到的数据和命令,从NVT格式转换成远地系统所需的格式。

向用户返回数据时,服务器把远地系统的格式转换为NVT格式,本地客户再从NVT 格式转换到本地系统所需的格式。

万维网WWW (World Wide Web)

一,万维网的概述

WWW (World Wide Web,万维网)是存储在Internet计算机中、数量巨大的文档的集合

WWW (World Wide Web,万维网)是存储在Internet计算机中、数量巨大的文档的集合。

这些文档称为页面,它是一种超文本(Hypertext)信息,可以用于描述超媒体。

文本、图形、视频、音频等多媒体,称为超媒体(Hypermedia)。

Web上的信息是由彼此关联的文档组成的,而使其连接在一起的是超链接(Hyperlink)

万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息

6-9

每一个万维网站点都存放了许多文档,这些文档中的有一些地方的文字是用特殊方式方式显示的(比如用不同的颜色,或者有添加下划线),当我们将鼠标移动到这些地方的时候,鼠标的箭头就变成了一只手的形状。这就表明这些地方有一个链接(link也被称为超链接hyperlink),如果我们在这些地方点击鼠标,就可以从这个文档链接到可能相隔很远的另外一个文档。经过一定时延(取决于文档的大小和网络拥塞的情况),我们的屏幕上就可以将远方传送过来的文档显示出来。

由上述分析可知互联网必须解决几个问题:

  1. 如何标志分布在整个互联网上的万维网文档

  2. 用什么样的协议来实现万维网上的各种链接

  3. 如何使不同作者创造的不同风格的万维网文档可以在互联网上的各种主机上显示出来

    ,同时用户清楚的知道什么地方存在着链接

  4. 如何使用户很方便的找到所需要的信息

以上问题的解决:

  1. 万维网使用统一资源定位符URL(Uniform Resource Locator)来唯一标识万维网上的文档

  2. 比如:

    HTTP(HyperText Transfer Protocol,超文本传输协议)--> 使用TCP进行可靠传送

    HTTPS (Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议)

  3. 万维网使用超文本标记语言(HyperText Markup Language)使得万维网页面的设计者可以很方便的用链接从本页面的某处链接到互联网上的任何一个万维网页面,并且可以在自己的主机屏幕上将这些页面显示出来。

  4. 用户可以使用搜索工具在万维网上方便的查找所需的信息

二,统一资源定位符URL(万维网上文档[超文本(Hypertext)]的地址就是URL,你想对万维网上的文档[超文本(Hypertext)]进行操作,你就要知道这个文档[超文本(Hypertext)]的地址(URL),万维网上的文档[超文本(Hypertext)]的URL是唯一不重复的)

Uniform Resource Locator

1. URL 的格式

URL 的一般形式是:

\[\Large<协议>://<主机>:<端口>/<路径> \]

<协议>

指出用什么协议来获取该万维网文档。比如可以使用http是,ftp

😕/

规定格式

<主机>

指出这个万维网文档是在哪一台主机上,<主机>是指文档所在的万维网站点主机在互联网上的IP或者域名

<端口>/<路径>

有些时候可以省略

2. HTTP的URL(用HTTP协议来获取万维网的文档)

用HTTP协议来获取万维网文档

格式

\[\Large http://<主机>:<端口>/<路径> \]

http

这表示使用 HTTP 协议

😕/

冒号和两个斜线是规定的格式

<主机>

这里写主机的域名

<端口>

HTTP 的默认端口号是 80,通常可省略。

<路径>

若再省略文件的<路径>项,则 URL 就指到互联网上的某个主页 (home page)。
更复杂一些的路径是指向层次结构的从属页面。例如:

6-10

三,超文本传送协议 HTTP(由上可知http可以用来获取万维网上的文档(通过URL))

顾名思义,超文本传送协议 HTTP就是传送超文本的协议

1. 基本结构

中文

超文本传输协议

英文

HyperText Transfer Protocol

含义

顾名思义,HTTP提供了访问超文本信息的功能,是WWW浏览器和WWW服务器之间的应用层通信协议。HTTP协议是基于TCP/IP之上的协议,它不仅保证正确传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

2. HTTP 的工作原理

6-11

在浏览器地址栏键入URL,按下回车之后会经历以下流程:

超链接是另外一个版本见试卷

浏览器分析超链接指向的页面的URL

  1. www浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
  2. 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
  3. 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
  4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
  5. 释放 TCP连接;
  6. 浏览器将该 html 文本并显示内容;  

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

6-12

3. 用户浏览页面的两种方法

  1. 通过超文本(Hyper Text)的URL(Uniform Resource Locator)
  2. 通过超文本(Hyper Text)上的超链接hyperlink

4. HTTP 的主要特点

HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输

基于 请求-响应 的模式

HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并 返回。换句话说,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应

6-15

HTTP 1.0 协议是无状态的 (stateless)

HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议 自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个 级别,协议对于发送过的请求或响应都不做持久化处理。

6-16

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

6. 代理服务器

代理服务器 (proxy server) 又称为万维网高速缓存 (Web cache),它代表浏览器发出 HTTP 请求
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中
当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去互联网访问该资源

6-13

6-14

(1) 浏览器访问互联网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出 HTTP 请求报文

(2) 若高速缓存已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器

(3) 否则,高速缓存就代表发出请求的用户浏览器,与互联网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文

(4) 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存

(5) 高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器

7. HTTP 的报文结构(不考)

HTTP 有两类报文:
请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。
由于 HTTP 是面向正文的 (text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。

7.1 HTTP 的报文结构(请求报文)

6-17

\[\Large 报文= \begin{cases} 开始行 \\[2ex] 首部行 \\[2ex] 实体主体 \\[2ex] \end{cases} \\[2ex] \]

在请求报文中,开始行就是请求行。

  1. 请求报文的类型是由它所采用的方法决定的
  2. “URL”是所请求的资源的 URL。
  3. “版本”是 HTTP 的版本。

6-18

7.2 HTTP 的报文结构(响应报文)

6-19

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

四,万维网的文档

HTML

超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言

HTML用来写超文本

电子邮件 (SMTP, POP3, IMAP)

一,电子邮件的组成:

用户代理邮件服务器,以及邮件发送和读取协议

发送邮件的协议:SMTP

读取邮件的协议:POP3 和 IMAP

总结一下:

用户代理通过SMTP发邮件到自己的邮件服务器

自己的邮件服务器通过SMTP发送到接收端(接收的邮件服务器)

收信人通过用户代理去向自己的邮件服务器读邮件

POP3,IMAP都可以读取

在整个电子邮件发送接收过程中,用户代理,服务器,若干协议相互配合一个都不能少

二,电子邮件地址的格式

TCP/IP 体系的电子邮件系统规定电子邮件地址的格式如下:

\[\Large收件人邮箱名@邮箱所在主机的域名 \]

符号“@”读作“at”,表示“在”的意思。

例如

\[\Large xiexiren@tsinghua.org.cn \\[2ex] \]

xiexire

这个用户名在该域名的范围内是唯一的

tsinghua.org.cn

邮箱所在的主机的域名在全世界必须是唯一的

三,简单邮件传送协议 SMTP

中文

简单邮件传输协议

英文

Simple Mail Transfer Protocol

含义

SMTP 规定了在两个相互通信的 SMTP 进程交换信息的方法
SMTP 使用客户–服务器方式
SMTP 基于 TCP 实现客户与服务器的通信

6-20

四,邮件读取协议POP3和IMAP

两个常用的邮件读取协议:
POP3:邮局协议 (Post Office Protocol) 第3个版本
IMAP:网际报文存取协议 (Internet Message Access Protocol)

在电子邮件读取协议中有POP和IMAP两种

1. POP3

6-21

6-22

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

POP协议的一个特点就是只要用户从POP 服务器读取了邮件,POP服务器就把该邮件删除。这在某些情况下就不够方便。

2. IMAP

6-23

IMAP 基于TCP实现客户与服务器的通信

IMAP是一个联机协议,连接后只下载邮件首部(部分下载)。用户直接在IMAP服务器上创建和管理文件夹,用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。允许收信人只读取邮件中的某一个部分

缺点:要想查阅邮件,必须先联网

具体分析

在使用IMAP时,在用户的PC上运行IMAP客户程序,然后与接收方的邮件服务器上的IMAP服务器程序建立TCP连接。

用户在自己的PC上就可以操纵邮件服务器的邮箱,就像在本地操纵一样,因此IMAP是一个联机协议

当用户PC上运行IMAP客户程序,并打开IMAP服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。

用户可以根据需要为自己的邮箱创建便于分类管理的层次式的邮箱文件夹,并且能够将存放的邮件从某一个文件夹中移动到另一个文件夹中。用户也可按某种条件对邮件进行查找。在用户未发出删除邮件的命令之前,IMAP服务器邮箱中的邮件一直保存着。

IMAP最大的好处就是用户可以在不同的地方使用不同的计算机,随时上网阅读和处理自己的邮件。

IMAP还允许收件人只读取邮件中的某一个部分。例如,为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载邮件的附件。

IMAP的缺点是如果用户没有将邮件复制到自己的PC上,则邮件一直存放在IMAP服务器上。因此,用户需要经常与IMAP服务器建立连接

3. IMAP 与 POP3 比较

6-24

6-25

注意:

  • 邮件读取协议 POP3 或 IMAP 与邮件传送协议 SMTP 完全不同。
  • 发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。
  • 而 POP 协议或 IMAP 协议则是收件人的用户代理从目的邮件服务器上读取邮件所使用的协议。

6-26

五,基于万维网的电子邮件

用户代理 (UA) 的缺点:
必须在计算机中安装用户代理软件,但可能不能安装或不允许安装。因此,不方便收发邮件

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

6-27

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

动态主机配置协议DHCP

一,简介:

  • 互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制

  • 这种机制允许一台计算机加入新的网络和获取 IP 地址,而不用手工配置。

  • DHCP给运行服务器软件、且位置固定的计算机指派一个永久地址,给运行客户端软件的计算机分配一个临时地址。

  • 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文
    (DHCPDISCOVER),这时该主机就成为 DHCP 客户

  • 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。

  • DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCPOFFER)。

二,DHCP 工作方式

  • DHCP 使用客户-服务器方式,采用请求/应答方式工作

  • DHCP 基于 UDP 工作,DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口

6-28

6-29

6-30

三,DHCP 中继代理

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

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

6-31

四,租用期 (lease period)

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

五,DHCP 协议的工作过程

6-32

(1)DHCP 服务器被动打开 UDP 端口 67, 等待客户端发来的报文。
(2)DHCP 客户从 UDP 端口 68,发送 DHCP 发现报文 DHCPDISCOVER
(3)凡收到 DHCP 发现报文的 DHCP 服务器,都发出 DHCP 提供报文 DHCPOFFER。因此,DHCP 客户可能收到多个 DHCP 提供报文 。
(4)DHCP 客户从几个 DHCP 服务器中选择,其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文 DHCPREQUEST
(5)被选择的 DHCP 服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了。DHCP 客户现在要根据服务器提供的租用期 T 设置两个计时器 T1 和 T2,它们的超时时间分别是 0.5T 和 0.875T。当超时时间到就要请求更新租用期。
(6)租用期过了一半(T1 时间到),DHCP 发送请求报文 DHCPREQUEST,要求更新租用期。
(7)DHCP 服务器若同意,则发回确认报文DHCPACK。DHCP 客户得到了新的租用期,重新设置计时器。
(8)DHCP 服务器若不同意,则发回否认报 DHCPNACK。这时 DHCP 客户必须立即停止使用原来的 IP 地址,而必须重新申请 IP 地址(回到步骤(2))。
若 DHCP 服务器不响应步骤(6)的请求报文 DHCPREQUEST,则在租用期过了 87.5% 时,DHCP 客户必须重新发送请求报文 DHCPREQUEST(重复步骤(6)),然后又继续后面的步骤。

(9)DHCP 客户可随时提前终止服务器所提供的租用期,这时只需向 DHCP 服务器发送释放报文 DHCPRELEASE 即可。

P2P

现在流行的P2P文件共享应用程序都有哪些特点?存在哪些值得注意的问题?

解答:

现在流行的P2P文件共享应用程序的主要特点是

(1) 不使用集中式的文件服务器,文件的传输都使用分布式对等传输方式,每个对等方既可以是客户,也可以是服务器。这取决于向别人要文件还是把文件传送给别人。

(2) 大的文件通常都划分为很多的小文件。要得到一个大文件,往往要从很多个对等方下载。精心设计的协议可以使大文件的下载很快

(3) 出于要保护商业利益,目前很难得到有关一些著名P2P软件比较具体的信息。

目前最值得注意的是对知识产权的保护。由于盗版文件已分散在非常大量的用户之间, 要追查责任相当困难。

posted @ 2021-02-02 09:06  TR_Goldfish  阅读(120)  评论(0编辑  收藏  举报