论坛

ARP表大小

开始于 "看到... @ yahoo.com [兔子半]" 2019年3月20日
当ARP表大小从64增加时,将DC 10.72A / D与RCM6750配合使用 到128,可执行bin文件的大小增加了52k。看起来对吗? 这似乎与我不相称。

我增加ARP表的原因是因为R3k模块的方式 工作。他们看到的网络上的每个设备都会添加到ARP表中, 打印机,计算机,示波器,手机等。即使模块 将永远不会与他们中的任何一个进行交流。那么当表是 满满的情况下,下一个增加了桌子上最旧的一个。最终, 模块正在与之通信的设备被推离ARP表。 TCP 连接丢失,主机必须重新连接才能重新建立通信。 许多客户对此表示抱怨,因此我将ARP表增加到20, 然后是64,现在是128。R6k对此没有任何抱怨 模块,但是R3k模块比R6k多得多。但 以防万一,我将Rk6模块上的表增加到128。

说到可执行文件的大小,使用v10.72D进行编译会增加可执行文件的大小 在v10.72A上降低了2k。 DC正在杀死我。

史蒂夫
更正。可执行文件大小增加了52k,这是由于启用了单独 指令和数据空间。当我将ARP表增加到128时, “超出变量数据空间”错误。启用单独的指令和数据 空格消除错误。

所以现在的问题是,为什么要启用单独的指令和数据 空间将可执行文件增加52k?将ARP保留为64,应该没有 大小增加,只是代码和数据的重新排列。

史蒂夫
可能有点危险,但我似乎想起了进行arp条目的方法 以某种方式永久存在?

于2019/3/20上午7:46,s ... @ yahoo.com [rabbit-semi] wrote:
当ARP表大小从64增加时,将DC 10.72A / D与RCM6750配合使用 到128,可执行bin文件的大小增加了52k。看起来对吗? 这似乎与我不相称。
我增加ARP表的原因是因为R3k模块的工作方式。 他们看到的网络上的每个设备都会添加到ARP表,打印机, 计算机,示波器,移动电话等。即使该模块永远不会 与他们中的任何人交流。因此,当表已满时, 下一个增加了桌子上最旧的一个。最终,设备 模块正在与之通信,将其推离ARP表。 TCP连接是 丢失,主机必须重新连接才能重新建立通信。很多 客户对此有所抱怨,所以我将ARP表增加到20,然后是64, 现在是128。R6k模块对此没有任何抱怨,但是 那么R3k模块比R6k要多得多。但以防万一,我 在Rk6模块上将表增加到128。
说到可执行文件的大小,使用v10.72D进行编译会使可执行文件的大小增加 v10.72A以上2k。 DC正在杀死我。
史蒂夫
史蒂夫

增长可能与内存布局以及处理器的性能有关。 将物理地址映射到root和xmem。

与我分开&D禁用,前52KB地址空间用于组合根 代码和常量。其他12KB进入堆栈(4KB)和XMEM(8KB?)。 可能是我忘记的另一个4KB区域,仅使用XMEM 得到一个4KB的窗口。

与我分开&启用D,我相信您有52KB的根代码和一个 根常量的附加52KB映射到前64KB。这也是 可能最终会为根变量获得更多空间,我做不到 完全记得那个映射。

因此,文件大小的增加可能意味着您有很多未使用的4KB页面 在这两个52KB的根存储区中。随着您添加更多的根常量和 代码,它们会增长以填充未使用的页面,并且您的文件大小不应该 change.

您可以查看.map文件,以了解其映射方式 从根地址到物理地址。我认为也有一些样本 打印出内存映射/使用情况的报告,这可能有助于解释更改为 well.

汤姆
>2019年3月20日,上午8:07,s ... @ yahoo.com [rabbit-semi] 写道:
>
>更正。可执行文件大小增加了52k,这是由于启用了单独 指令和数据空间。当我将ARP表增加到128时, “超出变量数据空间”错误。启用单独的指令和数据 空格消除错误。
>
>所以现在的问题是,为什么要启用单独的指令和数据 空间将可执行文件增加52k?将ARP保留为64,应该没有 大小增加,只是代码和数据的重新排列。
您是否使用TLS / SSL?无线上网?其中一些增加可能与 实施TLS 1.2和WPA“ KRACK”补丁。

我想我也做了一些更改以将一些恒定数据结构移到 “远”内存,这将导致可执行文件的大小增加,但是 释放更多的根地址空间。

看看#memmap指令(和“ anymem”选项) 可能会将更多代码编译到未使用的root而不是xmem,并且 可能会减小可执行文件的大小。

