天天看点

计算机网络学习笔记第六章(应用层)超详细整理

目录

  • ​​6.1、应用层概述​​
  • ​​6.2、客户/服务器方式(C/S方式)和对等方式(P2P方式)​​
  • ​​1、概念​​
  • ​​2、客户/服务器方式(C/S方式)​​
  • ​​3、对等方式(P2P方式)​​
  • ​​4、总结​​
  • ​​6.3、动态主机配置协议DHCP​​
  • ​​1、概念​​
  • ​​2、DHCP的作用​​
  • ​​3、DHCP的工作过程​​
  • ​​4、DHCP中继代理​​
  • ​​5、总结​​
  • ​​6.4、域名系统DNS​​
  • ​​1、概述​​
  • ​​2、域名解析过程​​
  • ​​3、总结​​
  • ​​6.5、文件传送协议FTP​​
  • ​​1、概念​​
  • ​​2、文件传送协议FTP的应用​​
  • ​​3、FTP基本工作原理​​
  • ​​4、总结​​
  • ​​6.6、电子邮件​​
  • ​​1、概念​​
  • ​​邮件发送和接收过程​​
  • ​​2、简单邮件传送协议SMTP(Simple Mail Transfer Protocol)的基本工作原理​​
  • ​​3、电子邮件的信息格式​​
  • ​​4、邮件读取协议(POP3)​​
  • ​​5、基于万维网的电子邮件​​
  • ​​6、习题练习​​
  • ​​7、总结​​
  • ​​6.7、万维网WWW​​
  • ​​1、概念​​
  • ​​2、超文本传输协议HTTP(Hyper Transfer Protocol)​​
  • ​​2.1、概念和传输过程​​
  • ​​2.2、HTTP报文格式​​
  • ​​2.3、使用Cookie在服务器上记录用户信息​​
  • ​​2.4、万维网缓存与代理服务器​​
  • ​​2.5、习题练习​​
  • ​​3、总结​​

6.1、应用层概述

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

我们在浏览器的地址中输入某个网站的域名后,就可以访问该网站的内容,这个就是万维网WWW应用,其相关的应用层协议为超文本传送协议HTTP

计算机网络学习笔记第六章(应用层)超详细整理

用户在浏览器地址栏中输入的是“见名知意”的域名,而TCP/IP的网际层使用IP地址来表示目的主机,从域名到IP地址的的转换,由属于应用层范畴的域名系统DNS,在后台帮用户完成

计算机网络学习笔记第六章(应用层)超详细整理

常见的应用还有:

计算机网络学习笔记第六章(应用层)超详细整理

总结

计算机网络学习笔记第六章(应用层)超详细整理

6.2、客户/服务器方式(C/S方式)和对等方式(P2P方式)

1、概念

计算机网络学习笔记第六章(应用层)超详细整理

2、客户/服务器方式(C/S方式)

计算机网络学习笔记第六章(应用层)超详细整理

3、对等方式(P2P方式)

计算机网络学习笔记第六章(应用层)超详细整理

4、总结

计算机网络学习笔记第六章(应用层)超详细整理

6.3、动态主机配置协议DHCP

1、概念

  • 互联网广泛使用的动态主机配置协议 DHCP(Dynamic Host Configuration Protocol) 提供了即插即用连网(plug-and-play networking) 的机制。
  • 这种机制允许一台计算机加入新的网络和获取IP 地址,而不用手工配置。

2、DHCP的作用

在之前,如果要正常访问Web服务器,需要该主机手动配置网络的相关配置信息

计算机网络学习笔记第六章(应用层)超详细整理
如果主机数很多,就工作量大,容易出错

如果我们给网络中添加一台DHCP服务器

计算机网络学习笔记第六章(应用层)超详细整理

3、DHCP的工作过程

DHCP 使用客户 - 服务器方式

  • 需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文

    (DHCP DISCOVER),这时该主机就成为 DHCP 客户。

  • 本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。
  • DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池 (address pool) 中取一个地址分配给该计算机。DHCP服务器的回答报文叫做提供报文(DHCP OFFER)。

DHCP 工作方式

  • DHCP 使用客户-服务器方式,采用请求/应答方式工作。
  • DHCP 基于 UDP 工作(DHCP报文在运输层会被封装成为UDP用户数据报),DHCP 服务器运行在 67 号端口, DHCP客户运行在 68 号端口。

DHCP交互过程

计算机网络学习笔记第六章(应用层)超详细整理
DHCP客户端将广播发送DHCP发现报文(DHCP DISCOVER)
  • 事务ID
  • DHCP客户端的MAC地址

封装该报文的IP数据报的源IP地址为0.0.0.0,这是因为主机目前还未分配到IP地址,因此使用该地址代替

目的IP地址为广播地址255.255.255.255,之所以广播发送,是因为主机现在并不知道网络中有哪几个DHCP服务器。它们的IP地址各是什么

