DFS测试_引用状态&持续缓存时间

本文探讨了DFS文件夹目标引用状态的功能及其缓存时间特性。禁用引用状态后,用户访问DFS文件夹时将不会被导向禁用的目标。此外,文章还详细解释了不同操作系统版本下客户端缓存的行为差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今晚测试了DFS的文件夹目标引用状态功能以及持续缓存时间特性,有以下结论:

1、禁用一个文件夹目标的引用状态,则用户在访问DFS文件夹时,DFS不会将用户定位到此文件夹目标,在剩下的文件夹目标选择上,依据引用排序设定的原则决定使用哪一个目标;

2、如果所有成员服务器的文件夹目标都被禁用,访问此DFS文件夹时,系统会提示用户“无法访问”,提示“找不到网络名”;

3、在客户端持续时间未到期前,当前的引用状态不会改变,如果此时禁用了所有文件夹目标,用户缓存没有更新前,其依然可以访问;

下面是微软的帮助说明:

引用是在用户访问命名空间中包含目标的命名空间根路径或文件夹时,客户端计算机从域控制器或命名空间服务器接收的目标的排序列表。客户端收到引用之后,将尝试访问列表中的第一个目标;如果该目标不可用,客户端将尝试访问下一个目标。

通过禁用文件夹目标的引用,在访问命名空间中的该文件夹时,可以禁止客户端定向到该文件夹目标。

对于未运行 WindowsXP Service Pack2 (SP2) 或 WindowsServer2003 SP1 的客户端,如果现有的缓存引用在再次访问之前已过期,缓存持续时间决定客户端计算机将请求新引用的最早时间。使用缓存引用的客户端将在每次使用该引用访问文件或文件夹时,更新引用的缓存持续时间值,因此,可以无限地使用该引用,直到清除客户端的引用缓存或重新启动客户端。

对于运行带有 SP2 的 Windows XP 或带有 SP1 的 Windows Server 2003 的客户端,此行为将有所不同。具体来说,每当客户端使用缓存引用访问目标时,缓存持续时间并不更新,而是在到达缓存持续时间值之后,引用过期。

此更改的一个优点是,运行带有 SP2 的 Windows XP 或带有 SP1 的 Windows Server 2003 的命名空间客户端,可以更快地发现对命名空间和命名空间文件夹的更改。例如,如果名为 Current 的文件夹的文件夹目标每天更改,那么没有运行带有 SP2 的 Windows XP 或带有 SP1 的 Windows Server 2003 的命名空间客户端,在它们每次访问 Current 文件夹时都将刷新持续时间值,从而造成客户端继续引用旧的文件夹目标,以致引用时间大大超过了与初始引用请求相关联的持续时间值。

void hmac_zero_dfs_nop_timeout_handle(mac_vap_stru *mac_vap, hmac_band_stru *hmac_band) { const mac_channel_stru *target_channel = NULL; const mac_channel_stru *interim_channel = NULL; mac_channel_stru radar_channel = { 0 }; uint32_t ret; if (OAL_IS_NULL_PTR2(mac_vap, hmac_band)) { OAM_ERROR_LOG0(0, OAM_SF_ZERO_DFS, "hmac_zero_dfs_nop_timeout_handle::input param is NULL"); return; } #ifdef _PRE_BOARD_SD5182H /* ont由acs决策信道切换,驱动不作处理 */ OAM_M_WARNING_LOG0(mac_vap->uc_chip_id, mac_vap->uc_vap_id, OAM_SF_MLOG, "hmac_zero_dfs_nop_timeout_handle: ONT_5182H, do nothing"); return; #endif /* 检查zero dfs特性是否开启 */ if (hmac_zero_dfs_get_mode(mac_vap) == ZERO_DFS_CLOSE) { OAM_WARNING_LOG0(mac_vap->uc_vap_id, OAM_SF_ZERO_DFS, "hmac_zero_dfs_nop_timeout_handle: zero dfs is closed"); return; } /* 若目标信道未设置,则不做处理 */ target_channel = hmac_zero_dfs_get_target_channel(hmac_band); if (target_channel->uc_chan_number == 0) { return; } /* 若已经工作在目标信道,则不做处理 */ if (mac_vap->st_channel.uc_chan_number == target_channel->uc_chan_number && mac_vap->st_channel.en_bandwidth == target_channel->en_bandwidth) { return; } /* 若超时信道在目标信道所覆盖的雷达信道内,则尝试进行cac */ hmac_zero_dfs_get_radar_covered_channel(target_channel, hmac_band, &radar_channel); if (hmac_zero_dfs_nop_timeout_check_need_cac(hmac_band, &radar_channel) == OAL_TRUE) { ret = hmac_zero_dfs_try_cac(mac_vap, &radar_channel, SCAN_FLAG_TARGET, 0); if (ret != OAL_SUCC) { OAM_M_WARNING_LOG0(mac_vap->uc_chip_id, mac_vap->uc_vap_id, OAM_SF_ZERO_DFS, "hmac_zero_dfs_nop_timeout_handle: try target_channel cac failed"); } return; } /* 若过渡信道未设置,则不做处理 */ interim_channel = hmac_zero_dfs_get_interim_channel(hmac_band); if (interim_channel->uc_chan_number == 0) { return; } /* 若超时信道在过渡信道所覆盖的雷达信道内,则尝试进行cac */ hmac_zero_dfs_get_radar_covered_channel(interim_channel, hmac_band, &radar_channel); if (hmac_zero_dfs_nop_timeout_check_need_cac(hmac_band, &radar_channel) == OAL_TRUE) { ret = hmac_zero_dfs_try_cac(mac_vap, &radar_channel, SCAN_FLAG_INTERIM, 0); if (ret != OAL_SUCC) { OAM_M_WARNING_LOG0(mac_vap->uc_chip_id, mac_vap->uc_vap_id, OAM_SF_ZERO_DFS, "hmac_zero_dfs_nop_timeout_handle: try interim_channel cac failed"); } return; } }
最新发布
08-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值