Ограничение функций обработки заголовка
Для того, чтобы обеспечивать быструю обработку пакетов, их заголовок должен быть относительно коротким. Основная функция заголовка сводится к идентификации виртуального соединения (в это понятие здесь вкладывается точно такой же смысл, как и в сетях Х.25). Как и в Х.25 производится мультиплексирование многих виртуальных соединений в одной линии. Последствием поражения заголовка ошибкой будет неверная маршрутизация пакета - т.е. однократная ошибка приведет к потере всего пакета. Это можно расценить как ситуацию, когда в пакете оказался ошибочным каждый бит. Для того, чтобы уменьшить эту вероятность вводится механизм защиты заголовка по принципу обнаружения или исправления ошибок (ранее говорилось, что защиты от ошибок нет, но имелось в виду, что нет защиты от ошибок поля данных).
В случае, если бы не выполнялось защиты от ошибок в заголовке, то, во-первых, данный пакет не был бы доставлен получателю, т.е. имело бы место пропадание пакета в данном виртуальном соединении, а, во-вторых, этот пакет был бы доставлен не тому получателю, у которого произошла бы вставка лишнего пакета. Иначе говоря, в этом случае однократная ошибка вызвала бы две ошибки типа вставки и выпадения пакета. Если мы введем в заголовок функцию обнаружения ошибок, т.е. отбрасывания пакета при наложении ошибки на заголовок, то он не будет доставлен не тому получателю, а только отброшен. Следовательно, ошибка вызовет только одну потерю. Если же ввести в заголовок функцию исправления ошибок, то ошибок типа выпадений и вставок по причине искажений бит уже не будет. Именно на этом принципе остановились разработчики процедуры АТМ. Все было бы хорошо, если бы на заголовок не могла наложиться множественная ошибка, т.е. если много бит в заголовке оказались поражены. Уже говорилось о том, что большинство ошибок либо одиночные, либо пакетные, т.е. множественные. Единичные ошибки можно исправить помехозащитным кодом. Пакетную ошибку исправить гораздо труднее, и это требует значительной избыточности. С другой стороны, маловероятно, что пакетная ошибка поразила только заголовок - скорее всего поражены также и информационные биты.
Поэтому, исправлять их в заголовке бесполезно. Это значит, что если ввести функцию исправления однократной ошибки, то это решит большинство связанных с этим проблем. По этой причине в системе АТМ был введен оригинальный адаптивный метод коррекции ошибок (рис. 2). Его суть состоит в следующем. В нормальном режиме, т.е. когда ошибок нет, заголовок обрабатывается в режиме коррекции однократных ошибок. В случае, если система обнаружила ошибку и исправила ее исходя из возможностей исправления только одной ошибки, то она сразу переходит в режим обнаружения (но не исправления) ошибок. Это сделано для того, что в том случае, если ошибка была пакетная (а это значит, что исправление было неправильным), только этот первый пакет прошел дальше в сеть с искаженным заголовком - все последующие пакеты, в которых обнаружена ошибка, будут уничтожены. Если же ошибка была все-таки однократная, то следующий пакет скорее всего будет безошибочным, что и отметит механизм обнаружения и вернется в режим с коррекцией ошибок. Это значит, что после первого исправления ошибок, отбрасываться будут только следующие друг за другом искаженные пакеты.
Рис. 2. Адаптивный мехпнизм обнаружения/исправления ошибок в заголовке пакета
Помимо перечисленного на заголовок накладывается еще очень ограниченный набор функций, связанных с эксплуатацией соединений. Все остальные функции заголовка, имеющиеся в классической пакетной коммутации изъяты. Благодаря этому имеется возможность тратить на обработку одного пакета очень мало времени и работать с большими скоростями.
Для того, чтобы уменьшить размеры памяти в узлах и ограничить время ожидания пакетов в очередях, поле информации пакета сравнительно мало. В самом деле, малый объем буфера означает малое время ожидания и небольшие флуктуации этого времени.