Upload
bm9ib2r5
View
1.768
Download
2
Embed Size (px)
DESCRIPTION
Jabber – programowalna, skalowna,bezpieczna, wieloprotokołowa platformakomunikacyjna czasu rzeczywistego.
Citation preview
1
„Jabber – programowalna, skalowna,
bezpieczna, wieloprotokołowa platforma
komunikacyjna czasu rzeczywistego”.
2
1. Opis protokołu XMPP/Jabber.
2. Przykłady serwerów OpenSource.
3. Dodatkowe komponenty.
4. Klienci protokołu XMPP/Jabber.
5. Platforma komunikacyjna.
6. Badanie wydajności, symulacja obciążenia,skrypty monitorujące.
7. Podsumowanie.
3
Opis protokołu XMPP/Jabber.
Jabber to otwarty opierający się na XML’u protokół,wykorzystywany głównie do natychmiastowegoprzesyłania informacji (Instant Messaging), orazpowiadamiania o obecności (presence) w czasierzeczywistym.
Specyfikacja protokołu zawarta jest w:- RFC 3920 (Core) (http://www.ietf.org/rfc/rfc3920.txt)- RFC 3921 (Messaging) (http://www.ietf.org/rfc/rfc3921.txt)
4
Cechy protokołu XMPP/Jabber.
OTWARTOŚĆ - protokół Jabber jest otwarty i dostępny
publicznie na licencji GPL.
Wszystko za sprawą Jeremmie’go Millera. W 1999
protokół został opublikowany światu.
W roku 2002 nastąpiła standardyzacja protokołu przez
Jabber Software Foundation (JSF), do tej pory protokół
znany jest jako XMPP (Extensible Messaging and
Presence Protocol )
5
Cechy protokołu XMPP/Jabber.
Dzisiaj istnieje wiele implementacji klientów, serwerów,
oraz bibliotek programistycznych na licencji Open Source.
glooxgloox SmackSmack Twisted WordsTwisted WordsXMPPHPXMPPHP
6
Cechy protokołu XMPP/Jabber.
DECENTRALIZACJA – komunikacja nie odbywa się
wyłącznie za pośrednictwem jednego serwera.
Uszkodzenie jednego nie paraliżuje całej sieci.
7
Cechy protokołu XMPP/Jabber.
Serwery XMPP tworzą jedna wielką rozległa sieć IM.
Każdy może mieć własny!!!
8
Cechy protokołu XMPP/Jabber.
BEZPIECZEŃSTWO – komunikacja klient – serwer
odbywa się za pomocą SSL, dodatkowo cześć klientów
wspiera szyfrowanie transmisji z wykorzystaniem GPG/
PGP.
9
Cechy protokołu XMPP/Jabber.
Autoryzacja użytkowników za pomocą: - GNU SASL (Simple Authentication and Security
Layer )- TLS (Transport Layer Security – rozwiniecie protokolu
SSL)
10
Cechy protokołu XMPP/Jabber.
TRANSPORTY – znajdują się po stronie serwera,
umożliwiają komunikacje z innymi serwerami lub usługami.
11
Przykłady serwerów OpenSource.Serwery typu High Avability (klastrowanie):
- ejabberd (erlang)
- tigase (java)
Serwery nie klastrowalne lub częściowo (komponenty):
- jabberd14 (C)
- jabberd2 (C)
- psyced (perl)
- Openfire (LPC)
- DJabberd (perl)
12
Komponenty serwerów.
Bramki do innych sieci:
- jggtrans (gadu-gadu)
- jit / pyicqt (ICQ)
- pyaimt (AIM)
- pymsn (MSN)
- py-xmpppy-yahoo (Yahoo)
- py-xmpppy-irc (IRC)
13
Komponenty serwerów.
Inne komponenty:
- joda – słowniki (słowniki.onet.pl, ling.pl)
- aspsms-t / ApaSMSAgent
- Idavoll – Publish-Subscribe Service
- Jabber Mail Component (JMC)
- MUC - konferencje
- j2j – Jabber to Jabber transport
- proxy65 – socks5 file proxy
14
Klienty - porównanie.
Privacy Rules
TLS/SSLMultiple
IM Systems
Roster Managem
ent
Voice Chat
Psi
Gajim
Tkabber
Miranda IM
Coccinella
15
Platforma XMPP.
Serwer:
- jabberd2 + mysql5 backend
Komponenty:
- jggtrans
- pyicqt
- MUC
- joda
- proxy65
- j2j
- idavoll
16
Badanie wydajności.
- jabsimul (client load and stress test simulator)
- Tsung (multi-protocol disturbed load testing tool)
17
Przykładowy raport Tsung.Ilość żądań połączenia i ilość sesji połączonych
18
Przykładowy raport Tsung.Obciążenie łacza
19
Przykładowy raport Tsung.Ilość jednoczesnych połączeń w czasie
20
Monitoring.Ilość aktywnych użytkownikówIlość zarejestrowanych użytkowników
Czy połączenia nonSSL / SSL możliwe?
Czy transport gg połączony do HUB’a gg ?
Czy komponenty serwera aktywne ?
Czy serwer odpowiada na żądanieAutoryzacji użytkowika ?
Czas ostatnego sprawdzania.
21
Monitoring zasobów.Zużycie pamięci
22
Monitoring zasobów.Obciążenie procesora
23
Monitoring zasobów.Liczba połączeń
24
Monitoring zasobów.Obciążenie łącza
25
Podsumowanie.- dużo implementacji serwerów- klienci dla każdej platformy systemowej- biblioteki programistyczne dla każdego języka- otwarty standard, otwarty protokół- brak ograniczeń licencyjnych (open source, freeware)
- architektura klient – serwer- komunikacja miedzy-domenowa (tak jak email)
- 50+ milionów użytkowników- 100k serwerów
26
Podsumowanie.Kto używa jabber’a ???