计算机网络学习笔记:应用层概述、动态主机配置协议DHCP

发布于:2025-06-22 ⋅ 阅读:(12) ⋅ 点赞:(0)


一、应用层概述

  应用层位于计算机网络结构的最上层,用于解决应用进程的交互以实现特定网络应用的问题。万维网WWW,域名系统DNS,
动态主机配置协议DHCP,电子邮件,文件传送FTP和P2P文件共享,多媒体网络应用,都是属于应用层的范畴。在这里插入图片描述
  目前应用层流行的两种架构:C/S和P2P。

1.1、C/S架构

  C/S架构的全称是服务器/客户端架构,即将网络中的应用划分为两大类,一类是服务器,一类是客户端。客户端向服务器请求,服务器给予客户端响应。
  服务端具有固定的IP和端口,并且应该长期处于运行状态。C/S架构是服务集中型的,体现在一台服务器要接受N个客户端的请求并处理,客户端必须知道服务器的地址,而服务器不关心客户端的地址。
在这里插入图片描述

1.2、P2P架构

  相比较于C/S架构,P2P架构中的每一个应用是对等的,体现在每个应用既有可能是服务方,也有可能是客户方。例如E从D下载文件,同时F又从E下载文件。
  系统增加对等方,不会造成资源的紧张,因为增加一个服务请求者的同时,也是增加了一个服务的提供者。
在这里插入图片描述

二、动态主机配置协议DHCP

  在网络中,用户主机如果需要访问Web服务器,需要进行IP地址,子网掩码,默认网关,DNS服务器地址等一系列的设置。如果手动地去配置,在现有的网络规模中是不现实的。
  解决手动配置的问题,可以引入DHCP服务器。在其中设置好其他主机的配置信息,网络中的各个主机启动后访问DHCP服务器,向服务器请求自己的配置信息,而不用手动配置。
在这里插入图片描述

  DHCP服务进程,运行在DHCP服务器上。DHCP客户进程,运行在用户主机上。为了简化,本笔记中后续的DHCP服务进程DHCP客户进程,都简称为客户进程和服务进程,DHCP服务器用户主机,都简称为服务和客户。
  DHCP是应用层的协议,使用的是运输层的UDP协议作为支持,在运输层会被封装为UDP数据报,服务使用的端口是67,客户使用的端口是68

2.1、DHCP发现报文

  客户广播发送DHCP发现报文,源IP地址为0.0.0.0。因为目前用户主机还没有被分配IP地址。目标地址为255.255.255.255。因为目前主机并不知道网络中有哪些具体的服务
  网络中的所有设备都会收到该IP数据报。并对其层层解封出有DHCP发送报文的UDP数据报:

  • 如果是其他客户进程监听到了,丢弃该报文,因为客户进程没有监听67端口。
  • 如果是服务进程监听到了,会接受该报文,并作出响应。

  DHCP发现报文中,还带有事务ID和客户的MAC地址。
在这里插入图片描述

2.2、DHCP提供报文

  服务接收到报文后,根据其中封装的客户的MAC地址,查找自己的数据库,查询是否有针对该MAC地址的配置信息。

  • 如果有,使用配置信息构建并发送DHCP提供报文。
  • 如果没有,就使用默认的配置信息构建并发送DHCP提供报文。

  然后发送DHCP提供报文,该报文的源IP地址为服务的地址,目标IP地址为广播地址。(因为此时客户还没有获取IP地址,为了使客户收到只能使用广播)
  同样地网络中的所有设备都会收到该IP数据报。并对其层层解封出有DHCP提供报文的UDP数据报。

  • 如果是其他客户进程监听到了,会接受该报文,并作出响应。
  • 如果是服务进程监听到了,会丢弃该报文,因为服务进程没有监听68端口。
      客户还会根据事务ID,判断该报文是否是自己发送的请求报文的响应,除了事务ID,DHCP提供报文还有其他信息:
    在这里插入图片描述
      客户如果收到了多个服务的响应报文,则会从其中选择一个。(通常选择先到达的。)并向选择的服务发送DHCP请求报文

2.3、DHCP请求报文

  源地址依旧是0.0.0.0,此时客户还不能使用服务DHCP提供报文中配置信息的IP地址,因为要再次向选择的服务发起确认。
在这里插入图片描述

这时客户不是已经知道具体选择了哪一台DHCP服务了吗,为什么还需要通过广播的方式?
此时的客户端无有效 IP,无法用单播发起定向通信,只能广播。这一点,RFC 2131 明确规定:客户端 在未完成 DHCP 过程前,不能单播通信。)(并且需要通知所有服务器,告诉所有 DHCP Server:我选定了谁,其他人请释放资源。有些网络拓扑中,中继或交换机需要广播才能正确处理

2.4、DHCP确认报文

  假设客户选择服务1作为自己的服务。并且服务1接受该请求,则服务1会向客户发送请求的DHCP确认报文,源IP地址为自身的IP,目的IP地址依旧是广播地址, 这时客户才可以使用租用的IP地址。
  如果客户通过ARP检测发现有占用的情况,客户就会给服务发送撤销报文,然后重新走DHCP发现报文的步骤:
在这里插入图片描述

2.5、DHCP的续约与终止

  当租用期限过了一半时客户会向服务发送DHCP请求报文,请求更新租用期。这时的源IP地址为客户租用到的IP地址,目的IP地址为服务IP地址。

  • 如果服务同意续约,则发送DHCP确认报文客户得到新的租用期。
  • 如果服务不同意续约,则发送DHCP否认报文客户立即停止租用该IP,走DHCP发现报文的步骤。
  • 如果服务不响应,则在0.85的租用期时间,客户发送DHCP请求报文
    • 租用期满,服务依旧不响应,客户立即停止租用该IP,走DHCP发现报文的步骤。

在这里插入图片描述
  并且客户可以随时停止DHCP的租用,需要发送DHCP释放报文
在这里插入图片描述
  服务给客户挑选IP地址时,使用ARP保证地址不被占用。客户在使用该IP之前,也会再次使用ARP进行检查

总结

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到