Транспортный уровень обеспечивает функции передачи данных с одной конечной точки к другой через сеть. Транспортный уровень отвечает за управление потоком и исправление ошибок. Верхний уровень модели OSI воспринимает транспортный уровень, как надежную, независимую от сети, сквозную (end-to-end) службу. Сквозная служба в транспортном уровне классифицируется на одном из пяти уровней службы; Транспортный протокол (TP) с класса 0 по TP класса 5.
TP класса 0 TP класса 0 – это самый основной из пяти уровней классификации. Службы, классифицированные по этому уровню, выполняют сегментацию и повторную сборку пакетов.
TP класса 1 Службы TP класса 1 выполняют все функции служб TP класса 0, а также исправление ошибок. Служба этого уровня будет повторно передавать единицы данных, если они не были получены целевым адресатом.
TP класса 2 Службы TP класса 2 выполняют все функции служб, классифицированных по уровню TP класса 1, а также мультиплексирование и демультиплексирование, подробнее об этом чуть позже.
TP класса 3 Службы TP класса 3 выполняют все функции служб, классифицированных по уровню TP класса 2, а также упорядочение единиц данных для отправки.
TP класса 4 Службы TP класса 4 выполняют все функции служб, классифицированных по уровню TP класса 3, а также способны обеспечивать свои службы через сеть, ориентированную на подключение или сети без маршрутизации информации. Этот класс транспортного протокола является самым распространенным и очень похож на протокол Transmission Control Protocol (TCP) пакета Internet Protocol (IP).
Я говорю, что TP класса 4 очень похож на TCP, поскольку есть некоторые ключевые отличия. TP класса 4 использует 10 типов данных, в то время как TCP использует только один. Это означает, что TCP проще, но также означает, что он должен содержать множество заголовков. TP класса 4, хотя и более сложный, может содержать одну четверть заголовков, которые содержит TCP, что значительно снижает количество служебных сигналов (overhead).
Сети, ориентированные на подключение, подобны вашему телефону. Подключение создается прежде, чем данные отправляются, и сохраняется в течение всего процесса передачи данных. В таких типах сетей, информация маршрутизации должна быть отправлена только при установке подключения, а не во время передачи данных. Это снижает общую нагрузку, что улучшает скорость взаимодействия. Этот тип взаимодействия также очень хорош для таких приложений, как голосовые и видео передачи, где порядок получения данных особенно важен.
Сети без маршрутизации информации (Connectionless networks) являются противоположностью сетей, ориентированных на подключение, в том, что они не создают подключения перед отправкой данных. Они также не сохраняют никаких подключений между двумя конечными точками. Это требует того, чтобы информация маршрутизации отправлялась с каждым пакетом, что в свою очередь увеличивает нагрузку соединения.
Следует помнить, что только тот факт, что данные отправляются пакетами, вовсе не означает, что это сеть без маршрутизации информации; виртуальные каналы являются примером сетей, ориентированных на подключение, которые используют пакеты.
Поскольку в свой предыдущей части я уже рассказывал об обнаружении и исправлении ошибок, и поскольку эта статья ориентирована на оборудование, я затрону широко известный (хотя и не всегда отчетливо понимаемый) аспект транспортного уровня; мультиплексирование и демультиплексирование.
Мультиплексирование (или muxing, как его часто называют) – это одно из тех слов, которое люди часто слышат, но не совсем понимают его смысл. Многие возможно знают, что muxing – это процесс объединения двух или более сигналов в один, но как это делается? Существует несколько способов, чтобы сделать это. Цифровой сигнал можно мультиплексировать одним из двух способов, мультиплексирование с разделением времени (time-division multiplexing – TDM) и частотное уплотнение (frequency division multiplexing – FDM). Оптические сигналы используют метод, известный под названием мультиплексирование с разделением длины волны (wavelength-division multiplexing), хотя это то же самое, что и FDM (длина волн обратно пропорциональна частоте).
Чтобы продемонстрировать, как работает мультиплексирование, давайте рассмотрим простой случай TDM. В этом примере давайте допустим, что есть двухсигнальный вход. Устройство мультиплексирования двухсигнального ввода потребует три входа; по одному для каждого сигнала, и еще один для ввода сигнала управления (control signal). Это устройство также будет иметь один выход. Это устройство будет работать с двумя входящими сигналами, выдавая получившийся единый сигнал на выходе.
Рисунок 1: Схема логического элемента двухсигнального мультиплексирования. Предоставлено сайтом www.cs.uiowa.edu
На рисунке 1 показано мультиплексирование с двумя входящими сигналами. Два сигнала представлены как d0 и d1, а управляющий сигнал представлен как c. Выход, который является функцией двух входящих сигналов, представлен как f. Символы, представленные на этой схеме, являются стандартными символами обозначения логических элементов. На рисунке 2 показано значение этих трех элементов.
Рисунок 2: Основные логические элементы. Предоставлено сайтом www.cs.uiowa.edu
Мультиплексирование принимает цифровой сигнал на входе. Этот сигнал направляется непосредственно на один вход 1 ‘AND’ (И) элемента, и ‘NOT’ (НЕ) элемента. ‘NOT’ элемент инвертирует сигнал и затем отправляет его на один вход 2 ‘AND’ элемента. Выходы ‘AND’ элементов будут высоким, только когда управляющий сигнал и входные сигналы (d0 или d1) высокие. Поскольку управляющий сигнал отправляется через ‘NOT’ элемент, прежде чем дойти до 2 ‘AND’ элемента, только один из двух ‘AND’ элементов будет видеть высокий управляющий сигнал в любую данную единицу времени. Этот процесс означает, что f будет поочередно приравниваться к d0, затем к d1 с частотой в c.
Теперь вы вероятно думаете: «все это здорово, но кому какое дело до получения половины сигнала». Это совсем необязательно должно быть именно так. Если частота управляющего сигнала хотя бы вдвое больше частоты входящих сигналов, то выходной сигнал f будет содержать достаточно информации об обоих d0 и d1 сигналах, чтобы демультиплексатор смог вернуть их к изначальному состоянию. Это основная идея теоремы дискретизации Nyquist-Shannon.
Смотря на логические элементы на рисунках 1 и 2, те из вас, у кого есть опыт в программировании или работе со сценариями, сразу распознают эти логические функции, как общие инструменты в репертуаре программиста. Следует помнить, что хотя эти логические функции используются в программировании ПО, я говорю исключительно о функциях физического оборудования, которые осуществляются набором транзисторов, работающих в качестве переключателей, включенных в цепь так, чтобы достигать этих логических функций.
Демультиплексирование – это прямо противоположенный мультиплексированию процесс. Демультиплексирование будет иметь один входной сигнал, и, в случае, описанном выше, два выходных сигнала. Демультиплексирование, конечно, также использует управляющий сигнал, хотя для демультиплексирования эти сигналы часто называют адресными сигналами (addressing signals). Этот управляющий сигнал называется адресным сигналом, так как канал демультиплексирования может также использоваться для простого выбора того, на какой выходной контакт направить входящий сигнал.
В своей следующей части я расскажу о пятом уровне модели OSI. А пока, как всегда по традиции, если у вас есть какие-либо вопросы, без сомнений присылайте их мне по электронной почте; я постараюсь сделать все от меня зависящее, чтобы ответить на них.
www.windowsnetworking.com