Service Location Protocol
Service Location Protocol![]() |
Service Location Protocol(SLP, srvloc)은 컴퓨터 및 기타 장치가 사전 구성 없이 로컬 영역 네트워크에서 서비스를 찾을 수 있도록 하는 서비스 검색 프로토콜입니다.SLP는 소규모 관리 대상 외 네트워크에서 대규모 엔터프라이즈 네트워크로 확장할 수 있도록 설계되었습니다.RFC 2608 및 RFC 3224에서 표준 추적 문서로 정의되어 있습니다.
개요
SLP는 로컬네트워크상의 서비스를 방송하기 위해서 디바이스에 의해서 사용됩니다.각 서비스에는 서비스를 찾기 위해 사용되는 URL이 있어야 합니다.또한 Attribute라고 불리는 이름/값 쌍의 수에 제한이 없습니다.각 디바이스는 항상1개 또는 여러 범위 내에 있어야 합니다.스코프는 단순한 문자열로 다른 시스템의 네트워크 네이버와 동등한 서비스를 그룹화하기 위해 사용됩니다.디바이스는 다른 범위의 서비스를 볼 수 없습니다.
프린터의 URL은 다음과 같습니다.
서비스: lpr://myprinter/myqueue
이 URL은, 호스트명이 「myprinter」인 프린터의 「myqueue」라고 불리는 큐를 나타냅니다.프린터가 사용하는 프로토콜은 LPR입니다.프린터에서는, 특별한 URL 스킴 「service:」가 사용되고 있는 것에 주의해 주세요.「service:」URL은 필수가 아닙니다.URL 스킴은 사용할 수 있지만, 사용하는 프로토콜에 관계없이, 같은 타입의 서비스(예를 들면 모든 프린터)를 모두 검색할 수 있습니다."service:" URL 유형의 첫 번째 3개의 컴포넌트("service:printer:lpr")는 서비스 유형이라고도 합니다.처음 2개의 컴포넌트("service:printer")는 추상 서비스 유형이라고 불립니다."service:" 이외의 URL에서는 스키마 이름이 서비스 유형입니다(예를 들어 "http://www.wikipedia.org"의 "displayed").
프린터의 속성은 다음과 같습니다.
(printer-name=Printer), (printer-natural-language-configured=en-us), (printer-location=)홈 오피스에서) (vari-color-format-supported=application/postscript), (vari-color-supported=false), (vari-color-supported=deflate, gzip)
이 예에서는 SLP 속성에 표준 구문을 사용하고 있습니다.가독성을 향상시키기 위해 새로운 행만 추가되었습니다.
"service:" URL의 정의와 URL에 허용된 속성은 서비스 템플릿, URL 구문 및 Atribute의 정식 설명으로 지정됩니다.서비스 템플릿은 RFC 2609에 정의되어 있습니다.
SLP를 사용하면 여러 쿼리 유형을 사용하여 서비스를 검색하고 서비스에 대한 정보를 얻을 수 있습니다.
- 동일한 서비스 유형 또는 추상 서비스 유형의 모든 서비스를 검색할 수 있습니다.
- 조회는 LDAP 쿼리 언어를 사용하여 속성에 대한 조회와 결합할 수 있습니다.
- URL 을 지정하면, 서비스의 어트리뷰트를 요구할 수 있습니다.표준 SLP에서는 Atribut은 쿼리 결과에서 반환되지 않으므로 개별적으로 가져와야 합니다.Attribut List Extension(RFC 3059)에 의해 이 문제가 해결됩니다.
- 모든 서비스 유형의 목록을 얻을 수 있습니다.
- 기존의 모든 스코프의 리스트를 요구할 수 있습니다.
역할
SLP에는 디바이스의 3가지 역할이 있습니다.디바이스는 동시에 2개 또는 3개의 역할을 모두 가질 수도 있습니다.
- User Agent(UA; 사용자 에이전트)는 서비스를 검색하는 디바이스입니다.
- Service Agent(SA; 서비스 에이전트)는 1개 이상의 서비스를 방송하는 디바이스입니다.
- 디렉토리 에이전트(DA)는 서비스 정보를 캐시하는 장치입니다.트래픽량을 줄이고 SLP를 확장할 수 있도록 하기 위해 대규모 네트워크에서 사용됩니다.네트워크에 DA가 존재하는 것은 옵션이지만 DA가 존재하는 경우 UA와 SA는 직접 통신하는 대신 DA를 사용해야 합니다.
현재 대부분의 구현은 UA와 SA의 역할을 모두 수행할 수 있는 데몬입니다.통상, DA 가 되도록 설정할 수도 있습니다.
네트워크 프로토콜
SLP는 패킷 지향 프로토콜입니다.대부분의 패킷은 UDP 를 사용해 송신되지만, TCP 는 보다 긴 패킷의 송신에도 사용할 수 있습니다.UDP의 신뢰성이 낮기 때문에 SLP는 응답이 수신될 때까지 모든 멀티캐스트를 간격을 늘려 여러 번 반복합니다.모든 디바이스는 포트 427에서 UDP 패킷을 수신해야 합니다.SA 및 DA도 같은 포트로 TCP를 수신해야 합니다.멀티캐스팅은 SLP, 특히 네트워크에 가입하여 다른 디바이스를 찾아야 하는 디바이스에 의해 광범위하게 사용됩니다.
SLP 의 동작은, Directory Agent(DA; 디렉토리 에이전트)가 네트워크내에 있는지 아닌지에 따라 크게 다릅니다.클라이언트는 네트워크에 처음 가입하면 네트워크상의 DA에 대한 쿼리를 멀티캐스트합니다.DA가 응답하지 않으면 DA가 없는 네트워크에 있는 것으로 간주됩니다.DA는 다른 모든 장치에서 수신되는 미리 정의된 간격으로 '하트비트' 패킷을 멀티캐스트하기 때문에 나중에 추가할 수도 있습니다.SA가 DA를 검출하면 모든 서비스를 DA에 등록해야 합니다.서비스가 사라지면 SA는 DA에 통지하고 등록을 취소해야 합니다.
DA가 없는 네트워크에서 쿼리를 전송하기 위해 UA는 쿼리를 포함하는 멀티캐스트 UDP 패킷을 전송합니다.일치를 포함한 모든 SA는 UA에 UDP 응답을 전송합니다.응답이 너무 커서 단일 UDP 패킷에 들어갈 수 없는 경우 패킷은 "오버플로운"으로 표시되며 UA는 TCP를 사용하여 SA에 쿼리를 직접 전송할 수 있습니다.이 경우 임의의 크기의 패킷을 전송할 수 있습니다.
DA가 있는 네트워크에서 쿼리를 전송하기 위해 UA는 UDP 또는 TCP를 사용하여 쿼리 패킷을 DA로 전송합니다.모든 SA는 모든 서비스를 DA에 등록해야 하므로 DA는 요청을 완전히 이행할 수 있으며 결과를 UA로 반송하기만 하면 됩니다.
보안.
SLP에는 공개키 암호 기반의 보안 메커니즘이 포함되어 있어 서비스 안내방송에 서명할 수 있습니다.실제로는 거의 사용되지 않습니다.
- 모든 서비스 공급자의 공용 키는 모든 UA에 설치해야 합니다.이 요건은 SLP의 본래 목적에 어긋나 사전 설정 없이 서비스를 찾을 수 있습니다.
- 서비스만 보호하는 것만으로는 충분하지 않습니다.서비스 URL에는 호스트 이름 또는 IP 주소가 포함되어 있으며 로컬 네트워크에서는 IP 또는 DNS 스푸핑을 방지하는 것이 거의 불가능합니다.따라서 어떤 디바이스가 주소에 응답할 수 있는 경우 URL의 신뢰성을 보증하는 것만으로는 충분하지 않습니다.
- 주소를 스푸핑할 수 있기 때문에 장치의 신뢰성은 애플리케이션 프로토콜(예: SSL) 또는 패킷 계층(IPSec)에서 다른 수준에서 증명되어야 합니다.SLP에서 추가 실행해도 보안은 크게 향상되지 않습니다.
도입
- SLP는 프린터의 위치에 자주 사용되며 CUPS 등의 인쇄 시스템에서 지원됩니다.
- SLP는 LAN 대응 프린터에서 많이 볼 수 있기 때문에 개봉 후 바로 검출할 수 있습니다.클라이언트 인쇄 드라이버에 따라서는, 프린터 검출에 사용할 수 있습니다.
- 엔터테인먼트 제어를 위해 개발된 프로토콜인 ACN은 SLP를 사용하여 조광기나 지능형 조명과 같은 다양한 장치를 찾습니다.
- 기존 Mac OS 및 버전 10.1까지의 Mac OS X에서는 SLP를 사용하여 파일 공유 및 기타 서비스를 검색했습니다.단, Mac OS X(버전 10.2 이후)에서 도입된 기능에서는 Zeroconf를 사용합니다.
- 순수 IP 환경의 Netware Core Protocol(NCP) 클라이언트는 SLP를 사용하여 Novell NetWare 및 Novell Open Enterprise Server(OES) 서버를 찾습니다.
- SUSE Linux는 버전 9.1 이후 다양한 서비스에 대해 SLP를 지원합니다.
- Sun Microsystems는 SA,[1] UA 및 DA 기능을 포함한 SLPv1 및 SLPv2를 지원합니다.
- 분산 관리 태스크 포스는 SLP를 통한 WBEM 서비스 검색을 표준화했습니다.
- Storage Networking Industry Association(스토리지 네트워킹 산업 협회)은 Storage Management Initiative - Specification(스토리지 관리 이니셔티브 - 사양)의 서비스 발견에 SLP 사용을 의무화했습니다.
「 」를 참조해 주세요.
- 아바히
- 봉쥬르
- Dynamic Host Configuration Protocol
- 지니
- 링크 로컬 멀티캐스트 이름 해결
- OSGi 얼라이언스
- 유니버설 플러그 앤 플레이(UPnP)
- WS-Discovery
- 제로 구성 네트워킹(Zeroconf)
레퍼런스
- ^ Service Location Protocol Administration Guide (PDF), Sun Microsystems, February 2000, retrieved 2010-08-19
- 실비아 하겐, 팟북스Com LLC, ISBN 1-8939-35-9
- 제임스 켐프, 로버트 세인트 피에르, 피트 가 Pierre: Service Location Protocol for Enterprise Networks: Implementing and Deploying a Dynamic Service Finder, John Wiley & Sons, ISBN 0-471-31587-7
- Golden G. Richard: , McGrow-Hill Professional, ISBN 0-07-137959-2
- Johan Hjelm: Creating Location Services for the Wireless Web, John Wiley & Sons, ISBN 0-471-40261-3
- Anna Hac: Mobile Telecommunications Protocols for Data Networks, John Wiley & Sons, ISBN 0-470-85056-6
외부 링크
- LiveTribe SLP/OSGi 모듈
- Service Location Protocol 프로젝트
- Service Location Protocol 확장 기능
- OpenSLP
- jSLP - 순수 Java SLP 구현.
- SBLIM CIM Client for Java - Java 에서의 RFC 2614 준거 SLP 실장이 포함되어 있습니다.
- Service Discovery Protocols 비교 및 Service Location Protocol 구현
- https://web.archive.org/web/20050312060250/http://www.ietf.org/html.charters/svrloc-charter.html - SLP 표준을 작성한IETF SRVLOC 작업 그룹
- DMTF에 의한 SLP를 사용한WBEM 검출
- DMTF에 의한 WBEM SLP 템플릿
- Service Location Protocol을 통한 클라이언트 관리 자동화 M의 developerWorks 기사.팀 존스