8. Передача других протоколов через Frame Relay
Как и в случае инкапсуляции IP существуют альтернативные способы передачи разных протоколов в рамках настоящего определения. Во избежание конфликтов SNAP-инкапсулция используется только в тех случаях, когда для протокола не определено значение NLPID.
В качестве примера рассмотрим протокол ISO CLNP, для которого определено NLPID=0x81.
Следовательно, поле NLPID будет указывать на протокол ISO CLNP и данные из пакета могут помещаться вслед за NLPID. Кадр будет иметь следующий формат:
+---------------------------------------------+ | Адрес Q.922 | +----------------------+----------------------+ | Control (UI) 0x03 | NLPID 0x81 (CLNP) | +----------------------+----------------------+ | остаток пакета CLNP | | . | | . | +---------------------------------------------+
В этом примере значение NLPID служит для идентификации принадлежности пакета протоколу CLNP. Это поле рассматривается так же в качестве части пакета CLNP и, таким образом, поле NLPID не должно удаляться перед отправкой пакета для обработки протоколу вышележащего уровня. Значение поля NLPID не дублируется в пакетах.
Некоторые протоколы (например, IPX) не имеют значения NLPID. В соответствии со сказанным выше, протокол IPX должен инкапсулироваться с использованием заголовка SNAP. В этом случае кадр будет иметь формат:
+---------------------------------------------+ | Адрес Q.922 | +----------------------+----------------------+ | Control (UI) 0x03 | pad 0x00 | +----------------------+----------------------+ | NLPID 0x80 (SNAP) | OUI - 0x00 00 00 | +----------------------+ | | | +---------------------------------------------+ | PID 0x8137 | +---------------------------------------------+ | пакет IPX | | . | | . | +---------------------------------------------+