磕磕碰碰 发表于 2021-11-23 17:04:21

以太网通信静态ARP绑定方法与常见问题解决方案

>本帖最后由 磕磕碰碰 于 2021-11-23 17:48 编辑


> 在进行以太网通信的实验及案例时,PC端需要进行连接设置,以确保能和开发板正常进行通信。下面对以太网连接设置的要点进行说明。

# 1 网络连接设置

```
硬件连接好之后我们就可以开始对以太网的连接设置。首先,我们需要查看道自己电脑网卡的 MAC 地址,就在 DOS 命令窗口,用 ipconfig–all 命令查看。完成网口发送模块的设置。
```

!(data/attachment/forum/202111/23/171149rpv2bb37b72gbv32.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
在电脑上进入【控制面板】->【网络连接】->【以太网】->【更改适配器选项】,查看网络连接状态。需要看到在活动网络中有本地连接存在,才表明开发板和电脑的网络才已经连通。此时如果重新下载sof文件到开发板中,会发现此本地连接会先消失,然后再重新出现。至于显示的无法连接到网络选项,意思是指无法连接到互联网获取网络上的数据,这是正常的,无需在意。
```

!(data/attachment/forum/202111/23/171246aki1myajim1jspup.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
点击“本地连接”文字,以查看该网络状态,确认当前连接速度为千兆速率(1000.0Mbps)
```

!(data/attachment/forum/202111/23/171303anvoo1pxbpz1oof3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
上板验证的目的 IP 固定设置的 192.168.0.3,端口号固定设置为 6000。这些可根据实际情况更改,需与 FPGA 网口相连接的电脑网口的配置保持一致。在上述本地连接状态中,点击属性,并在弹出的属性对话框中双击【Internet协议版本 4 (TCP/Ipv4)】选项,然后再弹出的属性对话框中设置静态IP地址。如下图所示。
```

!(data/attachment/forum/202111/23/170732pa700nodn6psbiz6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

!(data/attachment/forum/202111/23/170827duhmum9m47max6rv.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
由于本测试工程不支持ARP协议,因此只能通过静态绑定的方式来强制将开发板的IP地址和MAC地址关联在一起。这样,当 PC发送给192.168.0.2的数据包的时候,目标MAC地址自动为开发板的MAC地址。
```

```
操作时先以管理员身份运行cmd.exe程序(该文件在C:\Windows\System32路径下),也就是我们常说的命令行窗口。由于有用户反应在使用时无法成功绑定arp,经过分析就是操作权限不够,所以这里强调要以管理员身份运行cmd.exe。然后在窗口中输入下述命令:
```


| arp -s 192.168.0.2 00-0a-35-01-fe-c0 |
| -------------------------------------- |

```
绑定后我们可以用arp-a命令来查看PC上绑定的结果,如下图所示:
```

!(data/attachment/forum/202111/23/170930cog2b2rfkf0zw0qf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

# 2   IP绑定错误解决办法

```
例如将IP192.168.0.2绑定到错误的接口(WiFi)。
```

!(data/attachment/forum/202111/23/171030hgz882x28gkj0bjz.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")![](file:///C:/Users/89702/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg)

```
为了更正回来,我们可以先用arp-d命令将该IP删除,命令如下:
```


| arp -d 192.168.0.2 |
| -------------------- |

!(data/attachment/forum/202111/23/171814gdrnt3rlj47dbwni.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
绑定时可暂时禁用其它网络接口,“网络连接\状态\更改适配器选项\网络禁用”,这样可确保IP绑定到以太网接口。
```

!(data/attachment/forum/202111/23/171827bp2giko8ggfkdwgf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")![](file:///C:/Users/89702/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg)

```
又如这里,我们误把IP192.168.0.3绑定到了开发板的MAC地址00-0a-35-01-fe-c0上,为了更正回来,我们可以先用arp-d命令将该IP删除,命令如下:
```


| arp -d 192.168.0.3 |
| -------------------- |

!(data/attachment/forum/202111/23/171907tyq1jrr2znyr11n2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")
随后便尝试使用arp -s指令再次添加,发现被拒绝访问。

!(data/attachment/forum/202111/23/171923jqnikkx2ck9cx9cz.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
接下来使用netsh指令查看本地连接以太网的Idx值,命令如下:
```


| netsh i i show in |
| ------------------- |

!(data/attachment/forum/202111/23/171946ipqm908995i10a1i.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

```
可以看到这里笔者电脑以太网的Idx为11,接着我们根据这个值来绑定arp,命令如下:
```


| netsh -c "i i" add neighbors 11 "192.168.0.2" "00-0a-35-01-fe-c0" |
| ------------------------------------------------------------------- |

```
接下来我们使用arp -a命令查看,即可看到IP地址已经绑定成功。
```


admin 发表于 2023-10-11 17:31:13

用管理器权限打开命令行窗口


1、用下述命令查看电脑的网卡名称,有线网卡的大概率为“以太网”

netsh interface IPV4 show interface



2、用下述命令执行永久静态绑定(关机不失效)

netsh -c interface ipv4 add neighbors "以太网" "192.168.0.2" "00-0a-35-01-fe-c0"



netsh -c interface ipv4 add neighbors "以太网" "192.168.0.2" "00-07-ed-ac-62-00"


或者临时生效方案(关机后失效)

netsh -c interface ipv4 add neighbors "以太网" "192.168.0.2" "00-0a-35-01-fe-c0" store=active


netsh -c interface ipv4 add neighbors "以太网" "192.168.0.2" "00-07-ed-ac-62-00" store=active


第一种永久生效,第二种临时生效。


3、用arp -a查看结果

arp -a


4、如需清除,使用arp -d命令来清除绑定,比如

arp -d 192.168.0.2
页: [1]
查看完整版本: 以太网通信静态ARP绑定方法与常见问题解决方案