【b站-湖科大教书匠】6 应用层 - 计算机网络微课堂

课程地址:【计算机网络微课堂(有字幕无背景音乐版)】 https://www.bilibili.com/video/BV1c4411d7jb/?share_source=copy_web&vd_source=b1cb921b73fe3808550eaf2224d1c155

目录

6 应用层 

6.1 应用层概述

6.2 客户-服务器方式和对等方式

6.2.1 客户-服务器方式 C/S方式

6.2.2 对等方式 P2P方式

6.3 动态主机配置协议DHCP

6.3.1 DHCP的作用

6.3.2 DHCP的工作过程

6.3.3 DHCP中继代理

6.4 域名系统DNS

6.4.1 域名系统DNS的作用

6.4.2 域名结构-层次树状结构

6.4.3 域名服务器

6.4.4 域名解析过程

6.5 文件传送协议FTP

6.5.1 FTP的应用

6.5.2 FTP的基本工作原理

6.6 电子邮件

6.6.1 电子邮件的概念

6.6.2 电子邮件的接发过程

6.6.3 邮件发送协议SMTP工作原理

6.6.4 电子邮件的信息格式

6.6.5 邮件读取协议

6.6.6 基于万维网的电子邮件

6.7 万维网WWW

6.7.1 概念

6.7.2 浏览器历史与现状

6.7.3 万维网应用

6.7.4 万维网文档

6.7.5 超文本传输协议HTTP

6.7.6 HTTP的报文格式

1 HTTP请求报文格式

2 HTTP响应报文格式

6.7.7 浏览器使用Cookie在服务器上记录用户信息

1 Cookie的作用

2 Cookie的工作原理

6.7.8 万维网缓存与代理服务器


6 应用层 

6.1 应用层概述

具体内容如下。

 例如,

这就是推动因特网发展的万维网的应用,相关的应用层协议为超文本传送协议HTTP。

用户在浏览器地址栏输入的是见名知意的域名,而TCP/IP体系的网际层使用IP地址来标识目的主机。

从域名到IP地址的转换工作,由属于应用层范畴的域名系统DNS在后台帮用户自动完成,以方便用户使用。

除万维网应用和域名系统外,常见的应用还有动态主机配置、电子邮件、文件传送和P2Peye.com文件共享、多媒体网络应用等。

总结

6.2 客户-服务器方式和对等方式

具体内容如下。

6.2.1 客户-服务器方式 C/S方式

6.2.2 对等方式 P2P方式

总结

6.3 动态主机配置协议DHCP

具体内容如下。

6.3.1 DHCP的作用

假设有这样一个网络拓扑。

问题:应该给网络的各主机,设置怎样的网络相关配置信息,才能使他们可以正常访问网络中的Web服务器。

需要给网络中的各主机正确配置IP地址、子网掩码、默认网关、DNS服务器等相关配置信息。

可以手动给网络中的某些主机配置信息,但是如果网络的主机数量较多,则手工配置的工作量就比较大,且容易出错。

DHCP的作用

如果给网络添加一台DHCP服务器,在该服务器中设置好可为网络中其他各主机配置的网络配置信息。

网络中各主机开机后自动启动DHCP程序,向DHCP服务器请求自己的网络配置信息。这样网络中的各主机就都可以从DHCP服务器自动获取配置信息,而不用手动配置。

6.3.2 DHCP的工作过程

p69 2:00-

DHCP是TCP/IP协议体系应用层中的协议,使用运输层的UDP提供的服务。

DHCP报文的封装过程

DHCP报文在运输层被封装为UCP用户数据报。

DHCP服务器使用的UDP端口是67,DHCP客户使用的UDP端口是68,两个端口都是熟知端口。

封装有DHCP报文的UDP用户数据报,在网络层被封装为IP数据报,然后根据所使用的网络接口,封装成相应的数据链路层的帧进行发送,例如封装成以太网帧。

DHCP客户与DHCP服务器的交互过程

启用主机的DHCP后,DHCP客户广播发送DHCP发现报文。封装该报文的IP数据报的源地址为0.0.0.0,因为主机此时没有分配到IP地址。目的IP地址为广播地址255.255.255.255,之所以广播发送是因为主机不知道网络中有哪几个DHCP服务器及其IP地址。

由于是广播的IP数据报,网络中所有设备都会收到该数据报,并层层解封,解封出封装有DHCP发现报文的UDP用户数据报。

