【计算机网络 - 基础问题】每日 3 题(四十二)

ops/2024/10/19 8:59:56/

✍个人博客:https://blog.csdn.net/Newin2020?type=blog
📣专栏地址:http://t.csdnimg.cn/fYaBd
📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

124. 什么是 ARP 代理?

ARP 代理(ARP Proxy)是一种网络设备或服务的功能,用于帮助处理网络>计算机网络中的 ARP 请求和响应。它在两个或多个网络子网之间起到中介或桥接的作用,帮助实现不同子网之间的通信。
在一个局域网中,当主机需要与其他主机通信时,它会通过 ARP 协议来获取目标主机的 MAC 地址。通常,主机在同一个子网内的 ARP 请求可以直接通过广播发送到局域网中的其他主机,并接收到目标主机的 MAC 地址。
然而,在两个不同的网络子网之间进行通信时,主机无法直接获取目标主机的 MAC 地址。这时,ARP 代理就可以发挥作用。ARP 代理位于两个子网之间,它会接收来自一个子网的 ARP 请求,并代表源主机向另一个子网发送对应的 ARP 请求。当接收到另一个子网的 ARP 响应后,ARP 代理将响应的 MAC 地址返回给源主机,使源主机能够与目标主机进行通信。
简而言之,ARP 代理通过协助子网之间的 ARP 请求和响应,实现了不同子网之间的通信。它在两个子网之间起到了桥接的作用。
ARP 代理的使用可以解决跨子网的通信问题,提高网络的扩展性和灵活性。它常见于路由器、交换机等网络设备上,用于支持不同子网之间的通信。甚至,ARP 还可以更改原本发送的地址,更改了目标对象。

125. DHCP 是什么?

DHCP 在生活中我们是很常见的了,我们的电脑通常都是通过 DHCP 动态获取 IP 地址,大大省去了配 IP 信息繁琐的过程。

接下来,我们来看看我们的电脑是如何通过 4 个步骤的过程,获取到 IP 的。

  • 客户端首先发起 DHCP 发现报文(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道 DHCP 服务器的地址,所以使用的是 UDP 广播通信,其使用的广播目的地址是 255.255.255.255(端口 67) 并且使用 0.0.0.0(端口 68) 作为源 IP 地址。DHCP 客户端将该 IP 数据报传递给链路层,链路层然后将帧广播到所有的网络中设备。
  • DHCP 服务器收到 DHCP 发现报文时,用 DHCP 提供报文(DHCP OFFER) 向客户端做出响应。该报文仍然使用 IP 广播地址 255.255.255.255,该报文信息携带服务器提供可租约的 IP 地址、子网掩码、默认网关、DNS 服务器以及 IP 地址租用期。
  • 客户端收到一个或多个服务器的 DHCP 提供报文后,从中选择一个服务器,并向选中的服务器发送 DHCP 请求报文(DHCP REQUEST)进行响应,回显配置的参数。
  • 最后,服务端用 DHCP ACK 报文对 DHCP 请求报文进行响应,应答所要求的参数。

一旦客户端收到 DHCP ACK 后,交互便完成了,并且客户端能够在租用期内使用 DHCP 服务器分配的 IP 地址。
如果租约的 DHCP IP 地址快期后,客户端会向服务器发送 DHCP 请求报文:

  • 服务器如果同意继续租用,则用 DHCP ACK 报文进行应答,客户端就会延长租期。
  • 服务器如果不同意继续租用,则用 DHCP NACK 报文,客户端就要停止使用租约的 IP 地址。

可以发现,DHCP 交互中,全程都是使用 UDP 广播通信。

126. 用的是广播,那如果 DHCP 服务器和客户端不是在同一个局域网内,路由器又不会转发广播包,那不是每个网络都要配一个 DHCP 服务器?

所以,为了解决这一问题,就出现了 DHCP 中继代理。有了 DHCP 中继代理以后,对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。

在这里插入图片描述

  • DHCP 客户端会向 DHCP 中继代理发送 DHCP 请求包,而 DHCP 中继代理在收到这个广播包以后,再以单播的形式发给 DHCP 服务器。
  • 服务器端收到该包以后再向 DHCP 中继代理返回应答,并由 DHCP 中继代理将此包广播给 DHCP 客户端 。

因此,DHCP 服务器即使不在同一个链路上也可以实现统一分配和管理 IP 地址。


http://www.ppmy.cn/ops/126673.html

相关文章

Java生死簿管理小系统(简单实现)

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…

几种HTTP请求参数的简单介绍

目录 一、概述 二、查询参数 三、JSON格式参数 四、x-www-form-urlencoded 五、multipart/form-data 一、概述 在 Web 开发中,前端需要与后端服务器进行数据交互,常见的方式是通过 HTTP 请求发送数据给后端。 本文章将介绍以下几种常用的请求参数…

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x,FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目,根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…

上门按摩系统开发方案源码搭建

上门按摩系统开发方案 一、项目概述 上门按摩系统是一个连接按摩技师和客户的平台,旨在提供便捷、高效的上门按摩服务。通过该系统,客户可以轻松预约合适的按摩技师,并享受个性化的按摩服务。 二、系统功能模块 用户管理模块:…

一起搭WPF架构之livechart的MVVM使用介绍

一起搭WPF架构之livechart使用介绍 前言ModelViewModelView界面设计界面后端 效果总结 前言 简单的架构搭建已经快接近尾声了,考虑设计使用图表的形式将SQLite数据库中的数据展示出来。前期已经介绍了livechart的安装,今天就详细介绍一下livechart的使用…

awk命令学习记录

awk命令 awk命令 表示将一行数据按特定分割符分割成多列,而从而选取特定列数的数据,默认分割符为空格,连接符默认也是空格 // 1. 更换分割符 awk -F : 1.txt // 1.txt为你的文件名 // 2. 打印多列 awk {print $1,$2} // $0为整行&#xff…

量子计算机的原理与物理实现

量子计算机的原理与物理实现很复杂 指导性原则 首先思考制备一台量子计算机需要些什么? 需要量子比特——二能级量子系统。除了量子计算机需要满足一些物理特性,它还必须要把量子比特绘制到某种初态上,以及测量系统的输出态。 而实验上的挑战…

【Flutter】水波纹扩散动画

1.说明 中心的按钮缩放,按钮底部有水波纹无限扩散的效果。 2.UI效果 水波纹扩散动画 3.源码 import dart:async; import package:flutter/material.dart;// 水波纹扩散动画 // AnimationController 用完,需要自行销毁 class WaterRippleDiffusionAnim…