跳过导航链接 | |
退出打印视图 | |
![]() |
在 Oracle Solaris 11.1 中管理服务位置协议服务 Oracle Solaris 11.1 Information Library (简体中文) |
本节介绍 DA 在运行 SLP 的网络中的战略部署。
只需具有基本代理(UA 和 SA),无需部署 DA 或配置范围,SLP 便可正常运行。缺少特定配置的所有代理都使用 default 范围。DA 用作服务通告的高速缓存。部署 DA 会减少在网络中发送的消息数,并可缩短接收消息响应所需的时间。此功能使 SLP 可以适应更大型的网络。
部署 DA 的主要原因是减小多播流量和缩短与收集单播应答有关的延迟。在具有许多 UA 和 SA 的大型网络中,服务搜索所涉及的多播流量可能会很大,从而导致网络性能下降。通过部署一个或多个 DA,UA 必须为服务向 DA 进行单播,并且 SA 必须使用单播向 DA 注册。网络中唯一向 DA 进行注册的 SLP 多播是用于主动和被动 DA 搜索的。
SA 会自动向其在一组通用范围内搜索到的任何 DA 进行注册,而不是接受多播服务请求。但是,在 DA 不支持的范围内的多播请求仍然直接由 SA 来应答。
在 UA 的范围内部署 DA 时,来自 UA 的服务请求将单播至 DA,而非多播至网络。因此,UA 范围中的 DA 将减少多播。通过减少用于正常 UA 请求的多播,可以大大减少获得查询应答所需的时间(从若干秒减少到若干毫秒)。
DA 用作 SA 和 UA 活动的焦点。为范围集合部署一个或多个 DA 可提供用于监视 SLP 活动的集中点。打开 DA 日志记录比从网络中分散的多个 SA 中检查日志更容易监视注册和请求。根据平衡负载的需要,可以为特定的一个或多个范围部署任意数量的 DA。
在未启用多播路由的网络中,可以将 SLP 配置为使用广播。但广播的效率很低,因为它需要每台主机都处理消息。广播还无法在路由器间正常传播。因此,在没有多播路由支持的网络中,只能在同一子网中搜索服务。对多播路由的部分支持会导致在网络中搜索服务的能力不一致。多播消息用于搜索 DA。因此,对多播路由的不完全支持暗示了 UA 和 SA 向 SA 范围内的所有已知 DA 注册服务。例如,如果一个 UA 查询名为 DA1 的 DA,而 SA 已向 DA2 注册了服务,则 UA 将无法搜索服务。有关如何在未启用多播的网络中部署 SLP 的更多信息,请参见配置仅限广播路由。
在站点范围内对多播路由的支持不一致的网络中,必须使用 net.slp.DAAdresseses 属性以一致的 DA 位置列表配置 SLP UA 和 SA。
最后,SLPv2 DA 支持与 SLPv1 的互操作性。缺省情况下,DA 中会启用 SLPv1 互操作性。如果您的网络包含打印机等 SLPv1 设备或者需要与 Novell Netware 5(它将 SLPv1 用于服务搜索)进行互操作,则应部署 DA。如果没有 DA,Oracle Solaris SLP UA 将找不到 SLPv1 通告的服务。
如果以下任何条件成立,则请在您的企业中部署 DA:
按 snoop 的度量,多播 SLP 流量超过网络带宽的 1%。
UA 客户端在多播服务请求期间经历较长时间的延迟或超时。
您要集中监视一个或多个主机上的特定范围内的 SLP 服务通告。
您的网络未启用多播,并且由必须共享服务的多个子网构成。
网络所使用的设备支持 SLP (SLPv1) 的早期版本,或者您希望 SLP 服务搜索与 Novell Netware 5 进行交互操作。
使用以下过程在 slp.conf 文件中将 net.slp.isDA 属性设置为 True。
注 - 只能为每个主机指定一个 DA。
# svcadm disable network/slp
net.slp.isDA=True
# svcadm enable network/slp
本节针对不同的情况对放置 DA 的位置提供了建议。
当未启用多播路由并且需要 DA 在子网之间桥接服务搜索时
在此情况下,必须在有多个接口并与共享服务的所有子网相连的主机上放置 DA。除非 IP 包不在这些接口间路由,否则无需设置 net.slp.interfaces 配置属性。有关配置 net.slp.interfaces 属性的更多信息,请参见用于 SLP 的多宿主配置。
当为改善可伸缩性而部署 DA 并且主要考虑的是优化代理访问时
UA 通常会向 DA 发出许多服务请求。一个 SA 向 DA 注册一次,并且以固定但不频繁的间隔刷新通告。因此,UA 对 DA 的访问要比 SA 访问频繁得多。而且,服务通告数通常小于请求数。因此,如果针对 UA 访问优化部署,则大多数 DA 部署的效率都会提高。
设置 DA 使其拓扑结构与网络中的 UA 接近,从而优化 UA 访问
毫无疑问,必须用 UA 和 SA 客户机共享的范围来配置 DA。
作为一种负载平衡的方法,可为同一范围集合部署多个 DA。可在下列任一情况下部署 DA:
可以运行 SLP 通信流量的 snoop 跟踪,以确定多少 UA 请求返回 DA_BUSY_NOW 错误。如果返回的 UA 请求数很高,则在物理和拓扑结构上远离 DA 的建筑内的 UA 可能响应很慢,或者出现过多超时现象。在此情况下,可在每个建筑内都部署一个 DA,以改善对该建筑内的 UA 客户机的响应。
连接建筑的链接通常比建筑内的局域网慢。如果您的网络跨越多个建筑或物理站点,请在 /etc/inet/slp.conf 文件中将 net.slp.DAAddresses 属性设置为特定主机名或地址的列表,以使 UA 只访问您指定的 DA。
如果特定 DA 在服务注册中使用大量主机内存,则可通过减少 DA 支持的范围数来减少 SA 注册数。可将该范围分割为具有多个注册的两个范围。然后通过在另一主机上部署另一个 DA 来支持其中一个新范围。