Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Prezentacja Jabber

2,005 views

Published on

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

Published in: Technology
  • Hi there! Get Your Professional Job-Winning Resume Here - Check our website! http://bit.ly/resumpro
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

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>

×