记录DHCP IPV6遇到的问题(一)

在DHCPv6连接过程中,设备在短时间内重复请求可能导致服务器不响应,原因是DUID(设备唯一标识)的LLT类型使得每次请求的DUID内容变化。解决方法是将DUID类型改为LL类型,使其始终与设备MAC地址一致,确保一致性,以通过服务器校验。通常开源DHCPv6实现允许通过参数配置DUID类型。
摘要由CSDN通过智能技术生成

进行DHCP IPV6连接的时候,经常遇到设备获取过一次地址后,在短时间内再次重新主动进行一次DHCP IPV6连接,会连接失败,从抓包来分析就是上行服务器不响应。

 通过与服务器方的沟通,了解到一点,服务器会记录请求设备的mac和DUID(是唯一标识一台DHCPv6设备(包括客户端、中继和服务器)的标识符,用于DHCPv6设备之间的相互验证),发现的设备DUID会一直变动,导致校验失败,所以服务器就不响应了。

找到原因,接下来就到了分析源码的时候了:

    /*
     * 2 bytes for the 'duid type' field.
     * 2 bytes for the 'htype' field.
     * (not stateless) 4 bytes for the 'current time'.
     * enough bytes for the hardware address (note that hw_address has
     * the 'htype' on byte zero).
     */
    len = 4 + (ip->hw_address.hlen - 1);
    if (duid_type == DUID_LLT)
        len += 4;
    if (!buffer_allocate(&duid->buffer, len, MDL))
        log_fatal("no memor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值