อ่าน 3 นาที
โปรโตคอลตำแหน่งบริการ
โปรโตคอล ค้นหา ตำแหน่งบริการ ( SLP , srvloc ) เป็น โปรโตคอลค้นหาบริการ ที่ช่วยให้คอมพิวเตอร์และอุปกรณ์อื่นๆ สามารถค้นหาบริการใน เครือข่ายท้องถิ่น ได้โดยไม่ต้องตั้งค่าล่วงหน้า SLP...
โปรโตคอลตำแหน่งบริการ
โปรโตคอล ค้นหา ตำแหน่งบริการ ( SLP , srvloc ) เป็นโปรโตคอลค้นหาบริการที่ช่วยให้คอมพิวเตอร์และอุปกรณ์อื่นๆ สามารถค้นหาบริการในเครือข่ายท้องถิ่นได้โดยไม่ต้องตั้งค่าล่วงหน้า SLP ได้รับการออกแบบให้สามารถใช้งานได้ตั้งแต่เครือข่ายขนาดเล็กที่ไม่ได้รับการจัดการไปจนถึงเครือข่ายองค์กรขนาดใหญ่ และได้รับการกำหนดไว้ใน RFC 2608 และ RFC 3224 ในฐานะเอกสาร มาตรฐาน
ภาพรวม
SLP (Service Level Platform) ถูกใช้โดยอุปกรณ์ต่างๆ เพื่อประกาศบริการบนเครือข่ายท้องถิ่น บริการแต่ละอย่างต้องมีURLที่ใช้ในการค้นหาบริการนั้น นอกจากนี้ ยังสามารถมีคู่ชื่อ/ค่าได้ไม่จำกัดจำนวน เรียกว่าแอตทริบิวต์ อุปกรณ์แต่ละตัวต้องอยู่ใน ขอบเขตอย่างน้อยหนึ่งขอบเขตเสมอขอบเขตเป็นเพียงสตริงและใช้ในการจัดกลุ่มบริการ เทียบได้กับเครือข่ายใกล้เคียงในระบบอื่นๆ อุปกรณ์ไม่สามารถมองเห็นบริการที่อยู่ในขอบเขตที่แตกต่างกันได้
URL ของเครื่องพิมพ์อาจมีลักษณะดังนี้:
บริการ:เครื่องพิมพ์:lpr://myprinter/myqueue
URL นี้อธิบายถึงคิวที่ชื่อว่า "myqueue" บนเครื่องพิมพ์ที่มีชื่อโฮสต์ว่า "myprinter" โปรโตคอลที่เครื่องพิมพ์ใช้คือLPRโปรดทราบว่าเครื่องพิมพ์ใช้รูปแบบ URL พิเศษ "service:" URL ที่มี "service:" ไม่จำเป็นต้องใช้: สามารถใช้รูปแบบ URL ใดก็ได้ แต่รูปแบบนี้ช่วยให้คุณค้นหาบริการทั้งหมดที่มีประเภทเดียวกัน (เช่น เครื่องพิมพ์ทั้งหมด) โดยไม่คำนึงถึงโปรโตคอลที่ใช้ ส่วนประกอบสามส่วนแรกของ URL ประเภท "service:" ("service:printer:lpr") เรียกว่าประเภทบริการส่วนประกอบสองส่วนแรก ("service:printer") เรียกว่าประเภทบริการนามธรรมใน URL ที่ไม่มี "service:" ชื่อรูปแบบจะเป็นประเภทบริการ (ตัวอย่างเช่น "http" ใน " http://www.wikipedia.org ")
คุณลักษณะของเครื่องพิมพ์อาจมีลักษณะดังนี้:
(ชื่อเครื่องพิมพ์=ฮิวโก้) (การตั้งค่าเครื่องพิมพ์ภาษาธรรมชาติเป็น en-us) (ตำแหน่งเครื่องพิมพ์ = ในห้องทำงานที่บ้านของฉัน) (รูปแบบเอกสารเครื่องพิมพ์ที่รองรับ = แอปพลิเคชัน/โพสต์สคริปต์) (printer-color-supported=false) (รองรับการบีบอัดสำหรับเครื่องพิมพ์ = deflate, gzip)
ตัวอย่างนี้ใช้ไวยากรณ์มาตรฐานสำหรับแอตทริบิวต์ใน SLP โดยมีการเพิ่มบรรทัดใหม่เพื่อปรับปรุงความอ่านง่ายเท่านั้น
นิยามของ "บริการ" คือ URL และแอตทริบิวต์ที่อนุญาตสำหรับ URL นั้นถูกกำหนดโดยเทมเพลตบริการซึ่งเป็นคำอธิบายที่เป็นทางการของไวยากรณ์ URL และแอตทริบิวต์ เทมเพลตบริการถูกกำหนดไว้ใน RFC 2609
SLP อนุญาตให้ใช้รูปแบบการค้นหาหลายประเภทเพื่อค้นหาบริการและรับข้อมูลเกี่ยวกับบริการเหล่านั้น:
- สามารถค้นหาบริการทั้งหมดที่มีประเภทบริการเดียวกันหรือประเภทบริการนามธรรมเดียวกันได้
- สามารถรวมการสอบถามนี้เข้ากับการสอบถามคุณลักษณะโดยใช้ภาษาการสอบถามของLDAP ได้
- เมื่อทราบ URL แล้ว เราสามารถขอข้อมูลคุณลักษณะของบริการได้ ใน SLP มาตรฐาน ข้อมูลคุณลักษณะจะไม่ถูกส่งคืนในผลลัพธ์การค้นหา และต้องดึงข้อมูลแยกต่างหาก ส่วนขยายรายการคุณลักษณะ (RFC 3059) แก้ไขปัญหานี้ได้
- สามารถขอรับรายชื่อประเภทบริการทั้งหมดได้
- สามารถขอรายชื่อขอบเขตงานที่มีอยู่ทั้งหมดได้
บทบาท
นักบำบัดการพูดและภาษา (SLP) ระบุว่าอุปกรณ์ต่างๆ มีบทบาทที่แตกต่างกันสามอย่าง อุปกรณ์หนึ่งๆ อาจมีบทบาทสองหรือสามอย่างพร้อมกันก็ได้
- User Agent (UA) คืออุปกรณ์ที่ใช้ค้นหาบริการต่างๆ
- ตัวแทนบริการ (Service Agents หรือ SA) คืออุปกรณ์ที่ประกาศบริการอย่างน้อยหนึ่งบริการ
- ตัวแทนไดเร็กทอรี (Directory Agents หรือ DA) คืออุปกรณ์ที่เก็บข้อมูลบริการไว้ในแคช โดยทั่วไปจะใช้ในเครือข่ายขนาดใหญ่เพื่อลดปริมาณการรับส่งข้อมูลและช่วยให้ SLP สามารถขยายขนาดได้ การมี DA ในเครือข่ายนั้นเป็นทางเลือก แต่หากมี DA อยู่ UA และ SA จะต้องใช้ DA แทนการสื่อสารโดยตรง
ปัจจุบัน การใช้งานส่วนใหญ่เป็นแบบเดมอน (daemon)ที่สามารถทำหน้าที่ได้ทั้งเป็น UA (User Access Controller) และ SA (Self Access Controller) โดยปกติแล้วยังสามารถกำหนดค่าให้กลายเป็น DA (Data Access Controller) ได้อีกด้วย
โปรโตคอลเครือข่าย
SLP เป็นโปรโตคอลที่เน้นการส่งข้อมูลแบบแพ็กเก็ต แพ็กเก็ตส่วนใหญ่จะถูกส่งผ่านUDPแต่TCPก็สามารถใช้สำหรับการส่งแพ็กเก็ตที่ยาวกว่าได้เช่นกัน เนื่องจาก UDP อาจไม่น่าเชื่อถือ SLP จึงทำการส่งมัลติแคสต์ซ้ำหลายครั้งในช่วงเวลาที่เพิ่มขึ้นเรื่อยๆ จนกว่าจะได้รับการตอบกลับ อุปกรณ์ทั้งหมดจำเป็นต้องรับฟังแพ็กเก็ต UDP บนพอร์ต 427 และ Service Agents (SA) และ Directory Agents (DA) ควรรับฟังแพ็กเก็ต TCP บนพอร์ตเดียวกันด้วยการส่งมัลติแคสต์ถูกใช้กันอย่างแพร่หลายใน SLP โดยเฉพาะอย่างยิ่งในอุปกรณ์ที่เข้าร่วมเครือข่ายและต้องการค้นหาอุปกรณ์อื่นๆ
การทำงานของ SLP จะแตกต่างกันอย่างมาก ขึ้นอยู่กับว่ามี DA อยู่ในเครือข่ายหรือไม่ เมื่อไคลเอนต์เข้าร่วมเครือข่ายเป็นครั้งแรก มันจะส่งคำขอแบบมัลติแคสต์เพื่อค้นหา DA ในเครือข่าย หากไม่มี DA ใดตอบกลับ มันจะถือว่าอยู่ในเครือข่ายที่ไม่มี DA นอกจากนี้ยังสามารถเพิ่ม DA ในภายหลังได้ เนื่องจาก DA จะส่งแพ็กเก็ต 'heartbeat' แบบมัลติแคสต์ในช่วงเวลาที่กำหนดไว้ล่วงหน้า ซึ่งอุปกรณ์อื่นๆ ทั้งหมดจะได้รับ เมื่อ SA ค้นพบ DA มันจะต้องลงทะเบียนบริการทั้งหมดที่ DA เมื่อบริการใดหายไป SA ควรแจ้งให้ DA ทราบและยกเลิกการลงทะเบียนบริการนั้น
ในการส่งคำขอในเครือข่ายที่ไม่มี DA (Data Access Protocol) นั้น UA (User Agent) จะส่งแพ็กเก็ต UDP แบบมัลติแคสต์ที่มีคำขออยู่ภายใน SA (Service Agent) ทุกตัวที่มีคำขอตรงกันจะส่งคำตอบ UDP กลับไปยัง UA หากคำตอบมีขนาดใหญ่เกินกว่าจะบรรจุลงในแพ็กเก็ต UDP เดียวได้ แพ็กเก็ตนั้นจะถูกทำเครื่องหมายว่า "overflowd" และ UA สามารถส่งคำขอไปยัง SA โดยตรงโดยใช้ TCP (Translate Code) ซึ่งสามารถส่งแพ็กเก็ตขนาดใดก็ได้
ในการส่งคำขอในเครือข่ายที่มี DA นั้น UA จะส่งแพ็กเก็ตคำขอไปยัง DA โดยใช้โปรโตคอล UDP หรือ TCP เนื่องจาก SA ทุกตัวต้องลงทะเบียนบริการทั้งหมดกับ DA ดังนั้น DA จึงสามารถตอบสนองคำขอได้อย่างสมบูรณ์และส่งผลลัพธ์กลับไปยัง UA
ความปลอดภัย
SLP มีกลไกการรักษาความปลอดภัยที่ใช้การเข้ารหัสแบบกุญแจสาธารณะซึ่งช่วยให้สามารถลงนามในประกาศบริการได้ ในทางปฏิบัติแล้วมีการใช้งานน้อยมาก:
- ต้องติดตั้งคีย์สาธารณะของผู้ให้บริการทุกรายบนอุปกรณ์ผู้ใช้ทุกเครื่อง ข้อกำหนดนี้ขัดกับวัตถุประสงค์ดั้งเดิมของ SLP ซึ่งก็คือการค้นหาบริการโดยไม่ต้องกำหนดค่าล่วงหน้า
- การปกป้องเฉพาะบริการอย่างเดียวไม่เพียงพอ URL ของบริการประกอบด้วยชื่อโฮสต์หรือที่อยู่ IP และในเครือข่ายท้องถิ่นนั้นแทบเป็นไปไม่ได้เลยที่จะป้องกันการปลอมแปลง IP หรือ DNSดังนั้น การรับประกันความถูกต้องของ URL เพียงอย่างเดียวจึงไม่เพียงพอ หากอุปกรณ์ใดๆ ก็สามารถเข้าถึงที่อยู่ดังกล่าวได้
- เนื่องจากที่อยู่ IP สามารถปลอมแปลงได้ ความถูกต้องของอุปกรณ์จึงต้องได้รับการพิสูจน์ในระดับอื่นอยู่แล้ว เช่น ในโปรโตคอลแอปพลิเคชัน (เช่นSSL ) หรือในเลเยอร์แพ็กเก็ต ( IPsec ) การพิสูจน์เพิ่มเติมใน SLP ไม่ได้เพิ่มความปลอดภัยมากนัก
การรับเลี้ยงบุตรบุญธรรม
- SLP มักใช้ในการระบุ ตำแหน่งเครื่องพิมพ์ และได้รับการสนับสนุนจากระบบการพิมพ์ เช่นCUPS
- โดยทั่วไปแล้ว SLP มักพบในเครื่องพิมพ์ที่เชื่อมต่อกับเครือข่าย LAN เพื่อให้สามารถค้นหาเครื่องพิมพ์ได้ทันทีโดยไม่ต้องตั้งค่าเพิ่มเติม ไดรเวอร์เครื่องพิมพ์ไคลเอ็นต์บางตัวสามารถใช้คุณสมบัตินี้ในการค้นหาเครื่องพิมพ์ได้
- ACNซึ่งเป็นโปรโตคอลที่กำลังพัฒนาสำหรับการควบคุมความบันเทิง ใช้ SLP ในการค้นหาอุปกรณ์ต่างๆ เช่น ตัวหรี่ไฟและไฟอัจฉริยะ
- ระบบปฏิบัติการ Mac OS รุ่นคลาสสิกและMac OS Xจนถึงเวอร์ชัน 10.1 ใช้ SLP ในการค้นหาไฟล์ที่แชร์และบริการอื่นๆ อย่างไรก็ตาม ฟีเจอร์ที่เพิ่มเข้ามาในMac OS X (เวอร์ชัน 10.2 ขึ้นไป) ใช้Zeroconfแทน
- ไคลเอ็นต์ Netware Core Protocol (NCP) ในสภาพแวดล้อม IP บริสุทธิ์จะใช้ SLP เพื่อค้นหา เซิร์ฟเวอร์ Novell NetWareและNovell Open Enterprise Server (OES)
- SUSE Linuxรองรับ SLP สำหรับบริการต่างๆ มาตั้งแต่เวอร์ชัน 9.1 แล้ว
- Sun Microsystemsรองรับ SLPv1 และ SLPv2 รวมถึงฟังก์ชัน SA, UA และ DA [ 1 ]
- คณะทำงานด้านการจัดการแบบกระจายศูนย์ได้กำหนดมาตรฐานการค้นหาบริการ WBEMผ่าน SLP แล้ว
- สมาคมอุตสาหกรรมเครือข่ายจัดเก็บข้อมูล (Storage Networking Industry Association)ได้กำหนดให้ใช้ SLP สำหรับการค้นหาบริการใน ข้อกำหนดของ โครงการริเริ่มการจัดการจัดเก็บข้อมูล (Storage Management Initiative - Specification )
ดูเพิ่มเติม
- อาวาฮี
- บองจูร์
- โปรโตคอลการกำหนดค่าโฮสต์แบบไดนามิก
- จินี
- การแก้ไขชื่อมัลติแคสต์แบบลิงก์โลคอล
- OSGi Alliance
- ปลั๊กอินแบบเสียบแล้วใช้งานได้ทันที (UPnP)
- WS-Discovery
- ระบบเครือข่ายแบบไม่ต้องตั้งค่า (Zeroconf)
ลิงก์ภายนอก
- โมดูล LiveTribe SLP/OSGi
- โครงการโปรโตคอลสถานที่ให้บริการ
- การปรับปรุงโปรโตคอลระบุตำแหน่งบริการ
- โอเพ่นเอสแอลพี
- jSLP - การใช้งาน SLP ที่เขียนด้วยภาษา Java อย่างสมบูรณ์
- SBLIM CIM Client สำหรับ Java - ประกอบด้วยการใช้งาน SLP ที่สอดคล้องกับ RFC 2614 ในภาษา Java
- การเปรียบเทียบโปรโตคอลการค้นหาบริการและการใช้งานโปรโตคอลการระบุตำแหน่งบริการ
- https://web.archive.org/web/20050312060250/http://www.ietf.org/html.charters/svrloc-charter.html -- กลุ่มทำงาน IETF SRVLOC ซึ่งเป็นผู้สร้างมาตรฐาน SLP
- การค้นพบ WBEM โดยใช้ SLPโดยDMTF
- เทมเพลต WBEM SLPโดย DMTF
- การจัดการไคลเอ็นต์แบบอัตโนมัติด้วย Service Location Protocolบทความจาก developerWorks โดย M. Tim Jones
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โปรโตคอลตำแหน่งบริการ
โปรโตคอล ค้นหา ตำแหน่งบริการ ( SLP , srvloc ) เป็น โปรโตคอลค้นหาบริการ ที่ช่วยให้คอมพิวเตอร์และอุปกรณ์อื่นๆ สามารถค้นหาบริการใน เครือข่ายท้องถิ่น ได้โดยไม่ต้องตั้งค่าล่วงหน้า SLP...
ภาพรวม
SLP (Service Level Platform) ถูกใช้โดยอุปกรณ์ต่างๆ เพื่อประกาศ บริการ บนเครือข่ายท้องถิ่น บริการแต่ละอย่างต้องมี URL ที่ใช้ในการค้นหาบริการนั้น นอกจากนี้ ยังสามารถมีคู่ชื่อ/ค่าได้ไม่จำกัดจำนวน เรียกว่า แอตทริบิวต์ อุปกรณ์แต่ละตัวต้องอยู่ใน ขอบเขต...
บทบาท
นักบำบัดการพูดและภาษา (SLP) ระบุว่าอุปกรณ์ต่างๆ มีบทบาทที่แตกต่างกันสามอย่าง อุปกรณ์หนึ่งๆ อาจมีบทบาทสองหรือสามอย่างพร้อมกันก็ได้
โปรโตคอลเครือข่าย
SLP เป็นโปรโตคอลที่เน้นการส่งข้อมูลแบบแพ็กเก็ต แพ็กเก็ตส่วนใหญ่จะถูกส่งผ่าน UDP แต่ TCP ก็สามารถใช้สำหรับการส่งแพ็กเก็ตที่ยาวกว่าได้เช่นกัน เนื่องจาก UDP อาจไม่น่าเชื่อถือ SLP จึงทำการส่งมัลติแคสต์ซ้ำหลายครั้งในช่วงเวลาที่เพิ่มขึ้นเรื่อยๆ...