ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Что такое ATM и недостатки его ячеек

Вопрос из книги Таненбаума про компьютерные сети к главе 1 «Введение», цитата:

30. Каковы недостатки использования маленьких клеток фиксированной длины в ATM?


Лично мне англоязычная аббревиатура «ATM» до прочтения этого вопроса была известна в значении «банкомат». Американцы и британцы так называют банкоматы. В этом значении «ATM» расшифровывается как «Automated Teller Machine», что по-русски дословно означает «машина-автоматизированный банковский служащий» или «машина-автоматизированный кассир». Существительное «teller» происходит от глагола «tell» (по-русски «говорить», «рассказывать»), то есть «teller» можно перевести как «рассказчик». Банковский служащий (клерк, кассир, менеджер) обычно нужен, чтобы наладить общение с клиентом, рассказать клиенту об услугах, оказываемых банком, поэтому его, как я понимаю, и называют «teller».

Однако, в рассматриваемом вопросе, исходя из того, что наш контекст — это компьютерные сети, можно сделать вывод, что англоязычная аббревиатура «ATM» означает «Asynchronous Transfer Mode», что на русский можно перевести как «асинхронный способ (режим) передачи данных». В википедии об этом понятии есть статьи:

https://ru.wikipedia.org/wiki/ATM
https://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode

Нужно отметить, что при переводе слова «cell» с английского на русский переводчик книги выбрал значение «клетка», хотя мне в данном контексте чаще встречается перевод этого слова на русский как «ячейка». То есть в вопросе речь идет о размере ячеек в ATM. Ячейками при этом способе передачи данных называют пакеты данных. Каждый пакет, согласно стандарта, имеет фиксированный размер в 53 байта.

Еще, думаю, нужно пояснить, что в предыдущей (четвертой) редакции книги о понятии «ATM» в первой главе книги был материал, но в рассматриваемой (пятой) редакции книги Таненбаум этот материал удалил. Об этом сказано в предисловии Таненбаума к книге, но в русском переводе вы этого замечания не найдете, так как по какой-то неизвестной причине русский издатель счел возможным вырезать из книги большую часть предисловия, оставив от него только маленький огрызок.

Почему Таненбаум удалил материал о понятии «ATM» из первой главы? Как я понимаю, потому, что эта технология потеряла свою популярность и сегодня используется только в узких нишах рынка телекоммуникаций. Она проиграла конкуренцию гигабитному Ethernet в 2000-х, об этом рассказано в упомянутой выше статье википедии об ATM.

В рассматриваемой книге есть краткое (на одну-две странички) описание технологии ATM в главе 3 «Канальный уровень» (по-английски «The Data Link Layer»), в подразделе 3.5.2 «ADSL».

Разбираясь, что из себя представляет ATM, я написал несколько постов:
1. Синхронный и асинхронный режимы передачи цифрового сигнала.
2. Мультиплексирование с разделением по времени.

Как я понял, в то время, когда появился ATM, существовали сети, передающие голос (телефонные), и сети передающие данные. ATM придумали, чтобы объединить передачи данных любого вида в один поток. Единый поток данных должен был удовлетворять часто противоречивым требованиям, предъявляемым передачами данных разного вида. Например, передача данных голосового общения и видеоконференций должна проходить в реальном времени, поэтому для таких потоков данных задержки недопустимы, но потеря отдельных пакетов (кусочков данных) неважна. При этом передача, к примеру, файлов могла переносить задержки безболезненно, но потеря отдельных пакетов (кусочков данных) недопустима.

В протоколе ATM данные любого вида делятся на одинаковые кусочки (пакеты, ячейки) по 48 байтов. К каждой такой ячейке прибавляется заголовок размером 5 байтов. Итого размер одной ячейки составляет 53 байта.

Потоки данных из разных каналов для данных разного вида поступают в мультиплексор ATM асинхронно, это означает, что в потоках поступающих данных есть разрывы (в голосовом общении бывают паузы, а при обмене, к примеру, файлами есть паузы между передачей отдельных файлов). Мультиплексор ATM действует по запросу, как я разбирал в описании статистического (асинхронного) мультиплексирования с разделением по времени (асинхронное TDM). Наличие этой асинхронности отражено в названии протокола ATM (первая буква этой аббревиатуры).

Заголовок каждой ячейки содержит номер виртуального канала (соединения), поэтому в ATM возможно объединение преимуществ работы с каналами (для передачи данных в реальном времени, то есть голоса и видео) и с пакетной коммутацией (передача файлов и тому подобного).

Ответ на вопрос. Как известно, в итоге технология ATM проиграла конкуренцию так называемым «мультисервисным сетям связи», которые базируются на интернет-технологиях, включающих в себя протокол IP («internet protocol») и технологию MPLS («multiprotocol label switching»). Если ATM делит данные на короткие пакеты (ячейки) фиксированного размера (53 байта каждый, в том числе 48 байтов полезной нагрузки), то IP-пакеты — это длинные пакеты (до нескольких тысяч байт каждый) переменного размера.

https://ru.wikipedia.org/wiki/Мультисервисная_сеть_связи
https://ru.wikipedia.org/wiki/IP
https://ru.wikipedia.org/wiki/MPLS

https://ru.wikipedia.org/wiki/Maximum_transmission_unit
https://ru.wikipedia.org/wiki/Jumbo-кадр

На момент изобретения ATM передавать длинные пакеты было невыгодно из-за относительно низкой скорости передачи данных. Длинные пакеты вызывали слишком большие задержки в очередях (буферах) маршрутизаторов при передаче данных. Как только скорости передачи данных увеличились (появление гигабитного Ethernet и тому подобного), задержки при передаче длинных пакетов упали до минимума и стало выгоднее передавать длинные пакеты, потому что при передаче коротких ячеек (пакетов) слишком велики накладные расходы (большУю часть канала занимает передача заголовков ячеек, что характерно для передачи данных короткими пакетами). Кроме этого, если пакеты (ячейки) короткие, то на разбивку на пакеты, обработку пакетов при пересылке и обратную сборку из пакетов исходных данных уйдет больше времени по сравнению с применением длинных пакетов.

Кроме вышеизложенного, фиксированный размер ячеек ATM подразумевает необходимость того, чтобы исходные данные можно было разделить без остатка на 48 байт (полезная нагрузка одной ячейки ATM). Очевидно, не любые данные делятся без остатка на 48. Чтобы обеспечить это условие, размер исходных данных «добивается» «пустыми» байтами до нужного размера (по-английски этот процесс называется «padding», а последовательность лишних «пустых» (ничего не означающих) байтов — «pad»). Очевидно, что передача лишних байтов, не несущих никакой информации, как и передача заголовков, уменьшает скорость передачи данных.
Tags: Образование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments