Active Directory의 기본 아키텍처
Active Directory는 LDAP(Lightweight Directory Access Protocol)를 기반으로 한 Microsoft의 분산 디렉터리 서비스이다. LDAP는 X.500 표준에서 파생된 가볍고 효율적인 프로토콜로, Active Directory는 이를 확장하고 변형하여 Windows 네트워크 환경에 최적화된 구조를 제공한다. 디렉터리 서비스 컴포넌트는 Ntdsa.dll에 의해 관리되며, 클라이언트는 LDAP 네트워크 프로토콜 및 LDAP C API를 통해 디렉터리에 접근한다.
계층적 구조: 포리스트, 트리, 도메인
Active Directory의 조직 구조는 세 가지 계층으로 이루어진다. 포리스트는 최상위 보안 경계로, 하나 이상의 트리를 포함한다. 트리는 연속된 DNS 네임스페이스를 공유하는 도메인들의 그룹이며, 트리 내 도메인들 간에는 자동 이행적 신뢰 관계가 설정된다. 도메인은 사용자, 컴퓨터, 그룹, GPO 등의 객체를 저장하는 기본 관리 경계로, 각 도메인의 객체들은 단일 데이터베이스에 저장되고 복제될 수 있다.
멀티마스터 복제와 FSMO 역할
Active Directory는 멀티마스터 복제 모델을 채택하여 여러 도메인 컨트롤러에서 동시에 업데이트를 수행할 수 있다. 충돌을 방지하기 위해 특정 객체 업데이트에는 단일마스터 방식이 적용되며, 이를 FSMO(Flexible Single Master Operation) 역할이라 한다. 스키마 마스터, 도메인 네이밍 마스터, RID 마스터 등 5가지 FSMO 역할이 있으며, 각 역할은 포리스트나 도메인 수준에서 도메인 컨트롤러에 할당되고 필요시 전송할 수 있다.