lwIP更新记10:IP 冲突检测

这篇具有很好参考价值的文章主要介绍了lwIP更新记10:IP 冲突检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注:lwip-2.2.0 正式版本已经于 2023-09-25 发布,功能与 lwip-2.2.0-rc1 版本几乎没有区别,只是更正了版本号。
以下为原文:


lwIP-2.2.0-rc1 介绍

lwIP-2.2.0-rc1 于 2023 年 6 月 29 日发布,主要修改为:

  • 修复错误
  • 新功能: IPv4 冲突检测
  • contrib 版本库移至主存储库(顶层目录 contrib 内)
  • lwip-2.1.x 分支不再更新

lwip-2.2.0-rc1 版本重新回归了 master 分支(主分支),不再使用单独的稳定分支。

master 分支 是一个 Git(版本控制程序)术语,如果你还没有使用过 Git 管理源代码,我这里 强烈建议 你马上用起来。如果你不知道如何入门,可以点击 这里 参考我的一些列文章,从《Keil MDK环境下Git入门指南》这篇文章开始。

我们可以从分支图中看出这这种关系,图中的每个黄色块都是一个 标签 ,主要用来标识一个软件版本。
lwIP更新记10:IP 冲突检测,嵌入式TCP/IP,lwIP

IPv4 冲突检测

这个带来了我期盼已久的 IPv4 冲突检测 功能。在这之前,如果要在项目中实现 IP 冲突检测,需要在 ARP 模块中增加、修改代码,这会带来问题,因为修改了 lwIP 的源码,这会让本地的 lwIP 版本与远程仓库中的 lwIP 版本不一致,当应用新版本 lwIP 时,需要记得再次修改 lwIP 源码。如果我不再维护这个项目,接收这个项目的人大概率不会注意到这个问题,这就相当于给项目挖了坑。现在,一切都好起来了,终于等来了官方支持。

2018 年 9 月,IPv4 冲突检测第一次加入到代码仓库,到 2023 年 9 月随正式版发布,用了 5 年时间。

IPv4 冲突介绍

IPv4 冲突 是指同一链路上的两台主机同时段使用相同的 IPv4 地址时,则一个或两个主机会出现问题。为了防止发生这种错误配置,主机可以在事后被动检测已发生的错误,以便主机或管理员可以响应以纠正问题,这就是 IPv4 冲突检测 功能。

冲突检测实现方式

RFC5227 定义了 IPv4 冲突检测的方法。lwIP-2.2.0-rc1 版本新增的 IPv4 冲突检测就是以 RFC5227 为依据编写的,对应代码保存在 acd.c 中,如下图所示:
lwIP更新记10:IP 冲突检测,嵌入式TCP/IP,lwIP

IPv4 冲突检测用法

  1. lwipopts.h 中定义宏 LWIP_ACD 为 1 ;
  2. 修改定时器调用间隔宏 ACD_TMR_INTERVAL ,单位为毫秒,推荐值为 100。可用的值为:1000、500,、333、 250、 200、 166、 142、 125、 111、 100… ,也就是用 1000 除以这个值,余数要尽可能的接近或等于 0 。
  3. 对于固定 IP 地址:
    调用函数 acd_start。ACD 模块通过回调函数通知冲突状态。
  4. 对于 AUTOIP:
    autoip 模块自动处理所有,不需要额外的操作。
  5. 对于 DHCP:
    使能宏 LWIP_DHCP_DOES_ACD_CHECK,然后 dhcp 自动处理所有,不需要额外的操作。

可以看出,用法非常简单。






读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
lwIP更新记10:IP 冲突检测,嵌入式TCP/IP,lwIP文章来源地址https://www.toymoban.com/news/detail-671678.html

到了这里,关于lwIP更新记10:IP 冲突检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式相关开源项目、库、资料------持续更新中

    学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux、计算机等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库。有好的嵌入式相关资源的朋友欢迎做贡献,利人

    2024年02月02日
    浏览(43)
  • 网络-IP地址(嵌入式学习)

    IP地址是Internet中主机的标识 IP地址(Internet Protocol Address 互联网国际地址)是一种在Internet上的给主机编址的方式,它主要是为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。 IP地址为32位(IPv4)或者128位(IPv6) IPV4地址由网络号与主机

    2023年04月19日
    浏览(38)
  • 蓝桥杯嵌入式——扩展板DHT11(更新)

            没想到蓝桥杯官方资料更新到四梯官网了,今天才下到今年的国赛资源包 目录 一. 原理 1.初始化 2.DHT11_Check 3.数据采集  二. 代码编写 1. dht11.c文件 2. dht.h文件 3. main.c 文件 三. 注意事项 结语         从代码入手,按代码运行顺序来解释一下         设置引脚为输

    2024年02月09日
    浏览(90)
  • 嵌入式工程师常见面试题(持续更新版本)

    前言: 鄙人于学堂求学十余载,终是要踏足江湖求一寸安身处!以前都忙着学习新东西以及做项目,现如今也需要面对找工作的压力。此篇博客是作者准备的嵌入式工程师常见的面试题目汇总, 其答案包含网络搜索和作者自己感悟总结的 ,可能存在问题, 如有大的纰漏希望

    2024年02月08日
    浏览(43)
  • 嵌入式项目分享 stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(132)
  • 嵌入式通信协议【Modbus】Modbus TCP的帧格式

    Client request:例: 19 B2 00 00 00 06 06 03 00 27 00 02 上面是modbus客户端发出的报文内容,为modbus tcp/ip协议格式,其前面的六个字节为头字节( header handle); 19 B2 00 00 00 06 19 B2  00 00 00 06 两个Client发出的检验信息,Sever端只是需要将这两个字节的内容copy以后再放到response的报文的相应位

    2024年02月05日
    浏览(79)
  • 嵌入式学习第二十六天!(网络传输:TCP编程)

            socket   -  connect  -  send  -  recv   -  close         socket   -  bind   -  listen   -  accept   - recv   -  send   -  close         1. connect:               功能: 发送链接请求               参数:                   sockfd: 套接字文件描述符                  

    2024年03月09日
    浏览(69)
  • AI嵌入式K210项目(24)-口罩检测

    本节课主要学习口罩检测功能,将摄像头采集的画面分析,比对模型,分析是否佩戴口罩,打印出佩戴口罩的状态 请先将模型文件导入内存卡上,再将内存卡插入到K210开发板的内存卡插槽上,具体操作步骤请参考: AI嵌入式K210项目(21)-AI模型文件导入至TF卡 本实验使用/

    2024年02月20日
    浏览(60)
  • 嵌入式项目分享 Stm32 WIFI智能家居温湿度和烟雾检测系统 - 单片机 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年01月16日
    浏览(140)
  • 嵌入式学习——C语言基础——day10

    1. 指针的基本概念 1.1 地址         用来区别不同内存字节空间的编号 1.2 指针         地址就是指针,指针就是地址,地址是一个编号,指针多了指向的概念 1.3 指针变量         用来存放指针的变量,有时将指针变量简称为指针 2. 指针相关运算符             ——   

    2024年04月27日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包