对于DHCP客户,其应用层没有监听该UDP用户数据报的目的端口67的进程,也就是没有DHCP服务器进程,因此无法交付DHCP发现报文只能丢弃。

就是说网络中的其他主机,收到前面说的主机发送的DHCP发现报文后,由于自身没有DHCP服务器进程,因此收到了广播也只能丢弃收到的DHCP发现报文。

而对于DHCP服务器,其应用程序中运行着DHCP服务器进程,因此会接受该DHCP发现报文并作出响应。

DHCP报文的格式比较复杂,对于DHCP发现报文,我们只需要知道其内部封装有事务ID和DHCP客户端的MAC地址即可。

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

封装该报文的IP数据报的源IP地址为DHCP服务器的IP地址,目的IP地址仍为广播地址,仍然需要广播地址的原因是主机目前还没有配置IP地址,为了使主机可以收到只能发送广播。

这样一来,网络中的所有设备都会收到该IP数据包。并对其层层解封出封装有DHCP提供报文的UDP用户数据报。

对于DHCP服务器,其实应用层没有监听该UDP用户数据报目的端口68的进程,也就是dhcp客户进程,因此无法交付DHCP提供报文只能丢弃。

而对于DHCP客户,其应用层运行着DHCP客户进程,因此会接受该DHCP提供报文并作出相应处理。

DHCP客户会根据DHCP提供报文中的事务ID来判断该报文是否是自己所请求的报文。换句话说,如果该事务ID与自己之前发送的DHCP发现报文中封装的事务ID相等,就表明这是自己所请求的报文,就可以接收该报文,否则就要丢弃该报文。

DHCP提供报文中还封装有配置信息,例如IP地址、子网掩码、地址租期、默认网关以及DNS服务器。

需要注意的是,DHCP服务器从自己的IP地址池中挑选租用给主机的IP地址,会使用ARP确保所选IP地址未被网络中其他主机占用。

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

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

目的IP地址仍为广播地址,这样做的目的是不用向网络中的每一个DHCP服务器单播发送DHCP请求报文来告知他们是否请求他们作为自己的DHCP服务器。

DHCP请求报文装封装有事务ID,DHCP客户端的MAC地址,接受的租约中的IP地址,提供此租约的DHCP服务器端的IP地址等信息。

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

封装该报文的IP数据报的源IP地址为DHCP服务器1的IP地址,目的IP地址为广播地址。

DHCP客户收到该确认报文号,就可以使用所租用到的IP地址了。

需要注意的是在使用租用到的IP地址之前,主机还会使用ARP检测该IP地址是否已被网络中其他主机占用。若被占用,DHCP客户会给DHCP服务器发送DHCP报文来谢绝IP地址租约并重新发送DHCP发现报文;若未被占用,则可以使用租约中的IP地址与网络中的其他主机通信了。

当然,租用期过了一半时,DHCP客户会向DHCP服务器发送DHCP请求报文来请求更新租用期。封装该报文的IP数据报的源IP地址为DHCP客户之前租用到的IP地址,目的IP地址为DHCP服务器1的地址。

DHCP服务器若同意则发回DHCP确认报文。这样DHCP客户就得到了新的租用期。

DHCP服务器若不同意则发回DHCP否认报文。这时DHCP客户必须立即停止使用之前租用的IP地址,并重新发送DHCP发现报文来重新申请IP地址。

DHCP服务器若未作出响应,则租用期过了87.5%时,DHCP客户必须重新发送DHCP请求报文,然后继续等待DHCP服务器可能做出的反应。

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

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

综上所述,这部分是DHCP客户寻找DHCP服务器。

这部分是DHCP服务器向DHCP客户提供IP地址租用。

这部分是DHCP客户接受IP地址租约。

这部分是DHCP服务器确认IP地址租约。

这部分是DHCP客户进行IP地址续约。

这部分是DHCP客户可以随时解除IP地址租约。

需要注意的是,DHCP服务器在给DHCP客户挑选IP地址时。需要ARP来确保所挑选的IP地址未被网络中其他主机占用。而DHCP客户在使用所租用的IP地址之前,也会使用ARP来检测该IP地址是否已被网络中其他主机占用。

6.3.3 DHCP中继代理

有这样一个网络拓扑,请大家思考一下该网络中的各主机是否可以通过DHCP来自动获取到网络配置信息?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值