二层网络内与任意IP通讯

前言

因为公司交换机出厂的默认IP是相同的,客户又不允许用DHCP,所以实施想通过IP进入交换机web管理页面设置的话,要一台一台配置,所以我就有了新的任务

IP一样怎么弄?

一开始想IP一样,mac地址肯定唯一的啊,三层不行,直接用二层通讯行不行?但编程语言支持什么二层协议呢,貌似也就用过jpcap发过arp勉强算个二层协议,难道用自定义协议栈?难道就没有在现有基础上简单的实现方式吗?

后来突然想到手上有个摄像头不就有类似功能吗,于是抓包看下别人是怎么做的。

二层网络内与任意IP通讯_第1张图片

可以看到使用的是UDP,且目标IP为255.255.255.255.可以知道这4个255是个受限的广播地址,即不会被路由器转发,但是可以在二层网络内不知道IP的情况下进行广播

可以看到这条指令的二层目的地址是6个ff的广播地址,这样就可以确保在二层网络的其他设备都可以收到这条信息,同样可以通过这个方式回复,这样双方就可以不根据具体的IP而只在二层网络上通过广播的方式进行通讯了

小结

以上就是大致的解决思路,这样做的好处就是可以直接利用现有编程语言UDP部分的API直接进行开发了,但所有的通讯都是通过广播进行的,所以需要我们在广播中加个标识用以区分出发送的对象,比如mac地址。

你可能感兴趣的:(java/网络)