汤姆
>2019年3月20日,上午7:46,s ... @ yahoo.com [rabbit-semi] 写道:
>
>说到可执行文件的大小,使用v10.72D进行编译会增加可执行文件的大小 在v10.72A上降低了2k。 DC正在杀死我。
史蒂夫

您可能还想看看我从未合并到的提交 master:

//github.com/digidotcom/DCRabbit_10/commit/2fc3a5268ee8d8656694367b66a78463e6f1855d

我相信它可以解决您正在谈论的问题,即Rabbit 从永远不会通过的设备的广播流量中添加ARP条目 与之沟通。这是我无法彻底了解的重大变化 测试,因此它从未发布。

您可以在RCM6750上对其进行测试,如果效果良好,则可以将其反向移植到Dynamic R 9k模块的C 9。

汤姆
>2019年3月20日,上午7:46,s ... @ yahoo.com [rabbit-semi] 写道:
>
>我增加ARP表的原因是因为R3k模块的方式 工作。他们看到的网络上的每个设备都会添加到ARP表中, 打印机,计算机,示波器,手机等。即使模块 将永远不会与他们中的任何一个进行交流。那么当表是 满满的情况下,下一个增加了桌子上最旧的一个。最终, 模块正在与之通信的设备被推离ARP表。 TCP 连接丢失,主机必须重新连接才能重新建立通信。 许多客户对此表示抱怨,因此我将ARP表增加到20, 然后是64,现在是128。R6k对此没有任何抱怨 模块,但是R3k模块比R6k多得多。但 以防万一,我将Rk6模块上的表增加到128。
除了使表变大之外,我还会看到有关修复此错误的信息。 开放连接应从ARP表中的条目中排除。

>2019年3月20日,上午10:46,s ... @ yahoo.com [rabbit-semi] 写道:
>
>当ARP表的大小从...增加到DC 10.72A / D和RCM6750时 从64到128,可执行bin文件的大小增加了52k。看来吗 对?这似乎与我不相称。
>
>我增加ARP表的原因是因为R3k模块的方式 工作。他们看到的网络上的每个设备都会添加到ARP表中, 打印机,计算机,示波器,手机等。即使模块 将永远不会与他们中的任何一个进行交流。那么当表是 满满的情况下,下一个增加了桌子上最旧的一个。最终, 模块正在与之通信的设备被推离ARP表。 TCP 连接丢失,主机必须重新连接才能重新建立通信。 许多客户对此表示抱怨,因此我将ARP表增加到20, 然后是64,现在是128。R6k对此没有任何抱怨 模块,但是R3k模块比R6k多得多。但 以防万一,我将Rk6模块上的表增加到128。
>
>说到可执行文件的大小,使用v10.72D进行编译会增加可执行文件的大小 在v10.72A上降低了2k。 DC正在杀死我。
>
> 史蒂夫
我同意,这是一个Dynamic C Bug,这是Digi问题,需要 Digi解决了开发所需的所有Dynamic C版本的问题 当前正在交付RabbitCore模块。

应当在ARP表中将打开的连接排除在老化之外。

来自:r ...
发送:2019年3月26日,星期二,7:34 AM
至:r ...
主题:回复:[兔子半] ARP表大小

除了使表变大之外,我还会看到有关修复此错误的信息。一个 开放连接应从ARP表中的条目中排除。
2019年3月20日,上午10:46,s ... @ yahoo.com [rabbit-semi] > 写道:

当ARP表大小从64增加时,将DC 10.72A / D与RCM6750配合使用 到128,可执行bin文件的大小增加了52k。看起来对吗? 这似乎与我不相称。

我增加ARP表的原因是因为R3k模块的工作方式。 他们看到的网络上的每个设备都会添加到ARP表,打印机, 计算机,示波器,移动电话等。即使该模块永远不会 与他们中的任何人交流。因此,当表已满时, 接下来的添加会碰到桌子上最老的一个...最终,设备 模块正在与之通信,将其推离ARP表。 TCP连接是 丢失,主机必须重新连接才能重新建立通信。很多 客户对此有所抱怨,所以我将ARP表增加到20,然后是64, 现在是128。R6k模块对此没有任何抱怨,但是 那么R3k模块比R6k要多得多。但以防万一,我 在Rk6模块上将表增加到128。

说到可执行文件的大小,使用v10.72D进行编译会使可执行文件的大小增加 v10.72A以上2k。 DC正在杀死我。

史蒂夫
汤姆
我刚刚看到了你的帖子。谢谢你我会试一试。
史蒂夫
来自:“汤姆·柯林斯t ... @ tomlogic.com [兔子半]
至:r ...
发送:2019年3月25日星期一4:00 PM
主题:回复:[兔子半] ARP表大小

  史蒂夫
