Project/Instant Messaging

XMPP 아키텍쳐

linuxism 2013. 1. 11. 15:18


XMPP 아키텍쳐

 XMPP 아키텍쳐

  • Server 
     ● DNS에 의한 호스트 이름을 가짐 (or IP) 
        예) host.com
     ● 다른 서버와 통신 가능 (S2S) 
     
  • Client 
    클라이언트는 특정 서버에 접속하며 서버의 호스트이름과 ID를 이용하여 계정을 갖는다.     
        예) id@host.com 
     
  • Gateway 
     ● Client와 같이 특정 서버에 연결됨.
     ● Gateway를 통하여 XMPP가 아닌 다른 네트워크와도 연결할 수 있음.
     

 


 

JID (Jabber ID)

  • Communication End-point
  • E-mail과 유사:ID@domain (+ Resource)

 

XMPP Server 기능

  • C2S: 클라이언트 접속 관리 (5222번 Port)
  • S2S: 다른 XMPP 서버와의 통신 담당( 5269 Port)
  • 가입자정보 관리:자체 DB 혹은 LDAP 지원
  • 구독 정보를 관리
  • 컴포넌트 서비스 관리(=Gateway)

XMPP Client 기능

  • 서버와 접속 유지
  • 메시징 Messaging
  • Presence
     ● Subscription 관리
     ● 자신의 Presence변경시 서버에 통지
     
  • 다중로그인
     ● JID + ‘/’ + Resource(또는 위치명)
     ● Priority: 다중위치에서 로그인이 가능하므로 접속 위치별로 다른 우선순위를 설정하여 수신되는 메시지의 라우팅 경로에 
        대한 컨트롤을 할 수 있다.
     

XMPP Component (Gateway)

  • XMPP 네트워크와 Non-XMPP 서비스를 연동함.
  • 인증: 타 네트워크에 접속하기 위한 인증처리
  • 메시지 송/수신


출처 - http://www.xmpp.co.kr/?q=node/72