JavaScript is required to for searching.
跳过导航链接
退出打印视图
在 Oracle Solaris 11.1 中管理服务位置协议服务     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  SLP(概述)

2.  规划和启用 SLP(任务)

3.  管理 SLP(任务)

配置 SLP 属性

SLP 配置文件:基本元素

配置属性

注释行和表示法

如何更改 SLP 配置

修改 DA 通告和搜索频率

将 UA 和 SA 限制为静态配置的 DA

如何将 UA 和 SA 限制为静态配置的 DA

为拨号网络配置 DA 搜索

如何为拨号网络配置 DA 搜索

为常用分区配置 DA 心跳

如何为常用分区配置 DA 心跳

减轻网络拥塞

适应不同的网络介质、拓扑结构或配置

减少 SA 重新注册

如何减少 SA 重新注册

配置多播生存时间属性

如何配置多播生存时间属性

配置包大小

如何配置包大小

配置仅限广播路由

如何配置仅限广播路由

修改 SLP 搜索请求的超时

更改缺省超时

如何更改缺省超时

配置随机等待界限

如何配置随机等待界限

部署范围

何时配置范围

配置范围时的注意事项

如何配置范围

部署 DA

部署 SLP DA 的原因?

何时部署 DA

如何部署 DA

放置 DA 的位置

为平衡负载而放置多个 DA

SLP 和多宿主

用于 SLP 的多宿主配置

何时配置非路由的多个网络接口

配置非路由的多个网络接口(任务列表)

配置 net.slp.interfaces 属性

如何配置 net.slp.interfaces 属性

多宿主主机上的代理通告

DA 放置和范围名称指定

配置非路由的多个网络接口时的注意事项

4.  引入传统服务

5.  SLP(参考信息)

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

SLP 和多宿主

多宿主服务器在多个 IP 子网中用作主机。该服务器有时可以有多个网络接口卡,并可用作路由器。包括多播包在内的 IP 包将在接口之间进行路由。在有些情况下,会禁用接口之间的路由。以下各节介绍如何为此类情况配置 SLP。

用于 SLP 的多宿主配置

无需进行任何配置,slpd 便可侦听缺省网络接口上的多播和 UDP/TCP 单播。如果在多宿主计算机的接口之间启用了单播和多播路由,则无需进行额外配置。这是因为到达另一接口的多播包正确路由至缺省接口。因此,对 DA 或其他服务通告的多播请求将到达 slpd。如果由于某种原因未打开路由,则需要进行配置。

何时配置非路由的多个网络接口

如果下面的任何一个条件存在,都可能需要配置多宿主计算机。

接口之间的多播路由被禁用时,通常是因为网络中尚未部署多播。在此情况下,广播通常用于不基于 DA 的服务搜索和个别子网上的 DA 搜索。通过将 net.slp.isBroadcastOnly 属性设置为 True 来配置广播。

配置非路由的多个网络接口(任务列表)

表 3-5 配置非路由的多个网络接口

任务
说明
参考
配置 net.slp.interfaces 属性
设置此属性,以使 slpd 侦听指定接口上的单播和多播/广播 SLP 请求。
安排代理服务通告,以使子网上的 UA 获得具有可访问地址的服务 URL 
将代理通告限定到正在运行 slpd 且与单个子网而非多宿主主机连接的计算机。
放置 DA 并配置范围,以确保 UA 和 SA 之间的可访问性
在具有一个接口主机名或地址的多宿主主机上配置 net.slp.interfaces 属性。

在多宿主主机上运行 DA 但配置范围,以使每个子网上的 SA 和 UA 使用不同的主机。

配置 net.slp.interfaces 属性

如果设置了 net.slp.interfaces 属性,slpd 将侦听该属性所列接口而非缺省接口上的单播和多播/广播 SLP 请求。

通常,设置 net.slp.interfaces 属性时会同时通过设置 net.slp.isBroadcastOnly 属性来启用广播,原因是网络中尚未部署多播。但是,如果已经部署多播,而多播未在此特定多宿主主机上路由,则多播请求可从多个接口到达 slpd。当包的路由由与子网(接口为这些子网提供服务)连接的另一台多宿主主机或路由器处理时,会出现这种情况。

出现此类情况时,发送请求的 SA 服务器或 UA 将收到来自多宿主主机上的 slpd 的两个响应。然后,客户机库对响应进行过滤,客户机将看不到这些响应。但这些响应在 snoop 跟踪中可见。


注 -

如果关闭单播路由,则所有子网都无法访问多宿主主机上的 SA 客户机通告的服务。如果这些服务无法访问,SA 客户机可以执行以下操作:


SA 客户机库不执行任何操作来确保对可访问的 URL 进行通告。服务计划(它可能处理也可能不处理无路由的多宿主主机)将负责确保对可访问的 URL 进行通告。

在禁用单播路由的多宿主主机上部署服务之前,请使用 snoop 来确定服务是否可以正确处理来自多个子网的请求。此外,如果计划在多宿主主机上部署 DA,请参见DA 放置和范围名称指定

