从dhcp服务器获取一个可用的IP地址
本文关键字:一个 地址 IP 服务器 dhcp 获取 | 更新日期: 2023-09-27 18:03:37
我有一个c#桌面应用。
我有一个ip摄像机,我想给它分配一个静态ipaddress。我需要能够从我的dhcp服务器获得一个"免费/可用"的ip地址,保留它并将其分配给我的ip摄像机。我可以很容易地为我的相机分配ip地址。但是,我如何获得一个可用的ip地址,并在它被分配给另一个"插入"到我的网络的设备之前保留它?
我已经看到api调用获得客户端ip地址,但不知道我是否可以使用它为我想要的。
我可以ping子网上的每个ip地址,以查找是否有可用的地址,但这似乎效率低下,因为我将等待ping该地址超时。此外,它不会"保留"它。
我希望我讲清楚了。
NB。我想给我的网络摄像机分配一个静态ip地址。我有sdk来做这个。这只是我需要分配一个自由的ip地址,是在同一子网
您的IP摄像机需要支持DHCP协议,或者能够被分配一个静态IP地址。如果它支持DHCP摄像机,那么它将自己处理它,但如果它必须分配一个静态IP地址,那么你需要在路由器上保留这个IP地址,然后将其作为静态IP地址输入摄像机。
路由器在DHCP下使用MAC地址分配IP。除非你有一个系统可以用它的MAC地址伪装成IP摄像机,从DHCP路由器检索IP地址,否则你只能使用上述两种方式之一来分配IP。
有些路由器会让你通过管理web UI静态地为设备分配ip地址。如果你的路由器是这种情况,你可以让它连接到一个ip地址,并告诉路由器总是为你的设备分配这个ip。
当然,DHCP请求需要带有您想要分配给它的MAC地址。如果相机不支持DHCP,你不能在它的名字中请求地址。
对您来说最简单的事情可能是在用户的计算机和摄像机之间实现一个穷人的NAT:您将从用户计算机的某些端口转发流量到摄像机,并将摄像机的响应转发给请求它的人。