Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ободяк 3 курс / РСтаМ-том1-2011.docx
Скачиваний:
128
Добавлен:
19.04.2015
Размер:
8.73 Mб
Скачать
    1. Протоколи проміжного рівня

      1. Протокол soap

Протокол SOAP є протоколом проміжного рівня по моделі OSI, тобто він визначає формат повідомлень, які пересилаються за допомогою деякого транспортного протоколу, у якості якого звичайно використаються HTTP, HTTPS, TCP, іноді SMTP.

Формат повідомлень SOAP заснований на XML. SOAP-повідомлення складається з наступних частин:

  • конверт (envelope)– містить повідомлення цілком;

  • заголовок (header)– містить значення деяких додаткових атрибутів повідомлення, використовуваних при його обробці або переадресації. Заголовок може бути відсутнім та використовується зазвичай для передачі інформації про координацію декількох повідомлень, ідентифікацію сеансів і передачі різного роду сертифікатів для захисту інформації;

  • тіло (body)– основний вміст повідомлення, повинне відноситися до одного з типів повідомлень, якими можна обмінюватися з даною службою відповідно до опису її інтерфейсу. Повинне бути в будь-якому повідомленні.

Простий приклад SOAP-повідомлення наведено нижче.

<SOAP-ENV: Envelope

xmlns: SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV: Header>

<t: Transaction

xmlns: t="http: //company.com/soap-headers/attrs "

SOAP-ENV:mustUnderstand="1">

</t: Transaction>

</SOAP-ENV: Header>

<SOAP-ENV: Body>

<m: GetLastTradePrice xmlns: m="http://company.com/web-services/trading">

<symbol> DEF</symbol>

</m: GetLastTradePrice>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Крім визначення формату повідомлень, протокол SOAP визначає процес їхньої обробки різними посередниками й одержувачами.

      1. Родина протоколів xmpp

Родина протоколів XMPP прийнята як стандарт RFC. Стандартний порт для XMPP – 5222 .Також використовують порт 80 та/або 443, якщо виникають проблеми при роботи з фареволом.

Переваги:

  • децентралізація.Архітектура мережі XMPP схожа з електронною поштою, бо хто завгодно може запустити власний XMPP-сервер і не використовувати центральний сервер;

  • відкритий стандарт.Internet Engineering Task Forceформалізував XMPP як стандарт моментального обміну повідомленнями й технології присутності за назвою XMPP; специфікації XMPP були опубліковані якRFC 3920іRFC 3921. Розробка даних специфікацій не прив'язана до будь-якого розробника. Існує багато реалізацій серверів і клієнтів, а також бібліотек з відкритим вихідним кодом;

  • історія.Технології XMPP виникла в 1998 року. За підтримкою таких великих компаній, якSun Microsystemsі Google, створена велика кількість доповнень до стандартів XMPP для клієнтів, серверів, компонентів і бібліотек кодів;

  • безпека. XMPP сервери можуть бути ізольовані від публічних мереж XMPP (наприклад, у внутрішньої мережі компанії) і добре захищені (завдяки використаннюSASLіTLS) вбудованими в ядро XMPP специфікаціями. Для підтримки використання шифрування каналу XMPP Standards Foundation також використовуютьcertification authorityв xmpp.net, забезпечуючи цифрові сертифікати для адміністраторів XMPP серверів при використанні StartCom Certification Authority. Багато реалізацій серверів використовуютьSSLпри обміні між клієнтом і сервером, і чимало клієнтів підтримують шифрування за допомогоюPGP/GPGусередині протоколу;

  • гнучкість. Використовується функціональність, яка будується поверх XMPP; для підтримки взаємодії різних мереж стандартні надбудови підтримують XMPP Software Foundation.

Недоліки:

  • надлишковість переданої інформації. Більше 70 % міжмережевого трафіку XMPP відносяться до повідомлення з службовою інформацією, близько 60 % яких є зайвими. XMPP на даний момент створює надлишковий трафік при доставці «статус-повідомлень» декільком користувачам. Для рішення цієї проблеми розробляються нові протоколи. Також рішенням є розширенняXEP-0138–компресія переданих даних протоколу алгоритмамиlzwйzlib, а також використання компресії в рамках шифрування з'єднання TLSRFC 3749;

  • масштабованість. XMPP зараз страждає від фактично тієї ж проблеми надмірності, але відносно до чат-кімнат і можливостей публікації інформації. Рішення цих проблем також очікується у виглядіXEP-розширень;

  • неефективність передачі бінарних даних. Оскільки XMPP є одним XML-документом, неможливо передавати не модифіковану двійкову інформацію. У результаті цього, для передачі файлів намагаються використати додаткові протоколи, наприклад,HTTP. Для передачі ж файлів й іншої бінарної інформації безпосередньо в XMPP потоці використається кодуванняbase64.

Адресація

Кожен користувач у мережі Jabber має унікальний ідентифікатор – Jabber ID (скорочено JID). Адреса JID, що подібна адресі електронної пошти, містить ім'я користувача й доменне ім’я сервера, на якому зареєстрований користувач, розділені знаком @.

Приклад.

Користувач user, що зареєстрована на сервері example.com, буде мати адреса: user@example.com.

Користувач може мати одночасно кілька підключень, для розрізнення яких використовуються додаткові значення JID, які називаються ресурсом і додаються через знак «/» у кінець адреси.

Приклад.

Нехай повна адреса користувача буде user@example.com/work, тоді повідомлення, послані на адресу user@example.com, дійдуть на зазначену адресу вне залежності від імені ресурсу, але повідомлення для user@example.com/work дійдуть на зазначену адресу тільки при відповідності підключеному ресурсу.

Адреси JID можуть також використовуватися без явного визначення імені користувача (із визначенням імені ресурсу або без такого) для системних повідомлень і для контролю спеціальних можливостей на сервері.

З'єднання з іншими протоколамиhttp://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:Wie_ein_Jabber-Transport_funktioniert.svg

Корисною особливістю XMPP систем є транспорти, або шлюзи, які дозволяють користувачам одержувати доступ до мережі, що будується на основі інших протоколів. Це можуть бути інші протоколи миттєвого обміну повідомленнями або такі протоколи, як SMS і електронна пошта.

На відміну від мультипротокольних клієнтів, XMPP надає доступ на рівні сервера за допомогою комунікації через спеціальні сервіси-шлюзи, що виконуються на віддаленому комп'ютері.

Будь-який користувач може «зареєструватися» на одному із цих шлюзів, надавши інформацію, яка необхідна для входу в мережу, і може спілкуватися з користувачами мережі так, ніби вони були користувачами мережі Jabber. Це значить, що будь-який клієнт, що підтримує XMPP, може бути використаний для доступу до будь-якої мережі, для якої існують шлюзи, без будь-якого додаткового коду та без необхідності клієнтові мати прямий доступ до Інтернету.

Реалізація шлюзів залежить від конкретного XMPP-сервера та є нестабільною через закритість комерційних IM-сервісів.

Соседние файлы в папке Ободяк 3 курс