AppleTalk

 

Подобно NetBEUI, стек протоколов AppleTalk предназначен для вы­полнения базовых сетевых функций в небольшой группе компьюте­ров.

В компьютерах Apple Macintosh сетевое оборудование и ПО име­лось практически с самого начала. AppleTalk, конечно, не обладает гибкостью TCP/IP, но зато его просто устанавливать и использовать.

Основные сетевые задачи — совместное использование файлов и принтеров — он решает вполне эффективно. Но, увы, AppleTalk не поддерживает коммуникации Интернета и потому уступает свои по­зиции TCP/IP.

В AppleTalk изначально применялся собственный протокол канально­го уровня — Apple LocalTalk — адаптер для которого встраивался в ком­пьютеры Macintosh. Он работал на скорости всего 230 кбит/сек, и вско­ре был заменен протоколом Apple EtherTalk со скоростью 10 Мбит/сек (или Fast EtherTalk со скоростью 100 Мбит/сек), а также, в меньшей степени, протоколами TokenTalk со скоростями 4 и 16 Мбит/сек и FDDITalk со скоростью 100 Мбит/сек. Эти протоколы являются адап­тированными вариантами протоколов Ethernet, Token Ring и FDDI.

Подобно IP и IPX, для идентификации сетевых компьютеров в AppleTalk используется иерархическая система адресации. У каждого компьютера AppleTalk имеется уникальный 8-битовый идентифика­тор узла, который выбирается случайным образом и назначается са­мим компьютером при первом подключении к сети. Убедившись с помощью широковещательного сообщения, что ни одному компью­теру в сети не присвоен тот же идентификатор, система запоминает его и использует при последующих подключениях к сети. Поскольку длина идентификатора всего 8 битов, в одиночную сеть AppleTalk нельзя включить более 254 узлов (идентификаторы 0 и 255 не приме­няются). Для маршрутизации в AppleTalk используются 16-битовые номера сетей. Компьютер, подключающийся к сети, определяет ее номер с помощью протокола ZIP (Zone Information Protocol). Как и в случае IP, сети AppleTalk можно соединять с помощью маршрутиза­торов, которые считывают из пакета номер целевой сети и иденти­фикатор целевого узла и направляют пакет в соответствующую ЛВС.

Для идентификации процесса на компьютере в AppleTalk приме­няется 8-битовый номер сокета, который играет ту же роль, что и зна­чение поля Protocol заголовка IP. Комбинация номера сети, иденти­фикатора узла и сокета записывается в виде трех десятичных чисел, разделенных точками, например, 2.12.50. Преобразование аппаратно­го адреса канального уровня в идентификатор узла и номер сети в AppleTalk осуществляется с помощью протокола AARP (AppleTalk Address Resolution Protocol), действие которого практически идентич­но действию протокола ARP из TCP/IP.

Помимо идентификатора узла и номера сети компьютеру Apple-Talk присваивается понятное имя. Компьютеры объединяются в ло­гические структурные единицы, называемые зонами (zones).

На сетевом уровне в AppleTalk работает протокол DDP. Подобно IP и IPX, он не ориентирован на соединение. DDP инкапсулирует данные, сгенерированные протоколом верхнего уровня, а также вы­полняет многие другие функции, аналогичные функциям IP и IPX, в том числе адресацию пакетов, маршрутизацию и идентификацию про­токола. Простая сеть AppleTalk идентифицируется одним номером и состоит из одной нерасширенной зоны (nonextended network). Сеть, иден­тифицируемая несколькими номерами и состоящая из нескольких зон, называется расширенной сетью (extended network). В такой сети приме­няется расширенный формат заголовка DDP (рис).

 

Функции полей заголовка DDP:

· Hop Count (1 байт) — число маршрутизаторов, пройденных пакетом на пути к целевой системе.

· Datagram Length (2 байта) — длина дейтаграммы DDP; используется для базового обнаружения ошибок.

· Checksum(2 байта) — необязательное поле, содержащее конт­рольную сумму, рассчитанную для всей дейтаграммы; использует­ся для более летального обнаружения ошибок.

· Source Socket Number (1 байт) — номер сокета, соответствующий приложению или процессу, которые сгенерировали информацию в поле данных,

· Destination Socket Number (1 байт) — номер сокета, соответствую­щий приложению или процессу, которым адресована информация в поле данных.

· Source Address (3 байта) — номер сети и идентификатор узла ком-Jf пьютера, сгенерировавшего пакет.

· Destination Address (3 байта) — номер сети и идентификатор узла компьютера, которому адресован пакет.

· DDP Type (1 байт) — идентификатор протокола верхнего уровня, сгенерировавшего информацию в поле данных.

· Data(переменной длины, до 586 байтов) — информация, сгенери­рованная протоколом верхнего уровня.

В нерасширенных сетях применяется сокращенный заголовок DDP, в который включаются только четыре, поля, идентифицирую­щие исходную и целевую системы, а также поля, определяющие дли­ну дейтаграммы и протокол, сгенерировавший данные.