• [Network] LDAP

    2021. 12. 31. 11:42

    by. 위지원

    2021년의 마지막 날 네트워크를 공부하게 되었다.

    학부 때 네트워크를 A+ 받긴했으나 휘발성 지식으로 네떡과 기사공부가 끝난 뒤 머릿속에서 사라졌다.. 

    단어를 보면 아~이거 하지만 그게뭐야? 라고 설명해줘 라고하면 아..그.저... 도와줘요 구글신! 해야한다..

     

    LDAP(Lightweight Directory Access Protocol)

    Lightweight? 통신 네트워크 '대역폭' 상의 가벼움을 의미며 X.500의 DAP의 복잡성과 구현어려움의 대안으로 DAP의 인터넷 프로토콜 통신부분만 가지고 태어나서 가볍다. 

    DAP는 osi 7계층 LDAP는 tcp/ip 계층에서 운용된다. 

    LDAP은 DAP의 기능을 거의 모두 다 지원을 했고 (DAP를 먼저 설명드린 이유)  복잡했던 부분이나 잘 쓰이지 않았던 부분은 단순화 하거나 없애버렸으며, 대부분의 데이터 형식에 있어서 단순한 문자열을 사용함으로써 구현을 단순화하고 퍼포먼스를 늘릴수가 있었습니다. 

    그 외의 자세한 내용은 아래에! 
    (출처: LDAP 과 DAP [DSMENTORING TECH] https://ldap.or.kr/?p=661)

    오늘 공부할 것은 LDAP이다.  사내에 인증관련해서 관리툴(?)을 구축을 하기위해 공부를 하려한다!.

    LDAP는 디렉터리 서비스를 조회하고 수정하는 응용프로그램이다.  일종의 전화번호부같은 느낌이다.  현재는 v3까지 개발되었땅(97년도에..)

    선임분의 말, 그리고 위키에도 그렇게되어있던..!! 

     

    디렉터리 서비스?

    우리가 흔히 아는 DNS도 디렉터리 서비스이다. 디렉토리 서비스 (directory service, DS)는 컴퓨터 네트워크의 사용자와 네트워크 자원에대한 정보를 저장하고 조직하는 응용 소프트웨어  (응용 프로그램들의 모임)이다. (출처: 위키디피아)

     

    - LDAP는 메시지를 ASN.1 이라는 언어로 표시하고 BER(Basic Encoding Rules)라는 포맷으로 인코딩하여 주고 받는다. 

    - LDAP는 비동기 프로토콜이며, 1:N=커넥션 수:요청 수

    - LDAP 서버에는 여러 entry(DN:Distinguished Name이라는 고윳값을 가짐)가 tree 구조로 들어있으며 entry는 다수의 속성을 갖는다.

    - LDAP는 tcp/ip위에서 동작한다.

     

     

    LDAP 동작원리

    명령어는 아래와 같다. 

    StartTLS – use the LDAPv3 Transport Layer Security (TLS) extension for a secure connection
    Bind – authenticate and specify LDAP protocol version
    Search – search for and/or retrieve directory entries
    Compare – test if a named entry contains a given attribute value
    Add a new entry
    Delete an entry
    Modify an entry
    Modify Distinguished Name (DN) – move or rename an entry
    Abandon – abort a previous request
    Extended Operation – generic operation used to define other operations
    Unbind – close the connection (not the inverse of Bind)

    (출처: https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol)

     

     

     

     

    REFERENCES

    https://ldap.or.kr/ldap-a-to-z/

    https://ko.wikipedia.org/wiki/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC_%EC%84%9C%EB%B9%84%EC%8A%A4

    https://ko.wikipedia.org/wiki/LDAP

    https://medium.com/happyprogrammer-in-jeju/ldap-%ED%94%84%ED%86%A0%ED%86%A0%EC%BD%9C-%EB%A7%9B%EB%B3%B4%EA%B8%B0-15b53c6a6f26