使能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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 为何你会被强插广告/盗号?谈HTTPS连接的那些事

    为何你会被强插广告/盗号?谈HTTPS连接的那些事相信很多朋友都遇到过网页被强插广告的情况,好端端一个干净的页面,动不动就被插了个屠龙宝刀点击就送的小窗口,看着就心烦。这种网页劫持强插广告的现象,在中国非常常见,往往是运营商进行HTTP劫持所造成的。对付这种劫持,一个很好的解决办法就是HTTPS。网页劫持很多人都有遇到过,HTTPS可以比较好地防范这问题HTTPS能够加密网页传输内容,不仅可以防…

    2022年7月15日
    17
  • java定时任务实现的几种方式注解(JAVA定时任务)

    摘要:在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢?我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,…

    2022年4月14日
    778
  • java softReference 详解 .[通俗易懂]

    java softReference 详解 .[通俗易懂]本文介绍对象的强、软、弱和虚引用的概念、应用。1.对象的强、软、弱和虚引用  在JDK1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。

    2022年9月8日
    0
  • init是啥意思_init 0到6的意思

    init是啥意思_init 0到6的意思1.内核启动问题2.解决方案2.1ramdisk(比如initrd)2.2tmpfs(比如initramfs)2.3ramdiskvsramfs2.4临时文件系统2.4.1观察tmpfs2.4.2Initramfs2.4.3查看initramfs2.4.4创建initramfs2.5Linux系统中的initramfs2.6cpio归档文件3.高级用户3.1制…

    2022年8月11日
    6
  • pycharm 字体设置_pycharm另存为文件

    pycharm 字体设置_pycharm另存为文件1.步骤为:File–>Settings–>Appearance&Behavior–>Appearance–>Theme中就可以选择喜欢的主题2.一般将文件的保存格式默认设置为UTF-8,就不会出现乱码啦!步骤为:File–>Settings–>Editor–>FileandCodeTemplates–>选择Pyth…

    2022年8月28日
    6
  • python 元类编程_python定义元组

    python 元类编程_python定义元组前言通常我们创建类都是使用class类名,但是小伙伴们有没有想过,类是由谁来创建的呢,python中常说的万物皆对象,对象是由类创建的,那类本身也可以看做是对象,类可以由元类type创建type

    2022年7月30日
    4

发表回复

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

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