AppleTalk
Зміст
- 1 Вступ
- 2 Мережева модель
- 3 Бібліографічна довідка
- 4 Основи технології
- 5 Протокoл розширення адреси AppleTalk (AARP)
- 6 Протокол доставки дейтаграм (DDP)
- 7 Протокол підтримки маршрутної таблиці (RTMP)
- 8 Протокол прив'язки за іменами AppleTalk (NBP)
- 9 Протокол транзакцій AppleTalk (ATP)
- 10 Протокол потоку даних AppleTalk (ADSP)
- 11 Протоколи вищих рівнів
- 12 Особливості AppleTalk
Вступ
Appletalk - це стек протоколів, розроблених Apple Computer для комп'ютерної мережі. Він був спочатку включений в Macintosh (1984), зараз компанія відмовилася від нього на користь TCP/IP.Існує дві версії AppleTalk: AppleTalk Phase I і AppleTalk Phase II.
|
Мережева модель
Модель OSI | Відповідні рівні Appletalk |
---|---|
Прикладний рівень | Apple Filing Protocol (AFP) |
Рівень представлення | Apple Filing Protocol (AFP) |
Сеансовий рівень |
Zone Information Protocol (ZIP) |
Транспортний рівень |
AppleTalk Transaction Protocol (ATP) |
Мережевий рівень | Datagram Delivery Protocol (DDP) |
Канальний рівень |
EtherTalk Link Access Protocol (ELAP) |
Фізичний рівень |
LocalTalk driver |
Бібліографічна довідка
На початку 1980 р. Apple Computer готувалася до випуску комп'ютера Macintosh. Інженери компанії знали, що незабаром мережі стануть насущною необхідністю, а не просто цікавою новинкою. Вони хотіли також добитися того, щоб що базується на комп'ютерах Macintosh мережа була безшовним розширенням інтерфейсу користувача Macintosh, що зробило справжню революцію в цій області. Маючи на увазі ці два чинники, Apple вирішила вбудувати мережевий інтерфейс в кожен Macintosh і інтегрувати цей інтерфейс в оточення настільної обчислювальної машини. Нова мережева архітектура Apple отримала назву Apple Talk. Хоча Apple Talk є патентованою мережею, Apple опублікувала характеристики Apple Talk, намагаючись заохотити розробку за участю третьої сторони. В даний час велике число компаній успішно збувають на ринку що базуються на Apple Talk вироби; у їх числі Novell, Inc. і Мicrosoft Corparation. Оригінальну реалізацію Apple Talk, розроблену для локальних робочих груп, в даний час зазвичай називають Apple Talk Phase I. Проте після установки понад 1.5 млн. комп'ютерів Macintosh протягом перших п'яти років існування цього виробу, Apple виявила, що деякі крупні корпорації перевищують вбудовані можливості Apple Talk Phase I, тому протокол був модернізований. Розширені протоколи стали известнны під назвою Apple Talk Phase II. Oни розширили можливості маршрутизації Apple Talk, забезпечивши їх успішне застосування в крупніших мережах.
Мережа AppleTalk розроблена компанією apple computer inc. (1987 р) Ці мережі можуть працювати в середовищі Ethernet, Token Ring, FDDI і LocalTalk (власна мережа apple, що використовує скручені пари). У AppleTalk специфікований власний стек протоколів, які управляють потоком даних у мережі. Для цілей маршрутизації AppleTalk використовує модифіковану версію внутрішнього протоколу маршрутизації IGRP. Стек протоколів appletalk phase ii включає в себе:
- Протокол доступу до каналу Tokentalk (TLAP - Tokentalk link access protocol)
- Протокол доступу до каналу Ethertalk (ELAP - Ethertalk link access protocol)
- Протокол доступу до каналу Localtalk (LLAP - Localtalk link access protocol)
- Протокол доставки дейтограмм (DDP - datagram delivery protocol)
- Протокол роботи з іменами (NBP - name binding protocol)
- Протокол для роботи з зонної інформацією (ZIP - zone information protocol)
- Протокол відгуків у Appletalk (AEP - appletalk echo protocol)
- Протокол актуалізації маршрутної інформації (AURP - Appletalk update routing protocol)
- Протокол управління потоком даних (adsp - appletalk data stream protocol)
- Протокол сесій (ASP - Appletalk session protocol)
- Протокол доступу до принтера (PAP - printer access protocol)
- Протокол операцій (ATP - Appletalk transaction protocol)
- Файловий протокол (AFP - Appletalk filing protocol)
Основи технології
Apple Talk була розроблена як система розподіленої мережі клієнт-сервер. Іншими словами, користувачі спільно користуються мережевими ресурсами (такими, як файли і принтери). Комп'ютери, що забезпечують ці ресурси, називаються службовими пристроями (servers); комп'ютери, що використовують мережеві ресурси службових пристроїв, називаються клієнтами (clients). Взаємодія із службовими пристроями в значній мірі є прозорою для користувача, оскільки сам комп'ютер визначає місцеположення запрошуваного матеріалу і звертається до нього без отримання подальшої інформації від користувача. На додаток до простоти використання, розподілені системи також мають економічні переваги в порівнянні з системами, де всі важливі матеріали можуть бути поміщені в декількох, а не в багатьох місцеположеннях.
Протокoл розширення адреси AppleTalk (AARP)
Фактичні механізми вибору адреси AppleTalk залежать від носія. Для встановлення зв'язку адрес AppleTalk з конкретними адресами носій використовується протокoл дозволу адреси AppleTalk (AARP). AARP також встановлює зв'язки між адресами інших протоколів і апаратними адресами. Якщо пакет протоколів AppleTalk або будь-який інший пакет протоколів повинен відправити пакет даних у інший мережний вузол, то адреса протоколу передається в AARP. AARP спочатку перевіряє адресний кеш, щоб визначити, чи є вже встановленої зв'язок між адресою цього протоколу і апаратним адресою. Якщо це так, то цей зв'язок передається в запитуючий пакет протоколів. Якщо це не так, то AARP ініціює широкомовне або багатопунктове повідомлення, яке звертається із запитом про апаратні адреси даного протокольного адреса. Якщо широкомовне повідомлення доходить до вузла з цією протокольною адресою, то цей вузол у відповідному повідомленні вказує свою апаратну адресу. Ця інформація передається в запитуючий пакет протоколів, який використовує цю апаратна адреса для зв'язку з цим вузлом.
Протокол доставки дейтаграм (DDP)
Основним протоколом мережевого рівня AppleTalk є протокол DDP. DDP забезпечує обслуговування без встановлення з'єднання між мережевими гніздами. Гнізда можуть призначатися або статично, або динамічно. Адреси AppleTalk, що призначаються DDP, складаються з 2 компонентів: 16-бітового номера мережі (network number) і 8-бітового номера вузла (node number). Ці два компоненти зазвичай записуються у вигляді десяткових номерів, розділених крапкою (наприклад, 10.1 означає мережу 10, вузол 1). Якщо номер мережі і номер вузла доповнені 8-бітовим гніздом (socket), що позначає який-небудь особливий процес, то це означає, що в мережі заданий який-небудь унікальний процес. AppleTalk Phase II робить відмінність між нерозширеними (nоnextended) і розширеними (extended) мережами. У нерозширених мережах, таких як LocalTalk, номер кожного вузла AppleTalk унікальний. Нерозширені мережі були єдиним типом мережі, визначеним у AppleTalk Phase I. У розширених мережах, таких як EtherTalk і TokenTalk, унікальною є комбінація номер кожної мережі / номер вузла. Зони визначаються керуючим мережі AppleTalk в процесі конфігурації роутера. Кожен вузол AppleTalk належить до окремої конкретної зони. Розширені мережі можуть мати кілька зон, які асоціюються з ними. Вузли в розширених мережах можуть належати до будь-якої окремої зони, яка асоціюється з цією розширеною мережею.
Протокол підтримки маршрутної таблиці (RTMP)
Протокол, який організовує і підтримує маршрутні таблиці AppleTalk, називається Протоколом підтримки маршрутної таблиці (RTMP). Маршрутні таблиці RTMP містять дані про кожну мережі, до якої може дійти дейтаграмма. У ці дані входить порт роутера, який веде до мережі пункту призначення, ID вузла наступного роутера, який приймає цей пакет, відстань до мережі призначення, виражене числом пересилань, і поточний стан цих даних (хороше, підозріле або погане). Періодичний обмін маршрутними таблицями дозволяє роутеру об'єднаних мереж гарантувати забезпечення несуперечливою поточною інформацією. На малюнку представлений зразок таблиці RTMP і відповідна архітектура мережі.
Протокол прив'язки за іменами AppleTalk (NBP)
Протокол прив'язки за іменами AppleTalk (Name Binding Protocol - NBP) встановлює зв'язок імен AppleTalk (які виражаються як об'єкти, видимі для мережі - network-visible entities, або NVE) з адресами. NVE асоціюються з більш, ніж одним ім'ям об'єктів і переліком атрибутів. Імена об'єктів представляють собою послідовність символів, наприклад таку: printer @ net1, в той час як перелік атрибутів визначає характеристики NVE. Зв'язок між NVE з присвоєними іменами і мережевими адресами встановлюється через процес прив'язки імені. Прив'язка імені може бути зроблена в момент запуску сайту або динамічно, безпосередньо перед першим використанням. NBP керує процесом прив'язки імені, до якого входять реєстрація імені, підтвердження імені, стирання імені та пошук імені.
Протокол транзакцій AppleTalk (ATP)
ATP є одним з протоколів транспортного рівня Appletalk. У транзакції АТР входять запити (від клієнтів) (requests) і відповіді (від службових пристроїв) (replies). Кожна пара запит / відповідь має окремий ID транзакції. Транзакції мають місце між двома гніздами клієнтів. АТР використовує транзакції "тільки-один раз" (exactly once - XO) і "принаймні один раз" (at least--once - ALO), Транзакції ХО потрібні в тих ситуаціях, коли випадкове виконання транзакції більше одного разу неприйнятно. Банківські транзакції є прикладом таких неідемпотентних (nonidempotent) ситуацій (ситуацій, коли повторення якоїсь транзакції викликає проблеми, що досягається тим, що робляться недійсними дані, які беруть участь в даній транзакції). АТР здатний виконувати найбільш важливі функції транспортного рівня, в тому числі підтвердження про прийом даних та повторну передачу, встановлення послідовності пакетів, а також фрагментованість та повторну збірку. АТР обмежує сегментування повідомлень до 8 пакетів; пакети АТР не можуть містити більше 578 інформаційних байтів.
Протокол потоку даних AppleTalk (ADSP)
ADSP є важливим протоколом транспортного рівня Apple Talk. Як видно з його назви, ADSP є орієнтованим по потоку даних, а не по транзакціях. Він організовує і підтримує повністю дубльований потік даних між двома гніздами в об'єднаній мережі AppleTalk. ADSP є надійним протоколом в тому плані, що він гарантує доставку байтів в тому ж порядку, в якому вони були відправлені, а також те, що вони не будуть дубльовані. ADSP нумерує кожен байт, щоб відстежувати окремі елементи потоку даних. ADSP також визначає механізм управління потоком. Пункт призначення може в значній мірі уповільнювати передачі джерела, шляхом скорочення розміру оголошеного вікна на прийом. ADSP також забезпечує механізм повідомлень управління "виходу зі смуги" (out-of-band) між двома об'єктами AppleTalk. Як засіб для переміщення повідомлень управління виходу зі смуги між двома об'єктами AppleTalk використовуються пакети "уваги" (attention packets). Ці пакети використовують окремий потік номерів послідовностей, щоб можна було відрізняти їх від звичайних пакетів даних ADSP.
Протоколи вищих рівнів
AppleTalk забезпечує декілька протоколів вищого рівня. Протокол сеансів AppleTalk (AppleTalk Session Protocol - ASP) організовує та підтримує сеанси (логічні діалоги) між клієнтом AppleTalk і службовим пристроєм. Протокол доступу до принтера (Printer Access Protocol - РАР) AppleTalk є орієнтованим по зв'язку протоколом, який організує і підтримує зв'язки між клієнтами і службовими пристроями (використання терміну printer в заголовку цього протоколу є просто історичною традицією). Ехо-протокол AppleTalk (AppleTalk Echo Protocol - AEP) є дуже простим протоколом, що генерує пакети, які можуть бути використані для перевірки спроможності різних вузлів мережі створювати повторне луна. І нарешті, Протокол ведення картотеки AppleTalk (AppleTalk Filing Protocol - AFP) допомагає клієнтам колективно використовувати службові файли в мережі.
Особливості AppleTalk
Подібно TCP/IP, AppleTalk використовує 32-розрядні адреси. Подібно до IP-адресу, адреса AppleTalk складається з двох компонентів: адреси мережі і адреси комп'ютера. На відміну від IP, довжина кожного з компонентів фіксована: 16 з 32 бітів виділені для представлення адреси мережі, а останні 16 бітів — для ідентифікації комп'ютера. У мережах AppleTalk підтримується процедура переговорів, що робляться для отримання комп'ютером мережевої адреси. Завдяки наявності такої процедури адміністратор позбавлений від необхідності явно указувати адреси. (Якщо ви захочете, можете задати адресу явно або запитати його з певного діапазону, але зазвичай в цьому немає потреби.)
Окрім адрес для ідентифікації комп'ютерів в AppleTalk-сетях існує система імен, призначена для того, щоб спростити роботу користувачів. Кожному комп'ютеру привласнюється ім'я, крім того, для цього комп'ютера визначається приналежність до локальної групи машин, яка називається зоною. Повне ім'я складається з імені комп'ютера і імені зони. У невеликих мережах інформація про зону може не використовуватися, в цьому випадку комп'ютери ідентифікуються тільки за допомогою імені. Netatalk (основний пакет, призначений для підтримки AppleTalk в Linux) за умовчанням генерує AppleTalk-імена на базі доменних імен TCP/IP. Так, наприклад, якщо комп'ютеру відповідає доменне ім'я larch. threeroomco. com, Nettalk призначить йому ім'я larch. Інформація про домен при цьому буде загублена. Двокомпонентні імена істотно обмежують розміри AppleTalk-мереж, зокрема, створити мережу, що налічує більше декількох тисяч комп'ютерів, скрутно.
Основне призначення AppleTalk - забезпечення сумісного використання файлів і принтерів. Багато мережевих принтерів можуть безпосередньо взаємодіяти за допомогою протоколу AppleTalk, а засоби розділення файлів підтримуються в MACOS, Windows NT і 2000, Linux, BEOS і інших операційних системах. Для вирішення інших завдань AppleTalk використовується лише в мережах, що складаються з комп'ютерів, які працюють під управлінням MACOS. У мережах, компоненти яких використовують інші операційні системи, доцільніше застосовувати інші стеки протоколів. Якщо до складу мережі входять різні машини, на комп'ютерах Macintosh встановлюють систему MACOS X, що забезпечує роботу з NFS.
При маршрутизації пакетів AppleTalk за допомогою звичайних маршрутизаторів виникають серйозні труднощі. Щоб виключити можливість злому ззовні, можна заборонити підтримку TCP/IP на сервері Netatalk. Очевидно, що цей захід забезпечення безпеки не є єдино можливим.