0. 개요
jabber는 구글Talk에서 사용하고 있는 XMPP 기반의 프로톨이다. 이 XMPP는 XML을 기반으로 구성되어 있으며 인스턴스 메신저들이 가져야 할 프로토콜 요소들을 모두 갖추고 있다. 오픈 프로토콜이라는 것은 이처럼 모든 인스턴스 메신저들이 가져야할 기능들에 대하여 jabber.org의 JEPs에서 프로토콜 네임스페이스들을 제공함으로써 누구나 쉽게 메신저 프로토콜을 구현할 수 있도록 제공한다는 의미에서 오픈 이라고 표현한다.
또한 jabber를 사용하는 서버들 사이에 통신을 할 수 있으며 따라서 다른 도메인을 사용하는 사용자들과 대화를 가능하게 해준다. jabber를 지원하는 메신저들은 이미 많이 배포되어 있으며 아쉽게도 국내용은 아직 없는것으로 알고 있다. jabber를 지원하는 클라이언트(메신저)는 어떠한 공개 jabber 서버에도 접속할 수 있다. 아쉽게도 구글은 아직 공개 jabber로 오픈하지는 않고 있다.
아마 구글이 Talk서버를 오픈하게 되면 jabber를 사용하는 인스턴스 메신저 그룹들은 굉장히 환영할 만한 일이 될것이다.
1. jabber의 구조
• C1, C2, C3 = XMPP Client
• S1, S2 = XMPP Server
• G1 = XMPP와 외부 메시징 네트워크에서 사용되는 프로토콜들 사이의 Gateway
• FN1 = 외부 메시징 네트워크
• FC1 = 외부 메시징 네트워크의 클라이언트
[간단한 구조]
- jabber 메신저 사용자들은 모두 어떠한 jabber public server에 위치하고 있더라도 다른 server에있는 사용자와 대화가 가능해 진다.
- 구글 토크의 경우 서버와 서버 간 연결을 현재 막아놓은 상태이다.
- 위 클라이언트들은 공개된 jabber 서버에 계정을 가지고 있는 사용자들이다.
3. 프로토콜 예
Server advertises resource binding feature to client:
<stream:stream
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'
id='c2s_345'
from='example.com'
version='1.0'>
<stream:features>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>
</stream:features>
Client asks server to bind a resource:
<iq type='set' id='bind_1'>
<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/>
</iq>
4. jabber의 장점
- 장점 :
전 세계 jabber 사용자와 대화가능
구글 토크와 연동가능
인증된 프로토콜사용으로 메신저 신뢰성 향상
기존 메신저와의 차별화 가능
서버 및 클라이언트 라이브러리 제공
서버를 오픈하지 않고 프로토콜만 활용하여 쓸 수 있다.
프로토콜로 인한 문제를 미연에 방지할 수 있다.
XML로 표준화됨으로 타 기능과 연동에 용이하다.
5. 향후 전망
- 현재 구글 토크는 서버를 Gmail 사용자에게만 오픈하고 있는데 곧 public server로 등록할 것이라는 내용을 구글 토크 홈페이지에서 간접적으로 언급하고 있다. 그렇게 되면 jabber는 엄청난 사용자들을 확보 할 수 있을 것이다.
http://www.google.com/talk/about.html#open
- XMPP(extensible messaging and presence protocol) 메신저는 SIMPLE과 함께 국제 인터넷 표준 기술 협회(IETF)의 인스턴트 메신저 표준 후보 중 하 나로 인텔, 휴렛패커드(HP), AT&T 등이 지원 의사를 밝혔다
6. 참조 사이트