php snmp dhcp,LwIP Application Developers Manual5---高层协议之DHCP,AUTOIP,SNMP,PPP

本文详细介绍了LwIP中的高层网络协议,包括DHCP的启动、停止和状态处理,AUTOIP的接口使用,SNMP的应用视角以及PPP的实现方式。DHCP的启动涉及LWIP_DHCP选项和dhcp_start()函数,AUTOIP提供无服务器的IP地址分配,SNMP和PPP则分别用于网络管理和串行通信。
摘要由CSDN通过智能技术生成

1.前言

本文主要讲述高层协议,包括DHCP

2.DHCP

2.1 从应用的角度看DHCP

你必须确保在编译和链接时使能DHCP,可通过在文件lwipopts.h里面定义LWIP_DHCP选项,该选项会加入一个dhcp struct的指针到netif结构体里面。

dhcp_start()将会分配一个dhcp 结构体。另外,LWIP_UDP一定要设置为非零的数值,由于DHCP是一个运行在UDP上的协议。

使用DHCP的设置很简单,你只要在初始化完接口后调用函数

dhcp_start()

为了能更好的正确处理租赁协议,DHCP有一对相关的时间函数可以被调用。你只要在你的主循环里调用下面函数来处理所有协议的定时器。

sys_check_timeouts()

然后你可以检查你的接口的->dhcp->state是否等于DHCP_BOUND,来进行下一步的操作。

注:For LWIP 2.0 you need to call dhcp_supplied_address(const struct netif *netif) instead

如果你要经常处理网络的变动,比如,一个移动系统经常接入不同的网络和拔除,那么你要告知DHCP这一相关状态,这个一般使用dhcp_network_changed()函数。

然而,协议栈不仅要告知DHCP还要通知AUTOIP和IGMP该链接的改变,因此正确的调用如下所示:

netif_set_link_up(&mynetif);

netif_set_link_down(&mynetif);

你需要绑定链接的变化到你的接口。如果你想要更多的了解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值