Контроль ошибок на канальном уровне

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Data-link layer uses the techniques of error control simply to ensure and confirm that all the data frames or packets, i.e. bit streams of data, are transmitted or transferred from sender to receiver with certain accuracy. Using or providing error control at this data link layer is an optimization, it was never a requirement. Error control is basically process in data link layer of detecting or identifying and re-transmitting data frames that might be lost or corrupted during transmission. In both of these cases, receiver or destination does not receive correct data frame and sender or source does not even know anything about any such loss regarding data frames. Therefore, in such type of cases, both sender and receiver are provided with some essential protocols that are required to detect or identify such types of errors as loss of data frames. The Data-link layer follows a technique known as re-transmission of frames to detect or identify transit errors and also to take necessary actions that are required to reduce or remove such errors. Each and every time an error is detected during transmission, particular data frames are retransmitted and this process is known as ARQ (Automatic Repeat Request). 

    Ways of doing Error Control : There are basically two ways of doing Error control as given below :

    Ways of Error Control

    1. Error Detection : Error detection, as the name suggests, simply means detection or identification of errors. These errors may occur due to noise or any other impairments during transmission from transmitter to the receiver, in communication system. It is a class of techniques for detecting garbled i.e. unclear and distorted data or messages.
    2. Error Correction : Error correction, as the name suggests, simply means correction or solving or fixing of errors. It simply means reconstruction and rehabilitation of original data that is error-free. But error correction method is very costly and very hard.

    Various Techniques for Error Control : There are various techniques of error control as given below :

    Techniques of Error Control

    1. Stop-and-Wait ARQ : Stop-and-Wait ARQ is also known as alternating bit protocol. It is one of the simplest flow and error control techniques or mechanisms. This mechanism is generally required in telecommunications to transmit data or information between two connected devices. Receiver simply indicates its readiness to receive data for each frame. In these, sender sends information or data packets to receiver. Sender then stops and waits for ACK (Acknowledgment) from receiver. Further, if ACK does not arrive within given time period i.e., time-out, sender then again resends frame and waits for ACK. But, if sender receives ACK, then it will transmit the next data packet to receiver and then again wait for ACK from receiver. This process to stop and wait continues until sender has no data frame or packet to send. 
    2. Sliding Window ARQ : This technique is generally used for continuous transmission error control. It is further categorized into two categories as given below :

    • Go-Back-N ARQ : Go-Back-N ARQ is form of ARQ protocol in which transmission process continues to send or transmit total number of frames that are specified by window size even without receiving an ACK (Acknowledgement) packet from the receiver. It uses sliding window flow control protocol. If no errors occur, then operation is identical to sliding window.
    • Selective Repeat ARQ : Selective Repeat ARQ is also form of ARQ protocol in which only suspected or damaged or lost data frames are only retransmitted. This technique is similar to Go-Back-N ARQ though much more efficient than the Go-Back-N ARQ technique due to reason that it reduces number of retransmission. In this, the sender only retransmits frames for which NAK is received. But this technique is used less because of more complexity between sender and receiver and each frame must be needed to be acknowledged individually.

    The main difference between Go Back ARQ and Selective Repeat ARQ is that in Go Back ARQ, the sender has to retransmit the whole window of frame again if any of the frame is lost but in Selective Repeat ARQ only the data frame that is lost is retransmitted.

    Last Updated :
    24 May, 2023

    Like Article

    Save Article

    Курс лекций по сетевым технологиям. Часть I 1

    Уровни модели OSI

    Прикладной уровень

       Виды сервиса прикладного уровня

       Функции управления сетями на прикладном уровне

    Уровень представления данных

    Сеансовый уровень

    Транспортный уровень

    Сетевой уровень

    Канальный уровень

       Контроль ошибок на канальном уровне

       Основные протоколы канального уровня

    Физический уровень

    Подведем краткие итоги

    Прежде чем приступить к рассмотрению технологий, давайте вспомним некоторые
    базовые понятия, на которых основываются все сетевые процессы и взаимодействия.
    Во-первых, это модель OSI.

    Уровни модели OSI

    В настоящее время общепринятой является семиуровневая модель архитектуры открытых
    систем (Open System Interconnection). В этой модели рассматриваются:

    • Уровень 1. Физический уровень (управление физическим каналом).
    • Уровень 2. Канальный уровень (управление информационным каналом).
    • Уровень 3. Сетевой уровень (управление сетью).
    • Уровень 4. Транспортный уровень (управление передачей).
    • Уровень 5. Сеансовый уровень (управление сеансом).
    • Уровень 6. Представительный уровень (управление представлением).
    • Уровень 7. Прикладной уровень (управление сервисом).

    Какие же задачи решаются на различных уровнях протоколов открытых систем? Рассмотрим
    этот вопрос несколько подробнее.

    В начало

    В начало

    Прикладной уровень

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

    В начало

    В начало

    Виды сервиса прикладного уровня

    Прикладной уровень содержит несколько так называемых общих элементов прикладного
    сервиса (ACSE — Application Common Service Elements) и специальных элементов
    прикладного сервиса (SASE — Specific Application Service Elements). Сервисы
    ACSE предоставляются прикладным процессам во всех системах. Они включают, например,
    требование определенных параметров качества сервиса.

    Допустим, необходимо установить связь через модем по глобальной сети между
    рабочей станцией локальной сети в Лос-Анджелесе и мэйнфреймом в Бостоне. Поскольку
    качество телефонной линии иногда оказывается неудовлетворительным, прикладной
    процесс, работающий в ЛВС, может запросить такое качество сервиса, которое предусматривает
    подтверждение приема и распознавания информации.

    (Если провести аналогию с почтой, то указанное действие равносильно требованию,
    чтобы доставка вашей посылки подтверждалась квитанцией.)

    Специальные элементы прикладного сервиса (SASE) обеспечивают сервис для конкретных
    прикладных программ, таких как программы пересылки файлов и эмуляции терминалов.
    Если, например, прикладной программе необходимо переслать файлы, то обязательно
    будет использован протокол передачи, доступа и управления файлами (FTAM — File
    Transfer, Access and Management), являющийся одним из ключевых протоколов прикладного
    уровня.

    Давайте на минутку заглянем в будущее, когда локальные сети и мэйнфреймы станут
    работать с OSI-совместимым программным обеспечением. Поскольку FTAM работает
    как виртуальный банк файлов и имеет собственную службу каталогов, то программы
    смогут получать доступ к базам данных, не имея информации о фактическом местонахождении
    файла. Поскольку FTAM поддерживает широкое разнообразие различных типов структур,
    включая последовательную, упорядоченную иерархическую и общую иерархическую,
    то информация из базы данных, расположенной на удаленном Unisys-компьютере,
    будет использоваться для обновления другой базы данных, работающей в локальной
    сети в другом городе. Данные из первой базы, в свою очередь, будут обновляться
    на основе информации, взятой из третьей базы данных, размещенной на IBM-мэйнфрейме.

    Еще одна важная составляющая SASE прикладного уровня — сервис виртуального
    терминала (VT — Virtual Terminal). VT — это сложный сервис, который освобождает
    компьютер от необходимости посылать соответствующие сигналы для обращения ко
    всем терминалам, подключенным ко второму компьютеру. Первый компьютер может
    использовать набор параметров виртуального терминала, а решение вопросов конкретизации
    конфигурации терминалов можно предоставить второму компьютеру.

    На разных этапах разработки находятся еще несколько SASE: обработка транзакций
    (trunks actions), электронный обмен данными (EDI — Electronic Data Interchange),
    передача и обработка заданий (JTM — Job Transfer and Manipulation). Разработка
    стандарта OSI на EDI, в частности, очень важна для пользователей ЛВС. Например,
    на рабочей станции ЛВС можно составить заказ на покупку и передать эту информацию
    по сети непосредственно изготовителю или продавцу, где данные будут автоматически
    внесены в счет-фактуру. Можно проверять и автоматически корректировать инвентаризационные
    ведомости, можно заключать договора на поставку товаров — и все это без бумаг
    и волокиты.

    В начало

    В начало

    Функции управления сетями на прикладном уровне

    По мере усложнения информационных сетей вопрос административного управления
    ими приобретает все большее значение. Поскольку сейчас любые системы передачи
    информации позволяют обрабатывать и передавать также и речевые данные, а локальные
    сети все теснее связываются с глобальными сетями и мэйнфреймами, то все очевиднее
    необходимость в разработке эффективного метода организации этой информации и
    управления ею. Фирма IBM в качестве решения предложила свои системы NetView
    и NetView/PC, a Hewlett-Packard вышла на рынок с пакетом прикладных программ
    OpenView.

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

    В начало

    В начало

    Уровень представления данных

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

    Уровень представления данных обеспечивает возможность передачи данных с гарантией,
    что прикладные процессы, осуществляющие обмен информацией, смогут преодолеть
    любые синтаксические различия. Для того чтобы обмен имел место, эти два процесса
    должны использовать общее представление данных или язык.

    Важность уровня представления данных заключается в том, что в основу его работы
    положена единая для всех уровней модели OSI система обозначений для описания
    абстрактного синтаксиса — ASN.1. Эта система служит для описания структуры файлов.
    На прикладном уровне система ASN.1 применяется и для выполнения всех операций
    пересылки файлов, и при работе с виртуальным терминалом. Использование этой
    системы позволяет также решить одну из важнейших проблем, возникающих при управлении
    крупными сетями, — проблему шифрования данных. Шифрование данных с помощью ASN.1
    можно выполнять на уровне представления данных; разработка стандарта OSI для
    этого уровня окажет значительное влияние на обеспечение межмашинной связи.

    В начало

    В начало

    Сеансовый уровень

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

    Сеансовый уровень отвечает за такие серьезные вопросы, как режим передачи и
    установка точек синхронизации. Иными словами, на этом уровне определяется, какой
    будет передача между двумя прикладными процессами: полудуплексной (процессы
    будут передавать и принимать данные по очереди) или дуплексной (процессы будут
    передавать и принимать данные одновременно). В полудуплексном режиме сеансовый
    уровень выдает тому процессу, который первым начинает передачу, маркер данных.
    Когда второму процессу приходит время отвечать, маркер данных передается ему.
    Сеансовый уровень, таким образом, разрешает передачу только той стороне, которая
    обладает маркером данных.

    Синхронизирующие точки представляют собой точки внутри «диалога», в которых
    сеансовый уровень проверяет наличие фактического обмена.

    Еще одна функция сеансового уровня модели OSI заключается в решении вопроса
    о восстановлении связи в случае ее нарушения. Например, логично было бы ставить
    точки синхронизации между страницами текста и в случае нарушения связи начинать
    передачу с последней синхронизирующей точки. Таким образом, для восстановления
    сеанса не нужно будет начинать все сначала и повторять передачу текста, который
    уже принят правильно.

    Сеансовый уровень, кроме того, отвечает за детали, связанные с упорядоченным
    («плавным») завершением соединения в конце сеанса. Могут возникнуть и ситуации,
    когда требуется безусловное («резкое») завершение. Это необходимо в тех случаях,
    когда одна из сторон прекращает обмен и отказывается с этого момента принимать
    данные.

    Сеансовый уровень обрабатывает не все запросы на соединения. Он может выдать
    примитив отказа от соединения, если определит, что соединение приведет к перегрузке
    сети или что затребованный прикладной процесс отсутствует.

    В начало

    В начало

    Транспортный уровень

    Транспортный уровень имеет большое значение для пользователей компьютерных
    сетей, поскольку именно он определяет качество сервиса, которое необходимо обеспечить
    посредством сетевого уровня. Для того чтобы лучше понять функции транспортного
    уровня, представим его как аналогию набора специальных услуг, которые местное
    почтовое отделение предоставляет клиентам за дополнительную плату. Например,
    заплатив некоторую сумму, клиент может получить квитанцию о том, что письмо
    доставлено по указанному им адресу. Можно заказать срочную доставку, если клиент
    желает, чтобы его посылка пришла, к примеру, в Бостон на следующий день. Плату
    за эти дополнительные высококачественные услуги почтовое ведомство США взимает
    с клиентов деньгами, а для пользователя сети, работающего с OSI-coвместимыми
    аппаратными и программными средствами, эта плата выражается в дополнительных
    битах, необходимых для предоставления информации о статусе возможных дополнительных
    услуг.

    На транспортном уровне предусмотрено три типа сетевого сервиса. Сервис типа
    А предоставляет сетевые соединения с приемлемым для пользователей количеством
    необнаруживаемых ошибок и приемлемой частотой сообщений об обнаруженных ошибках.
    Сервис типа В отличается приемлемым количеством необнаруживаемых ошибок, но
    неприемлемой частотой сообщений об обнаруженных ошибках. Наконец, сервис типа
    С предоставляет сетевые соединения с количеством необнаруженных ошибок, неприемлемым
    для сеансового уровня.

    Возникает вопрос: а для чего вообще нужны классы сервиса с неприемлемым количеством
    ошибок? Ответ состоит в том, что для установки многих сетевых соединений необходимы
    дополнительные протоколы, обеспечивающие обнаружение и устранение ошибок на
    достаточном для нормальной работы уровне, и на транспортном уровне такой сервис
    просто не нужен.

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

    Существует пять классов сервиса транспортного протокола:

    Класс 0, известный как телекс, представляет собой сервис с самым низким качеством.
    В этом классе сервиса предусматривается, что управление потоком данных осуществляет
    сетевой уровень (под транспортным уровнем). Транспортный уровень разрывает соединение,
    когда аналогичную операцию выполняет сетевой уровень. Сервис класса 1 был разработан
    CCITT для стандарта Х.25 на сети с коммутацией пакетов. Он обеспечивает передачу
    срочных данных, однако управление потоком все равно осуществляется на сетевом
    уровне.

    Класс 2 — это модифицированный класс 0. Уровень сервиса этого класса базируется
    на предположении о том, что сеть обладает высокой надежностью. Предлагаемое
    качество сервиса предусматривает возможность мультиплексирования множества транспортных
    соединений из одного сетевого соединения. Класс 2 обеспечивает необходимую сборку
    мультиплексированных пакетов данных, прибывающих неупорядоченными.

    Класс 3 обеспечивает виды сервиса, предлагаемые уровнями 1 и 2, а в случае
    обнаружения ошибки предоставляет возможность ресинхронизации для переустановления
    соединения.

    Класс 4 предполагает, что сетевому уровню присуща надежность, поэтому он предлагает
    обнаружение и устранение ошибок.

    В начало

    В начало

    Сетевой уровень

    На сетевом уровне осуществляется сетевая маршрутизация. Этот уровень — ключ
    к пониманию того, как функционируют шлюзы к мэйнфреймам IBM и другим компьютерным
    системам. Протоколы верхних уровней модели OSI выдают запросы на передачу пакетов
    из одной компьютерной системы в другую, а задача сетевого уровня состоит в практической
    реализации механизма этой передачи.

    Сетевой уровень является основой стандарта CCITT Х.25 на глобальные сети. Позже
    мы изучим структуру пакета Х.25, включая назначение и структуру полей управляющей
    информации.

    На сетевом уровне реализован ряд ключевых видов сервиса для транспортного уровня,
    который в модели OSI расположен непосредственно над сетевым. Сетевой уровень
    уведомляет транспортный уровень об обнаружении неисправимых ошибок, помогая
    ему поддерживать качество сервиса и избегать перегрузки сети путем прекращения,
    если это необходимо, передачи пакетов.

    Поскольку в процессе обмена информацией между двумя сетями физические соединения
    время от времени могут изменяться, сетевой уровень поддерживает виртуальные
    каналы и обеспечивает правильную сборку пакетов, прибывающих в неправильной
    последовательности. Работа этого уровня осуществляется с помощью таблиц маршрутизации,
    которые служат для определения пути продвижения того или иного пакета. Во многих
    случаях сообщение, состоящее из нескольких пакетов, идет по нескольким путям.
    Сетевой уровень предоставляет соответствующую «отгрузочную» информацию, необходимую
    для этих пакетов (например, общее число пакетов в сообщении и порядковый номер
    каждого из них).

    С передачей данных в сетях связана одна очень неприятная проблема: такие характеристики,
    как длина поля адреса, размер пакета и даже промежуток времени, в течение которого
    пакету разрешается перемещаться по сети и по истечении которого пакет считается
    потерянным и выдается запрос на пакет-дубликат, в каждой сети различны. По этой
    причине управляющая информация, включаемая в пакеты на сетевом уровне, должна
    быть достаточной для предотвращения возможных недоразумений и обеспечения успешной
    доставки и сборки пакетов.

    Как уже упоминалось выше, транспортный и сетевой уровни в значительной степени
    дублируют друг друга, особенно в плане функций управления потоком данных и контроля
    ошибок. Главная причина подобного дублирования заключается в том, что существует
    два варианта связи — с установлением соединения (connection-orientied) и без
    установления соединения (connectionless). Эти варианты связи базируются на разных
    предположениях относительно надежности сети.

    Сеть с установлением соединения работает почти так же, как и обычная телефонная
    система. После установления соединения происходит поэтапный обмен информацией,
    причем в данном случае «собеседники» не обязаны завершать каждое заявление своим
    именем, именем вызываемого партнера и его адресом, поскольку предполагается,
    что связь надежна и противоположная сторона получает сообщение без искажений.

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

    Сетевой сервис без установления соединения, наоборот, предполагает, что контроль
    ошибок и управление потоком данных осуществляются на транспортном уровне. Адрес
    пункта назначения необходимо указывать в каждом пакете, а соблюдение очередности
    пакетов не гарантируется. Основная идея такого сервиса состоит в том, что важнейшим
    показателем является скорость передачи и пользователи должны полагаться на собственные
    программы контроля ошибок и управления потоком данных, а не на встроенные стандартные
    средства модели OSI.

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

    В начало

    В начало

    Канальный уровень

    Канальный уровень можно сравнить со складом и погрузочно-разгрузочным цехом
    крупного производственного предприятия. Обязанность канального уровня — брать
    пакеты, поступающие с сетевого уровня, и готовить их к передаче (отгрузке),
    укладывая в кадры (коробки) соответствующего размера. В процессе перемещения
    информации вверх по уровням модели OSI канальный уровень должен принимать информацию
    в виде потока битов, поступающих с физического уровня, и производить ее обработку.
    Этот уровень обязан определять, где начинается и где заканчивается передаваемый
    блок, а также обнаруживать ошибки передачи. Если обнаружена ошибка, канальный
    уровень должен инициировать соответствующие действия по восстановлению потерянных,
    искаженных и даже дублированных данных.

    Между компьютерными системами может одновременно существовать несколько независимо
    работающих каналов передачи данных. Канальный уровень обязан обеспечить отсутствие
    перекрытия этих каналов и предотвратить возможное искажение данных. Канальный
    уровень инициализирует канал с соответствующим уровнем на компьютере, с которым
    будет обмениваться данными. Он должен обеспечить синхронизацию обеих машин и
    использование в них одинаковых схем кодирования и декодирования.

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

    В начало

    В начало

    Контроль ошибок на канальном уровне

    Для выполнения этой функции на канальном уровне применяется метод автоматического
    запроса повторной передачи (ARQ — Automatic Repeat Request). В зависимости от
    типа протокола, который работает на канальном уровне, для контроля ошибок используется
    одна из трех разновидностей этого метода. ARQ с остановкой и ожиданием — это
    метод, при котором компьютер передает кадр информации, а затем ожидает получение
    кода подтверждения приема (АСК — acknowledgment), который показывает, что кадр
    принят правильно. Если выявлена ошибка, то принимающая станция передаст код
    неподтверждения приема (NAK — negative acknowledgment) и передающая станция
    повторяет передачу.

    При использовании метода непрерывного ARQ с возвратом на N станция принимает
    несколько кадров (в зависимости от используемого протокола), а затем отвечает
    выдачей АСК или NAK с указанием кадра, который содержит ошибку. Если станция
    передала один за другим семь кадров и в четвертом кадре выявлена ошибка, то
    передающая станция ответит на NAK повторной передачей кадров с 4-го по 7-й.

    Метод непрерывного ARQ с избирательным повторением представляет собой модификацию
    предыдущего варианта ARQ. Принимающая станция записывает все получаемые кадры
    по порядку в специальный буфер, а затем отвечает, что такой-то кадр (скажем,
    номер 4) содержит ошибку. Сохраняя все остальные кадры в буфере, принимающая
    станция передает NAK. Передающая станция повторно передает только кадр, содержавший
    ошибку (то есть номер 4). Принимающая станция вновь собирает пакеты в нужном
    порядке (с 1-го по 7-й) и обрабатывает информацию.

    В начало

    В начало

    Основные протоколы канального уровня

    Канальный уровень содержит ряд протоколов,
    которые разработаны комитетом IEEE 802. Для того чтобы понять, как работает
    этот уровень — ключевой в модели OSI, — нужно иметь некоторое представление
    о деятельности упомянутого комитета. Протоколы IEEE канального уровня будут
    рассмотрены позже.

    В начало

    В начало

    Физический уровень

    Физический уровень модели OSI наименее противоречивый, поскольку включает международные
    стандарты на аппаратуру, уже вошедшие в обиход. По сути дела, единственная реальная
    проблема на этом уровне заключается в том, как ISO собирается учитывать вновь
    разрабатываемые стандарты на аппаратуру. Методы передачи данных становятся все
    более скоростными, появляются новые интерфейсы с дополнительными функциями контроля
    ошибок. В связи с этим возникает вопрос: будут ли добавлены к модели OSI новые
    стандарты или же физический уровень останется без изменений? Суд еще не вынес
    свой вердикт, поэтому предсказать реакцию ISO сейчас не представляется возможным.

    Для физического уровня определен очень подробный список рекомендованных к употреблению
    соединителей. Здесь упомянуты, к примеру, 25-контактные разъемы для интерфейсов
    RS-232C, 34-контактные разъемы для широкополосных модемов спецификации V.35
    CCITT и 15-контактные разъемы для интерфейсов общедоступных сетей передачи данных,
    определенных в рекомендациях CCITT Х.20, Х.21, Х.22 и т.д. Кроме того, регламентируются
    допустимые электрические характеристики, в частности RS-232C, RS-449, RS-410
    и V.35 CCITT.

    Физический уровень может обеспечивать как асинхронную (последовательную) передачу,
    которая используется для многих персональных компьютеров и в некоторых недорогих
    ЛВС, так и синхронный режим, который применяется для некоторых мэйнфреймов и
    мини-компьютеров.

    Поскольку подкомитеты ISO и IEEE последние несколько лет работают в тесном
    контакте, не удивительно, что во многих стандартах на ЛВС используются определения,
    предложенные на физическом уровне модели OSI. На базе физического уровня различные
    подкомитеты IEEE разрабатывают подробные описания реального физического оборудования,
    которое передает сетевую информацию в виде электрических сигналов: требования
    к применяемым кабельным системам, разъемам и соединителям.

    На физическом уровне модели OSI определяются такие важнейшие компоненты сети,
    как тип коаксиального кабеля для одноканальной передачи при скорости 10 Мбит/с.
    Сюда включено принятое в стандарте IEEE 802.3 определение более тонкого коаксиального
    кабеля cheapenet. К физическому уровню будет добавлено и включенное в стандарт
    IEEE 802.3 определение одноканальной передачи данных по кабелю на витых парах
    со скоростью 10 Мбит/с.

    К средствам, определенным на физическом уровне, также относятся волоконно-оптические
    кабели и витые пары, применяемые в самых различных ЛВС. В некоторых сетях, например
    стандарта Token Ring Network фирмы IBM, используются неэкранированные витые
    пары, а в сетях других типов — экранированные. Упомянутым подкомитетом, кроме
    того, были разработаны спецификации различных типов коаксиальных кабелей для
    широкополосных ЛВС различных типов.

    На физическом уровне модели OSI должна быть определена и схема кодирования,
    которой компьютер пользуется для представления двоичных значений с целью их
    передачи по каналу связи. В стандарте Ethernet, как и во многих других локальных
    сетях, используется манчестерское кодирование. В манчестерском кодировании отрицательное
    напряжение в течение первой половины такта передачи с переходом на положительное
    напряжение во втором полутакте означает единицу, а положительное напряжение
    с переходом на отрицательное — нуль. Таким образом, в каждом такте передачи
    имеется переход с отрицательного на положительное напряжение, или наоборот.

    Итак, физический уровень отвечает за тип физической среды, тип передачи, метод
    кодирования и скорость передачи данных для различных типов локальных сетей.
    К его функциям, кроме того, относится установление физического соединения между
    двумя коммуникационными устройствами, формирование сигнала и обеспечение синхронизации
    этих устройств. Тактовые генераторы обоих устройств должны работать синхронно,
    иначе передаваемая информация не будет расшифрована и прочитана.

    В таблице представлено описание четырех нижних уровней
    модели OSI. Особо следует отметить избыточность, предусмотренную в модели OSI
    для связи с установлением соединения и связи без установления соединения.

    В начало

    В начало

    Подведем краткие итоги

    Модель OSI разбивает задачи коммуникаций на более мелкие составляющие, называемые
    подзадачами. Реализации протоколов представляют собой компьютерные процессы,
    относящиеся к этим подзадачам. Конкретные протоколы выполняют подзадачи определенных
    уровней модели OSI. Когда протоколы группируются вместе для выполнения полной
    задачи, образуется стек протоколов.

    Стек протоколов — это группа протоколов, упорядоченных в виде уровней для реализации
    коммуникационного процесса. Каждый уровень модели OSI имеет собственный связанный
    с ним протокол. Если для осуществления процесса коммуникаций необходимо более
    одного протокола, то протоколы группируются в стек. Примером стека протоколов
    является TCP/IP — стек, широко применяемый в ОС UNIX и в Internet.

    Каждый уровень в стеке протоколов обслуживается нижерасположенным уровнем и
    реализует сервис для вышерасположенного уровня. Иными словами, уровень N использует
    сервис нижерасположенного уровня (уровня N-1) и обслуживает вышерасположенный
    уровень (уровень N+1).

    Для обеспечения взаимодействия двух компьютеров на каждом из них должен выполняться
    один и тот же стек протоколов. Каждый уровень стека протоколов на компьютере
    взаимодействует со своим эквивалентом на другой машине. Выполняя одинаковый
    стек протоколов, компьютеры могут иметь различные операционные системы. Например,
    машина DOS, выполняющая стек TCP/IP, может взаимодействовать с ПК Macintosh,
    где также функционирует TCP/IP.2

    КомпьютерПресс 2’2000

    Курс лекций по сетевым технологиям. Часть I 1

    Уровни модели OSI

    Прикладной уровень

       Виды сервиса прикладного уровня

       Функции управления сетями на прикладном уровне

    Уровень представления данных

    Сеансовый уровень

    Транспортный уровень

    Сетевой уровень

    Канальный уровень

       Контроль ошибок на канальном уровне

       Основные протоколы канального уровня

    Физический уровень

    Подведем краткие итоги

    Прежде чем приступить к рассмотрению технологий, давайте вспомним некоторые
    базовые понятия, на которых основываются все сетевые процессы и взаимодействия.
    Во-первых, это модель OSI.

    Уровни модели OSI

    В настоящее время общепринятой является семиуровневая модель архитектуры открытых
    систем (Open System Interconnection). В этой модели рассматриваются:

    • Уровень 1. Физический уровень (управление физическим каналом).
    • Уровень 2. Канальный уровень (управление информационным каналом).
    • Уровень 3. Сетевой уровень (управление сетью).
    • Уровень 4. Транспортный уровень (управление передачей).
    • Уровень 5. Сеансовый уровень (управление сеансом).
    • Уровень 6. Представительный уровень (управление представлением).
    • Уровень 7. Прикладной уровень (управление сервисом).

    Какие же задачи решаются на различных уровнях протоколов открытых систем? Рассмотрим
    этот вопрос несколько подробнее.

    В начало

    В начало

    Прикладной уровень

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

    В начало

    В начало

    Виды сервиса прикладного уровня

    Прикладной уровень содержит несколько так называемых общих элементов прикладного
    сервиса (ACSE — Application Common Service Elements) и специальных элементов
    прикладного сервиса (SASE — Specific Application Service Elements). Сервисы
    ACSE предоставляются прикладным процессам во всех системах. Они включают, например,
    требование определенных параметров качества сервиса.

    Допустим, необходимо установить связь через модем по глобальной сети между
    рабочей станцией локальной сети в Лос-Анджелесе и мэйнфреймом в Бостоне. Поскольку
    качество телефонной линии иногда оказывается неудовлетворительным, прикладной
    процесс, работающий в ЛВС, может запросить такое качество сервиса, которое предусматривает
    подтверждение приема и распознавания информации.

    (Если провести аналогию с почтой, то указанное действие равносильно требованию,
    чтобы доставка вашей посылки подтверждалась квитанцией.)

    Специальные элементы прикладного сервиса (SASE) обеспечивают сервис для конкретных
    прикладных программ, таких как программы пересылки файлов и эмуляции терминалов.
    Если, например, прикладной программе необходимо переслать файлы, то обязательно
    будет использован протокол передачи, доступа и управления файлами (FTAM — File
    Transfer, Access and Management), являющийся одним из ключевых протоколов прикладного
    уровня.

    Давайте на минутку заглянем в будущее, когда локальные сети и мэйнфреймы станут
    работать с OSI-совместимым программным обеспечением. Поскольку FTAM работает
    как виртуальный банк файлов и имеет собственную службу каталогов, то программы
    смогут получать доступ к базам данных, не имея информации о фактическом местонахождении
    файла. Поскольку FTAM поддерживает широкое разнообразие различных типов структур,
    включая последовательную, упорядоченную иерархическую и общую иерархическую,
    то информация из базы данных, расположенной на удаленном Unisys-компьютере,
    будет использоваться для обновления другой базы данных, работающей в локальной
    сети в другом городе. Данные из первой базы, в свою очередь, будут обновляться
    на основе информации, взятой из третьей базы данных, размещенной на IBM-мэйнфрейме.

    Еще одна важная составляющая SASE прикладного уровня — сервис виртуального
    терминала (VT — Virtual Terminal). VT — это сложный сервис, который освобождает
    компьютер от необходимости посылать соответствующие сигналы для обращения ко
    всем терминалам, подключенным ко второму компьютеру. Первый компьютер может
    использовать набор параметров виртуального терминала, а решение вопросов конкретизации
    конфигурации терминалов можно предоставить второму компьютеру.

    На разных этапах разработки находятся еще несколько SASE: обработка транзакций
    (trunks actions), электронный обмен данными (EDI — Electronic Data Interchange),
    передача и обработка заданий (JTM — Job Transfer and Manipulation). Разработка
    стандарта OSI на EDI, в частности, очень важна для пользователей ЛВС. Например,
    на рабочей станции ЛВС можно составить заказ на покупку и передать эту информацию
    по сети непосредственно изготовителю или продавцу, где данные будут автоматически
    внесены в счет-фактуру. Можно проверять и автоматически корректировать инвентаризационные
    ведомости, можно заключать договора на поставку товаров — и все это без бумаг
    и волокиты.

    В начало

    В начало

    Функции управления сетями на прикладном уровне

    По мере усложнения информационных сетей вопрос административного управления
    ими приобретает все большее значение. Поскольку сейчас любые системы передачи
    информации позволяют обрабатывать и передавать также и речевые данные, а локальные
    сети все теснее связываются с глобальными сетями и мэйнфреймами, то все очевиднее
    необходимость в разработке эффективного метода организации этой информации и
    управления ею. Фирма IBM в качестве решения предложила свои системы NetView
    и NetView/PC, a Hewlett-Packard вышла на рынок с пакетом прикладных программ
    OpenView.

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

    В начало

    В начало

    Уровень представления данных

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

    Уровень представления данных обеспечивает возможность передачи данных с гарантией,
    что прикладные процессы, осуществляющие обмен информацией, смогут преодолеть
    любые синтаксические различия. Для того чтобы обмен имел место, эти два процесса
    должны использовать общее представление данных или язык.

    Важность уровня представления данных заключается в том, что в основу его работы
    положена единая для всех уровней модели OSI система обозначений для описания
    абстрактного синтаксиса — ASN.1. Эта система служит для описания структуры файлов.
    На прикладном уровне система ASN.1 применяется и для выполнения всех операций
    пересылки файлов, и при работе с виртуальным терминалом. Использование этой
    системы позволяет также решить одну из важнейших проблем, возникающих при управлении
    крупными сетями, — проблему шифрования данных. Шифрование данных с помощью ASN.1
    можно выполнять на уровне представления данных; разработка стандарта OSI для
    этого уровня окажет значительное влияние на обеспечение межмашинной связи.

    В начало

    В начало

    Сеансовый уровень

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

    Сеансовый уровень отвечает за такие серьезные вопросы, как режим передачи и
    установка точек синхронизации. Иными словами, на этом уровне определяется, какой
    будет передача между двумя прикладными процессами: полудуплексной (процессы
    будут передавать и принимать данные по очереди) или дуплексной (процессы будут
    передавать и принимать данные одновременно). В полудуплексном режиме сеансовый
    уровень выдает тому процессу, который первым начинает передачу, маркер данных.
    Когда второму процессу приходит время отвечать, маркер данных передается ему.
    Сеансовый уровень, таким образом, разрешает передачу только той стороне, которая
    обладает маркером данных.

    Синхронизирующие точки представляют собой точки внутри «диалога», в которых
    сеансовый уровень проверяет наличие фактического обмена.

    Еще одна функция сеансового уровня модели OSI заключается в решении вопроса
    о восстановлении связи в случае ее нарушения. Например, логично было бы ставить
    точки синхронизации между страницами текста и в случае нарушения связи начинать
    передачу с последней синхронизирующей точки. Таким образом, для восстановления
    сеанса не нужно будет начинать все сначала и повторять передачу текста, который
    уже принят правильно.

    Сеансовый уровень, кроме того, отвечает за детали, связанные с упорядоченным
    («плавным») завершением соединения в конце сеанса. Могут возникнуть и ситуации,
    когда требуется безусловное («резкое») завершение. Это необходимо в тех случаях,
    когда одна из сторон прекращает обмен и отказывается с этого момента принимать
    данные.

    Сеансовый уровень обрабатывает не все запросы на соединения. Он может выдать
    примитив отказа от соединения, если определит, что соединение приведет к перегрузке
    сети или что затребованный прикладной процесс отсутствует.

    В начало

    В начало

    Транспортный уровень

    Транспортный уровень имеет большое значение для пользователей компьютерных
    сетей, поскольку именно он определяет качество сервиса, которое необходимо обеспечить
    посредством сетевого уровня. Для того чтобы лучше понять функции транспортного
    уровня, представим его как аналогию набора специальных услуг, которые местное
    почтовое отделение предоставляет клиентам за дополнительную плату. Например,
    заплатив некоторую сумму, клиент может получить квитанцию о том, что письмо
    доставлено по указанному им адресу. Можно заказать срочную доставку, если клиент
    желает, чтобы его посылка пришла, к примеру, в Бостон на следующий день. Плату
    за эти дополнительные высококачественные услуги почтовое ведомство США взимает
    с клиентов деньгами, а для пользователя сети, работающего с OSI-coвместимыми
    аппаратными и программными средствами, эта плата выражается в дополнительных
    битах, необходимых для предоставления информации о статусе возможных дополнительных
    услуг.

    На транспортном уровне предусмотрено три типа сетевого сервиса. Сервис типа
    А предоставляет сетевые соединения с приемлемым для пользователей количеством
    необнаруживаемых ошибок и приемлемой частотой сообщений об обнаруженных ошибках.
    Сервис типа В отличается приемлемым количеством необнаруживаемых ошибок, но
    неприемлемой частотой сообщений об обнаруженных ошибках. Наконец, сервис типа
    С предоставляет сетевые соединения с количеством необнаруженных ошибок, неприемлемым
    для сеансового уровня.

    Возникает вопрос: а для чего вообще нужны классы сервиса с неприемлемым количеством
    ошибок? Ответ состоит в том, что для установки многих сетевых соединений необходимы
    дополнительные протоколы, обеспечивающие обнаружение и устранение ошибок на
    достаточном для нормальной работы уровне, и на транспортном уровне такой сервис
    просто не нужен.

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

    Существует пять классов сервиса транспортного протокола:

    Класс 0, известный как телекс, представляет собой сервис с самым низким качеством.
    В этом классе сервиса предусматривается, что управление потоком данных осуществляет
    сетевой уровень (под транспортным уровнем). Транспортный уровень разрывает соединение,
    когда аналогичную операцию выполняет сетевой уровень. Сервис класса 1 был разработан
    CCITT для стандарта Х.25 на сети с коммутацией пакетов. Он обеспечивает передачу
    срочных данных, однако управление потоком все равно осуществляется на сетевом
    уровне.

    Класс 2 — это модифицированный класс 0. Уровень сервиса этого класса базируется
    на предположении о том, что сеть обладает высокой надежностью. Предлагаемое
    качество сервиса предусматривает возможность мультиплексирования множества транспортных
    соединений из одного сетевого соединения. Класс 2 обеспечивает необходимую сборку
    мультиплексированных пакетов данных, прибывающих неупорядоченными.

    Класс 3 обеспечивает виды сервиса, предлагаемые уровнями 1 и 2, а в случае
    обнаружения ошибки предоставляет возможность ресинхронизации для переустановления
    соединения.

    Класс 4 предполагает, что сетевому уровню присуща надежность, поэтому он предлагает
    обнаружение и устранение ошибок.

    В начало

    В начало

    Сетевой уровень

    На сетевом уровне осуществляется сетевая маршрутизация. Этот уровень — ключ
    к пониманию того, как функционируют шлюзы к мэйнфреймам IBM и другим компьютерным
    системам. Протоколы верхних уровней модели OSI выдают запросы на передачу пакетов
    из одной компьютерной системы в другую, а задача сетевого уровня состоит в практической
    реализации механизма этой передачи.

    Сетевой уровень является основой стандарта CCITT Х.25 на глобальные сети. Позже
    мы изучим структуру пакета Х.25, включая назначение и структуру полей управляющей
    информации.

    На сетевом уровне реализован ряд ключевых видов сервиса для транспортного уровня,
    который в модели OSI расположен непосредственно над сетевым. Сетевой уровень
    уведомляет транспортный уровень об обнаружении неисправимых ошибок, помогая
    ему поддерживать качество сервиса и избегать перегрузки сети путем прекращения,
    если это необходимо, передачи пакетов.

    Поскольку в процессе обмена информацией между двумя сетями физические соединения
    время от времени могут изменяться, сетевой уровень поддерживает виртуальные
    каналы и обеспечивает правильную сборку пакетов, прибывающих в неправильной
    последовательности. Работа этого уровня осуществляется с помощью таблиц маршрутизации,
    которые служат для определения пути продвижения того или иного пакета. Во многих
    случаях сообщение, состоящее из нескольких пакетов, идет по нескольким путям.
    Сетевой уровень предоставляет соответствующую «отгрузочную» информацию, необходимую
    для этих пакетов (например, общее число пакетов в сообщении и порядковый номер
    каждого из них).

    С передачей данных в сетях связана одна очень неприятная проблема: такие характеристики,
    как длина поля адреса, размер пакета и даже промежуток времени, в течение которого
    пакету разрешается перемещаться по сети и по истечении которого пакет считается
    потерянным и выдается запрос на пакет-дубликат, в каждой сети различны. По этой
    причине управляющая информация, включаемая в пакеты на сетевом уровне, должна
    быть достаточной для предотвращения возможных недоразумений и обеспечения успешной
    доставки и сборки пакетов.

    Как уже упоминалось выше, транспортный и сетевой уровни в значительной степени
    дублируют друг друга, особенно в плане функций управления потоком данных и контроля
    ошибок. Главная причина подобного дублирования заключается в том, что существует
    два варианта связи — с установлением соединения (connection-orientied) и без
    установления соединения (connectionless). Эти варианты связи базируются на разных
    предположениях относительно надежности сети.

    Сеть с установлением соединения работает почти так же, как и обычная телефонная
    система. После установления соединения происходит поэтапный обмен информацией,
    причем в данном случае «собеседники» не обязаны завершать каждое заявление своим
    именем, именем вызываемого партнера и его адресом, поскольку предполагается,
    что связь надежна и противоположная сторона получает сообщение без искажений.

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

    Сетевой сервис без установления соединения, наоборот, предполагает, что контроль
    ошибок и управление потоком данных осуществляются на транспортном уровне. Адрес
    пункта назначения необходимо указывать в каждом пакете, а соблюдение очередности
    пакетов не гарантируется. Основная идея такого сервиса состоит в том, что важнейшим
    показателем является скорость передачи и пользователи должны полагаться на собственные
    программы контроля ошибок и управления потоком данных, а не на встроенные стандартные
    средства модели OSI.

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

    В начало

    В начало

    Канальный уровень

    Канальный уровень можно сравнить со складом и погрузочно-разгрузочным цехом
    крупного производственного предприятия. Обязанность канального уровня — брать
    пакеты, поступающие с сетевого уровня, и готовить их к передаче (отгрузке),
    укладывая в кадры (коробки) соответствующего размера. В процессе перемещения
    информации вверх по уровням модели OSI канальный уровень должен принимать информацию
    в виде потока битов, поступающих с физического уровня, и производить ее обработку.
    Этот уровень обязан определять, где начинается и где заканчивается передаваемый
    блок, а также обнаруживать ошибки передачи. Если обнаружена ошибка, канальный
    уровень должен инициировать соответствующие действия по восстановлению потерянных,
    искаженных и даже дублированных данных.

    Между компьютерными системами может одновременно существовать несколько независимо
    работающих каналов передачи данных. Канальный уровень обязан обеспечить отсутствие
    перекрытия этих каналов и предотвратить возможное искажение данных. Канальный
    уровень инициализирует канал с соответствующим уровнем на компьютере, с которым
    будет обмениваться данными. Он должен обеспечить синхронизацию обеих машин и
    использование в них одинаковых схем кодирования и декодирования.

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

    В начало

    В начало

    Контроль ошибок на канальном уровне

    Для выполнения этой функции на канальном уровне применяется метод автоматического
    запроса повторной передачи (ARQ — Automatic Repeat Request). В зависимости от
    типа протокола, который работает на канальном уровне, для контроля ошибок используется
    одна из трех разновидностей этого метода. ARQ с остановкой и ожиданием — это
    метод, при котором компьютер передает кадр информации, а затем ожидает получение
    кода подтверждения приема (АСК — acknowledgment), который показывает, что кадр
    принят правильно. Если выявлена ошибка, то принимающая станция передаст код
    неподтверждения приема (NAK — negative acknowledgment) и передающая станция
    повторяет передачу.

    При использовании метода непрерывного ARQ с возвратом на N станция принимает
    несколько кадров (в зависимости от используемого протокола), а затем отвечает
    выдачей АСК или NAK с указанием кадра, который содержит ошибку. Если станция
    передала один за другим семь кадров и в четвертом кадре выявлена ошибка, то
    передающая станция ответит на NAK повторной передачей кадров с 4-го по 7-й.

    Метод непрерывного ARQ с избирательным повторением представляет собой модификацию
    предыдущего варианта ARQ. Принимающая станция записывает все получаемые кадры
    по порядку в специальный буфер, а затем отвечает, что такой-то кадр (скажем,
    номер 4) содержит ошибку. Сохраняя все остальные кадры в буфере, принимающая
    станция передает NAK. Передающая станция повторно передает только кадр, содержавший
    ошибку (то есть номер 4). Принимающая станция вновь собирает пакеты в нужном
    порядке (с 1-го по 7-й) и обрабатывает информацию.

    В начало

    В начало

    Основные протоколы канального уровня

    Канальный уровень содержит ряд протоколов,
    которые разработаны комитетом IEEE 802. Для того чтобы понять, как работает
    этот уровень — ключевой в модели OSI, — нужно иметь некоторое представление
    о деятельности упомянутого комитета. Протоколы IEEE канального уровня будут
    рассмотрены позже.

    В начало

    В начало

    Физический уровень

    Физический уровень модели OSI наименее противоречивый, поскольку включает международные
    стандарты на аппаратуру, уже вошедшие в обиход. По сути дела, единственная реальная
    проблема на этом уровне заключается в том, как ISO собирается учитывать вновь
    разрабатываемые стандарты на аппаратуру. Методы передачи данных становятся все
    более скоростными, появляются новые интерфейсы с дополнительными функциями контроля
    ошибок. В связи с этим возникает вопрос: будут ли добавлены к модели OSI новые
    стандарты или же физический уровень останется без изменений? Суд еще не вынес
    свой вердикт, поэтому предсказать реакцию ISO сейчас не представляется возможным.

    Для физического уровня определен очень подробный список рекомендованных к употреблению
    соединителей. Здесь упомянуты, к примеру, 25-контактные разъемы для интерфейсов
    RS-232C, 34-контактные разъемы для широкополосных модемов спецификации V.35
    CCITT и 15-контактные разъемы для интерфейсов общедоступных сетей передачи данных,
    определенных в рекомендациях CCITT Х.20, Х.21, Х.22 и т.д. Кроме того, регламентируются
    допустимые электрические характеристики, в частности RS-232C, RS-449, RS-410
    и V.35 CCITT.

    Физический уровень может обеспечивать как асинхронную (последовательную) передачу,
    которая используется для многих персональных компьютеров и в некоторых недорогих
    ЛВС, так и синхронный режим, который применяется для некоторых мэйнфреймов и
    мини-компьютеров.

    Поскольку подкомитеты ISO и IEEE последние несколько лет работают в тесном
    контакте, не удивительно, что во многих стандартах на ЛВС используются определения,
    предложенные на физическом уровне модели OSI. На базе физического уровня различные
    подкомитеты IEEE разрабатывают подробные описания реального физического оборудования,
    которое передает сетевую информацию в виде электрических сигналов: требования
    к применяемым кабельным системам, разъемам и соединителям.

    На физическом уровне модели OSI определяются такие важнейшие компоненты сети,
    как тип коаксиального кабеля для одноканальной передачи при скорости 10 Мбит/с.
    Сюда включено принятое в стандарте IEEE 802.3 определение более тонкого коаксиального
    кабеля cheapenet. К физическому уровню будет добавлено и включенное в стандарт
    IEEE 802.3 определение одноканальной передачи данных по кабелю на витых парах
    со скоростью 10 Мбит/с.

    К средствам, определенным на физическом уровне, также относятся волоконно-оптические
    кабели и витые пары, применяемые в самых различных ЛВС. В некоторых сетях, например
    стандарта Token Ring Network фирмы IBM, используются неэкранированные витые
    пары, а в сетях других типов — экранированные. Упомянутым подкомитетом, кроме
    того, были разработаны спецификации различных типов коаксиальных кабелей для
    широкополосных ЛВС различных типов.

    На физическом уровне модели OSI должна быть определена и схема кодирования,
    которой компьютер пользуется для представления двоичных значений с целью их
    передачи по каналу связи. В стандарте Ethernet, как и во многих других локальных
    сетях, используется манчестерское кодирование. В манчестерском кодировании отрицательное
    напряжение в течение первой половины такта передачи с переходом на положительное
    напряжение во втором полутакте означает единицу, а положительное напряжение
    с переходом на отрицательное — нуль. Таким образом, в каждом такте передачи
    имеется переход с отрицательного на положительное напряжение, или наоборот.

    Итак, физический уровень отвечает за тип физической среды, тип передачи, метод
    кодирования и скорость передачи данных для различных типов локальных сетей.
    К его функциям, кроме того, относится установление физического соединения между
    двумя коммуникационными устройствами, формирование сигнала и обеспечение синхронизации
    этих устройств. Тактовые генераторы обоих устройств должны работать синхронно,
    иначе передаваемая информация не будет расшифрована и прочитана.

    В таблице представлено описание четырех нижних уровней
    модели OSI. Особо следует отметить избыточность, предусмотренную в модели OSI
    для связи с установлением соединения и связи без установления соединения.

    В начало

    В начало

    Подведем краткие итоги

    Модель OSI разбивает задачи коммуникаций на более мелкие составляющие, называемые
    подзадачами. Реализации протоколов представляют собой компьютерные процессы,
    относящиеся к этим подзадачам. Конкретные протоколы выполняют подзадачи определенных
    уровней модели OSI. Когда протоколы группируются вместе для выполнения полной
    задачи, образуется стек протоколов.

    Стек протоколов — это группа протоколов, упорядоченных в виде уровней для реализации
    коммуникационного процесса. Каждый уровень модели OSI имеет собственный связанный
    с ним протокол. Если для осуществления процесса коммуникаций необходимо более
    одного протокола, то протоколы группируются в стек. Примером стека протоколов
    является TCP/IP — стек, широко применяемый в ОС UNIX и в Internet.

    Каждый уровень в стеке протоколов обслуживается нижерасположенным уровнем и
    реализует сервис для вышерасположенного уровня. Иными словами, уровень N использует
    сервис нижерасположенного уровня (уровня N-1) и обслуживает вышерасположенный
    уровень (уровень N+1).

    Для обеспечения взаимодействия двух компьютеров на каждом из них должен выполняться
    один и тот же стек протоколов. Каждый уровень стека протоколов на компьютере
    взаимодействует со своим эквивалентом на другой машине. Выполняя одинаковый
    стек протоколов, компьютеры могут иметь различные операционные системы. Например,
    машина DOS, выполняющая стек TCP/IP, может взаимодействовать с ПК Macintosh,
    где также функционирует TCP/IP.2

    КомпьютерПресс 2’2000

    Каналы
    и линии связи телекоммуникационных
    сетей постоянно подвергаются помеховым
    воздействиям, которые могут приводить
    к искажению или полной потере передаваемых
    по ним информационным кадрам. Это требует
    реализации на канальном уровне специальных
    методов и протоколов обнаружения ошибок
    передачи данных и их коррекции. Особенно
    эта проблема актуальна для сетевых
    структур военного назначения [11-15].

    Большинство
    известных протоколов канального уровня
    ориентированы только на обнаружение
    ошибок. Коррекция ошибок в этом случае
    выполняется протоколами верхних уровней.
    Так работают протоколы локальных сетей
    Ethernet,
    Token
    Ring,
    FDDI
    и другие. Однако существуют протоколы
    канального уровня, такие как LLC2
    или LAP-B,
    которые способны самостоятельно решать
    обе задачи.

    Сравнительная
    оценка показывает, что протоколы с
    обнаружением ошибок целесообразно
    использовать в высоконадежных сетях с
    низкой вероятностью искажения и потерей
    информационных кадров (в локальных
    сетях ЭВМ), а протоколы с обнаружением
    и коррекцией ошибок ‑ в сетях с высокой
    вероятностью искажения и потерей
    передаваемой по каналам связи информации
    (например ‑ в глобальных и
    корпоративных сетях с малозащищенными
    линиями связи большой протяженности).

    2.6.1. Общие сведения и классификация методов обнаружения ошибок передачи данных

    Задача обнаружения ошибок,
    возникающих в процессе передачи
    информационных кадров по каналам связи
    телекоммуникационных сетей, решается
    протоколами канального уровня [14].

    Большинство методов
    обнаружения ошибок основаны на передаче
    в составе кадра избыточной информации,
    по которой можно судить с некоторой
    степенью вероятности о достоверности
    принятых данных. Такую информацию
    принято называть контрольной
    суммой.
    Контрольная
    сумма (КС) вычисляется как функция от
    основной информации, причем необязательно
    только путем суммирования. Принимающая
    сторона повторно вычисляет контрольную
    сумму кадра по известному алгоритму и
    в случае ее совпадения с контрольной
    суммой, вычисленной передающей стороной,
    делает вывод о том, что данные были
    переданы через сеть корректно.

    Существует несколько
    распространенных методов обнаружения
    ошибок и соответствующих им алгоритмов
    вычисления контрольной суммы, отличающихся
    вычислительной сложностью и способностью
    обнаруживать искажения (рис. 2.23).

    Рис. 2.23. Методы обнаружения
    ошибок

    Контроль по
    паритету
    на четность
    (нечетность) является одним из наиболее
    простых методов контроля данных, обладает
    весьма слабыми возможностями по контролю.
    Позволяет обнаруживать только одиночные
    или нечетной кратности ошибки в
    проверяемых данных. Метод заключается
    в суммировании по модулю 2 всех бит
    контролируемой информации. Значение
    контрольного разряда r, добавляемого к
    информационному сообщению U
    = (u
    0
    ,..,
    um),
    формируется в соответствии с (11.1) при
    контроле на четность или (11.2) ‑ при
    контроле на нечетность.

    Сформированный контрольный разряд r
    пересылается вместе с контролируемой
    информацией. При искажении при пересылке
    любого одного бита исходных данных (или
    контрольного разряда) результат
    повторного суммирования будет отличаться
    от принятого контрольного разряда, что
    говорит об ошибке.

    (2.8)

    (2.9)

    Пример 1.

    Чет.

    Нечет.

    U
    = 100110111

    1

    0

    U
    = 10011001

    0

    1

    Контроль по паритету применяется к
    небольшим порциям данных, как правило,
    к каждому байту, что дает коэффициент
    избыточности для этого метода 1/8. Метод
    в настоящее время редко применяется в
    вычислительных сетях из-за его большой
    избыточности и невысоких диагностических
    возможностей.

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

    Циклический
    избыточный контроль
    (Cyclyc
    Redundancy
    Check,
    CRC)
    является разновидностью использования
    блочных кодов. В настоящее время широко
    применяется для контроля передачи
    данных в компьютерных и телекоммуникационных
    сетях. Вертикальный и горизонтальный
    контроль по паритету приведены в табл.
    2.4.

    Таблица 2.4

    Байты

    0 р.

    1 р.

    2 р.

    3 р.

    4 р.

    5 р.

    6 р.

    7 р.

    Нечет.

    1

    0

    0

    0

    0

    0

    0

    0

    0

    1

    2

    0

    0

    0

    0

    0

    0

    0

    1

    0

    3

    0

    0

    0

    0

    0

    0

    1

    0

    0

    4

    0

    0

    0

    0

    0

    0

    1

    1

    1

    5

    1

    1

    1

    1

    0

    0

    0

    0

    1

    6

    1

    0

    1

    0

    1

    0

    1

    0

    1

    7

    1

    1

    1

    1

    1

    1

    1

    0

    0

    8

    1

    1

    1

    1

    1

    1

    1

    1

    1

    Нечет.

    1

    0

    1

    0

    0

    1

    0

    0

    Метод
    основан на представлении информационных
    кадров в виде единой совокупности двух
    блоков: информационной и проверочной
    последовательности двоичных символов
    (рис. 2.24).
    Наличие специальной проверочной
    последовательности позволяет не только
    выявлять факт искажения отдельных
    информационных разрядов, но и корректировать
    их.

    Информационная последовательность

    Проверочная последовательность

    Рис. 2.24.
    Структура информационного кадра при
    циклическом контроле

    Например, в кадре стандарта
    Ethernet,
    содержащего 8192 бита (1024 байта) в качестве
    контрольной последовательности
    используется остаток от деления этого
    числа на известный делитель P(x),
    представляющий собой порождающий
    полином. Обычно в качестве такого
    делителя выбирается семнадцати -или
    тридцати трехразрядное число, чтобы
    остаток от деления имел длину 16 разрядов
    (2 байта) или 32 разряда (4 байта).

    При получении кадра данных снова
    вычисляется остаток от деления на тот
    же делитель P(x), но при этом к данным
    кадра добавляется и содержащаяся в нем
    контрольная сумма. Если остаток от
    деления на P(x) равен нулю, то делается
    вывод об отсутствии ошибок в полученном
    кадре, в противном случае кадр считается
    искаженным.

    Метод циклического контроля
    обладает более высокой вычислительной
    сложностью, но его диагностические
    возможности гораздо выше, чем у методов
    контроля по паритету. Метод CRC
    обнаруживает все одиночные ошибки,
    двойные ошибки и ошибки в нечетном числе
    бит. Метод обладает также невысокой
    степенью избыточности. Например, для
    кадра Ethernet
    размером в 1024 байта контрольная информация
    длиной в 4 байт составляет только 0,4 %.

    Рассмотрим пример использования метода
    циклического контроля.

    Введем следующие обозначения:

    1. U(x)=um-1xm-1+
    um-2xm-2+…+
    u0x0
    ‑ полином, определяющий информационную
    последовательность данных (m — разрядность
    данных);

    2. P(x)
    =
    pkxk+
    pk-1xk-1+…+
    p0x0
    ‑ порождающий
    полином (k – разрядность проверочной
    последовательности);

    3. F(x)
    =
    fn-1xn-1+
    fn-2xn2
    +…+
    f0x0
    ‑ полином, определяющий
    кодовую комбинацию, передаваемую по
    каналу связи (n
    = m
    + k) — разрядность кодовой комбинации);

    4. Q(x)
    =
    qm-1xm-1+
    qm-2
    xm-2+
    … +
    q0
    x0
    ‑ частное от
    деления кодовой комбинации F(x)
    на порождающий полином P(x);

    5. R(x)
    =
    rk-1
    xk-1
    + г
    k-2хk-2+…+
    r
    0х0
    ‑ остаток от деления кодовой комбинации
    F(x)
    на порождающий полином P(x), образующий
    проверочную последовательность символов;

    Алгоритм кодирования передаваемых
    данных при циклическом контроле:

    1. Для
    формирования блоков информационных и
    проверочных символов исходная
    информационная последовательность
    U(x)
    сдвигается на k разрядов влево.
    Освободившиеся младшие разряды
    заполняются нулями. В дальнейшем их
    место займут проверочные символы.
    Аналитически данная операция может
    быть представлена выражением xkU(x).

    2. Сдвинутая
    последовательность информационных
    символов делится на порождающий полином
    Р(х).

    3. Для
    формирования кодовой комбинации F(x),
    выдаваемой в канал связи, полученный в
    результате деления k — разрядный остаток
    R(x)
    добавляется к младшим разрядам сдвинутой
    последовательности информационных
    символов. Операция сложения выполняется
    по модулю 2: F(x)
    =
    xk
    U(x)

    R(x).

    Пример 2.

    Формирование кодовой
    комбинации. Дано:

    1. U(x)
    = x
    4
    + x
    2
    + x + 1 = 10111

    информационная последовательность
    (m=5).

    2. P(x) = x4
    + x + 1 = 10011
    ‑ порождающий
    полином (k=4).

    Решение:

    1. Сдвиг информационной
    последовательности на k=4 разряда влево.

    U(x) x4
    = (x
    4
    + x
    2
    + x + 1) x
    4
    = x
    8
    + x
    6
    + x
    5
    + x
    4
    = 101110000.

    2. Формирование проверочной
    последовательности путем деления U(x)
    x4
    на порождающий полином Р(х). Проверочные
    символы определяются остатком отделения.

    3. Формирование кодовой
    комбинации F(x).

    Обнаружение ошибок при циклическом
    кодировании сводится к делению принятой
    кодовой комбинации на тот же порождающий
    полином, который использовался для
    кодирования. Если ошибок в принятой
    комбинации нет, то деление на порождающий
    полином производится без остатка.
    Наличие остатка свидетельствует о
    присутствии ошибок.

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

    Однако обычно в
    телекоммуникационных сетях исправление
    ошибок при использовании циклических
    кодов не производится, а при обнаружении
    ошибок выдается запрос на повтор
    испорченной ошибками комбинации. Такие
    системы называются системами
    с обратной связью.

    Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

    • #
    • #

      01.06.2015681.98 Кб11hi.doc

    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #

      01.06.201510.14 Mб16JavaEETutorial.pdf

    • #

      01.06.2015500.74 Кб375Just_English 1 часть.doc

    Основная задача канального уровня — передача кадров (frame) по каналам связи. На этом уровне и определяется, где в потоке бит начало сообщения, где конец. 

    На канальном уровне проводится нахождение и корректировка ошибок для некоторых каналов с множественным доступом, где одну и ту же среду передачи данных используют несколько устройств. 

    Дополнительные задачи канального уровня: 

    1. Адресация — если в канале связи (КС) есть несколько устройств, необходимо определить, к какому именно устройству адресовано передаваемое сообщение;
    2. Согласованный доступ к каналу. Если все гаджеты одновременно начнут передавать информацию, то данные в КС искажаются и не смогут быть приняты. 

    Работа с кадрами 

    Физический уровень предназначен для передачи потока бит по КС. А на канальном уровне необходимо передавать не отдельные биты, а целые сообщения. Задача №1 для канального уровня, выделить сообщения из потока бит, которые приходят по среде передачи данных. 

    Работа с кадрами в модели OSI

    Формирование кадра

    Например, есть два ноутбука Хост 1 и Хост 2. И на картинке ниже есть три уровня, сетевой, канальный и физический. 

    Формирование кадра в OSI

    Канальный уровень получает информацию от сетевого и добавляет к нему заголовок и концевик. И именно это сообщение, выделенное красным, заголовок канального уровня, пакет с сетевого уровня и концевик  канального уровня и является фреймом. Такое сообщение отправляется через физический уровень по среде передачи данных и поступает на канальный уровень принимающего уровня. 

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

    Методы выделения кадров

    Чтобы определить, где в потоке бит начинаются и заканчиваются отдельные frame, были придуманы следующие методы: 

    • Указание количества байт; 
    • Вставка байтов (byte stuffing) и битов (bit stuffing);
    • Средства физического уровня. 

    Указатель количества байт

    Наипростейший способ определить, где начинается и заканчивается кадр — добавлять длину этого кадра в начало кадра. Например, на картинке ниже показано 3 кадра выделенных разным цветом. В начале каждого кадра указано количество байт. Синим цветом — 6, желтым — 8, зеленым — 4. 

    Указатель количества байт

    Этот метод прост в реализации,  но есть недостаток, искажение данных при передаче по сети. Например, при передаче первого кадра появилось искажение и вместо длины кадра шесть байт,  получатель получил семь байт. 

    Длина кадра

    Получатель посчитает, что семь это длина кадра. Далее идет длина следующего кадра. Здесь она два байта, затем длина следующего кадра семь. Если у нас произошла хоть одна ошибка, то будет нарушена последовательность чтений. Следовательно такой метод на практике не годится к  применению. 

    Вставка byte и bit

    Чтобы определить начало и конец кадра, в начале и конце каждого кадра используют специальные последовательности байт или бит. Вставка байтов применялась в протоколах BSC компании IBM, в котором отправлялись обычные текстовые символы. 

    Перед передачей каждого фрейма добавлялись байты DLE STX (start of text), а после окончания передачи фрейма DLE ETX (end of text). Проблема может возникнуть в том, что в данных тоже может встретиться точно такая же последовательность. 

    Чтобы отличать последовательность, которая встречается в данных от управляющих символов используются Escape последовательности. В протоколе BSC это тоже последовательность символов DLE (data link escape). Если какая-то последовательность управляющих символов встречается в данных перед ними добавляются escape последовательности DLE, чтобы протокол понимал, что в реальности это данные, а не управляющие символы. 

    Вставка битов применяется в более современных протоколах, таких как HDLC и PPP. Здесь перед началом и концом каждого кадра добавляется последовательность бит состоящая из 01111110. Может возникнуть проблема, если в данных встречаются подряд идущие 6 или более единиц. Чтобы решить эту задачу в данные, после каждых пяти последовательно идущих 1 добавляется 0. Затем, как получатель прочитал 5 последовательно идущих 1 и встретил 0, то он, этот 0 игнорирует. 

    Средства физического уровня

    Другой вид определения начала и конца кадра, это использование средств физического уровня и он применяется в технологии Ethernet. В первом варианте технологии ethernet использовалась преамбула — это последовательность данных, которая передается перед началом каждого кадра. Она состоит из 8 байт. Первые семь байт состоят из чередующихся 0 и 1: 10101010. Последний байт содержит чередующиеся 0 и 1, кроме двух последних бит в котором две единицы. И именно такая последовательность говорит, что начинается новый кадр. 

    В более старых версиях используется избыточное кодирование, позволяющее определить ошибки, но при этом не все символы являются значащими. В технологии Fast Ethernet применили эту особенность кода и используют символы, которые не применяются для представления данных в качестве сигналов о начале и конце кадра. 

    Перед отправкой каждого кадра передаются символы J (11000) и K (10001), а после окончания отправки кадра передается символ T (01101).

    Обнаружение и исправление ошибок

    Самый простой способ это обнаружить ошибку. Например, с помощью контрольной суммы или какого-либо другого алгоритма. Если у нас технология канального уровня использует обнаружение технических ошибок, то кадр в котором произошла ошибка, просто отбрасывается. Попыток восстановить данные не производится. 

    Более сложный механизм — это исправление ошибок. Чтобы иметь возможность исправить ошибку, нужно добавить к данным дополнительную информацию, с помощью которой мы сможем обнаружить ошибки и восстановить правильные данные. Для этого используются специальные коды исправляющие ошибки. 

    Другой вариант исправление ошибок при передаче данных — это повторная отправка тех кадров в которых произошла ошибка. Он используется совместно с обнаружением ошибок, когда отправитель передает данные получателю, получатель обнаруживает ошибку в данных, но вместо того чтобы исправить ошибку в передаваемых данных, отправитель передает эти данные еще раз. 

    Давайте рассмотрим, как реализуется повторная отправка сообщений. Предположим, что у нас есть отправитель и получатель и отправитель передал получателю некоторое сообщение. Получатель получил это сообщение проверил его на корректность убедился, что данные переданы правильно и после этого передает отправителю подтверждение о получении. Отправитель передает следующее сообщение предположим, что здесь произошла ошибка, получатель эту ошибку обнаружил или сообщение вообще не дошло до получателя, поэтому получатель не может передать подтверждение о получении этого сообщения. 

    Ошибка в получении сообщения

    Отправитель, после того как, отправил сообщение запустил таймер ожидания подтверждения. По истечению времени ожидания  подтверждение не пришло, отправитель понял, что при передаче сообщения произошла проблема и нужно повторно передать то же самое сообщение.

    Повторная отправка сообщения

    В этот раз сообщение успешно дошло до получателя и он снова передает подтверждение. После этого отправитель может передавать следующий кадр. 

    Успешная передача сообщения

    Есть два варианта метода повторной отправки сообщения. Схему которую мы рассмотрели называется с остановкой и ожиданием. Отправитель передает фрейм и останавливается ожидая подтверждение. Следующий кадр передается только после того, как пришло подтверждение о получении предыдущего сообщения. Такой метод используются в технологии канального уровня Wi-Fi. 

    Другой вариант метода повторной отправки это скользящее окно. В этом случае отправитель передает ни одно сообщение, а сразу несколько сообщений и количество сообщений, которые можно передать не дожидаясь подтверждения называется размером окна. Здесь получатель передает подтверждение не для каждого отдельного сообщения, а для последнего полученного сообщения. Такой метод лучше работает на высокоскоростных каналах связи. Сейчас нет технологии канального уровня, которая использует этот метод, но он используется на транспортном уровне в протоколе TCP. 

    У нас есть несколько вариантов, что можно делать с ошибками. Можно их обнаруживать, исправлять с помощью кодов исправления ошибок, либо с помощью повторной доставки сообщений. Также мы можем исправлять и обнаруживать ошибки на канальном уровне, либо на вышестоящих уровнях. 

    Множественный доступ к каналам

    Как это лучше делать? Практика показала, что на каналах где ошибки возникают редко, например, если данные передаются по проводам, то на канальном уровне лучше использовать простое обнаружение ошибок. А если ошибки в среде передачи данных происходят часто, например как это происходит в wifi? где используются электромагнитное излучение и много помех, то ошибки эффективнее обнаруживать и исправлять прямо на канальном уровне. Модель взаимодействия открытых систем разрабатывалась, когда на практике использовались только каналы связи “точка-точка” — это были последовательные линии связи, которые объединяли большие компьютеры. 

    Затем появились другие технологии канального уровня, на основе разделяемых каналов связи, когда к одной и той же среде передачи данных подключено несколько устройств. В таких каналах появились новые задачи, которые не были учтены в модели взаимодействия открытых систем, поэтому пришлось поменять эту модель и разделить канальный уровень на два подуровня. 

    Канальный подуровень

    Подуровни канального уровня

    Подуровень №1 — управление логическим каналом (logical link control) LLC, а подуровень №2 — управление доступом к среде (media access control) MAC. 

    Подуровень LLC отвечает за передачу данных, формирование кадров, обработку ошибок и тому подобное. LLC общий уровень для различных технологий канального уровня.

    Подуровень MAC используется, если технология канального уровня с разделяемым доступом. Если технология канального уровня используют соединение “точка-точка”, то подуровень MAC не нужен.  

    Во-первых если у нас есть несколько устройств, которые подключены к одному и тому же каналу связи, то при передаче данных мы должны явно указать, к какому устройству эти данные предназначены. Для этого используются адресация канального уровня, также необходимо обеспечить корректное, совместное использование разделяемой среды передачи данных. 

    Подуровень MAC особенный для разных технологий канального уровня, он зависит от того, какая среда передачи данных используется. 

    Услуги подуровня LLC

    Мультиплексирование — передача данных через одну технологию канального уровня, нескольких типов протоколов вышестоящего уровня. Управление потоком, если в сети устройства, которые работают с разной скоростью, то более мощное устройство, может начать передавать данные очень быстро, так что более слабые устройства не успевают их принимать. В компьютерных сетях это называется “затопление” и некоторые технологии канального уровня обеспечивают защиту от затопления медленного получателя быстрым отправителем. 

    Множественный доступ к каналу связи

    Предположим, есть какая-то общая среда передачи данных, к которой подключены несколько компьютеров и они начали передавать данные одновременно. Но так как среда передачи данных одна, то данные искажаются и не могут быть прочитаны из среды. Это называется коллизия. Подуровень MAC обеспечивает управление доступом, к разделяемой среде. В один и тот же момент времени, канал связи для передачи данных должен использовать только один отправитель. В противном случае произойдет коллизия и данные искажаются. 

    Методы управления доступом: 

    • Рандомизированный метод. Предположим, к среде подключено N устройств в этом случае для передачи данных случайным образом выбирается одно из этих устройств с вероятностью 1/N. Такой подход применяется в технологиях канального уровня изернет и вай-фай. 
    • Определение правил использования среды, например, в технологии Token Ring, данные может передавать только одно устройство, у которого сейчас находится токен. После того как это устройство передало данные, оно передает токен следующему устройству и следующее устройство может передавать данные. Хотя такой подход обеспечивает более эффективное использование полосы пропускания канала связи, но он требует более дорогого оборудования. Поэтому на практике получил распространение рандомизированный подход. 

    Раньше было очень много технологий канального уровня, каждая из которых обладала теми или иными преимуществами и недостатками. Однако сейчас в процессе развития остались только две популярные технологии это ethernet и вай-фай. 

    Мы рассмотрели канальный уровень, его основные задачи. Выяснили, что канальный уровень может обнаруживать и исправлять ошибки. Спасибо за прочтение статьи, надеемся она была для Вас полезной. 

  • Контроль оголовка е55 стрелы ошибка
  • Контроль незакрытых ошибок пд текущего периода что это
  • Контроллер эвко ошибка p1
  • Контроль направленный на предупреждение ошибок
  • Контроллер холодильника evco ошибка