使能DHCP Relay_option键的作用

使能DHCP Relay_option键的作用DHCP一家子(不包括DHCPv6)包括DHCPClient、DHCPServer、DHCPRelay以及DHCPSnooping,之后我会一个个详细学习之后发出来。今天讲述一下DHCPrelay,之前先学习的DHCPSever,还没来得及整理,之后会发出来,今天先说说DHCPRelay。DHCPRelay(DHCP中继),也叫作DHCPAgent,主要用于DHCPClient和DHCPServer不在一个网段时,DHCPClient又有自动地址分配的请…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

       DHCP一家子(不包括DHCPv6)包括DHCP Client、DHCP Server、DHCP Relay以及DHCP Snooping,之后我会一个个详细学习之后发出来。今天讲述一下DHCP relay,之前先学习的DHCP Sever,还没来得及整理,之后会发出来,今天先说说DHCP Relay。

      DHCP Relay(DHCP中继),也叫作DHCP Agent,主要用于DHCP Client和DHCP Server不在一个网段时,DHCP Client又有自动地址分配的请求。下面说一下工作过程:

      DHCP Client广播发送请求报文,如果同一存在DHCP Server,则Server给客户端提供地址分配。如果本网络不存在DHCP Server,那么就需要DHCP Realy充当代理,来代替DHCP Client寻找DHCP Server,同时也把Server发送给客户端的响应报文转发给客户端。

具体流程如下:假设本网络内没有DHCP Server    

 Dhcp relay会根据接收到的报文的op字段判断是请求报文还是响应报文:

1)如果收到请求报文的话(可能来自dhcp cllient也可能是dhcp relay),检查如果带有option82字段,则丢弃(来自client,单层relay)或者用自己的option82替换(来自dhcp relay,多层relay)。如果没有携带option82,则DHCP Relay需要添加这个选项,并修改giaddr字段为自己的ip地址,hops字段加1,如果DHCP Relay知道DHCP Server的地址那么就单播出去,否则就广播出去(看如何配置)。Dhcp server收到请求报文后,解析option82字段得到dhcp relay的信息,同时发送响应报文,响应报文带有给DHCP Client的配置信息以及option82字段。

2)如果收到的是响应报文(可能来自DHCP Relay也可能是DHCP Server),那么dhcp relay会剥离option82字段,然后一层层下发到HDCP Client

交互过程如此下图:

dhcp relay process

说明:

请求报文包括:Discover、Request、Inform、Decline、Release

响应报文包括:Offer、ACK、NAK

DHCP Client正常请求报文是广播报文,如果是DHCP Server直接发送给DHCP Server的那就需要看Client是否设置广播标志位。如果设置则是广播,未设置就是单播。DHCP server若发送给DHCP Relay则是单播。DHCP Relay 发送给DHCP Client要检查是否设置广播标志位(响应报文的这个位的设置和请求报文设置的是相同值),DHCP Relay到DHCP Relay是单播。

Option82:

Option82选项是dhcp报文options中对dhcp relay应用设置的选项。在RFC3046中讲述了option82的作用

格式为:

dhcp option82

Code:82(option的code号)

Len:N(为sub-options的长度。设置了option82后,至少设置一个sub-option)

Sub-options:

sub-options的格式为:

dhcp option82

现在有三种sub-opt:

Sub-opt:1(circuit id表示代理电路id)一般配合sub-opt2一起使用

Len:n(sub-option value的长度)

Sub-option value:

不同的模式有不同的规定值:

在标准模式下通常是接收报文的二层端口号(port)和vlan号

另外还有华为固网模式的格式为:

AccessNodeIdentifier eth frame/slot/subslot/port/:vlan

AccessNodeIdentifier:接入点标识

eth :以太网的类型

Frame:框号

Slot:槽号

Subslot:子槽号

Port:端口号

Vlan:vlan id

Sub-opt:2(remote id表示代理远程id)

Len:n(sub-option value的长度)

Sub-option value:

接收报文的设备mac地址

Sub-opt:5(link selection 表示链路选择)

Len:n(sub-option value的长度)

Sub-option value:

一般不设置

参考RFC 3046,这篇讲述的是DHCP Option82

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181577.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • springboot的介绍_springboot web

    springboot的介绍_springboot webSpringboot入门介绍一、Spring框架概述1.1什么是SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作《ExpertOne-On-OneJ2EEDevelopmentandDesign》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的Ja…

    2022年8月20日
    4
  • Python机器学习的步骤

    Python机器学习的步骤原文出处:kdnuggets译文出处:数据工匠开始。这是最容易令人丧失斗志的两个字。迈出第一步通常最艰难。当可以选择的方向太多时,就更让人两腿发软了。从…

    2022年7月6日
    19
  • 【STM32】HAL库 STM32CubeMX教程三—-外部中断(HAL库GPIO讲解)

    【STM32】HAL库 STM32CubeMX教程三—-外部中断(HAL库GPIO讲解)前言上一节我们讲解了STM32CubeMX的基本使用和工程的配置,那么这一节我们正式来学习CubeMX配置STM32的各个外设功能了今天我们会详细的带你学习STM32CubeMX配置外部中断,并且讲解HAL库的GPIO的各种函数,带你学习不一样的STM32如果还没有配置过工程,请参看上一篇博客《STM32CubeMX教程二–基本使用(新建工程点亮LED灯)》那么话不多说,我们开…

    2022年6月11日
    100
  • ora00279解决办法_oracle物化视图日志表

    ora00279解决办法_oracle物化视图日志表某物化视图在增量刷新的时候报错ora-00920,尝试全量刷新的时候,报错ora-00904。BEGINDBMS_MVIEW.REFRESH(‘MV_ABCD_K_PPLLCJ’,’F’);END;ORA-12018:在创建”MYJUKKA”.”MV_ABCD_K_PPLLCJ”的代码时出现以下错误ORA-00920:无效的关系运算符ORA-06512:在”SYS.SNAPSHOT”,line…

    2022年9月20日
    0
  • CSS之 sass、less、stylus 预处理器的使用方式

    CSS之 sass、less、stylus 预处理器的使用方式

    2020年11月19日
    161
  • android之常用控件大集合

    android之常用控件大集合android中的控件可谓应有尽有,从简单的Button到复杂的WebView,无所不能,无所不有。在开发的早期阶段,这些控件应该完全能够满足开发者的要求.随着知识的不断深入,开发者完全可以根据自己的

    2022年7月2日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号