Tuesday, September 21, 2010

ลักษณะของชื่อแบบ Distinguished และ Relative Distinguished Names

         การค้นหาและการแก้ไขฐานข้อมูลของ Active Directory นั้น สามารถทำได้โดยใช้ โปรโตคอล LDAP (Lightweight Directory Access Protocol) เป็นโปรโตคอลหลักในการทำงาน โดยโปรโตคอล LDAP นั้นจัดเป็นซับเซ็ตของโปรโตคอล x.500 ซึ่งจัดได้ว่าเป็นโปรโตคอลมาตรฐาน ในการทำ Directory Services โดยโปรโตคอล LDAP นั้นใช้ข้อมูลจากโครงสร้างของชื่อโดเมนเป็นช่องทางในการค้นหาออบเจค รูปแบบของชื่อที่ LDAP ใช้ในการค้นหาสถานที่เก็บออบเจคนั้น มีลักษณะการเขียนอยู่ในโครงสร้างแบบ Logical ซึ่งเราเรียกว่า distinguish name โดยในที่นี้ distinguish name ก็คือชื่อของโดเมนที่ใช้เก็บออบเจคต่างนั่นเอง ซึ่งโดยทั่วไปชื่อที่เป็นแบบ distinguish name จะมีเพียงหนึ่งเดียวเท่านั้นภายใจฟอเรสต์
                ส่วน Relative Distinguish Name ก็คือ ชื่อของออบเจคที่เก็บอยู่ภายใจคอนเทนเนอร์ ซึ่งจะต้องไม่ซ้ำกับออบเจคอื่นๆ ที่มีในคอนเทนเนอร์นั้นๆ ยกตัวอย่างเช่น ผู้ใช้ชื่อ Somkid Saetang ซึ่งเป็นสมาชิกใน OU ชื่อ Trainers ซึ่งเก็บในโดเมนชื่อ ABC.COM เมื่อนำมาเขียนในรูปของโปรโตคอล LDAP ก็จะได้เป็น
                CN=Somkid Saetang,OU=Trainers,DC=ABC,DC=COM
                CN หรือ Common Name หมายถึง ชื่อของออบเจคที่เก็บอยู่ในคอนเทนเนอร์
                OU หรือ Organizational Unit หมายถึง คอนเทนเนอร์ที่ใช้เก็บออบเจคต่างๆ ซึ่งเราสามารถสร้างเป็น OU ย่อยๆ ภายใจเพื่อจัดระเบียบการเก็บออบเจคต่างๆ ให้เป็นระเบียบได้อีกด้วย โดยไม่มีข้อจำกัดเกี่ยวกับลำดับชั้นที่จะสร้าง
                DC หรือ Domain Components หมายถึง ตำแหน่งของโดเมนที่อ้างอิงใน DNS Server เช่น .COM หรือ .PERSON ซึ่งตามตัวอย่างใช้เป็น ABC.COM เพราะต้องการให้สอดคล้องกับชื่อที่ใช้ในระบบอินเตอร์เน็ตแต่หากไม่ต้องการก็อาจใช้เป็น ABC.PERSON ก็ได้ ฉะนั้นจากรูปแบบของข้อมูลตัวอย่าง ABC.COM จัดเป็นชื่อแบบ distinguish name ที่ใช้อ้างอิงตามลักษณะของ Domain Name System กับ DNS Server
                ส่วน Trainers จัดเป็นชื่อแบบ relative distinguish name ซึ่งเราใช้สำหรับอ้างอิงกับโปรโตคอล LDAP เพื่อใช้ระบุตำแหน่งที่เก็บออบเจคคือ
                OU=Trainers,DC=ABC,DC=COM