LDAP(Lightway Directory Access Protocol)
네트워크 상에서 조직이나 개인정보 혹은 파일, 디바이스 정보 등등을 찾아보는 것을 가능하게 만든 소프트웨어 프로토콜
HTTP와 달리 비동기 프로토콜이며 하나의 Connection에서 여러 메시지를 주고 받을 수 있고 응답 또한 제각각으로 응답될 수 있다.
ㄴ메시지 마다 ID가 존재하여 어떤 요청에 어떤 응답인지 식별 가능
디렉토리 구조로 되어있고 각 디렉토리 항목마다 속성이 있기 때문에
디렉토리 쿼리시 고유 이름을 통해야 액세스 할 수 있다.
LDAP은 빠른 데이터 검색 및 읽어오기에 최적화 되어있다.
대표적으로 SDS(IBM Security Directory Server)가 있다.
LDAP 구조
LDAP은 디렉토리 구조(트리형식)로 되어있는데, 일반적으로 LDAP은 다음과 같이 구성된다.
- cn (Common Name) : GilDong Hong 와 같은 일반적인 이름
- sn (Sir Name) : 우리나라 성에 해당
- ou (Organization Unit) : 그룹에 해당
- dc (Domain Component) : 도메인의 요소
ㄴwww.google.com의 dc는 dc=www,dc=google,dc=com 각각의 요소를 dc라고 한다.
- dn (Distinguished Name) : 고유의 이름
ㄴ dn은 www.google.com을 호출하기 위한 dn = {dc=www,dc=google,dc=com}의 묶음을 dn이라고 한다.
- o (organization) : 조직
- c (country) : 도시
- uid : user id
LDAP VS RDB
RDB(관계형 데이터베이스)는 행과 열의 형태로 구성된 테이블에 데이터를 저장하고 서로 다른 테이블과의 관계(참조)를 통하여 결과를 도출 하는 반면,
LDAP의 경우 데이터가 트리 구조(계층형)로 이루어져 있어, 각 계층마다 Entry가 존재하고
각 Entry는 Attribute로 이루어진 데이터들을 갖고 있다.Entry는 하위에 여러 자식Entry를 가질 수 있는 그룹형태
그렇기 때문에 데이터가 위치한 계층에 접근해 필요한 데이터를 바로 꺼내 올 수 있어 검색과 읽기 작업에 강점을 보인다.
*Entry : 디렉토리에서 정보를 표현하는 기본 단위이다. Entry는 다수의 attribute로 구성됩니다.
*Attribute : Entry의 각 타입을 저장하는 공간으로 1개의 Attribute에 하나, 또는 다수의 값을 담을 수 있습니다.
LDAP은 저장된 데이터를 신속하게 조회하기 위해 단순 쿼리 위주로 작업을 처리하지만
RDB는 여러 데이터와 테이블들의 관계를 통해 필요한 데이터를 종합적으로 가져오는 복합적인 쿼리를 처리하는데 중점을 두고 있으며, 읽기만이 아닌 추가, 삭제, 변경과 같은 강점이 있다.
'기타' 카테고리의 다른 글
내부망과 외부망, DMZ (0) | 2024.05.02 |
---|---|
커널(Kernel) (0) | 2024.04.30 |
Cookie VS Session (0) | 2024.04.26 |
Proxy (0) | 2024.04.25 |
OAuth의 Grant Type (0) | 2024.04.25 |