26
1 Jabber – programowalna, skalowna, bezpieczna, wieloprotokołowa platforma komunikacyjna czasu rzeczywistego”.

Prezentacja Jabber

Embed Size (px)

DESCRIPTION

Jabber – programowalna, skalowna,bezpieczna, wieloprotokołowa platformakomunikacyjna czasu rzeczywistego.

Citation preview

Page 1: Prezentacja Jabber

1

„Jabber – programowalna, skalowna,

bezpieczna, wieloprotokołowa platforma

komunikacyjna czasu rzeczywistego”.

Page 2: Prezentacja Jabber

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.

Page 3: Prezentacja Jabber

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)

Page 4: Prezentacja Jabber

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 )

Page 5: Prezentacja Jabber

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

Page 6: Prezentacja Jabber

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.

Page 7: Prezentacja Jabber

7

Cechy protokołu XMPP/Jabber.

Serwery XMPP tworzą jedna wielką rozległa sieć IM.

Każdy może mieć własny!!!

Page 8: Prezentacja Jabber

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.

Page 9: Prezentacja Jabber

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)

Page 10: Prezentacja Jabber

10

Cechy protokołu XMPP/Jabber.

TRANSPORTY – znajdują się po stronie serwera,

umożliwiają komunikacje z innymi serwerami lub usługami.

Page 11: Prezentacja Jabber

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)

Page 12: Prezentacja Jabber

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)

Page 13: Prezentacja Jabber

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

Page 14: Prezentacja Jabber

14

Klienty - porównanie.

Privacy Rules

TLS/SSLMultiple

IM Systems

Roster Managem

ent

Voice Chat

Psi

Gajim

Tkabber

Miranda IM

Coccinella

Page 15: Prezentacja Jabber

15

Platforma XMPP.

Serwer:

- jabberd2 + mysql5 backend

Komponenty:

- jggtrans

- pyicqt

- MUC

- joda

- proxy65

- j2j

- idavoll

Page 16: Prezentacja Jabber

16

Badanie wydajności.

- jabsimul (client load and stress test simulator)

- Tsung (multi-protocol disturbed load testing tool)

Page 17: Prezentacja Jabber

17

Przykładowy raport Tsung.Ilość żądań połączenia i ilość sesji połączonych

Page 18: Prezentacja Jabber

18

Przykładowy raport Tsung.Obciążenie łacza

Page 19: Prezentacja Jabber

19

Przykładowy raport Tsung.Ilość jednoczesnych połączeń w czasie

Page 20: Prezentacja Jabber

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.

Page 21: Prezentacja Jabber

21

Monitoring zasobów.Zużycie pamięci

Page 22: Prezentacja Jabber

22

Monitoring zasobów.Obciążenie procesora

Page 23: Prezentacja Jabber

23

Monitoring zasobów.Liczba połączeń

Page 24: Prezentacja Jabber

24

Monitoring zasobów.Obciążenie łącza

Page 25: Prezentacja Jabber

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

Page 26: Prezentacja Jabber

26

Podsumowanie.Kto używa jabber’a ???