DHCP服务器收到DHCP发现报文后,根据其中封装的DHCP客户端的MAC地址来查找自己的数据库,如果查到匹配信息,则使用这些配置信息来构建并发送DHCP提供报文,如果没有则采用默认配置信息来构建报文并发送

由于是广播的IP 数据报,因此网络中的所有设备都会收到该IP数据报,并对其层层解封。解封出封装有DHCP 发现报文的UDP 用户数据报,对于DHCP 客户,其应用层没有监听该UDP 用户数据报的目的端口67的进程,也就是DHCP 服务器进程。因此,无法交付DHCP发现报文只能丢弃,而对于DHCP服务器,其应用层始终运行着DHCP 服务器进程,因此会接受该DHCP,发现报文并做出响应。

计算机网络学习笔记第六章(应用层)超详细整理
DHCP服务端将广播发送DHCP提供报文(DHCP OFFER)
  • 事务ID:DHCP客户端会与之前DHCP发现报文的事务ID做对比,来判断该DHCP提供报文是否是自己的
  • 配置信息:
  • IP地址:DHCP服务器从自己的IP地址池中挑选待租用给主机的IP地址(使用ARP来确保所选IP地址未被网络中其他主机占用)
  • 子网掩码
  • 地址租期
  • 默认网关
  • DNS服务器

源IP地址:发送DHCP提供报文的DHCP服务器的IP

目的地址:因为目的主机还没分配到IP,所以使用广播地址

在本例中,DHCP客户会收到两个DHCP服务器发来的DHCP提供报文,DHCP客户从中选择一个,一般选择先到的,并向所选择的DHCP服务器发送DHCP请求报文

计算机网络学习笔记第六章(应用层)超详细整理
DHCP客户端将广播发送DHCP请求报文(DHCP REQUEST)
  • 事务ID
  • DHCP客户端的MAC地址
  • 接收的租约中的IP地址
  • 提供此租约的DHCP服务器端的IP地址

源地址:0.0.0.0,因为此时DHCP客户才从多个DHCP服务器中挑选一个作为自己的DHCP服务器。它首先要征得该服务器的同意,之后才能正式使用向该DHCP服务器租用的IP地址

目的地址:广播地址,这样可以一次性向所有DHCP服务器发送DHCP请求报文,来告知它们是否请求它们作为自己的DHCP服务器

在本例中,假设DHCP客户端选择DHCP服务器1作为自己的DHCP服务器,DHCP服务器1接受该请求,于是DHCP服务器1给DHCP客户端发送DHCP确认报文

计算机网络学习笔记第六章(应用层)超详细整理

源地址:DHCP服务器1的IP地址

目的地址:广播地址

DHCP客户收到该报文后就可以使用租用的IP地址

在使用前还会进行ARP检测

计算机网络学习笔记第六章(应用层)超详细整理

剩下流程图示

计算机网络学习笔记第六章(应用层)超详细整理
1、当租用期过了一半时,DHCP客户会向DHCP 服务器发送DHCP 请求报文来请求更新租用期,封装该报文的IP数据报的原IP 地址为DHCP客户之前租用到的IP 地址,目的IP 地址为DHCP 服务器一的地址。
  • DHCP 服务器若同意,则发回DHCP 确认报文,这样DHCP 客户就得到了新的租用期。
  • DHCP服务器若不同意,则发回DHCP否认报文,这时DHCP 客户必须立即停止使用之前租用的IP 地址,并重新发送DHCP 发现报文来重新申请IP地址。DHCP服务器未做出反应,则在租用期过了85%时DHCP 客户必须重新发送DHCP 请求报文,然后继续等待DHCP 服务器可能做出的反应。

2、若DHCP服务器未做出反应,则当租用期到期后,DHCP 客户必须立即停止使用之前租用的IP 地址,并重新发送DHCP发现报文来重新申请IP地址。

3、DHCP客户可以随时提前终止DHCP 服务器所提供的租用期,这时只需要向DHCP服务器发送DHCP 释放报文段即可。

4、DHCP中继代理

下图的网络拓扑中的各主机是否可以通过DHCP来自动获取到网络配置?

计算机网络学习笔记第六章(应用层)超详细整理
使用DHCP中继代理是因为我们不用给每一个网络上都设置一个DHCP服务器,这样会使DHCP服务器的数量太多

5、总结

计算机网络学习笔记第六章(应用层)超详细整理

6.4、域名系统DNS

1、概述

域名相比IP地址更容易记忆

计算机网络学习笔记第六章(应用层)超详细整理

因特网是否可以只使用一台DNS服务器?

不行

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理
名称相同的域名其等级未必相同

因特网的域名空间

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

2、域名解析过程

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

习题1

计算机网络学习笔记第六章(应用层)超详细整理

习题2

计算机网络学习笔记第六章(应用层)超详细整理

3、总结

计算机网络学习笔记第六章(应用层)超详细整理

6.5、文件传送协议FTP

1、概念

计算机网络学习笔记第六章(应用层)超详细整理

2、文件传送协议FTP的应用