您可能还想看看我从未合并到的提交 master:
//github.com/digidotcom/DCRabbit_10/commit/2fc3a5268ee8d8656694367b66a78463e6f1855d
我相信它可以解决您正在谈论的问题,即Rabbit 从永远不会通过的设备的广播流量中添加ARP条目 与之沟通。这是我无法改变的重大改变 经过全面测试,因此它从未发布。
您可以在RCM6750上对其进行测试,如果效果良好,则可以将其反向移植到Dynamic R 9k模块的C 9。
汤姆
在2019年3月20日上午7:46,s ... @ yahoo.com [rabbit-semi]写道:
我增加ARP表的原因是因为R3k模块的工作方式。 他们看到的网络上的每个设备都会添加到ARP表,打印机, 计算机,示波器,移动电话等。即使该模块永远不会 与他们中的任何人交流。所以发生的是,当表已满时, 下一个增加了桌子上最老的一个。最终,设备 模块正在与之通信,将其推离ARP表。 TCP连接是 丢失,主机必须重新连接才能重新建立通信。很多 客户对此有所抱怨,所以我将ARP表增加到20,然后是64, 现在是128个.R6k模块对此没有任何抱怨, 但是R3k模块比R6k多得多。但是就在 在这种情况下,我将Rk6模块上的表增加到128个。
#yiv0720018681#yiv0720018681-#yiv0720018681ygrp-mkp {border:1px solid #d8d8d8; font-family:Arial; margin:10px 0; padding:0 10px;}#yiv0720018681 #yiv0720018681ygrp-mkp hr {border:1px solid#d8d8d8;}#yiv0720018681 #yiv0720018681ygrp-mkp#yiv0720018681hd {color:#628c2a; font-size:85%; font-weight:700; line-height:122%; margin:10px 0;}#yiv0720018681#yiv0720018681ygrp-mkp#yiv0720018681ads {margin-bottom:10px;}#yiv0720018681#yiv0720018681ygrp-mkp .yiv0720018681ad {padding:0 0;}#yiv0720018681#yiv0720018681ygrp-mkp .yiv0720018681ad p {margin:0;}#yiv0720018681#yiv0720018681ygrp-mkp .yiv0720018681ad a {color:#0000ff;文本装饰:无;}#yiv0720018681#yiv0720018681ygrp-sponsor #yiv0720018681ygrp-lc {font-family:Arial;}#yiv0720018681 #yiv0720018681ygrp-sponsor#yiv0720018681ygrp-lc#yiv0720018681hd {margin:10px 0px; font-weight:700; font-size:78%; line-height:122%;}#yiv0720018681 #yiv0720018681ygrp-赞助商#yiv0720018681ygrp-lc .yiv0720018681ad {margin-bottom:10px; padding:0 0;}#yiv0720018681#yiv0720018681actions {font-family:Verdana; font-size:11px; padding:10px 0;}#yiv0720018681 #yiv0720018681活动 {background-color:#e0ecee; float:left; font-family:Verdana; font-size:10px; padding:10px;}#yiv0720018681 #yiv0720018681活动范围{font-weight:700;}#yiv0720018681 #yiv0720018681活动范围:第一个孩子 {text-transform:uppercase;}#yiv0720018681#yiv0720018681活动范围a {color:#5085b6; text-decoration:none;}#yiv0720018681#yiv0720018681活动范围 跨度{color:#ff7900;}#yiv0720018681#yiv0720018681活动跨度 .yiv0720018681下划线{text-decoration:underline;}#yiv0720018681 .yiv0720018681attach {clear:both; display:table; font-family:Arial; font-size:12px; padding:10px 0; width:400px;}#yiv0720018681 .yiv0720018681附加 div a {text-decoration:none;}#yiv0720018681 .yiv0720018681附加 img {border:none; padding-right:5px;}#yiv0720018681 .yiv0720018681附加标签 {display:block; margin-bottom:5px;}#yiv0720018681 .yiv0720018681附加标签a {text-decoration:none;}#yiv0720018681 blockquote {margin:0 0 0 4px;}#yiv0720018681 .yiv0720018681bold {font-family:Arial; font-size:13px; font-weight:700;}#yiv0720018681 .yiv0720018681bold a {text-decoration:none;}#yiv0720018681 dd.yiv0720018681last p a {font-family:Verdana; font-weight:700;}#yiv0720018681 dd.yiv0720018681last p span {margin-right:10px; font-family:Verdana; font-weight:700;}#yiv0720018681 dd.yiv0720018681last p span.yiv0720018681y快捷方式 {margin-right:0;}#yiv0720018681 div.yiv0720018681attach-table div div a {text-decoration:none;}#yiv0720018681 div.yiv0720018681附加表 {width:400px;}#yiv0720018681 div.yiv0720018681文件标题a,#yiv0720018681 div.yiv0720018681文件标题a:active,#yiv0720018681 div.yiv0720018681文件标题 a:悬停,#yiv0720018681 div.yiv0720018681文件标题a:visited {text-decoration:none;}#yiv0720018681 div.yiv0720018681照片标题a, #yiv0720018681 div.yiv0720018681照片标题A:有效,#yiv0720018681 div.yiv0720018681照片标题a:hover,#yiv0720018681 div.yiv0720018681图片标题a:已访问{text-decoration:none;}#yiv0720018681 div#yiv0720018681ygrp-mlmsg#yiv0720018681ygrp-msg p a span.yiv0720018681y快捷方式 {font-family:Verdana; font-size:10px; font-weight:normal;}#yiv0720018681 .yiv0720018681green {color:#628c2a;}#yiv0720018681 .yiv0720018681MsoNormal {margin:0 0 0 0;}#yiv0720018681 o {font-size:0;}#yiv0720018681 #yiv0720018681photos div {float:left; width:72px;}#yiv0720018681 #yiv0720018681photos div div {border:1px solid #666666;最低高度:62像素;溢出:隐藏;宽度:62像素;}#yiv0720018681 #yiv0720018681照片div标签 {color:#666666; font-size:10px; overflow:hidden; text-align:center; white-space:nowrap; width:64px;}#yiv0720018681 #yiv0720018681reco-category {font-size:77%;}#yiv0720018681 #yiv0720018681reco-desc {font-size:77%;}#yiv0720018681 .yiv0720018681replbq {margin:4px;}#yiv0720018681#yiv0720018681ygrp-actbar div a:first-child {margin-right:2px; padding-right:5px;}#yiv0720018681#yiv0720018681ygrp-mlmsg {font-size:13px; font-family:Arial,helvetica,clean,sans-serif;}#yiv0720018681 #yiv0720018681ygrp-mlmsg表{font-size:inherit; font:100%;}#yiv0720018681 #yiv0720018681ygrp-mlmsg选择,#yiv0720018681输入,#yiv0720018681 textarea {font:99%Arial,Helvetica,干净,无衬线;}#yiv0720018681 #yiv0720018681ygrp-mlmsg pre,#yiv0720018681代码{font:115% 等宽字体;}#yiv0720018681#yiv0720018681ygrp-mlmsg * {line-height:1.22em;}#yiv0720018681#yiv0720018681ygrp-mlmsg#yiv0720018681logo {padding-bottom:10px;}#yiv0720018681#yiv0720018681ygrp-msg页 {font-family:Verdana;}#yiv0720018681#yiv0720018681ygrp-msg p#yiv0720018681附加计数范围{color:#1E66AE; font-weight:700;}#yiv0720018681 #yiv0720018681ygrp-reco#yiv0720018681reco-head {color:#ff7900; font-weight:700;}#yiv0720018681#yiv0720018681ygrp-reco {margin-bottom:20px; padding:0px;}#yiv0720018681#yiv0720018681ygrp-sponsor #yiv0720018681ov li a {font-size:130%; text-decoration:none;}#yiv0720018681 #yiv0720018681ygrp-赞助商#yiv0720018681ov li {font-size:77%; list-style-type:square; padding:6px 0;}#yiv0720018681 #yiv0720018681ygrp-sponsor#yiv0720018681ov ul {margin:0; padding:0 0 0 8px;}#yiv0720018681#yiv0720018681ygrp-text {font-family:Georgia;}#yiv0720018681 #yiv0720018681ygrp-text p {margin:0 0 1em 0;}#yiv0720018681 #yiv0720018681ygrp-text tt {font-size:120%;}#yiv0720018681 #yiv0720018681ygrp-vital ul li:last-child {border-right:none !important;}#yiv0720018681
我贡献了该特定修复程序,并在我的代码中使用了几个 年份。我有一个相同的问题,即在小型网络上,ARP缓存很好,但是 一旦网络上有不止一台或两台主机,则ARP缓存为 不断搅动,几乎每个网络发送都需要ARP交易 网络才能完成。

它对我来说非常有效,并且我的网络上有一些BACnet设备 与700个或更多其他BACnet设备一起发送大量广播,并且它们可以正常工作 fine.

问候,
彼得