Prezentacja Jabber

1,953 views
1,813 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,953
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Prezentacja Jabber

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

×