如何配置 net.slp.interfaces 属性

使用以下过程在 slp.conf 文件中更改 net.slp.interfaces 属性。

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 停止 slpd 和主机上的所有 SLP 活动。
    # svcadm disable network/slp
  3. 在更改配置设置之前,先备份缺省的 /etc/inet/slp.conf 文件。
  4. slpd.conf 文件中更改 net.slp.interfaces 属性:
    net.slp.interfaces=value
    value

    网络接口卡的 IPv4 地址或主机名的列表,DA 或 SA 应在该网络接口卡上侦听端口 427 上的多播、单播 UDP 和 TCP 消息

    例如,具有三个网络接口卡和已关闭多播路由的服务器将连接至三个子网。这三个网络接口的 IP 地址为 192.147.142.42192.147.143.42192.147.144.42。子网掩码为 255.255.255.0。以下属性设置将使 slpd 侦听所有三个接口上的单播和多播/广播消息:

    net.slp.interfaces=192.147.142.42,192.147.143.42,192.147.144.42

    注 - 可以为 net.slp.interfaces 属性指定 IP 地址或可解析的主机名。


  5. 保存更改并关闭文件。
  6. 重新启动 slpd 以激活更改。
    # svcadm enable network/slp

多宿主主机上的代理通告

如果具有多个接口的主机通过使用 slpd 和代理注册来通告服务,slpd 通告的服务 URL 必须包含可访问的主机名或地址。如果在接口之间启用单播路由,则所有子网上的主机都可以访问其他子网上的主机。还可以对任何子网上的服务进行代理注册。但是,如果已禁用单播路由,则一个子网上的服务客户机将无法通过多宿主主机来访问另一子网上的服务。但是,那些客户机也许可以通过另一个路由器来访问服务。

例如,假设缺省主机名为 bigguy 的主机在三个不同的非路由子网上有三个接口卡。这些子网上的主机名分别是 bigguy(IP 地址是 192.147.142.42)、bigguy1(IP 地址是 192.147.143.42)以及 bigguy2(IP 地址是 192.147.144.42)。现在,假设传统打印机 oldprinter 连接至 143 子网,并且用 net.slp.interfaces 将 URL service:printing:lpr://oldprinter/queue1 配置为侦听所有接口。oldprinter URL 在所有接口上都通告代理。142144 子网中的计算机将接收 URL 以响应服务请求,但无法访问 oldprinter 服务。

对此问题的解决方案是用只与 143 子网连接的计算机(而非多宿主主机)上运行的 slpd 来执行代理通告。只有 143 子网上的主机可以获得通告,以作为对服务请求的响应。

DA 放置和范围名称指定

为了确保客户机获得可访问的服务,在具有多宿主主机的网络中放置 DA 和指定范围名称时必须格外谨慎。当禁用了路由且配置了 net.slp.interfaces 属性时,要特别小心。此外,如果在多宿主计算机的接口之间启用了单播路由,则不需要进行任何特殊的 DA 和范围配置。将以从任何子网中都可访问的 DA 标识服务对通告进行高速缓存。但是,如果禁用了单播路由,则不合适的 DA 放置将产生问题。

要确定上一个示例会导致什么问题,请考虑 bigguy 运行 DA 并且所有子网中的客户机都具有相同范围时可能出现的情况。143 子网中的 SA 将向 DA 注册其服务通告。即使 143 子网中的主机无法访问,144 子网上的 UA 也可以获得这些服务通告。

此问题的一个解决方案是在每个子网而非多宿主主机上运行 DA。在此情况下,多宿主主机上的 net.slp.interfaces 属性应配置一个接口主机名或地址,或者应将其保留为不配置,从而强制使用缺省接口。此解决方案的一个缺点是,多宿主主机通常是可以更好处理 DA 的计算负载的大型计算机。

另一个解决方案是在多宿主主机上运行 DA 但配置范围,以使每个子网上的 SA 和 UA 具有不同范围。例如,在前面的情况下,142 子网上的 UA 和 SA 可能具有一个名为 scope142 的范围。143 子网上的 UA 和 SA 可能具有名为 scope143 的另一个范围,而 144 子网上的 UA 和 SA 可能具有名为 scope144 的第三个范围。可在具有三个接口的 bigguy 中配置 net.slp.interfaces 属性,以使 DA 对这三个子网中的三个范围提供服务。

配置非路由的多个网络接口时的注意事项

配置 net.slp.interfaces 属性可使多宿主主机上的 DA 在子网之间桥接服务通告。如果网络中关闭了多播路由,但在多宿主主机的接口之间启用了单播路由,此类配置将很有用。由于单播在接口之间进行路由,因此服务所在子网之外的子网中的主机可在收到服务 URL 时联系服务。没有 DA 时,特定子网上的 SA 服务器只能接收同一子网上的广播,因此,它们无法找到其子网之外的服务。

必须配置 net.slp.interfaces 属性的最常见情形是网络中未部署多播而改用广播时。在其他情况下,需要慎重地考虑和规划,以避免不必要的重复响应或无法访问的服务。