FTP采用C/S方式(客户/服务器方式)

FTP客户计算机可将各种类型的文件上传到FTP服务器计算机

计算机网络学习笔记第六章(应用层)超详细整理

FTP客户计算机也可以从FTP服务器计算机下载文件

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

3、FTP基本工作原理

FTP服务器监听熟知端口(端口号为 21),使客户进程能够连接上。

FTP客户随机选择一个临时端口号与其建立TCP连接,这条TCP连接用于FTP客户与服务器之间传送FTP的相关控制命令(这条连接是FTP客户与服务器之间的命令通道)

计算机网络学习笔记第六章(应用层)超详细整理

下图为建立数据通道的TCP连接

FTP服务器使用自己的熟知端口号21与其建立TCP连接,这条TCP连接用于FTP客户与服务器之间传送文件

计算机网络学习笔记第六章(应用层)超详细整理
上面例子是主动模式:建立数据通道时,FTP服务器主动连接FTP客户

下图实例为被动模式

计算机网络学习笔记第六章(应用层)超详细整理

两种模式对比

计算机网络学习笔记第六章(应用层)超详细整理
注意两种模式都是
  • 控制连接在整个会话期间保持打开状态
  • 数据连接传输完毕后就关闭

练习题

题1

计算机网络学习笔记第六章(应用层)超详细整理

题2

计算机网络学习笔记第六章(应用层)超详细整理

4、总结

计算机网络学习笔记第六章(应用层)超详细整理

6.6、电子邮件

1、概念

计算机网络学习笔记第六章(应用层)超详细整理

邮件发送和接收过程

计算机网络学习笔记第六章(应用层)超详细整理

2、简单邮件传送协议SMTP(Simple Mail Transfer Protocol)的基本工作原理

计算机网络学习笔记第六章(应用层)超详细整理

3、电子邮件的信息格式

计算机网络学习笔记第六章(应用层)超详细整理

4、邮件读取协议(POP3)

计算机网络学习笔记第六章(应用层)超详细整理

5、基于万维网的电子邮件

计算机网络学习笔记第六章(应用层)超详细整理

6、习题练习

习题1

计算机网络学习笔记第六章(应用层)超详细整理

习题2

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

习题3

计算机网络学习笔记第六章(应用层)超详细整理

7、总结

计算机网络学习笔记第六章(应用层)超详细整理

6.7、万维网WWW

1、概念

概述

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

万维网的工作方式

  • 万维网以客户 - 服务器方式工作。
  • 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
  • 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
  • 在一个客户程序主窗口上显示出的万维网文档称为页面(page)。
计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

万维网应用举例

访问网页

计算机网络学习笔记第六章(应用层)超详细整理

怎样标志分布在整个互联网上的万维网文档?

计算机网络学习笔记第六章(应用层)超详细整理

万维网的文档

计算机网络学习笔记第六章(应用层)超详细整理
计算机网络学习笔记第六章(应用层)超详细整理

这些文档都部署在服务器端

2、超文本传输协议HTTP(Hyper Transfer Protocol)

2.1、概念和传输过程

  • 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP (HyperText Transfer Protocol)。
  • HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
计算机网络学习笔记第六章(应用层)超详细整理
  • 每个万维网网点都有一个服务器进程,它不断地监听 TCP 的端口 80,以便发现是否有浏览器向它发出连接建立请求。
  • 一旦监听到连接建立请求并建立了 TCP 连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。
  • 最后,TCP 连接就被释放了。
计算机网络学习笔记第六章(应用层)超详细整理

2.2、HTTP报文格式

HTTP请求报文格式

计算机网络学习笔记第六章(应用层)超详细整理

HTTP响应报文格式

计算机网络学习笔记第六章(应用层)超详细整理

2.3、使用Cookie在服务器上记录用户信息

计算机网络学习笔记第六章(应用层)超详细整理

2.4、万维网缓存与代理服务器

计算机网络学习笔记第六章(应用层)超详细整理

如果该请求有缓存

计算机网络学习笔记第六章(应用层)超详细整理

如果该请求没有缓存

计算机网络学习笔记第六章(应用层)超详细整理

若WEb缓存的命中率比较高

则会大大减小了该链路上的通信量,因而减少了访问因特网的时延

假设原始服务器的文档被更改,这样代理服务器的文档就不是最新的

所以原始服务器通常会为每个响应的对象设定一个修改时间字段和一个有效日期字段

若未过期

计算机网络学习笔记第六章(应用层)超详细整理

若过期并且代理服务器的文档和原始服务器的文档一致,原始服务器则给代理服务器发送不包含实体主体的响应

计算机网络学习笔记第六章(应用层)超详细整理

若过期并且代理服务器的文档和原始服务器的文档不一致,原始服务器则给代理服务器发送封装有该文档的响应报文

计算机网络学习笔记第六章(应用层)超详细整理

2.5、习题练习

习题1

计算机网络学习笔记第六章(应用层)超详细整理

习题2

3、总结

继续阅读