SLP:服务定位协议

1/23/2008来源:网络协议人气:5426

SLP:Service Location PRotocol

  服务定位协议(SLP)为网络服务的发现和选择提供一种可扩展构架。通过此协议,使用 Internet 服务的计算机不再需要那么多为网络应用程序服务的静态配置。这对于便携式电脑或性急的或无法满足网络系统治理需求的用户来说尤其重要。

  习惯上,用户使用网络主机名(可读的文本字符串),也称为网络地址的别名找到服务。 SLP 使得用户不再需要通过获取网络主机名得到支持服务,用户为服务命名并提供属性集。 SLP 答应用户将这些描述捆绑到服务的网络地址上。

  SLP 为局域网的应用程序提供了一种动态配置机制,但它不是整个互联网的全球网络方案系统,而只是服务于提供共享服务的企业网络。作为客户机模型的应用程序需要发现企业网络中远端的服务器,而对于拥有很多不同可用服务、客户机的系统,采纳此协议可以充分利用邻近目录代理为发布的服务提供集中存储点。

  SLP 中的基本操作是客户机试图发现服务的位置。在小型系统中,每个服务被配置为独立响应每个客户机;而在大型系统中,每个服务都会在一个甚至更多的目录代理中进行登记,客户机连接目录代理完成服务定位请求。这与 URL 规范类似,并且它充分利用了 URL 技术方案。


协议结构
  服务定位协议消息头:
8 16 32bit Version Function Length O M U A F rsvd Dialect Language Code Char encoding XID

Version:当前使用第1版。

Function:功能字段,主要描述服务分配数据报操作。以下是一些信息类型:
Function Value Message Type Abbreviation 1 Service Request SrvReq 2 Service Reply SrvRply 3 Service Registration SrvReg 4 Service Deregister SrvDereg 5 Service Acknowledge SrvAck 6 Attribute Request AttrRgst 7 Attribute Reply AttrRply 8 DA Advertisement DAADvert 9 Service Type Request SrvTypeRqst 10 Service Type Reply SrvTypeRply
  • Length:信息(包括服务分配协议头)字节长;
  • O:溢出位;
  • M:单语位;
  • U:当前RL 认证位;
  • A:当前属性认证位;
  • F:假如 F 位设置为服务确认,表示目录代理已注册最新登录服务。
  • Rsvd:预留这些位并设置值为0;
  • Dialect:由以后的 SLP 版本使用且必须设置为0;
  • Language Code:在该字段的编码预言,表示剩余信息应该使用的编译语言种类;
  • Character Encoding:剩余信息中构成串的字符可以采用任意标准化编码方式;
  • XID:事务标识符。答应与个人请求相匹配的答复。

在 RFC2165 中定义