Меню
Разработки
Разработки  /  Информатика  /  Презентации  /  Прочее  /  Стек протоколов TCP/IP

Стек протоколов TCP/IP

Презентация использовалась на занятиях по учебной практике профессионального модуля в ОПК СТИ НИТУ МИСиС

21.12.2017

Содержимое разработки

Тема № 5 . Стек протоколов TCP/IP Описание протокола IP дано в документе RFC 791 Он является базовым  протоколом всего стека TCP/IP и отвечает за передачу информации по сети Информация передается блоками, которые называются дейтаграммами IP является протоколом сетевого уровня При этом для каждой среды  передачи данных (например, Ethernet) определен способ инкапсуляции  дейтаграмм

Тема № 5 . Стек протоколов TCP/IP

  • Описание протокола IP дано в документе RFC 791
  • Он является базовым протоколом всего стека TCP/IP и отвечает за передачу информации по сети
  • Информация передается блоками, которые называются дейтаграммами
  • IP является протоколом сетевого уровня
  • При этом для каждой среды передачи данных (например, Ethernet) определен способ инкапсуляции дейтаграмм
Протокол IP Маршрутизаторы пересылают инкапсулированные дейтаграммы  по различным сетям, используя объединение IP-сетей, по которому каждая  рабочая станция может поддерживать связь по протоколу IP с любой другой  рабочей станцией Услуги IP сводятся к негарантированной доставке дейтаграмм, то есть IP не  исключает потери дейтаграмм, их доставку с ошибками, а также дублирование  и нарушение порядка следования дейтаграмм, заданного при их отправлении

Протокол IP

  • Маршрутизаторы пересылают инкапсулированные дейтаграммы по различным сетям, используя объединение IP-сетей, по которому каждая рабочая станция может поддерживать связь по протоколу IP с любой другой рабочей станцией
  • Услуги IP сводятся к негарантированной доставке дейтаграмм, то есть IP не исключает потери дейтаграмм, их доставку с ошибками, а также дублирование и нарушение порядка следования дейтаграмм, заданного при их отправлении
Протокол IP Протокол IP выполняет фрагментацию и сборку дейтаграмм, если принятый  размер кадров в данном участке распределенной сети отличается от размера  исходных дейтаграмм IP получает информацию для передачи от протоколов  более высокого уровня типа TCP и UDP После получения информации IP  передает дейтаграммы через распределенную сеть, используя сервисы LAN

Протокол IP

  • Протокол IP выполняет фрагментацию и сборку дейтаграмм, если принятый размер кадров в данном участке распределенной сети отличается от размера исходных дейтаграмм
  • IP получает информацию для передачи от протоколов более высокого уровня типа TCP и UDP
  • После получения информации IP передает дейтаграммы через распределенную сеть, используя сервисы LAN
Протокол IP Дейтаграмма состоит из заголовка и поля данных, которое следует сразу за  заголовком Длина поля данных определяется полем «Общая длина» в  заголовке На рисунке приведен формат заголовка IP-дейтаграммы

Протокол IP

  • Дейтаграмма состоит из заголовка и поля данных, которое следует сразу за заголовком
  • Длина поля данных определяется полем «Общая длина» в заголовке
  • На рисунке приведен формат заголовка IP-дейтаграммы
Протокол IP

Протокол IP

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

Протокол IP

  • Поле «Номер версии» указывает на версию используемого протокола IP
  • Сейчас распространена 4 версия, но осуществляется переход на 6 версию
  • Связь между абонентами гарантируется если все они работают с одной версией протокола
  • Перед обработкой дейтаграммы это поле проверяется
  • Если используется версия 4, будут отбрасываться дейтаграммы с версией 6
Протокол IP Поле «Длина заголовка» определяет длину заголовка в 32-битных словах Минимальный размер – 5 слов При увеличении объема служебной информации эта длина может быть увеличена за счет поля «Опции»

Протокол IP

  • Поле «Длина заголовка» определяет длину заголовка в 32-битных словах
  • Минимальный размер – 5 слов
  • При увеличении объема служебной информации эта длина может быть увеличена за счет поля «Опции»
Протокол IP

Протокол IP

    Протокол IP Бит 4 определяет пропускную способность (нормальная или высокая) Бит 5 определяет надежность доставки 6 и 7 биты зарезервированы Биты 3..7 используются протоколами маршрутизации OSPF и BGP, которые отвечают за вычисление наилучшего маршрута к получателю, основываясь на понятии «стоимость пути» Ею может быть скорость, надежность и т.д.

    Протокол IP

    • Бит 4 определяет пропускную способность (нормальная или высокая)
    • Бит 5 определяет надежность доставки
    • 6 и 7 биты зарезервированы
    • Биты 3..7 используются протоколами маршрутизации OSPF и BGP, которые отвечают за вычисление наилучшего маршрута к получателю, основываясь на понятии «стоимость пути»
    • Ею может быть скорость, надежность и т.д.
    Протокол IP При определенных условиях дейтаграммы могут попасть в замкнутый логический контур, образованный некоторой группой маршрутизаторов Чтобы избавить сеть от дейтаграмм, циркулирующих в таких контурах слишком долго, протоколом IP устанавливается предельный срок пребывания дейтаграммы в сети Он задается в поле «Время жизни» - TTL Его содержимое уменьшается на единицу при прохождении дейтаграммы через маршрутизатор

    Протокол IP

    • При определенных условиях дейтаграммы могут попасть в замкнутый логический контур, образованный некоторой группой маршрутизаторов
    • Чтобы избавить сеть от дейтаграмм, циркулирующих в таких контурах слишком долго, протоколом IP устанавливается предельный срок пребывания дейтаграммы в сети
    • Он задается в поле «Время жизни» - TTL
    • Его содержимое уменьшается на единицу при прохождении дейтаграммы через маршрутизатор
    Протокол IP При обнулении поля TTL дейтаграмма отбрасывается В спецификации протокола TCP предполагается, что максимальное время жизни дейтаграммы в сеть составляет 2 минуты  Поле «Идентификатор» используется для распознавания дейтаграмм, образованных в результате фрагментации Все фрагменты фрагментированного пакета должны иметь одинаковое значение этого поля

    Протокол IP

    • При обнулении поля TTL дейтаграмма отбрасывается
    • В спецификации протокола TCP предполагается, что максимальное время жизни дейтаграммы в сеть составляет 2 минуты
    • Поле «Идентификатор» используется для распознавания дейтаграмм, образованных в результате фрагментации
    • Все фрагменты фрагментированного пакета должны иметь одинаковое значение этого поля
    Протокол IP

    Протокол IP

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

      Протокол IP

      • Передача дейтаграммы в кадре называется инкапсуляцией
      • Дейтаграмма выглядит для нижних уровней так же, как и любое другое сообщение в сети
      • Сетевое оборудование не работает с дейтаграммами, поэтому каждая из них является частью области данных кадра
      • На рисунке инкапсуляция данных в кадр (см. след. слайд)
      Протокол IP Функции фрагментации и сборки также возложены на протокол IP Фрагментация – разделение большой дейтаграммы на несколько небольших  частей В большинстве сетей есть ограничения на максимальный размер кадра Это максимальная единица передачи (MTU) В Ethernet данная величина составляет 1500 байт, а в сетях FDDI – 4096 байт

      Протокол IP

      • Функции фрагментации и сборки также возложены на протокол IP
      • Фрагментация – разделение большой дейтаграммы на несколько небольших частей
      • В большинстве сетей есть ограничения на максимальный размер кадра
      • Это максимальная единица передачи (MTU)
      • В Ethernet данная величина составляет 1500 байт, а в сетях FDDI – 4096 байт
      Протокол IP Когда маршрутизатор переправляет дейтаграмму из одной сети в другую, может оказаться, что ее размер является недопустимым в новой сети В спецификации протокола предусмотрено следующее решение этой проблемы: Маршрутизатор может разбить дейтаграмму на более мелкие фрагменты, приемлемые для выходной среды, а в пункте назначения эти фрагменты будут вновь объединены в дейтаграмму исходного вида

      Протокол IP

      • Когда маршрутизатор переправляет дейтаграмму из одной сети в другую, может оказаться, что ее размер является недопустимым в новой сети
      • В спецификации протокола предусмотрено следующее решение этой проблемы:
      • Маршрутизатор может разбить дейтаграмму на более мелкие фрагменты, приемлемые для выходной среды, а в пункте назначения эти фрагменты будут вновь объединены в дейтаграмму исходного вида
      Протокол IP Формируемые маршрутизатором фрагменты идентифицируются смещением относительно начала исходной дейтаграммы Дейтаграмма идентифицируется по отправителю, пункту назначения, типу протокола высокого уровня и 16-разрядному полю «Идентификатор» В совокупности это должно образовывать уникальную комбинацию

      Протокол IP

      • Формируемые маршрутизатором фрагменты идентифицируются смещением относительно начала исходной дейтаграммы
      • Дейтаграмма идентифицируется по отправителю, пункту назначения, типу протокола высокого уровня и 16-разрядному полю «Идентификатор»
      • В совокупности это должно образовывать уникальную комбинацию
      Протокол IP

      Протокол IP

        Протокол IP

        Протокол IP

          Протокол IP Проблема эффективного использования битов идентификатора оказалась практически разрешенной с появлением метода MTU Discovery , позволяющего определить значения MTU на всем пути к пункту назначения Согласно этому методу конечная система может устанавливать в заголовке дейтаграммы бит DF ( не фрагментировать ), запрещающий фрагментацию, так как конечные системы могут заранее узнать о том, что отправляемые ими дейтаграммы имеют чрезмерную длину

          Протокол IP

          • Проблема эффективного использования битов идентификатора оказалась практически разрешенной с появлением метода MTU Discovery , позволяющего определить значения MTU на всем пути к пункту назначения
          • Согласно этому методу конечная система может устанавливать в заголовке дейтаграммы бит DF ( не фрагментировать ), запрещающий фрагментацию, так как конечные системы могут заранее узнать о том, что отправляемые ими дейтаграммы имеют чрезмерную длину
          Протокол IP Источник, устанавливающий бит DF, теперь может не опасаться того, что две дейтаграммы перепутаются Однако в сетевой среде, где метод MTU Discovery не применяется, необходимо принимать дополнительные меры для предотвращения подобной ситуации

          Протокол IP

          • Источник, устанавливающий бит DF, теперь может не опасаться того, что две дейтаграммы перепутаются
          • Однако в сетевой среде, где метод MTU Discovery не применяется, необходимо принимать дополнительные меры для предотвращения подобной ситуации
          Протокол IP Фрагментация и сборка производятся автоматически, не требуя от отправителя специальных действий Каждая фрагментированная часть исходной дейтаграммы имеет тот же формат Использование фрагментации повышает вероятность потери исходной дейтаграммы, так как потеря даже одного фрагмента приводит к потере всей дейтаграммы Сборка дейтаграммы осуществляется на месте назначения Такой метод позволяет маршрутизировать фрагменты независимо

          Протокол IP

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

          Протокол IP

            Протокол IP

            Протокол IP

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

              Протокол IP

              • Поля «Адрес отправителя» и «Адрес получателя» имеют одинаковые длину и структуру и содержат 32-битные IP-адреса отправителя и получателя
              • Поле «Опции» необязательно, используется при настройке сети
              • В поле могут быть указаны точный маршрут прохождения дейтаграммы в распределенной сети, данные о безопасности, различные временные отметки и т.д.
              • Поле не имеет фиксированной длины, поэтому для выравнивания заголовка по 32-битной границе предусмотрено поле «Выравнивание»
              • Оно осуществляется нулями
              Протокол IP

              Протокол IP

                Протокол IP Байт кода опции делится на три поля: «Копировать», «Класс опции» и «Номер опции» Флаг «Копировать» управляет тем, как маршрутизаторы учитывают опции при фрагментации дейтаграммы Если бит включен, опции должны копироваться во все фрагменты дейтаграммы Если выключен – опцию нужно скопировать только в первый фрагмент

                Протокол IP

                • Байт кода опции делится на три поля: «Копировать», «Класс опции» и «Номер опции»
                • Флаг «Копировать» управляет тем, как маршрутизаторы учитывают опции при фрагментации дейтаграммы
                • Если бит включен, опции должны копироваться во все фрагменты дейтаграммы
                • Если выключен – опцию нужно скопировать только в первый фрагмент
                Протокол IP

                Протокол IP

                Протокол IP ы

                Протокол IP

                • ы
                Протокол IP №  опции класса 0 Длина 0 Пояснение - 1 - Конец списка опций. Используется, если опция не заканчивается в конце заголовка 2 3 Нет операций. Используется для выравнивания по 32-битной границе в списке опций 11 Переменная Безопасность 7 Используется для маршрутизации дейтаграммы с учетом информации, предоставленной отправителем Переменная 8 4 Запись маршрута 9 Идентификатор маршрута. Используется для идентификации потока Переменная Другой - Используется для маршрутизации дейтаграммы с учетом информации, предоставленной отправителем Не используется

                Протокол IP

                опции класса 0

                Длина

                0

                Пояснение

                -

                1

                -

                Конец списка опций. Используется, если опция не заканчивается в конце заголовка

                2

                3

                Нет операций. Используется для выравнивания по 32-битной границе в списке опций

                11

                Переменная

                Безопасность

                7

                Используется для маршрутизации дейтаграммы с учетом информации, предоставленной отправителем

                Переменная

                8

                4

                Запись маршрута

                9

                Идентификатор маршрута. Используется для идентификации потока

                Переменная

                Другой

                -

                Используется для маршрутизации дейтаграммы с учетом информации, предоставленной отправителем

                Не используется

                Протокол ARP Протокол разрешения адреса ARP описан в документе RFC 826 В большинстве  случаев прикладные программы используют IP-адреса, а устройства в сети  имеют физические адреса Так как схемы физической адресации устройств  весьма разнообразны необходим специальный, универсальный протокол Разрешение адресов может быть выполнено путем прямого отображения либо с  помощью динамического связывания ARP использует последний способ

                Протокол ARP

                • Протокол разрешения адреса ARP описан в документе RFC 826
                • В большинстве случаев прикладные программы используют IP-адреса, а устройства в сети имеют физические адреса
                • Так как схемы физической адресации устройств весьма разнообразны необходим специальный, универсальный протокол
                • Разрешение адресов может быть выполнено путем прямого отображения либо с помощью динамического связывания
                • ARP использует последний способ
                Протокол ARP Протокол состоит из двух частей Одна часть протокола определяет ФА при  посылке дейтаграммы, другая отвечает на запросы от других устройств в сети ARP предполагает, что каждое устройство знает как свой IP-адрес, так и ФА Для уменьшения количества посылаемых ARP запросов, каждое сетевое  устройство, использующее протокол ARP, должно иметь специальную  буферную память, в которой хранятся пары (IP, ФА) устройств в сети

                Протокол ARP

                • Протокол состоит из двух частей
                • Одна часть протокола определяет ФА при посылке дейтаграммы, другая отвечает на запросы от других устройств в сети
                • ARP предполагает, что каждое устройство знает как свой IP-адрес, так и ФА
                • Для уменьшения количества посылаемых ARP запросов, каждое сетевое устройство, использующее протокол ARP, должно иметь специальную буферную память, в которой хранятся пары (IP, ФА) устройств в сети
                Протокол ARP Когда устройство получает ARP-ответ, оно сохраняет в памяти  соответствующую пару Если адрес есть в списке пар, то нет необходимости  посылать IP-запрос Эта буферная память называется ARP-таблицей В ARP-таблице могут быть как статические,  так и динамические записи Таблица всегда содержит запись с физическим широковещательным адресом ( 0x FFFFFFFFFFFF) для LAN Эта запись позволяет устройству  принимать широковещательные ARP-запросы

                Протокол ARP

                • Когда устройство получает ARP-ответ, оно сохраняет в памяти соответствующую пару
                • Если адрес есть в списке пар, то нет необходимости посылать IP-запрос
                • Эта буферная память называется ARP-таблицей
                • В ARP-таблице могут быть как статические, так и динамические записи
                • Таблица всегда содержит запись с физическим широковещательным адресом ( 0x FFFFFFFFFFFF) для LAN
                • Эта запись позволяет устройству принимать широковещательные ARP-запросы
                Протокол ARP Каждая запись в ARP-таблице имеет свое время жизни (обычно 10 минут) Если запись не используется в первые две минуты, она удаляется Если используется – она «живет» 10 минут В некоторых реализациях протокола ARP новый таймер устанавливается после каждого использования записи в таблице Сообщения протокола ARP при передаче по сети инкапсулируются в поле данных кадра

                Протокол ARP

                • Каждая запись в ARP-таблице имеет свое время жизни (обычно 10 минут)
                • Если запись не используется в первые две минуты, она удаляется
                • Если используется – она «живет» 10 минут
                • В некоторых реализациях протокола ARP новый таймер устанавливается после каждого использования записи в таблице
                • Сообщения протокола ARP при передаче по сети инкапсулируются в поле данных кадра
                Протокол ARP Они не содержат IP-заголовка и не имеют фиксированного формата своего заголовка Протокол ARP разработан для использования при разрешении адресов в различных сетях Фактически его можно использовать с произвольными ФА и сетевыми протоколами На следующем слайде показан формат сообщения ARP

                Протокол ARP

                • Они не содержат IP-заголовка и не имеют фиксированного формата своего заголовка
                • Протокол ARP разработан для использования при разрешении адресов в различных сетях
                • Фактически его можно использовать с произвольными ФА и сетевыми протоколами
                • На следующем слайде показан формат сообщения ARP
                Протокол ARP

                Протокол ARP

                Протокол ARP

                Протокол ARP

                  Протокол ARP В поле «Тип сети» для сетей Ethernet указывается 2 Для других типов значения этого поля определено соответствующими документами RFC Поле «Тип протокола» позволяет использовать сообщения ARP не только для протокола IP, но и других сетевых протоколов Для IP значение этого поля составляет 0x 0800 В поле «Тип операции» для ARP-запросов указывается 1, а для ARP-ответов – 2

                  Протокол ARP

                  • В поле «Тип сети» для сетей Ethernet указывается 2
                  • Для других типов значения этого поля определено соответствующими документами RFC
                  • Поле «Тип протокола» позволяет использовать сообщения ARP не только для протокола IP, но и других сетевых протоколов
                  • Для IP значение этого поля составляет 0x 0800
                  • В поле «Тип операции» для ARP-запросов указывается 1, а для ARP-ответов – 2
                  Протокол ARP Поля «Длина сетевого адреса» позволяют использовать протокол ARP в любых сетях, так как длину адресов можно задать Протокол ARP работает по следующей схеме: Устройство, отправляющее ARP-запрос, заполняет в сообщении все поля, кроме искомого аппаратного адреса Затем оно рассылает запросы по всей подсети Поле заполняется устройствами, опознавшими свой IP-адрес Устройство, отправляющее ARP-запрос, заполняет в сообщении все поля, кроме искомого аппаратного адреса Затем оно рассылает запросы по всей подсети Поле заполняется устройствами, опознавшими свой IP-адрес

                  Протокол ARP

                  • Поля «Длина сетевого адреса» позволяют использовать протокол ARP в любых сетях, так как длину адресов можно задать
                  • Протокол ARP работает по следующей схеме:
                  • Устройство, отправляющее ARP-запрос, заполняет в сообщении все поля, кроме искомого аппаратного адреса Затем оно рассылает запросы по всей подсети Поле заполняется устройствами, опознавшими свой IP-адрес
                  • Устройство, отправляющее ARP-запрос, заполняет в сообщении все поля, кроме искомого аппаратного адреса
                  • Затем оно рассылает запросы по всей подсети
                  • Поле заполняется устройствами, опознавшими свой IP-адрес
                  Протокол ICMP Протокол обмена управляющими сообщениями ICMP описан в документе  RFC 792 Этот протокол позволяет маршрутизатору сообщать станции об  ошибках и нештатных ситуациях при передаче дейтаграммы от этой станции Он должен обязательно включаться во все реализации стека TCP/ IP как неотъемлемая часть протокола IP

                  Протокол ICMP

                  • Протокол обмена управляющими сообщениями ICMP описан в документе RFC 792
                  • Этот протокол позволяет маршрутизатору сообщать станции об ошибках и нештатных ситуациях при передаче дейтаграммы от этой станции
                  • Он должен обязательно включаться во все реализации стека TCP/ IP как неотъемлемая часть протокола IP
                  Протокол ICMP Сообщения ICMP передаются по сети в поле данных IP-дейтаграммы Конечным получателем является модуль ICMP, входящий в состав ПО  поддержки IP Если модуль определит, что ошибка вызвана протоколом  высокого уровня или приложением, то об этом сообщается соответствующему  модулю, который связан с источником ошибки Могут посылаться два типа  сообщений – управляющие  и об ошибках Они посылаются как на  маршрутизаторы, так и на конечные станции

                  Протокол ICMP

                  • Сообщения ICMP передаются по сети в поле данных IP-дейтаграммы
                  • Конечным получателем является модуль ICMP, входящий в состав ПО поддержки IP
                  • Если модуль определит, что ошибка вызвана протоколом высокого уровня или приложением, то об этом сообщается соответствующему модулю, который связан с источником ошибки
                  • Могут посылаться два типа сообщений – управляющие и об ошибках
                  • Они посылаются как на маршрутизаторы, так и на конечные станции
                  Протокол ICMP Протокола ICMP служит для обнаружения, но не для исправления ошибок Отправитель должен сам определить источник и предпринять меры по  устранению ошибок Для транспортировки сообщений используется протокол IP, так как для достижения конечной станции сообщение может пересечь несколько физических сетей Дейтаграммы, несущие сообщение ICMP,  маршрутизируются точно так же, как и дейтаграммы с информацией для  пользователей Сообщения могут быть потеряны или удалены, и  кроме того они занимают определенную полосу пропускания сети

                  Протокол ICMP

                  • Протокола ICMP служит для обнаружения, но не для исправления ошибок
                  • Отправитель должен сам определить источник и предпринять меры по устранению ошибок
                  • Для транспортировки сообщений используется протокол IP, так как для достижения конечной станции сообщение может пересечь несколько физических сетей
                  • Дейтаграммы, несущие сообщение ICMP, маршрутизируются точно так же, как и дейтаграммы с информацией для пользователей
                  • Сообщения могут быть потеряны или удалены, и кроме того они занимают определенную полосу пропускания сети
                  Протокол ICMP

                  Протокол ICMP

                  Протокол ICMP Сообщения ICMP начинаются с трех одинаковых полей: «Тип» (8 бит), определяет смысл сообщения и его формат; «Код» (8 бит); «Контрольная сумма» (16 бит). «Тип» (8 бит), определяет смысл сообщения и его формат; «Код» (8 бит); «Контрольная сумма» (16 бит). Сообщения ICMP всегда включают заголовок и первые 64 бита данных дейтаграммы, вызвавшей ошибку

                  Протокол ICMP

                  • Сообщения ICMP начинаются с трех одинаковых полей:
                  • «Тип» (8 бит), определяет смысл сообщения и его формат; «Код» (8 бит); «Контрольная сумма» (16 бит).
                  • «Тип» (8 бит), определяет смысл сообщения и его формат;
                  • «Код» (8 бит);
                  • «Контрольная сумма» (16 бит).
                  • Сообщения ICMP всегда включают заголовок и первые 64 бита данных дейтаграммы, вызвавшей ошибку
                  Протокол ICMP

                  Протокол ICMP

                  Протокол ICMP Сообщение «Запрос маски адреса» (17) необходимо для интерпретации адреса, т.е. какие биты в 32-разрядном адресе соответствуют номеру сети, а какие – номеру устройства В ответ на сообщение передается 32-битная величина, называемая маской подсети Ответ передается через сообщение «Передача маски адреса» (18) Запрос может посылаться напрямую, если известен адрес маршрутизатора, или широковещательно На следующем слайде показан формат сообщений запроса маски адреса и ответ на него

                  Протокол ICMP

                  • Сообщение «Запрос маски адреса» (17) необходимо для интерпретации адреса, т.е. какие биты в 32-разрядном адресе соответствуют номеру сети, а какие – номеру устройства
                  • В ответ на сообщение передается 32-битная величина, называемая маской подсети
                  • Ответ передается через сообщение «Передача маски адреса» (18)
                  • Запрос может посылаться напрямую, если известен адрес маршрутизатора, или широковещательно
                  • На следующем слайде показан формат сообщений запроса маски адреса и ответ на него
                  Протокол ICMP Поле «Тип» в сообщении указывает, является сообщение запросом или ответом «Идентификатор» и «Номер» используются источником для установления связи между ответами и запросами В «Маске адреса» - ответ на запрос

                  Протокол ICMP

                  • Поле «Тип» в сообщении указывает, является сообщение запросом или ответом
                  • «Идентификатор» и «Номер» используются источником для установления связи между ответами и запросами
                  • В «Маске адреса» - ответ на запрос
                  Протокол UDP Протокол пользовательских дейтаграмм UDP описан в документе RFC 768 Протокол разработан для представления приложениям  транспортных услуг UDP Как и IP, обеспечивает негарантированную доставку дейтаграмм получателю и не поддерживает установку соединений В стеке TCP/IP он располагается над IP

                  Протокол UDP

                  • Протокол пользовательских дейтаграмм UDP описан в документе RFC 768
                  • Протокол разработан для представления приложениям транспортных услуг UDP
                  • Как и IP, обеспечивает негарантированную доставку дейтаграмм получателю и не поддерживает установку соединений
                  • В стеке TCP/IP он располагается над IP
                  Протокол UDP протокольные порты

                  Протокол UDP

                  • протокольные порты
                  Протокол UDP Когда станция получает дейтаграмму с ее IP-адресом, она направляет эту дейтаграмму конкретному приложению, используя номер протокольного порта, который определяется во время установки сеанса связи Протокольные порты UDP отличаются от портов TCP

                  Протокол UDP

                  • Когда станция получает дейтаграмму с ее IP-адресом, она направляет эту дейтаграмму конкретному приложению, используя номер протокольного порта, который определяется во время установки сеанса связи
                  • Протокольные порты UDP отличаются от портов TCP
                  Протокол UDP Назначением портов и обеспечением параллельного доступа к ним занимается сетевая ОС Протокольный порт – это натуральное число Для связи с протокольным портом на другой рабочей станции, отправитель должен знать IP-адрес получателя и номер порта на этой станции Каждое сообщение содержит также номер протокольного порта отправителя Приложение, получающее сообщения, может напрямую ответить отправителю

                  Протокол UDP

                  • Назначением портов и обеспечением параллельного доступа к ним занимается сетевая ОС
                  • Протокольный порт – это натуральное число
                  • Для связи с протокольным портом на другой рабочей станции, отправитель должен знать IP-адрес получателя и номер порта на этой станции
                  • Каждое сообщение содержит также номер протокольного порта отправителя
                  • Приложение, получающее сообщения, может напрямую ответить отправителю
                  Протокол UDP Каждое сообщение протокола UDP называется пользовательской дейтаграммой Она состоит из двух частей: заголовка и области данных Заголовок содержит четыре 16-битных поля, которые определяют протокольные порты отправителя и получателя, длину сообщения и контрольную сумму (см. след. слайд)

                  Протокол UDP

                  • Каждое сообщение протокола UDP называется пользовательской дейтаграммой
                  • Она состоит из двух частей: заголовка и области данных
                  • Заголовок содержит четыре 16-битных поля, которые определяют протокольные порты отправителя и получателя, длину сообщения и контрольную сумму (см. след. слайд)
                  Протокол UDP

                  Протокол UDP

                    Протокол UDP

                    Протокол UDP

                      Протокол UDP Остальные порты могут назначаться динамически Сетевое ПО назначает протокольные порты не контролируются IANA и могут свободно использоваться процессами Номера этих протокольных портов лежат в диапазоне от 1024 до 65535 Протокольные порты в диапазоне от 1024 до 5000 называется временными ( ephemeral )

                      Протокол UDP

                      • Остальные порты могут назначаться динамически
                      • Сетевое ПО назначает протокольные порты не контролируются IANA и могут свободно использоваться процессами
                      • Номера этих протокольных портов лежат в диапазоне от 1024 до 65535
                      • Протокольные порты в диапазоне от 1024 до 5000 называется временными ( ephemeral )
                      Протокол RTP Требование поддержки нескольких типов трафика с различными  требованиями к качеству обслуживания является одним из самых  актуальных Эту задачу призван решить транспортный протокол реального  времени RTP, который является стандартным для передачи данных типа  голоса или видео по сети в реальном времени

                      Протокол RTP

                      • Требование поддержки нескольких типов трафика с различными требованиями к качеству обслуживания является одним из самых актуальных
                      • Эту задачу призван решить транспортный протокол реального времени RTP, который является стандартным для передачи данных типа голоса или видео по сети в реальном времени
                      Протокол RTP Он гарантирует доставку  данных одному или нескольким адресатам с задержкой не превышающей  установленной значение Для этого в заголовке протокола предусмотрены  временн ы е отметки, необходимые для успешного восстановления аудио- и видеоинформации, а также данные о способе кодирования информации

                      Протокол RTP

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

                      Протокол RTP

                        В стеке протоколов TCP/IP протокол TCP ( Transmission Control Protocol ) работает так же, как и протокол UDP, на транспортном уровне Он обеспечивает надежную транспортировку данных между прикладными процессами путем установления логического соединения Единицей данных протокола TCP является сегмент
                        • В стеке протоколов TCP/IP протокол TCP ( Transmission Control Protocol ) работает так же, как и протокол UDP, на транспортном уровне
                        • Он обеспечивает надежную транспортировку данных между прикладными процессами путем установления логического соединения
                        • Единицей данных протокола TCP является сегмент
                        сегмент
                        • сегмент
                        В протоколе TCP предусмотрен случай, когда приложение обращается с запросом о срочной передаче данных (бит PSH в запросе установлен в 1) В этом случае протокол TCP, не ожидая заполнения буфера до уровня размера сегмента, немедленно передает указанные данные в сеть О таких данных говорят, что они передаются вне потока  ( out of band )
                        • В протоколе TCP предусмотрен случай, когда приложение обращается с запросом о срочной передаче данных (бит PSH в запросе установлен в 1)
                        • В этом случае протокол TCP, не ожидая заполнения буфера до уровня размера сегмента, немедленно передает указанные данные в сеть
                        • О таких данных говорят, что они передаются вне потока ( out of band )
                        Не все сегменты, посланные через соединение, будут одинакового размера Оба участника соединения должны договориться о максимальном размере сегмента, который они будут использовать Этот размер выбирается таким образом, чтобы при упаковке сегмента в IP-пакет он помещался туда целиком, то есть максимальный размер сегмента не должен превосходить максимального размера поля данных IP-пакета В противном случае пришлось бы выполнять фрагментацию – разделить сегмент на несколько частей, чтобы он вместился в IP-пакет
                        • Не все сегменты, посланные через соединение, будут одинакового размера
                        • Оба участника соединения должны договориться о максимальном размере сегмента, который они будут использовать
                        • Этот размер выбирается таким образом, чтобы при упаковке сегмента в IP-пакет он помещался туда целиком, то есть максимальный размер сегмента не должен превосходить максимального размера поля данных IP-пакета
                        • В противном случае пришлось бы выполнять фрагментацию – разделить сегмент на несколько частей, чтобы он вместился в IP-пакет
                        В протоколе TCP для связи с приложениями используются порты Имеются стандартные, зарезервированные номера (например, номер 21 закреплен за сервисом FTP), а менее известные приложения пользуются произвольно выбранными локальными номерами Для организации надежной передачи данных предусматривается установление логического соединения между двумя прикладными процессами
                        • В протоколе TCP для связи с приложениями используются порты
                        • Имеются стандартные, зарезервированные номера (например, номер 21 закреплен за сервисом FTP), а менее известные приложения пользуются произвольно выбранными локальными номерами
                        • Для организации надежной передачи данных предусматривается установление логического соединения между двумя прикладными процессами
                          оконечных точек
                          • оконечных точек
                          Установление соединения выполняется в следующей последовательности: При установлении соединения одна из сторон является инициатором. Он посылает запрос к протоколу TCP на открытие порта для передачи ( active open ) После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение При установлении соединения одна из сторон является инициатором. Он посылает запрос к протоколу TCP на открытие порта для передачи ( active open ) После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение
                          • Установление соединения выполняется в следующей последовательности:
                          • При установлении соединения одна из сторон является инициатором. Он посылает запрос к протоколу TCP на открытие порта для передачи ( active open ) После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение
                          • При установлении соединения одна из сторон является инициатором. Он посылает запрос к протоколу TCP на открытие порта для передачи ( active open )
                          • После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение
                          Установление соединения выполняется в следующей последовательности (продолжение): Протокол TCP на приемной стороне открывает порт для приема данных ( passive open ) и возвращает квитанцию, подтверждающую прием запроса Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи ( active port ) и также передает запрос к противоположной стороне Протокол TCP на приемной стороне открывает порт для приема данных ( passive open ) и возвращает квитанцию, подтверждающую прием запроса Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи ( active port ) и также передает запрос к противоположной стороне
                          • Установление соединения выполняется в следующей последовательности (продолжение):
                          • Протокол TCP на приемной стороне открывает порт для приема данных ( passive open ) и возвращает квитанцию, подтверждающую прием запроса Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи ( active port ) и также передает запрос к противоположной стороне
                          • Протокол TCP на приемной стороне открывает порт для приема данных ( passive open ) и возвращает квитанцию, подтверждающую прием запроса
                          • Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи ( active port ) и также передает запрос к противоположной стороне
                          Установление соединения выполняется в следующей последовательности (окончание): Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным. Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным. Далее происходит обмен данными в рамках данного соединения
                          • Установление соединения выполняется в следующей последовательности (окончание):
                          • Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным.
                          • Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным.
                          • Далее происходит обмен данными в рамках данного соединения
                          Квитирование
                          • Квитирование
                            Для каждого кадра отправитель ожидает от приемника так называемую положительную квитанцию – служебное сообщение, извещающее о том, что исходный кадр был получен, и данные в нем оказались корректными Время этого ожидания ограничено: при отправке каждого кадра передатчик запускает таймер, и если по его истечении положительная квитанция на получена, то кадр считается утерянным В некоторых протоколах приемник в случае получения кадра с искаженными данными должен отправить отрицательную квитанцию – явное указание того, что данный кадр нужно передать повторно
                            • Для каждого кадра отправитель ожидает от приемника так называемую положительную квитанцию – служебное сообщение, извещающее о том, что исходный кадр был получен, и данные в нем оказались корректными
                            • Время этого ожидания ограничено: при отправке каждого кадра передатчик запускает таймер, и если по его истечении положительная квитанция на получена, то кадр считается утерянным
                            • В некоторых протоколах приемник в случае получения кадра с искаженными данными должен отправить отрицательную квитанцию – явное указание того, что данный кадр нужно передать повторно
                                Во втором методе для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе, без получения на эти кадры ответных квитанций Количество кадров, которые разрешается передавать таким образом - размер окна Рисунок иллюстрирует данный метод для размера окна в W кадров
                                • Во втором методе для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе, без получения на эти кадры ответных квитанций
                                • Количество кадров, которые разрешается передавать таким образом - размер окна
                                • Рисунок иллюстрирует данный метод для размера окна в W кадров
                                W W-1
                                • W
                                • W-1
                                Если поток квитанций поступает более-менее регулярно, в пределах допуска в W кадров, то скорость обмена достигает максимально возможной величины для данного канала и принятого протокола Этот алгоритм называют алгоритмом плавающего окна При каждом получении квитанции окно перемещается («плывет»), захватывая все новые и новые данные, которые разрешается передавать без подтверждения с помощью квитанции
                                • Если поток квитанций поступает более-менее регулярно, в пределах допуска в W кадров, то скорость обмена достигает максимально возможной величины для данного канала и принятого протокола
                                • Этот алгоритм называют алгоритмом плавающего окна
                                • При каждом получении квитанции окно перемещается («плывет»), захватывая все новые и новые данные, которые разрешается передавать без подтверждения с помощью квитанции
                                  Квитанция посылается только в случае правильного приема данных, т.е. отрицательные квитанции не посылаются Отсутствие квитанции означает либо прием искаженного сегмента, либо потерю сегмента, либо потерю квитанции В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте
                                  • Квитанция посылается только в случае правильного приема данных, т.е. отрицательные квитанции не посылаются
                                  • Отсутствие квитанции означает либо прием искаженного сегмента, либо потерю сегмента, либо потерю квитанции
                                  • В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте
                                  W N N+W
                                  • W N N+W
                                  Выбор времени ожидания (тайм-аута) очередной квитанции является важной задачей, результат решения которой влияет на производительность протокола TCP Тайм-аут не должен быть слишком коротким, чтобы по возможности исключить избыточные повторные передачи, которые снижают полезную пропускную способность системы Но он не должен быть и слишком большим, чтобы избежать длительных простоев, связанных с ожиданием несуществующей или «заблудившейся» квитанции
                                  • Выбор времени ожидания (тайм-аута) очередной квитанции является важной задачей, результат решения которой влияет на производительность протокола TCP
                                  • Тайм-аут не должен быть слишком коротким, чтобы по возможности исключить избыточные повторные передачи, которые снижают полезную пропускную способность системы
                                  • Но он не должен быть и слишком большим, чтобы избежать длительных простоев, связанных с ожиданием несуществующей или «заблудившейся» квитанции
                                  При выборе величины тайм-аута должны учитываться скорость и надежность физических линий связи, их протяженность и многие другие подобные факторы В протоколе TCP тайм-аут определяется с помощью достаточно сложного адаптивного алгоритма, идея которого состоит в следующем При каждой передаче засекается время от момента отправки сегмента до прихода квитанции о его приеме ( время оборота RTT)
                                  • При выборе величины тайм-аута должны учитываться скорость и надежность физических линий связи, их протяженность и многие другие подобные факторы
                                  • В протоколе TCP тайм-аут определяется с помощью достаточно сложного адаптивного алгоритма, идея которого состоит в следующем
                                  • При каждой передаче засекается время от момента отправки сегмента до прихода квитанции о его приеме ( время оборота RTT)
                                    RTT(i) i ARRT(K) K
                                    • RTT(i) i ARRT(K) K
                                    Здесь SRTT(K) – сглаженное оценочное время обращения , α – фактор сглаживания , причем  0 Таймер повторной передачи должен быть установлен в значение, большее оцененного времени обращения Документ RFC определяет таймер, пропорциональный значению SRTT со следующими ограничениями:
                                    • Здесь SRTT(K)сглаженное оценочное время обращения , α – фактор сглаживания , причем 0
                                    • Таймер повторной передачи должен быть установлен в значение, большее оцененного времени обращения
                                    • Документ RFC определяет таймер, пропорциональный значению SRTT со следующими ограничениями:
                                    Здесь UBOUND и LBOUND – фиксированные верхняя и нижняя границы значения таймер, β = const (фактор задержки) В документе RFC 793 нет рекомендаций относительно фиксированных значений, но приводится диапазон изменений параметров: α – между 0,8 и 0,9 и β – между 1,3 и 2,0
                                    • Здесь UBOUND и LBOUND – фиксированные верхняя и нижняя границы значения таймер, β = const (фактор задержки)
                                    • В документе RFC 793 нет рекомендаций относительно фиксированных значений, но приводится диапазон изменений параметров: α – между 0,8 и 0,9 и β – между 1,3 и 2,0
                                    Варьируя величину окна, можно повлиять на загрузку сети Чем больше окно, тем большую порцию неподтвержденных данных можно послать в сеть Если сеть не справляется с нагрузкой, то возникают очереди в промежуточных узлах (маршрутизаторах) и в конечных узлах (компьютерах)
                                    • Варьируя величину окна, можно повлиять на загрузку сети
                                    • Чем больше окно, тем большую порцию неподтвержденных данных можно послать в сеть
                                    • Если сеть не справляется с нагрузкой, то возникают очереди в промежуточных узлах (маршрутизаторах) и в конечных узлах (компьютерах)
                                    При переполнении буфера конечного узла «перегруженный» протокол TCP, отправляя квитанцию с новым уменьшенным размером окна Если он совсем отказывается от приема, то в квитанции указывается окно нулевого размера Даже после этого приложение может послать сообщение на отказавшийся от приема порт Для этого сообщение должно сопровождаться пометкой «срочно» (бит URG установлен в 1) В такой ситуации порт обязан принять сегмент, даже если для этого придется вытеснить из буфера уже находящиеся там данные
                                    • При переполнении буфера конечного узла «перегруженный» протокол TCP, отправляя квитанцию с новым уменьшенным размером окна
                                    • Если он совсем отказывается от приема, то в квитанции указывается окно нулевого размера
                                    • Даже после этого приложение может послать сообщение на отказавшийся от приема порт
                                    • Для этого сообщение должно сопровождаться пометкой «срочно» (бит URG установлен в 1)
                                    • В такой ситуации порт обязан принять сегмент, даже если для этого придется вытеснить из буфера уже находящиеся там данные
                                      Другим проявлением перегрузки сети является переполнение буферов в маршрутизаторах В таких случаях они могут централизовано изменить размер окна, посылая управляющие сообщения некоторым конечным узлам, что позволяет им дифференцировано управлять интенсивностью потока данных в разных частях сети
                                      • Другим проявлением перегрузки сети является переполнение буферов в маршрутизаторах
                                      • В таких случаях они могут централизовано изменить размер окна, посылая управляющие сообщения некоторым конечным узлам, что позволяет им дифференцировано управлять интенсивностью потока данных в разных частях сети
                                      Сегменты состоят из заголовка и блока данных Заголовок сегмента имеет следующие поля: Порт источника (SOURCE PORT) занимает 2 байта, идентифицирует процесс-отправитель; Порт назначения (DESTINATION PORT) занимает 2 байта, идентифицирует процесс-получатель; Последовательный номер (SEQUENCE NUMBER) занимает 4 байта, указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных; Порт источника (SOURCE PORT) занимает 2 байта, идентифицирует процесс-отправитель; Порт назначения (DESTINATION PORT) занимает 2 байта, идентифицирует процесс-получатель; Последовательный номер (SEQUENCE NUMBER) занимает 4 байта, указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных;
                                      • Сегменты состоят из заголовка и блока данных
                                      • Заголовок сегмента имеет следующие поля:
                                      • Порт источника (SOURCE PORT) занимает 2 байта, идентифицирует процесс-отправитель; Порт назначения (DESTINATION PORT) занимает 2 байта, идентифицирует процесс-получатель; Последовательный номер (SEQUENCE NUMBER) занимает 4 байта, указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных;
                                      • Порт источника (SOURCE PORT) занимает 2 байта, идентифицирует процесс-отправитель;
                                      • Порт назначения (DESTINATION PORT) занимает 2 байта, идентифицирует процесс-получатель;
                                      • Последовательный номер (SEQUENCE NUMBER) занимает 4 байта, указывает номер байта, который определяет смещение сегмента относительно потока отправляемых данных;
                                      Заголовок сегмента имеет следующие поля (продолжение): Подтвержденный номер (ACKNOWLEDGEMENT NUMBER) занимает 4 байта, содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; именно это значение используется в качестве квитанции; Длина заголовка (HLEN) занимает 4 бита, указывает длину заголовка сегмента TCP, измеренную в 32- битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле «Опции»; Резерв (RESERVED) занимает 6 битов, поле зарезервировано для последующего использования; Подтвержденный номер (ACKNOWLEDGEMENT NUMBER) занимает 4 байта, содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; именно это значение используется в качестве квитанции; Длина заголовка (HLEN) занимает 4 бита, указывает длину заголовка сегмента TCP, измеренную в 32- битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле «Опции»; Резерв (RESERVED) занимает 6 битов, поле зарезервировано для последующего использования;
                                      • Заголовок сегмента имеет следующие поля (продолжение):
                                      • Подтвержденный номер (ACKNOWLEDGEMENT NUMBER) занимает 4 байта, содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; именно это значение используется в качестве квитанции; Длина заголовка (HLEN) занимает 4 бита, указывает длину заголовка сегмента TCP, измеренную в 32- битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле «Опции»; Резерв (RESERVED) занимает 6 битов, поле зарезервировано для последующего использования;
                                      • Подтвержденный номер (ACKNOWLEDGEMENT NUMBER) занимает 4 байта, содержит максимальный номер байта в полученном сегменте, увеличенный на единицу; именно это значение используется в качестве квитанции;
                                      • Длина заголовка (HLEN) занимает 4 бита, указывает длину заголовка сегмента TCP, измеренную в 32- битовых словах. Длина заголовка не фиксирована и может изменяться в зависимости от значений, устанавливаемых в поле «Опции»;
                                      • Резерв (RESERVED) занимает 6 битов, поле зарезервировано для последующего использования;
                                      • Заголовок сегмента имеет следующие поля (продолжение):
                                      • Кодовые биты (CODE BITS) занимают 6 битов, содержат служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующих бит этого поля: URG – срочное сообщение; ACK – квитанция на принятый сегмент; PSH – запрос на отправку сообщения без ожидания заполнения буфера; RST – запрос на восстановление соединения; SYN – сообщение используемое для синхронизации счетчиков переданных данных при установлении соединения; FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных
                                      • Кодовые биты (CODE BITS) занимают 6 битов, содержат служебную информацию о типе данного сегмента, задаваемую установкой в единицу соответствующих бит этого поля: URG – срочное сообщение; ACK – квитанция на принятый сегмент; PSH – запрос на отправку сообщения без ожидания заполнения буфера; RST – запрос на восстановление соединения; SYN – сообщение используемое для синхронизации счетчиков переданных данных при установлении соединения; FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных
                                      • URG – срочное сообщение;
                                      • ACK – квитанция на принятый сегмент;
                                      • PSH – запрос на отправку сообщения без ожидания заполнения буфера;
                                      • RST – запрос на восстановление соединения;
                                      • SYN – сообщение используемое для синхронизации счетчиков переданных данных при установлении соединения;
                                      • FIN - признак достижения передающей стороной последнего байта в потоке передаваемых данных
                                      Окно Контрольная сумма Указатель срочности Окно Контрольная сумма Указатель срочности
                                      • Окно Контрольная сумма Указатель срочности
                                      • Окно
                                      • Контрольная сумма
                                      • Указатель срочности
                                      Опции Заполнитель Опции Заполнитель
                                      • Опции Заполнитель
                                      • Опции
                                      • Заполнитель
                                      Программные средства межсетевого взаимодействия Сервер — это процесс, который ожидает подключения клиентов для обслуживания их запросов Сервер должен прослушивать соединение со стандартным именем Таковым в стеке TCP / IP является адрес интерфейса и номер порта Первый шаг установления соединения — привязка сокета протокола к его имени с помощью функции bind Второй - перевод сокета в режим прослушивания функцией listen Третий - принятие клиента функцией WSAA ccept

                                      Программные средства межсетевого взаимодействия

                                      • Сервер — это процесс, который ожидает подключения клиентов для обслуживания их запросов
                                      • Сервер должен прослушивать соединение со стандартным именем
                                      • Таковым в стеке TCP / IP является адрес интерфейса и номер порта
                                      • Первый шаг установления соединения — привязка сокета протокола к его имени с помощью функции bind
                                      • Второй - перевод сокета в режим прослушивания функцией listen
                                      • Третий - принятие клиента функцией WSAA ccept
                                      Программные средства межсетевого взаимодействия При использовании протокола IP устройствам назначается 32-разрядный IP -адрес 4 версии Для взаимодействия с сервером по TCP клиент должен указать IP -адрес сервера и номер порта службы Чтобы прослушивать входящие запросы клиента, сервер тоже должен указать IP -адрес и номер порта В Winsock  IP -адрес и порт службы указываются в структуре SOCKADDR _ IN

                                      Программные средства межсетевого взаимодействия

                                      • При использовании протокола IP устройствам назначается 32-разрядный IP -адрес 4 версии
                                      • Для взаимодействия с сервером по TCP клиент должен указать IP -адрес сервера и номер порта службы
                                      • Чтобы прослушивать входящие запросы клиента, сервер тоже должен указать IP -адрес и номер порта
                                      • В Winsock IP -адрес и порт службы указываются в структуре SOCKADDR _ IN
                                      Программные средства межсетевого взаимодействия Вспомогательная функция inet _ addr  преобразует IP -адрес из точечной нотации в беззнаковое длинное число, в котором байты следуют в сетевом порядком следования Существуют два специальных адреса  — INADDR _ ANY , который позволяет серверу слушать клиента через любой сетевой интерфейс на несущем компьютере, а также INADDR _ BROADCAST , который позволяет широковещательно рассылать дейтаграммы по сети или подсетям

                                      Программные средства межсетевого взаимодействия

                                      • Вспомогательная функция inet _ addr преобразует IP -адрес из точечной нотации в беззнаковое длинное число, в котором байты следуют в сетевом порядком следования
                                      • Существуют два специальных адреса — INADDR _ ANY , который позволяет серверу слушать клиента через любой сетевой интерфейс на несущем компьютере, а также INADDR _ BROADCAST , который позволяет широковещательно рассылать дейтаграммы по сети или подсетям
                                      Программные средства межсетевого взаимодействия Процессоры архитектуры x 86 представляют многобайтные числа от менее значимого (младшего) байта к более значимому (старшему) IP -адрес и номер порта хранятся в памяти именно так Это так называемый системный порядок При передаче их по сети стандарты протоколов требуют, чтобы многобайтные значения представлялись от старшего байта к младшему Это называется сетевым порядком

                                      Программные средства межсетевого взаимодействия

                                      • Процессоры архитектуры x 86 представляют многобайтные числа от менее значимого (младшего) байта к более значимому (старшему)
                                      • IP -адрес и номер порта хранятся в памяти именно так
                                      • Это так называемый системный порядок
                                      • При передаче их по сети стандарты протоколов требуют, чтобы многобайтные значения представлялись от старшего байта к младшему
                                      • Это называется сетевым порядком
                                      Программные средства межсетевого взаимодействия Две функции ( htonl и htons ) позволяют преобразовывать, соответственно, 4- и 2-байтовые числа из системного порядка в сетевой Две функции ( ntohl и ntohs ) решают обратную задачу, т.е. переставляют байты из сетевого порядка в системный На следующем слайде приведен фрагмент кода с использованием этих функций

                                      Программные средства межсетевого взаимодействия

                                      • Две функции ( htonl и htons ) позволяют преобразовывать, соответственно, 4- и 2-байтовые числа из системного порядка в сетевой
                                      • Две функции ( ntohl и ntohs ) решают обратную задачу, т.е. переставляют байты из сетевого порядка в системный
                                      • На следующем слайде приведен фрагмент кода с использованием этих функций
                                      Программные средства межсетевого взаимодействия #include  // порт, инициализированный значением INT PortNum = 5101; // Структура с адресом SOCKADDR_IN InetAddr; // настойка структуры с адресом с указанием семейства адресов, // IP-адресом 192.168.123.45 и номером порта, заданном в PortNum InetAddr.sin_family = AF_INET; // Вместо символьной (строковой) константы, приведенной здесь, // нужно указать адрес буфера, в котором вероятно находится // другой IP-адрес в десятично-точечной нотации InetAddr.sin_addr.s_addr = inet_addr(

                                      Программные средства межсетевого взаимодействия

                                      #include

                                      // порт, инициализированный значением

                                      INT PortNum = 5101;

                                      // Структура с адресом

                                      SOCKADDR_IN InetAddr;

                                      // настойка структуры с адресом с указанием семейства адресов,

                                      // IP-адресом 192.168.123.45 и номером порта, заданном в PortNum

                                      InetAddr.sin_family = AF_INET;

                                      // Вместо символьной (строковой) константы, приведенной здесь,

                                      // нужно указать адрес буфера, в котором вероятно находится

                                      // другой IP-адрес в десятично-точечной нотации

                                      InetAddr.sin_addr.s_addr = inet_addr("192.168.123.45");

                                      InetAddr.sin_port = htons(PortNum);

                                      Программные средства межсетевого взаимодействия TCP- Сокет создается функцией  WSASocket #include  #include  SOCKET ServerSocket; // Серверный (слушающий) сокет ServerSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP  , NULL, 0, 0 // неперекрываемый ввод-вывод  ); // Проверяем, удалось ли создать сокет // Завершаем выполнение в случае ошибки if (INVALID_SOCKET == ServerSocket) {  printf(

                                      Программные средства межсетевого взаимодействия

                                      • TCP- Сокет создается функцией WSASocket

                                      #include

                                      #include

                                      SOCKET ServerSocket; // Серверный (слушающий) сокет

                                      ServerSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP

                                      , NULL, 0, 0 // неперекрываемый ввод-вывод

                                      );

                                      // Проверяем, удалось ли создать сокет

                                      // Завершаем выполнение в случае ошибки

                                      if (INVALID_SOCKET == ServerSocket)

                                      {

                                      printf("Ошибка создания сокета с кодом = %d\n", WSAGetLastError());

                                      WSACleanup();

                                      getchar();

                                      return EXIT_FAILURE;

                                      }

                                      Программные средства межсетевого взаимодействия После создания сокета с конкретным протоколом его надо связать со стандартным адресом при помощи функции  bind #include  #include  InetAddr.sin_family = AF_INET; InetAddr.sin_addr.s_addr = INADDR_ANY; InetAddr.sin_port = htons (PortNum); int BindingResult = bind(ServerSocket, (struct sockaddr *)& InetAddr  , sizeof (InetAddr)  ); if (SOCKET_ERROR == BindingResult) {  printf(

                                      Программные средства межсетевого взаимодействия

                                      • После создания сокета с конкретным протоколом его надо связать со стандартным адресом при помощи функции bind

                                      #include

                                      #include

                                      InetAddr.sin_family = AF_INET;

                                      InetAddr.sin_addr.s_addr = INADDR_ANY;

                                      InetAddr.sin_port = htons (PortNum);

                                      int BindingResult = bind(ServerSocket, (struct sockaddr *)& InetAddr

                                      , sizeof (InetAddr)

                                      );

                                      if (SOCKET_ERROR == BindingResult)

                                      {

                                      printf("Ошибка bind() с кодом = %d.\n", WSAGetLastError());

                                      getchar();

                                      closesocket(ServerSocket);

                                      WSACleanup();

                                      return EXIT_FAILURE ;

                                      }

                                      Программные средства межсетевого взаимодействия Затем надо перевести сокет в режим прослушивания  функцией listen #include  #include  int ListenResult = listen(ServerSocket, SOMAXCONN); if (SOCKET_ERROR == ListenResult) {  printf(

                                      Программные средства межсетевого взаимодействия

                                      • Затем надо перевести сокет в режим прослушивания функцией listen

                                      #include

                                      #include

                                      int ListenResult = listen(ServerSocket, SOMAXCONN);

                                      if (SOCKET_ERROR == ListenResult)

                                      {

                                      printf("Ошибка listen() с кодом = %d.\n“

                                      , WSAGetLastError()

                                      );

                                      closesocket(ServerSocket);

                                      WSACleanup();

                                      getchar();

                                      return EXIT_FAILURE;

                                      }

                                      Программные средства межсетевого взаимодействия Теперь все готово к приему соединений клиентов, нужно только вызвать функцию  WSAAccept #include  #include  SOCKADDR_IN ClientAddr; int ClientAddrSize = sizeof (ClientAddr); SOCKET ClientSocket = WSAAccept(ServerSocket  , (struct sockaddr *)& ClientAddr  , &ClientAddrSize  , NULL, NULL  ); if (INVALID_SOCKET == ClientSocket) {  printf(

                                      Программные средства межсетевого взаимодействия

                                      • Теперь все готово к приему соединений клиентов, нужно только вызвать функцию WSAAccept

                                      #include

                                      #include

                                      SOCKADDR_IN ClientAddr;

                                      int ClientAddrSize = sizeof (ClientAddr);

                                      SOCKET ClientSocket = WSAAccept(ServerSocket

                                      , (struct sockaddr *)& ClientAddr

                                      , &ClientAddrSize

                                      , NULL, NULL

                                      );

                                      if (INVALID_SOCKET == ClientSocket)

                                      {

                                      printf("Ошибка WSAAccept() с кодом = %d.\n", WSAGetLastError());

                                      closesocket(ServerSocket);

                                      WSACleanup();

                                      getchar();

                                      return EXIT_FAILURE;

                                      }

                                      Программные средства межсетевого взаимодействия Для установления соединения также требуется три шага: создать сокет функцией WSAS ocket , разрешить имя сервера, инициировать соединение функцией WSAC onnect #include  #include  InetAddr.sin_family = AF_INET; InetAddr.sin_addr.s_addr = inet_addr(

                                      Программные средства межсетевого взаимодействия

                                      • Для установления соединения также требуется три шага: создать сокет функцией WSAS ocket , разрешить имя сервера, инициировать соединение функцией WSAC onnect

                                      #include

                                      #include

                                      InetAddr.sin_family = AF_INET;

                                      InetAddr.sin_addr.s_addr = inet_addr("192.63.44.197");

                                      InetAddr.sin_port = htons(PortNum);

                                      int ConnectResult = WSAConnect(ServerSocket, (struct sockaddr *) &InetAddr

                                      , sizeof(InetAddr), NULL, NULL, NULL, NULL

                                      );

                                      if (SOCKET_ERROR == ConnectResult)

                                      {

                                      printf("Ошибка WSAConnect () с кодом = %d.\n", WSAGetLastError());

                                      closesocket(ServerSocket);

                                      WSACleanup();

                                      getchar();

                                      return EXIT_FAILURE;

                                      }

                                      Программные средства межсетевого взаимодействия Большинство протоколов с установлением соединения являются потоковыми Однако при чтении-записи данных через потоковый сокет нет гарантии, что будет прочитан или записан весь запрошенный объем данных Допустим, надо отправить сообщение из буфера функцией WSA S end (см. фрагмент кода на следующем слайде)

                                      Программные средства межсетевого взаимодействия

                                      • Большинство протоколов с установлением соединения являются потоковыми
                                      • Однако при чтении-записи данных через потоковый сокет нет гарантии, что будет прочитан или записан весь запрошенный объем данных
                                      • Допустим, надо отправить сообщение из буфера функцией WSA S end (см. фрагмент кода на следующем слайде)
                                      Программные средства межсетевого взаимодействия #include  #include  const char TestMessage[] =

                                      Программные средства межсетевого взаимодействия

                                      #include

                                      #include

                                      const char TestMessage[] = "Kukareku!!!";

                                      DWORD SendBytes;

                                      WSABUF DataBuf;

                                      DataBuf.len = strlen(TestMessage) + 1;

                                      DataBuf.buf = TestMessage;

                                      int SendResult = WSASend(ServerSocket, &DataBuf, 1, &SendBytes, 0

                                      , NULL, NULL);

                                      if (SOCKET_ERROR == SendResult)

                                      {

                                      printf("Ошибка WSASend () с кодом = %d.\n", WSAGetLastError());

                                      getchar();

                                      shutdown(ServerSocket, SD_BOTH);

                                      closesocket(ServerSocket);

                                      WSACleanup();

                                      return EXIT_FAILURE;

                                      }

                                      Программные средства межсетевого взаимодействия Функция WSARecv – это основной инструмент приема данных по сокету Функция возвращает 0 в случае успешного приема данны Пример использования этой функции  приведен на следующем слайде

                                      Программные средства межсетевого взаимодействия

                                      • Функция WSARecv – это основной инструмент приема данных по сокету
                                      • Функция возвращает 0 в случае успешного приема данны
                                      • Пример использования этой функции приведен на следующем слайде
                                      Программные средства межсетевого взаимодействия #include  #include  const unsigned int BufferSize = 256; char buffer[ BufferSize ] =

                                      Программные средства межсетевого взаимодействия

                                      #include

                                      #include

                                      const unsigned int BufferSize = 256;

                                      char buffer[ BufferSize ] = "\0";

                                      WSABUF DataBuf;

                                      DataBuf.len = sizeof(buffer);

                                      DataBuf.buf = buffer;

                                      DWORD RecvBytes, Flags = 0;

                                      int RecvResult = WSARecv(ClientSocket, &DataBuf, 1, &RecvBytes, &Flags, NULL, NULL);

                                      if (SOCKET_ERROR == RecvResult)

                                      {

                                      printf("Ошибка WSARecv () с ошибкой = %d.\n", WSAGetLastError());

                                      shutdown(ClientSocket, SD_BOTH);

                                      shutdown(ServerSocket, SD_BOTH);

                                      closesocket(ClientSocket);

                                      closesocket(ServerSocket);

                                      WSACleanup();

                                      getchar();

                                      exit( EXIT_FAILURE );

                                      }

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

                                      Программные средства межсетевого взаимодействия

                                      • По окончании работы с сокетом необходимо закрыть соединение и освободить все ресурсы, связанные с дескриптором сокета, с помощью функции closesocket
                                      • Рекомендуется перед ее вызовом завершить сеанс, уведомив получателя об этом, с помощью функции shutdown
                                      • Примеры их использования приведены на предыдущем слайде
                                      Программные средства межсетевого взаимодействия UDP- сокет создается функцией  WSASocket Для пересылки используют функцию WSAS endTo , а для приема – WSAR ecvFrom При успешном выполнении WSAS endTo вернет 0, иначе – ошибку SOCKET _ ERROR Функция приема аналогична отправке, она также возвращает 0 в случае успеха Если сокет к этому времени был уже закрыт, то возвращаемым значением также является 0 Если возникла ошибка – SOCKET _ ERROR

                                      Программные средства межсетевого взаимодействия

                                      • UDP- сокет создается функцией WSASocket
                                      • Для пересылки используют функцию WSAS endTo , а для приема – WSAR ecvFrom
                                      • При успешном выполнении WSAS endTo вернет 0, иначе – ошибку SOCKET _ ERROR
                                      • Функция приема аналогична отправке, она также возвращает 0 в случае успеха
                                      • Если сокет к этому времени был уже закрыт, то возвращаемым значением также является 0
                                      • Если возникла ошибка – SOCKET _ ERROR
                                      Программные средства межсетевого взаимодействия #include  #include  #include  #pragma comment (lib,

                                      Программные средства межсетевого взаимодействия

                                      #include

                                      #include

                                      #include

                                      #pragma comment (lib, "ws2_32.lib")

                                      ...

                                      SOCKADDR_IN InetAddr;

                                      INT PortNum = 5101;

                                      InetAddr.sin_family = AF_INET;

                                      InetAddr.sin_addr.s_addr = INADDR_ANY;

                                      InetAddr.sin_port = htons(PortNum);

                                      SOCKET ServerSocket;

                                      ServerSocket = WSASocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 0, 0);

                                      ...

                                      SOCKADDR_IN SenderAddr;

                                      int SenderAddrSize = sizeof (SenderAddr);

                                      Программные средства межсетевого взаимодействия printf(

                                      Программные средства межсетевого взаимодействия

                                      printf("Слушаю и принимаю дейтаграммы.\n");

                                      WSABUF DataBuf;

                                      char buffer[256]="\0";

                                      DataBuf.len = sizeof (buffer);

                                      DataBuf.buf = buffer;

                                      DWORD RecvBytes, Flags = 0;

                                      int RecvResult = WSARecvFrom(ServerSocket, &DataBuf, 1, &RecvBytes, &Flags

                                      , (SOCKADDR *) &SenderAddr, &SenderAddrSize

                                      , NULL, NULL

                                      );

                                      if (SOCKET_ERROR == RecvResult)

                                      {

                                      printf("Ошибка WSARecvFrom () с кодом = %d.\n", WSAGetLastError ());

                                      getchar();

                                      }

                                      else

                                      {

                                      printf("От %s принято сообщение %s из %d байтов.\n“

                                      , inet_ntoa(SenderAddr.sin_addr), DataBuf.buf, RecvBytes

                                      );

                                      }

                                      ...

                                      Программные средства межсетевого взаимодействия #include  #include  #include  #include  #pragma comment (lib,

                                      Программные средства межсетевого взаимодействия

                                      #include

                                      #include

                                      #include

                                      #include

                                      #pragma comment (lib, "ws2_32.lib")

                                      ...

                                      SOCKET ServerSocket;

                                      ServerSocket = WSASocket (AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 0, 0);

                                      ...

                                      char TestMessage[] = "Kukareku!!!";

                                      DWORD SendBytes;

                                      WSABUF DataBuf;

                                      DataBuf.len = strlen (TestMessage) + 1;

                                      DataBuf.buf = TestMessage;

                                      Программные средства межсетевого взаимодействия SOCKADDR_IN receiver; INT PortNum = 25101; receiver.sin_family = AF_INET; receiver.sin_addr.s_addr = inet_addr(

                                      Программные средства межсетевого взаимодействия

                                      SOCKADDR_IN receiver;

                                      INT PortNum = 25101;

                                      receiver.sin_family = AF_INET;

                                      receiver.sin_addr.s_addr = inet_addr("192.3.4.5");

                                      receiver.sin_port = htons (PortNum);

                                      int SendResult = WSASendTo(ServerSocket, &DataBuf, 1, &SendBytes, 0

                                      , (SOCKADDR*) &receiver, sizeof (receiver)

                                      , NULL, NULL

                                      );

                                      if (SOCKET_ERROR == SendResult)

                                      {

                                      printf("Ошибка WSASendTo () с кодом = %d.\n", WSAGetLastError ());

                                      getchar();

                                      return EXIT_FAILURE;

                                      }

                                      printf("Послано %d байтов.\n", SendBytes);

                                      ...

                                      Программные средства межсетевого взаимодействия Многоадресная рассылка позволяет отправлять данные от одного абонента сети множеству других, не создавая при этом большой нагрузки на сеть Данные передаются в сеть, только если их запрашивают процессы, выполняемые на рабочих станциях в этой сети Не все протоколы поддерживают многоадресную рассылку В WinSock 2 таких только два: IP и ATM

                                      Программные средства межсетевого взаимодействия

                                      • Многоадресная рассылка позволяет отправлять данные от одного абонента сети множеству других, не создавая при этом большой нагрузки на сеть
                                      • Данные передаются в сеть, только если их запрашивают процессы, выполняемые на рабочих станциях в этой сети
                                      • Не все протоколы поддерживают многоадресную рассылку
                                      • В WinSock 2 таких только два: IP и ATM
                                      Программные средства межсетевого взаимодействия Многоадресная рассылка характеризуется: плоскостью управления и плоскостью данных Первая определяет членство в группах, а вторая отражает характер распространения данных среди членов сети Любая плоскость может быть корневой и равноправной В корневой плоскости управления есть особый участник многоадресной группы – корень  c _ root , а остальные называются листами  c _ leaf

                                      Программные средства межсетевого взаимодействия

                                      • Многоадресная рассылка характеризуется: плоскостью управления и плоскостью данных
                                      • Первая определяет членство в группах, а вторая отражает характер распространения данных среди членов сети
                                      • Любая плоскость может быть корневой и равноправной
                                      • В корневой плоскости управления есть особый участник многоадресной группы – корень c _ root , а остальные называются листами c _ leaf
                                      Программные средства межсетевого взаимодействия Корень организует многоточечную группу, инициируя соединение с любым количеством листов Для группы существует только один корневой узел Такова плоскость управления у протокола ATM Равноправная плоскость управления позволяет соединяться с группой любому участнику, они все являются листами Каждый участник вправе присоединиться к многоточечной группе Такова плоскость управления у протокола IP

                                      Программные средства межсетевого взаимодействия

                                      • Корень организует многоточечную группу, инициируя соединение с любым количеством листов
                                      • Для группы существует только один корневой узел
                                      • Такова плоскость управления у протокола ATM
                                      • Равноправная плоскость управления позволяет соединяться с группой любому участнику, они все являются листами
                                      • Каждый участник вправе присоединиться к многоточечной группе
                                      • Такова плоскость управления у протокола IP
                                      Программные средства межсетевого взаимодействия Плоскость данных может быть маршрутизируемой и немаршрутизируемой В маршрутизируемой есть участник d _ root , между ним и остальными участниками происходит передача данных, которые в этом случае являются d _ leaf Передача может быть одно- и двунаправленной, но данные, передаваемые от одного d _ leaf , будут получены на d _ root , а данные, которые переданы с d _ root , принимаются на всех d _ leaf У протокола ATM маршрутизируемая плоскость данных

                                      Программные средства межсетевого взаимодействия

                                      • Плоскость данных может быть маршрутизируемой и немаршрутизируемой
                                      • В маршрутизируемой есть участник d _ root , между ним и остальными участниками происходит передача данных, которые в этом случае являются d _ leaf
                                      • Передача может быть одно- и двунаправленной, но данные, передаваемые от одного d _ leaf , будут получены на d _ root , а данные, которые переданы с d _ root , принимаются на всех d _ leaf
                                      • У протокола ATM маршрутизируемая плоскость данных
                                      Программные средства межсетевого взаимодействия В немаршрутизируемой плоскости данных все участники группы вправе отправить данные всем остальным членам группы, и все получатели могут отправить данные в обратном направлении Многоадресная рассылка в сетях IP не маршрутизируется в плоскости данных Многоадресная рассылка зависит от групповых адресов

                                      Программные средства межсетевого взаимодействия

                                      • В немаршрутизируемой плоскости данных все участники группы вправе отправить данные всем остальным членам группы, и все получатели могут отправить данные в обратном направлении
                                      • Многоадресная рассылка в сетях IP не маршрутизируется в плоскости данных
                                      • Многоадресная рассылка зависит от групповых адресов
                                      Программные средства межсетевого взаимодействия Если несколько узлов сети хотят взаимодействовать путем многоадресной рассылки, они объединяются под групповым адресом Любая информация, отправляемая одним узлом, передается каждому члену группы, в том числе и самому отправителю Процесс присоединения группы многоадресной рассылки в сетях IP не сложен, каждый лист выполняет одинаковые шаги для присоединения

                                      Программные средства межсетевого взаимодействия

                                      • Если несколько узлов сети хотят взаимодействовать путем многоадресной рассылки, они объединяются под групповым адресом
                                      • Любая информация, отправляемая одним узлом, передается каждому члену группы, в том числе и самому отправителю
                                      • Процесс присоединения группы многоадресной рассылки в сетях IP не сложен, каждый лист выполняет одинаковые шаги для присоединения
                                      Программные средства межсетевого взаимодействия На первом шаге с помощью функции нужно WSAS ocket создать сокет семейства AF _ INET типа SOCK _ DGRAM Требуется также указать особые флаги для многоадресных сокетов Для IP-сокетов это такие флаги, как WSA_FLAG_MULTIPOINT_C_LEAF , WSA_FLAG_MULTIPOINT_D_LEAF , WSA_FLAG_OVERLAPPED и т.д.

                                      Программные средства межсетевого взаимодействия

                                      • На первом шаге с помощью функции нужно WSAS ocket создать сокет семейства AF _ INET типа SOCK _ DGRAM
                                      • Требуется также указать особые флаги для многоадресных сокетов
                                      • Для IP-сокетов это такие флаги, как WSA_FLAG_MULTIPOINT_C_LEAF , WSA_FLAG_MULTIPOINT_D_LEAF , WSA_FLAG_OVERLAPPED и т.д.
                                      Программные средства межсетевого взаимодействия На втором шаге нужно связать сокет с локальным портом, если необходимо получать данные от группы (функция bind ) На третьем шаге для добавления своего адреса в группу нужно вызвать функцию WSAJoinLeaf с параметром JL_RECEIVER_ONLY Предположим надо присоединиться к группе с адресом 233.55.66.77 (см. следующий слайд)

                                      Программные средства межсетевого взаимодействия

                                      • На втором шаге нужно связать сокет с локальным портом, если необходимо получать данные от группы (функция bind )
                                      • На третьем шаге для добавления своего адреса в группу нужно вызвать функцию WSAJoinLeaf с параметром JL_RECEIVER_ONLY
                                      • Предположим надо присоединиться к группе с адресом 233.55.66.77 (см. следующий слайд)
                                      Программные средства межсетевого взаимодействия #include  #include  #include  #include  ... SOCKADDR_IN GroupAddr; GroupAddr.sin_family = AF_INET; GroupAddr.sin_port = htons(PortNum); GroupAddr.sin_addr.s_addr = inet_addr(

                                      Программные средства межсетевого взаимодействия

                                      #include

                                      #include

                                      #include

                                      #include

                                      ...

                                      SOCKADDR_IN GroupAddr;

                                      GroupAddr.sin_family = AF_INET;

                                      GroupAddr.sin_port = htons(PortNum);

                                      GroupAddr.sin_addr.s_addr = inet_addr("233.55.66.77");

                                      SOCKET MultiSocket;

                                      MultiSocket = WSAJoinLeaf(ReceiverSocket, (SOCKADDR *)&GroupAddr, sizeof (GroupAddr), NULL

                                      , NULL, NULL, NULL, JL_RECEIVER_ONLY

                                      );

                                      if (INVALID_SOCKET == MultiSocket)

                                      {

                                      printf("WSAJoinLeaf() с кодом = %d.\n", WSAGetLastError ());

                                      getchar();

                                      closesocket(ReceiverSocket);

                                      WSACleanup();

                                      return EXIT_FAILURE;

                                      }

                                      Программные средства межсетевого взаимодействия Для выхода из группы достаточно всего лишь вызвать closesocket с параметром – сокетом , которые использовался для присоединения к группе Сокет-получатель, разумеется, также необходимо закрыть функцией closesocket Прием и передачу (на групповой адрес) можно осуществлять при помощи функций WSAR ecvFrom и WSAS endTo

                                      Программные средства межсетевого взаимодействия

                                      • Для выхода из группы достаточно всего лишь вызвать closesocket с параметром – сокетом , которые использовался для присоединения к группе
                                      • Сокет-получатель, разумеется, также необходимо закрыть функцией closesocket
                                      • Прием и передачу (на групповой адрес) можно осуществлять при помощи функций WSAR ecvFrom и WSAS endTo
                                      Протоколы обмена маршрутной информацией стека TCP/IP Большинство протоколов маршрутизации, применяемых в современных  сетях с коммутацией пакетов, ведут свое происхождение от сети Internet и ее  предшественницы – ARPANET Чтобы понять их назначение и особенности, полезно сначала познакомиться со структурой сети Internet, которая наложила отпечаток на терминологию и типы протоколов

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Большинство протоколов маршрутизации, применяемых в современных сетях с коммутацией пакетов, ведут свое происхождение от сети Internet и ее предшественницы – ARPANET
                                      • Чтобы понять их назначение и особенности, полезно сначала познакомиться со структурой сети Internet, которая наложила отпечаток на терминологию и типы протоколов
                                      Протоколы обмена маршрутной информацией стека TCP/IP Интернет изначально строился как сеть, объединяющая большое количество существующих систем С самого начала в ее структуре выделяли магистральную сеть ( core backbone network ), а группы сетей и маршрутизаторов, присоединенных к магистрали, рассматривались как автономные системы  ( autonomous systems ) Магистральная сеть и каждая из автономных систем имели свое собственное административное управление и собственные протоколы маршрутизации Каждая сеть внутри АС должна быть доступна из Интернета

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Интернет изначально строился как сеть, объединяющая большое количество существующих систем
                                      • С самого начала в ее структуре выделяли магистральную сеть ( core backbone network ), а группы сетей и маршрутизаторов, присоединенных к магистрали, рассматривались как автономные системы ( autonomous systems )
                                      • Магистральная сеть и каждая из автономных систем имели свое собственное административное управление и собственные протоколы маршрутизации
                                      • Каждая сеть внутри АС должна быть доступна из Интернета
                                      Протоколы обмена маршрутной информацией стека TCP/IP Маршрутизаторы внутри одной АС взаимодействуют, используя динамические протоколы маршрутизации Они относятся к классу так называемых протоколов IGP  ( Interior Gateway Protocol , внутренний шлюзовой протокол ) Их главной задачей является поддержка необходимой производительности Эти протоколы должны немедленно подстраиваться под изменения в сетевой топологии и находить маршрут с наименьшей стоимостью Некоторые протоколы этого класса: RIP, NLSP, OSPF, IGRP, EIGRP, IS-IS

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Маршрутизаторы внутри одной АС взаимодействуют, используя динамические протоколы маршрутизации
                                      • Они относятся к классу так называемых протоколов IGP ( Interior Gateway Protocol , внутренний шлюзовой протокол )
                                      • Их главной задачей является поддержка необходимой производительности
                                      • Эти протоколы должны немедленно подстраиваться под изменения в сетевой топологии и находить маршрут с наименьшей стоимостью
                                      • Некоторые протоколы этого класса: RIP, NLSP, OSPF, IGRP, EIGRP, IS-IS
                                      Протоколы обмена маршрутной информацией стека TCP/IP Взаимодействие между маршрутизаторами различных АС требует дополнительного протокола, который называется EGP  ( Exterior Gateway Protocol , внешний шлюзовой протокол ) В нем должны быть предприняты меры предотвращения от сбоев в других АС Кроме того, корневой маршрутизатор для связи с другими маршрутизаторами АС должен поддерживать протоколы IGP и EGP, поскольку всю информацию о своей АС протокол EGP получает через протокол IGP

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Взаимодействие между маршрутизаторами различных АС требует дополнительного протокола, который называется EGP ( Exterior Gateway Protocol , внешний шлюзовой протокол )
                                      • В нем должны быть предприняты меры предотвращения от сбоев в других АС
                                      • Кроме того, корневой маршрутизатор для связи с другими маршрутизаторами АС должен поддерживать протоколы IGP и EGP, поскольку всю информацию о своей АС протокол EGP получает через протокол IGP
                                      Протоколы обмена маршрутной информацией стека TCP/IP Протокол RIP ( Routing Information Protocol ) описан в документе RFC 1058 и относится к классу IGP Это один из старейших протоколов обмена маршрутной информацией, однако до сих пор чрезвычайно распространен в компьютерных сетях Преимуществом этого протокола является его простота, а недостатком – увеличение трафика за счет рассылки широковещательных сообщений В этом протоколе все сети имеют номера, а все маршрутизаторы – идентификаторы

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Протокол RIP ( Routing Information Protocol ) описан в документе RFC 1058 и относится к классу IGP
                                      • Это один из старейших протоколов обмена маршрутной информацией, однако до сих пор чрезвычайно распространен в компьютерных сетях
                                      • Преимуществом этого протокола является его простота, а недостатком – увеличение трафика за счет рассылки широковещательных сообщений
                                      • В этом протоколе все сети имеют номера, а все маршрутизаторы – идентификаторы
                                      Протоколы обмена маршрутной информацией стека TCP/IP В RIP широко используется понятие «вектор расстояний» Вектор расстояний – набор пар чисел, являющихся номерами сетей и расстояниями до них Маршрутизаторы с поддержкой RIP всегда выбирают маршрут с наименьшим числом переходов

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • В RIP широко используется понятие «вектор расстояний»
                                      • Вектор расстояний набор пар чисел, являющихся номерами сетей и расстояниями до них
                                      • Маршрутизаторы с поддержкой RIP всегда выбирают маршрут с наименьшим числом переходов
                                      Протоколы обмена маршрутной информацией стека TCP/IP Векторы расстояний распространяются маршрутизаторами по сети, и через несколько шагов каждый маршрутизатор имеет данные о достижимых для него сетях и о расстояниях до них Если связь с какой-либо сетью обрывается, то маршрутизатор отмечает этот факт тем, что присваивает элементу вектора, соответствующему расстоянию до этой сети, максимально возможное значение, которое имеет специальный смысл – «связи нет»

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Векторы расстояний распространяются маршрутизаторами по сети, и через несколько шагов каждый маршрутизатор имеет данные о достижимых для него сетях и о расстояниях до них
                                      • Если связь с какой-либо сетью обрывается, то маршрутизатор отмечает этот факт тем, что присваивает элементу вектора, соответствующему расстоянию до этой сети, максимально возможное значение, которое имеет специальный смысл – «связи нет»
                                      Протоколы обмена маршрутной информацией стека TCP/IP Таблица маршрутизации RIP содержит следующие поля: IP-адрес целевой сети количество переходов до целевой сети адрес первого маршрутизатора на пути к целевой сети идентификатор соседнего маршрутизатора, который является источником данной адресной информации в таблицы маршрутизации таймер для отслеживания времени, прошедшего с момента последнего обновления записи IP-адрес целевой сети количество переходов до целевой сети адрес первого маршрутизатора на пути к целевой сети идентификатор соседнего маршрутизатора, который является источником данной адресной информации в таблицы маршрутизации таймер для отслеживания времени, прошедшего с момента последнего обновления записи

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Таблица маршрутизации RIP содержит следующие поля:
                                      • IP-адрес целевой сети количество переходов до целевой сети адрес первого маршрутизатора на пути к целевой сети идентификатор соседнего маршрутизатора, который является источником данной адресной информации в таблицы маршрутизации таймер для отслеживания времени, прошедшего с момента последнего обновления записи
                                      • IP-адрес целевой сети
                                      • количество переходов до целевой сети
                                      • адрес первого маршрутизатора на пути к целевой сети
                                      • идентификатор соседнего маршрутизатора, который является источником данной адресной информации в таблицы маршрутизации
                                      • таймер для отслеживания времени, прошедшего с момента последнего обновления записи
                                      Протоколы обмена маршрутной информацией стека TCP/IP Протокол RIP для передачи сообщений использует дейтаграммы UDP и протокольный порт 520 Полное сообщение протокола RIP инкапсулируется в поле данных дейтаграммы, которая инкапсулируется в IP-дейтаграмму

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Протокол RIP для передачи сообщений использует дейтаграммы UDP и протокольный порт 520
                                      • Полное сообщение протокола RIP инкапсулируется в поле данных дейтаграммы, которая инкапсулируется в IP-дейтаграмму
                                      Протоколы обмена маршрутной информацией стека TCP/IP Все сообщения протокола RIP состоят из заголовка фиксированной длины и следующей за ним таблицы маршрутизации передающего маршрутизатора В таблицу записывается список достижимых сетей Цифра 0 в заголовке означает, что это поле должно согласно спецификации быть нулевым (см. след. слайд)

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Все сообщения протокола RIP состоят из заголовка фиксированной длины и следующей за ним таблицы маршрутизации передающего маршрутизатора
                                      • В таблицу записывается список достижимых сетей
                                      • Цифра 0 в заголовке означает, что это поле должно согласно спецификации быть нулевым (см. след. слайд)
                                      Протоколы обмена маршрутной информацией стека TCP/IP Команда (8 бит) Версия (8 бит) Идентификатор адресной схемы (16 бит) 0 (16 бит) IP- адрес (32 бита) 0 (16 бит) 0 (32 бита) 0 (32 бита) Количество переходов (32)

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      Команда (8 бит)

                                      Версия (8 бит)

                                      Идентификатор адресной схемы (16 бит)

                                      0 (16 бит)

                                      IP- адрес (32 бита)

                                      0 (16 бит)

                                      0 (32 бита)

                                      0 (32 бита)

                                      Количество переходов (32)

                                      Протоколы обмена маршрутной информацией стека TCP/IP Идентификатор адресной схемы (16) 0 (16) IP- адрес (32) 0 (32 бита) 0 (32 бита) Количество переходов (32 бита) … Идентификатор адресной схемы (16 бит) 0 (16 бит) IP- адрес (32 бита) 0 (32 бита) 0 (32 бита) Количество переходов (32 бита)

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      Идентификатор адресной схемы (16)

                                      0 (16)

                                      IP- адрес (32)

                                      0 (32 бита)

                                      0 (32 бита)

                                      Количество переходов (32 бита)

                                      Идентификатор адресной схемы (16 бит)

                                      0 (16 бит)

                                      IP- адрес (32 бита)

                                      0 (32 бита)

                                      0 (32 бита)

                                      Количество переходов (32 бита)

                                      Протоколы обмена маршрутной информацией стека TCP/IP Часть сообщения (запись таблицы маршрутизации), начинающаяся с поля « Идентификатор адресной схемы » и заканчивающаяся полем « Количество переходов », может повторяться в сообщении до 25 раз Это позволяет переносить до 25 адресов, которые могут занимать до 500 байт Ограничение связано с тем, что максимальный размер сообщений составляет 521 байт, не считая заголовков IP и UDP Маршрутизатору может потребоваться передать несколько сообщений для рассылки всей таблицы маршрутизации своим соседям

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Часть сообщения (запись таблицы маршрутизации), начинающаяся с поля « Идентификатор адресной схемы » и заканчивающаяся полем « Количество переходов », может повторяться в сообщении до 25 раз
                                      • Это позволяет переносить до 25 адресов, которые могут занимать до 500 байт
                                      • Ограничение связано с тем, что максимальный размер сообщений составляет 521 байт, не считая заголовков IP и UDP
                                      • Маршрутизатору может потребоваться передать несколько сообщений для рассылки всей таблицы маршрутизации своим соседям
                                      Протоколы обмена маршрутной информацией стека TCP/IP До этого момента рассматривался протокол маршрутизации RIP версии 1 (RIP-1 IP) Существует версия RIP-2 IP, описанная в документе RFC 1388 Эта версия поддерживает CIDR, аутентификацию, подсети, групповую передачу В таблице показан формат сообщений протокола RIP-2

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • До этого момента рассматривался протокол маршрутизации RIP версии 1 (RIP-1 IP)
                                      • Существует версия RIP-2 IP, описанная в документе RFC 1388
                                      • Эта версия поддерживает CIDR, аутентификацию, подсети, групповую передачу
                                      • В таблице показан формат сообщений протокола RIP-2
                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • В версии RIP-1 есть нулевые неиспользуемые поля, что позволяет задействовать их в версии 2
                                      • Протокол RIP-2 IP наследует все поля первой версии и добавляет:
                                      • « Домен маршрутизации » используется вместе с полем « Следующий переход » для совместной работы нескольких АС в едином домене маршрутизации « Маска подсети » - двоичное число, содержащее единицы в тех разрядах, которые относятся к РСП. Маска делит IP-адрес на номер подсети и номер устройства внутри этой подсети и позволяет выполнять маршрутизации в сформированной структуре подсетей; « Метка маршрута » служит для идентификации внешних маршрутов и задействуется в таких протоколах, как EGP или BGP
                                      • « Домен маршрутизации » используется вместе с полем « Следующий переход » для совместной работы нескольких АС в едином домене маршрутизации
                                      • « Маска подсети » - двоичное число, содержащее единицы в тех разрядах, которые относятся к РСП. Маска делит IP-адрес на номер подсети и номер устройства внутри этой подсети и позволяет выполнять маршрутизации в сформированной структуре подсетей;
                                      • « Метка маршрута » служит для идентификации внешних маршрутов и задействуется в таких протоколах, как EGP или BGP
                                      Протоколы обмена маршрутной информацией стека TCP/IP Протокол RIP-1 IP не поддерживает безопасность Любое устройство, посылающее сообщение UDP через порт 520, будет рассматриваться маршрутизатором как его сосед Это возлагает на администратора дополнительные задачи по управлению правилами: ему может понадобиться вручную настроить список авторизованных соседей

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Протокол RIP-1 IP не поддерживает безопасность
                                      • Любое устройство, посылающее сообщение UDP через порт 520, будет рассматриваться маршрутизатором как его сосед
                                      • Это возлагает на администратора дополнительные задачи по управлению правилами: ему может понадобиться вручную настроить список авторизованных соседей
                                      Протоколы обмена маршрутной информацией стека TCP/IP В то же время, протокол RIP-2 IP поддерживает аутентификацию Стандартом этого протокола допускается замена первой записи в сообщении на сегмент аутентификации Сообщение может содержать сегмент аутентификации и 24 записи из таблицы маршрутизации в стандартной форме RIP-2 IP Формат сегмента аутентификации имеет формат, представленный на след. слайде:

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • В то же время, протокол RIP-2 IP поддерживает аутентификацию
                                      • Стандартом этого протокола допускается замена первой записи в сообщении на сегмент аутентификации
                                      • Сообщение может содержать сегмент аутентификации и 24 записи из таблицы маршрутизации в стандартной форме RIP-2 IP
                                      • Формат сегмента аутентификации имеет формат, представленный на след. слайде:
                                      Протоколы обмена маршрутной информацией стека TCP/IP Поле «Идентификатор адресной схемы» равно 0xFFFFFF Затем указывается тип схемы аутентификации, а следующие 16 бит отводятся под данные аутентификации После получения сообщения маршрутизаторы проверяют сегмент аутентификации и будут игнорировать любые сообщения с некорректной аутентификацией

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Поле «Идентификатор адресной схемы» равно 0xFFFFFF
                                      • Затем указывается тип схемы аутентификации, а следующие 16 бит отводятся под данные аутентификации
                                      • После получения сообщения маршрутизаторы проверяют сегмент аутентификации и будут игнорировать любые сообщения с некорректной аутентификацией
                                      Протоколы обмена маршрутной информацией стека TCP/IP В документе RFC 1009 определяется использование разных масок подсетей в одной сети, состоящей из большого количества подсетей Так как РСП в различных подсетях имеют различную длину, говорят о масках подсети переменной длины Их поддерживают современные протоколы маршрутизации OSPF, IS-IS, RIP2-IP Сообщения этих протоколов переносят как адрес подсети, так и соответствующую ему маску

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • В документе RFC 1009 определяется использование разных масок подсетей в одной сети, состоящей из большого количества подсетей
                                      • Так как РСП в различных подсетях имеют различную длину, говорят о масках подсети переменной длины
                                      • Их поддерживают современные протоколы маршрутизации OSPF, IS-IS, RIP2-IP
                                      • Сообщения этих протоколов переносят как адрес подсети, так и соответствующую ему маску
                                      Протоколы обмена маршрутной информацией стека TCP/IP Если протокол не позволяет использовать маску подсети, то маршрутизатор будет предполагать, что должна использоваться маска подсети, присвоенная его локальному порту, либо выполнять поиск в статической таблице, содержащей информацию о масках подсетей Маски подсети переменной длины позволяют рекурсивно разбивать адресное пространство, что позволяет гибко настраивать всю сеть, и уменьшить объемы таблиц маршрутизации, поскольку маршрутизатор может включать информацию о всех своих сетях в одну запись сообщения об обновлении

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Если протокол не позволяет использовать маску подсети, то маршрутизатор будет предполагать, что должна использоваться маска подсети, присвоенная его локальному порту, либо выполнять поиск в статической таблице, содержащей информацию о масках подсетей
                                      • Маски подсети переменной длины позволяют рекурсивно разбивать адресное пространство, что позволяет гибко настраивать всю сеть, и уменьшить объемы таблиц маршрутизации, поскольку маршрутизатор может включать информацию о всех своих сетях в одну запись сообщения об обновлении
                                      Протоколы обмена маршрутной информацией стека TCP/IP Для поддержания маски подсети переменной длины требуется выполнение трех основных условий: протокол маршрутизации должен переносить информацию об РСП все маршрутизаторы должны поддерживатиь алгоритм передачи, основывающийся на правиле наибольшего совпадения адреса должны присваиваться в соответствии с существующей топологией протокол маршрутизации должен переносить информацию об РСП все маршрутизаторы должны поддерживатиь алгоритм передачи, основывающийся на правиле наибольшего совпадения адреса должны присваиваться в соответствии с существующей топологией

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Для поддержания маски подсети переменной длины требуется выполнение трех основных условий:
                                      • протокол маршрутизации должен переносить информацию об РСП все маршрутизаторы должны поддерживатиь алгоритм передачи, основывающийся на правиле наибольшего совпадения адреса должны присваиваться в соответствии с существующей топологией
                                      • протокол маршрутизации должен переносить информацию об РСП
                                      • все маршрутизаторы должны поддерживатиь алгоритм передачи, основывающийся на правиле наибольшего совпадения
                                      • адреса должны присваиваться в соответствии с существующей топологией
                                      Протоколы обмена маршрутной информацией стека TCP/IP Правило наибольшего совпадения основывается на том факте, что маршрут в таблице маршрутизации с большим РСП определяет меньший набор получателей, чем тот же маршрут с коротким РСП Поэтому маршрутизатор должен выбирать маршрут с наибольшим РСП при передаче трафика Если адрес получателя равен 11.1.2.5 и в таблице маршрутизации три маршрута к этой сети с РСП 24, 16 и 8, то маршрутизатор выберет маршрут 1, так как его РСП совпадает с адресом получателя в большем числе бит

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      • Правило наибольшего совпадения основывается на том факте, что маршрут в таблице маршрутизации с большим РСП определяет меньший набор получателей, чем тот же маршрут с коротким РСП
                                      • Поэтому маршрутизатор должен выбирать маршрут с наибольшим РСП при передаче трафика
                                      • Если адрес получателя равен 11.1.2.5 и в таблице маршрутизации три маршрута к этой сети с РСП 24, 16 и 8, то маршрутизатор выберет маршрут 1, так как его РСП совпадает с адресом получателя в большем числе бит
                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                      Протоколы обмена маршрутной информацией стека TCP/IP

                                        Протоколы обмена маршрутной информацией стека TCP/IP Спецификация протокола OSPF (Open Shortest Path First) описана в документе RFC 1247 Он основан на алгоритме состояния канала, который должен вычислять кратчайший путь, по которому информация пройдет быстрее, чем по другим Маршрутизатор отправляет запросы всем соседним маршрутизаторам, находящимся с ним в одном домене маршрутизации, для выявления состояния каналов до них и далее от них

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Спецификация протокола OSPF (Open Shortest Path First) описана в документе RFC 1247
                                        • Он основан на алгоритме состояния канала, который должен вычислять кратчайший путь, по которому информация пройдет быстрее, чем по другим
                                        • Маршрутизатор отправляет запросы всем соседним маршрутизаторам, находящимся с ним в одном домене маршрутизации, для выявления состояния каналов до них и далее от них
                                        Протоколы обмена маршрутной информацией стека TCP/IP Состояние канала при этом характеризуется несколькими параметрами, которые называются метриками Ею может быть пропускная способность канала, его загрузка на текущий момент, задержка информации при ее прохождении по этому каналу и т.д. Обобщив полученные сведения, маршрутизатор сообщает их соседям

                                        Протоколы обмена маршрутной информацией стека TCP/IP

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

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • После этого строится орграф, который повторяет топологию домена маршрутизации
                                        • Каждому ребру назначается метрика
                                        • После построения графа используется алгоритм Э.Дийкстры, который по двум заданным узлам находит набор ребер с наименьшей стоимостью, т.е. выбирает оптимальный маршрут
                                        • По совокупной информации получается таблица маршрутизации
                                        Протоколы обмена маршрутной информацией стека TCP/IP Сообщения протокола OSPF передаются в IP-дейтаграммах с полем «Протокол», равным 89 Протокол OSPF отвечает за IP-маршрутизацию и относится к классу IGP Он может заменить протокол маршрутизации RIP в больших и сложных сетях Протокол обладает большей скоростью сходимости, и это предотвращает возникновение петель При работе генерируется большой сетевой трафик

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Сообщения протокола OSPF передаются в IP-дейтаграммах с полем «Протокол», равным 89
                                        • Протокол OSPF отвечает за IP-маршрутизацию и относится к классу IGP
                                        • Он может заменить протокол маршрутизации RIP в больших и сложных сетях
                                        • Протокол обладает большей скоростью сходимости, и это предотвращает возникновение петель
                                        • При работе генерируется большой сетевой трафик
                                        Протоколы обмена маршрутной информацией стека TCP/IP Информация, которой обмениваются маршрутизаторы, проходит процедуру аутентификации, т.е. в процессе маршрутизации участвуют только авторизованные маршрутизаторы Протокол использует групповую передачу вместо широковещательной Это исключает передачу маршрутной информации тем устройствам, которым она не нужна

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Информация, которой обмениваются маршрутизаторы, проходит процедуру аутентификации, т.е. в процессе маршрутизации участвуют только авторизованные маршрутизаторы
                                        • Протокол использует групповую передачу вместо широковещательной
                                        • Это исключает передачу маршрутной информации тем устройствам, которым она не нужна
                                        Протоколы обмена маршрутной информацией стека TCP/IP Протокол OSPF поддерживает распределение нагрузки по маршрутам с одинаковыми стоимостями, а также маски подсети переменной длины Данные о масках передаются в сообщениях LSA ( объявления о состояниях канала ) Таким образом маршрутизаторы получают эту информацию динамически, что позволяет рациональнее использовать адресное пространство

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Протокол OSPF поддерживает распределение нагрузки по маршрутам с одинаковыми стоимостями, а также маски подсети переменной длины
                                        • Данные о масках передаются в сообщениях LSA ( объявления о состояниях канала )
                                        • Таким образом маршрутизаторы получают эту информацию динамически, что позволяет рациональнее использовать адресное пространство
                                        Протоколы обмена маршрутной информацией стека TCP/IP области маршрутизации

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • области маршрутизации
                                        Протоколы обмена маршрутной информацией стека TCP/IP Протокол OSPF посылает информацию о состоянии каналов каждые 30 мин. При обнаружении изменения сетевой топологии протокол OSPF сразу же рассылают 75-байтовые сообщения В начале работы каждый маршрутизатор передает сообщения LSA на все порты Они позволяют однозначно идентифицировать передающий маршрутизатор и определить состояние всех его портов: IP-адрес, маску подсети, метрику, присвоенную каналу связи порта, и статус канала связи

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Протокол OSPF посылает информацию о состоянии каналов каждые 30 мин.
                                        • При обнаружении изменения сетевой топологии протокол OSPF сразу же рассылают 75-байтовые сообщения
                                        • В начале работы каждый маршрутизатор передает сообщения LSA на все порты
                                        • Они позволяют однозначно идентифицировать передающий маршрутизатор и определить состояние всех его портов: IP-адрес, маску подсети, метрику, присвоенную каналу связи порта, и статус канала связи
                                        Протоколы обмена маршрутной информацией стека TCP/IP Сообщение LSA передается во всем домене маршрутизации, поэтому маршрутизаторы обладают информацией о состоянии каналов других маршрутизаторов в домене Каждый маршрутизатор на основе сообщений LSA формирует БД состояния каналов LSDB Эта БД одинакова для всех маршрутизаторов в одном домене Алгоритм маршрутизации поддерживает синхронизацию этих БД

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Сообщение LSA передается во всем домене маршрутизации, поэтому маршрутизаторы обладают информацией о состоянии каналов других маршрутизаторов в домене
                                        • Каждый маршрутизатор на основе сообщений LSA формирует БД состояния каналов LSDB
                                        • Эта БД одинакова для всех маршрутизаторов в одном домене
                                        • Алгоритм маршрутизации поддерживает синхронизацию этих БД
                                        Протоколы обмена маршрутной информацией стека TCP/IP После того как все БД синхронизированы, каждый маршрутизатор начинает создавать свою таблицу маршрутизации Она базируется на информации из LSDB Непосредственно связанные маршрутизаторы – соседи Каждый маршрутизатор хранит информацию о состоянии соседей Маршрутизатор полагается на соседей и передает им IP-дейтаграммы только тогда, когда уверен в работоспособности соседей

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • После того как все БД синхронизированы, каждый маршрутизатор начинает создавать свою таблицу маршрутизации
                                        • Она базируется на информации из LSDB
                                        • Непосредственно связанные маршрутизаторы – соседи
                                        • Каждый маршрутизатор хранит информацию о состоянии соседей
                                        • Маршрутизатор полагается на соседей и передает им IP-дейтаграммы только тогда, когда уверен в работоспособности соседей
                                        Протоколы обмена маршрутной информацией стека TCP/IP После создания карты сетевой топологии маршрутизатор формирует дерево кратчайших путей по всем возможным получателям Это дерево строится таким образом, чтобы путь от корневого маршрутизатора до целевых сетей имел наименьшую стоимость После того как дерево построено, маршрутизаторы формируют локальные таблицы маршрутизации

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • После создания карты сетевой топологии маршрутизатор формирует дерево кратчайших путей по всем возможным получателям
                                        • Это дерево строится таким образом, чтобы путь от корневого маршрутизатора до целевых сетей имел наименьшую стоимость
                                        • После того как дерево построено, маршрутизаторы формируют локальные таблицы маршрутизации
                                        Протоколы обмена маршрутной информацией стека TCP/IP Если маршрутизатор обнаружит изменения в состоянии одного из подключенных к нему каналов, он должен разослать сообщения LSA всем своим соседям, которые ретранслируют их далее по всему домену маршрутизации С момента посылки сообщения БД маршрутизаторов теряют синхронизацию и должны быть пересинхронизированы После выполнения синхронизации каждый маршрутизатор должен заново строить карту сетевой топологии, дерево кратчайших путей и таблицу маршрутизации

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Если маршрутизатор обнаружит изменения в состоянии одного из подключенных к нему каналов, он должен разослать сообщения LSA всем своим соседям, которые ретранслируют их далее по всему домену маршрутизации
                                        • С момента посылки сообщения БД маршрутизаторов теряют синхронизацию и должны быть пересинхронизированы
                                        • После выполнения синхронизации каждый маршрутизатор должен заново строить карту сетевой топологии, дерево кратчайших путей и таблицу маршрутизации
                                        Протоколы обмена маршрутной информацией стека TCP/IP Недостатки протокола OSPF проявляются в очень больших сетях В распределенной сети с сотнями маршрутизаторов изменение состояния одного канала вызывает распространение тысяч сообщениях LSA через всю сеть LSDB в таких сетях достигает нескольких мегабайт Значительный объем вычислений предъявляет серьезные требования к аппаратным ресурсам маршрутизатора

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Недостатки протокола OSPF проявляются в очень больших сетях
                                        • В распределенной сети с сотнями маршрутизаторов изменение состояния одного канала вызывает распространение тысяч сообщениях LSA через всю сеть
                                        • LSDB в таких сетях достигает нескольких мегабайт
                                        • Значительный объем вычислений предъявляет серьезные требования к аппаратным ресурсам маршрутизатора
                                        Протоколы обмена маршрутной информацией стека TCP/IP Частично эти проблемы решаются введением понятия области маршрутизации , или области OSPF Большая сеть разбивается на несколько областей с независимой маршрутизацией В сети может существовать практически неограниченное число областей маршрутизации Маршрутизаторы из одной области не обмениваются информацией из другой области Это уменьшает объем служебного трафика и сокращает размер баз данных маршрутизаторов

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Частично эти проблемы решаются введением понятия области маршрутизации , или области OSPF
                                        • Большая сеть разбивается на несколько областей с независимой маршрутизацией
                                        • В сети может существовать практически неограниченное число областей маршрутизации
                                        • Маршрутизаторы из одной области не обмениваются информацией из другой области
                                        • Это уменьшает объем служебного трафика и сокращает размер баз данных маршрутизаторов
                                        Протоколы обмена маршрутной информацией стека TCP/IP Области связываются с помощью специально выделенных маршрутизаторов, которые должны содержать информацией из обеих областей Эти маршрутизаторы называются граничными маршрутизаторами областей  ( Area Border Routers ) Они работают как фильтры для сообщений маршрутизации, не выпуская их из области

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Области связываются с помощью специально выделенных маршрутизаторов, которые должны содержать информацией из обеих областей
                                        • Эти маршрутизаторы называются граничными маршрутизаторами областей ( Area Border Routers )
                                        • Они работают как фильтры для сообщений маршрутизации, не выпуская их из области
                                        Протоколы обмена маршрутной информацией стека TCP/IP Граничные маршрутизаторы взаимодействуют между собой, используя специальные сообщения LSA, которые содержат краткую информацию об IP-адресах, содержащихся в области Граничные маршрутизаторы сохраняют эти сообщения в специальной БД, которая используется для определения маршрута между областями ( inter-area ) По понятным причинам граничные маршрутизаторы должны быть достаточно мощными

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Граничные маршрутизаторы взаимодействуют между собой, используя специальные сообщения LSA, которые содержат краткую информацию об IP-адресах, содержащихся в области
                                        • Граничные маршрутизаторы сохраняют эти сообщения в специальной БД, которая используется для определения маршрута между областями ( inter-area )
                                        • По понятным причинам граничные маршрутизаторы должны быть достаточно мощными
                                        Протоколы обмена маршрутной информацией стека TCP/IP В протоколе OSPF введено понятие автономных систем маршрутизации, которые представляют собой домены маршрутизации, находящиеся под общим административным управлением и использующие единый протокол маршрутизации Маршрутизатор, соединяющий две АС, одна из которых использует не OSPF, называется пограничным маршрутизатором автономной системы – ASBR

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • В протоколе OSPF введено понятие автономных систем маршрутизации, которые представляют собой домены маршрутизации, находящиеся под общим административным управлением и использующие единый протокол маршрутизации
                                        • Маршрутизатор, соединяющий две АС, одна из которых использует не OSPF, называется пограничным маршрутизатором автономной системы – ASBR
                                        Протоколы обмена маршрутной информацией стека TCP/IP Внешние маршруты обрабатываются в два этапа Сначала маршрутизатор выбирает оптимальный внешний маршрут Если таких маршрутов несколько, то выбирается маршрут, который имеет наименьшую стоимость внутреннего пути до ASBR Сначала маршрутизатор выбирает оптимальный внешний маршрут Если таких маршрутов несколько, то выбирается маршрут, который имеет наименьшую стоимость внутреннего пути до ASBR Протокол OSPF поддерживает настраиваемые метрики, предоставляя администратору возможность присвоить метрику, основываясь на разных характеристиках

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        • Внешние маршруты обрабатываются в два этапа
                                        • Сначала маршрутизатор выбирает оптимальный внешний маршрут Если таких маршрутов несколько, то выбирается маршрут, который имеет наименьшую стоимость внутреннего пути до ASBR
                                        • Сначала маршрутизатор выбирает оптимальный внешний маршрут
                                        • Если таких маршрутов несколько, то выбирается маршрут, который имеет наименьшую стоимость внутреннего пути до ASBR
                                        • Протокол OSPF поддерживает настраиваемые метрики, предоставляя администратору возможность присвоить метрику, основываясь на разных характеристиках
                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                        Протоколы обмена маршрутной информацией стека TCP/IP

                                          Протоколы обмена маршрутной информацией стека TCP/IP Протокол OSPF способен работать в сетях следующих типов: Сети точка-точка для связи двух маршрутизаторов Широковещательные сети (Ethernet) Нешироковещательные сети со множественным доступом NBMA (FrameRelay или ATM) Сети точка-точка для связи двух маршрутизаторов Широковещательные сети (Ethernet) Нешироковещательные сети со множественным доступом NBMA (FrameRelay или ATM)

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Протокол OSPF способен работать в сетях следующих типов:
                                          • Сети точка-точка для связи двух маршрутизаторов Широковещательные сети (Ethernet) Нешироковещательные сети со множественным доступом NBMA (FrameRelay или ATM)
                                          • Сети точка-точка для связи двух маршрутизаторов
                                          • Широковещательные сети (Ethernet)
                                          • Нешироковещательные сети со множественным доступом NBMA (FrameRelay или ATM)
                                          Протоколы обмена маршрутной информацией стека TCP/IP При включении маршрутизатору необходимо синхронизировать свою БД со всеми маршрутизаторами LAN Так как БД на всех маршрутизаторах одинакова, достаточно провести синхронизацию с одним из них Этот маршрутизатор называется назначенным маршрутизатором – DR, его «заместитель» называется резервным назначенным маршрутизатором - BDR

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • При включении маршрутизатору необходимо синхронизировать свою БД со всеми маршрутизаторами LAN
                                          • Так как БД на всех маршрутизаторах одинакова, достаточно провести синхронизацию с одним из них
                                          • Этот маршрутизатор называется назначенным маршрутизатором – DR, его «заместитель» называется резервным назначенным маршрутизатором - BDR
                                          Протоколы обмена маршрутной информацией стека TCP/IP Они являются единственными маршрутизаторами, с которыми всякий новый маршрутизатор должен синхронизировать содержимое своей БД После этого новый маршрутизатор будет синхронизирован со всем маршрутизаторами данной сети Назначенный маршрутизатор делает объявления о сетевых связях, перечисляя своих соседей по подсети Остальные маршрутизаторы просто объявляют о своей связи с назначенным

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Они являются единственными маршрутизаторами, с которыми всякий новый маршрутизатор должен синхронизировать содержимое своей БД
                                          • После этого новый маршрутизатор будет синхронизирован со всем маршрутизаторами данной сети
                                          • Назначенный маршрутизатор делает объявления о сетевых связях, перечисляя своих соседей по подсети
                                          • Остальные маршрутизаторы просто объявляют о своей связи с назначенным
                                          Протоколы обмена маршрутной информацией стека TCP/IP BDR занимает место DR тогда, когда последний выходит из строя Достоинство этого метода в том, что после назначения DR сильно уменьшается количество передаваемой по сети маршрутной информации Протокол OSPF состоит из трех внутренних протоколов: Hello , Exchange и Flooding

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • BDR занимает место DR тогда, когда последний выходит из строя
                                          • Достоинство этого метода в том, что после назначения DR сильно уменьшается количество передаваемой по сети маршрутной информации
                                          • Протокол OSPF состоит из трех внутренних протоколов: Hello , Exchange и Flooding
                                          Протоколы обмена маршрутной информацией стека TCP/IP Протокол Hello использует сообщения Hello Маршрутизаторы периодически обмениваются между собой этими сообщениями Сообщение Hello посылается на все порты маршрутизатора и содержит следующую информацию: приоритет маршрутизатора, который используется для выбора DR и BDR интервал между сообщениями Hello в секундах; интервал ожидания сообщения список маршрутизаторов, от которых недавно были получены сообщения Hello маршрутизаторы, которые в настоящий момент являются DR и BDR приоритет маршрутизатора, который используется для выбора DR и BDR интервал между сообщениями Hello в секундах; интервал ожидания сообщения список маршрутизаторов, от которых недавно были получены сообщения Hello маршрутизаторы, которые в настоящий момент являются DR и BDR

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Протокол Hello использует сообщения Hello
                                          • Маршрутизаторы периодически обмениваются между собой этими сообщениями
                                          • Сообщение Hello посылается на все порты маршрутизатора и содержит следующую информацию:
                                          • приоритет маршрутизатора, который используется для выбора DR и BDR интервал между сообщениями Hello в секундах; интервал ожидания сообщения список маршрутизаторов, от которых недавно были получены сообщения Hello маршрутизаторы, которые в настоящий момент являются DR и BDR
                                          • приоритет маршрутизатора, который используется для выбора DR и BDR
                                          • интервал между сообщениями Hello в секундах;
                                          • интервал ожидания сообщения
                                          • список маршрутизаторов, от которых недавно были получены сообщения Hello
                                          • маршрутизаторы, которые в настоящий момент являются DR и BDR
                                          Протоколы обмена маршрутной информацией стека TCP/IP Наиболее важны интервал между сообщениями и интервал ожидания В сообщениях Hello маршрутизатор передает сведения о себе и говорит о том, кого он считает своими соседями Маршрутизаторы с разными рабочими параметрами игнорируют сообщения друг друга, поэтому маршрутизаторы с некорректными параметрами не влияют на остальные

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Наиболее важны интервал между сообщениями и интервал ожидания
                                          • В сообщениях Hello маршрутизатор передает сведения о себе и говорит о том, кого он считает своими соседями
                                          • Маршрутизаторы с разными рабочими параметрами игнорируют сообщения друг друга, поэтому маршрутизаторы с некорректными параметрами не влияют на остальные
                                          Протоколы обмена маршрутной информацией стека TCP/IP Маршрутизаторы посылают сообщения Hello всем своим соседям хотя бы один раз за интервал времени Hello Если интервал ожидания истек, а сообщение Hello от соседа не пришло, то сосед считается неработоспособным, и рассылается объявление о сетевых каналах, чтобы произошел перерасчет маршрутов На следующем слайде показан формат сообщения Hello

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Маршрутизаторы посылают сообщения Hello всем своим соседям хотя бы один раз за интервал времени Hello
                                          • Если интервал ожидания истек, а сообщение Hello от соседа не пришло, то сосед считается неработоспособным, и рассылается объявление о сетевых каналах, чтобы произошел перерасчет маршрутов
                                          • На следующем слайде показан формат сообщения Hello
                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          Протоколы обмена маршрутной информацией стека TCP/IP Поле « Маска подсети » указывает маску подсети порта, через который посылается сообщение Интервалы Hello и Dead устанавливаются администратором Поле « Приоритет » используется при выборе DR и BDR Каждому маршрутизатору назначается приоритет 0..255 Выбирается маршрутизатор с наибольшим приоритетом

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Поле « Маска подсети » указывает маску подсети порта, через который посылается сообщение
                                          • Интервалы Hello и Dead устанавливаются администратором
                                          • Поле « Приоритет » используется при выборе DR и BDR
                                          • Каждому маршрутизатору назначается приоритет 0..255
                                          • Выбирается маршрутизатор с наибольшим приоритетом
                                          Протоколы обмена маршрутной информацией стека TCP/IP Если он выходит из строя или отключается, то выбирается другой маршрутизатор с наибольшим приоритетом Он останется DR даже если старый DR снова заработает Маршрутизаторы с нулевым приоритетом никогда не будут выбраны DR В сетях « точка-точка » выбор DR не производится

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Если он выходит из строя или отключается, то выбирается другой маршрутизатор с наибольшим приоритетом
                                          • Он останется DR даже если старый DR снова заработает
                                          • Маршрутизаторы с нулевым приоритетом никогда не будут выбраны DR
                                          • В сетях « точка-точка » выбор DR не производится
                                          Протоколы обмена маршрутной информацией стека TCP/IP Начальная синхронизация БД нового маршрутизатора и DR выполняется с помощью протокола Exchange Работу данного протокола можно разделить на два этапа: Определяются роли двух маршрутизаторов ( доминирующий и доминантный ) После этого происходит взаимный обмен БД с помощью пакетов описания базы данных DDP Определяются роли двух маршрутизаторов ( доминирующий и доминантный ) После этого происходит взаимный обмен БД с помощью пакетов описания базы данных DDP После начальной синхронизации с помощью протокола Exchange ответственность за синхронизацию БД состояния каналов всех маршрутизаторов несет протокол Flooding

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Начальная синхронизация БД нового маршрутизатора и DR выполняется с помощью протокола Exchange
                                          • Работу данного протокола можно разделить на два этапа:
                                          • Определяются роли двух маршрутизаторов ( доминирующий и доминантный ) После этого происходит взаимный обмен БД с помощью пакетов описания базы данных DDP
                                          • Определяются роли двух маршрутизаторов ( доминирующий и доминантный )
                                          • После этого происходит взаимный обмен БД с помощью пакетов описания базы данных DDP
                                          • После начальной синхронизации с помощью протокола Exchange ответственность за синхронизацию БД состояния каналов всех маршрутизаторов несет протокол Flooding
                                          Протоколы обмена маршрутной информацией стека TCP/IP Для распространения по сети данных о состоянии каналов связи маршрутизаторы обмениваются сообщениями LSA, называемыми объявлениями о каналах сети и их состоянии NLA Маршрутизаторы обмениваются не только своими объявлениями, но и чужими объявлениями о каналах, получая полную информацию обо всех каналах

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Для распространения по сети данных о состоянии каналов связи маршрутизаторы обмениваются сообщениями LSA, называемыми объявлениями о каналах сети и их состоянии NLA
                                          • Маршрутизаторы обмениваются не только своими объявлениями, но и чужими объявлениями о каналах, получая полную информацию обо всех каналах
                                          Протоколы обмена маршрутной информацией стека TCP/IP По этой информации строится ориентированный граф связей сети, одинаковый для всех маршрутизаторов Кроме информации о соседях в объявлениях перечисляются IP-подсети, с которыми маршрутизаторы связаны непосредственно Путь вычисляется не до подсети, а до подключенного к ней маршрутизатора Каждый из них имеет уникальный идентификатор, который передается в объявлении о состоянии каналов

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • По этой информации строится ориентированный граф связей сети, одинаковый для всех маршрутизаторов
                                          • Кроме информации о соседях в объявлениях перечисляются IP-подсети, с которыми маршрутизаторы связаны непосредственно
                                          • Путь вычисляется не до подсети, а до подключенного к ней маршрутизатора
                                          • Каждый из них имеет уникальный идентификатор, который передается в объявлении о состоянии каналов
                                          Протоколы обмена маршрутной информацией стека TCP/IP Для обмена маршрутной информацией протокол OSPF использует групповую адресацию Для этого зарезервированы два IP-адреса класса D : 224.0.0.5 – все маршрутизаторы, работающие по протоколу OSPF должны поддерживать передачу и получение дейтаграмм по этому групповому адресу 224.0.0.6 – все DR и BDR должны поддерживать получение дейтаграмм с данным групповым адресом 224.0.0.5 – все маршрутизаторы, работающие по протоколу OSPF должны поддерживать передачу и получение дейтаграмм по этому групповому адресу 224.0.0.6 – все DR и BDR должны поддерживать получение дейтаграмм с данным групповым адресом В соответствии с правилами преобразования групповых IP-адресов в физические адреса эти адреса преобразуются в следующие:

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          • Для обмена маршрутной информацией протокол OSPF использует групповую адресацию
                                          • Для этого зарезервированы два IP-адреса класса D :
                                          • 224.0.0.5 – все маршрутизаторы, работающие по протоколу OSPF должны поддерживать передачу и получение дейтаграмм по этому групповому адресу 224.0.0.6 – все DR и BDR должны поддерживать получение дейтаграмм с данным групповым адресом
                                          • 224.0.0.5 – все маршрутизаторы, работающие по протоколу OSPF должны поддерживать передачу и получение дейтаграмм по этому групповому адресу
                                          • 224.0.0.6 – все DR и BDR должны поддерживать получение дейтаграмм с данным групповым адресом
                                          • В соответствии с правилами преобразования групповых IP-адресов в физические адреса эти адреса преобразуются в следующие:
                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                          Протоколы обмена маршрутной информацией стека TCP/IP

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • Поля заголовка имеют следующие значения:
                                            • « Версия » указывает на версию протокола OSPF « Тип » указывает на тип сообщения « Длина сообщения » - длина в байтах « Идентификатор маршрутизатора » - IP-адрес маршрутизатора « Идентификатор области » используется для указания области маршрутизации « Контрольная сумма » вычисляется для всего сообщения, кроме 8-байтового поля «Идентификатор алгоритма аутентификации» « Идентификатор алгоритма аутентификации » может принимать два значения: 0 – нет аутентификации; 1 – простая аутентификация
                                            • « Версия » указывает на версию протокола OSPF
                                            • « Тип » указывает на тип сообщения
                                            • « Длина сообщения » - длина в байтах
                                            • « Идентификатор маршрутизатора » - IP-адрес маршрутизатора
                                            • « Идентификатор области » используется для указания области маршрутизации
                                            • « Контрольная сумма » вычисляется для всего сообщения, кроме 8-байтового поля «Идентификатор алгоритма аутентификации»
                                            • « Идентификатор алгоритма аутентификации » может принимать два значения: 0 – нет аутентификации; 1 – простая аутентификация
                                            Протоколы обмена маршрутной информацией стека TCP/IP При простой аутентификации поле « Идентификатор алгоритма... » содержит пароль из 8 символов Можно задавать разные пароли для каждой сети На практике не существует сетей, в которых работает исключительно протокол OSPF Совместно с ним применяются протоколы BGP, EGP, RIP и протоколы производителей

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • При простой аутентификации поле « Идентификатор алгоритма... » содержит пароль из 8 символов
                                            • Можно задавать разные пароли для каждой сети
                                            • На практике не существует сетей, в которых работает исключительно протокол OSPF
                                            • Совместно с ним применяются протоколы BGP, EGP, RIP и протоколы производителей
                                            Протоколы обмена маршрутной информацией стека TCP/IP Внутренний шлюзовой протокол маршрутизации IGRP разработан фирмой CISCO и принадлежит к классу IGP Он работает по алгоритму вектора расстояния, текущая реализация предназначена для сетей TCP/IP Этот протокол очень похож на RIP Таблица также формируется путем обмена маршрутной информацией

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • Внутренний шлюзовой протокол маршрутизации IGRP разработан фирмой CISCO и принадлежит к классу IGP
                                            • Он работает по алгоритму вектора расстояния, текущая реализация предназначена для сетей TCP/IP
                                            • Этот протокол очень похож на RIP
                                            • Таблица также формируется путем обмена маршрутной информацией
                                            Протоколы обмена маршрутной информацией стека TCP/IP При запуске маршрутизатор содержит только информацию о напрямую подключенных к нему сетях Затем он получает от соседей информацию о других логических сетях Маршрутизатор ищет только один наиболее предпочтительный маршрут до получателя, т.е. маршрут с минимальной метрикой Протокол IGRP поддерживает распределение потока на несколько маршрутов, которые имеют одинаковую метрику

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • При запуске маршрутизатор содержит только информацию о напрямую подключенных к нему сетях
                                            • Затем он получает от соседей информацию о других логических сетях
                                            • Маршрутизатор ищет только один наиболее предпочтительный маршрут до получателя, т.е. маршрут с минимальной метрикой
                                            • Протокол IGRP поддерживает распределение потока на несколько маршрутов, которые имеют одинаковую метрику
                                            Протоколы обмена маршрутной информацией стека TCP/IP Время задержки Пропускная способность канала Загруженность канала Надежность канала Время задержки Пропускная способность канала Загруженность канала Надежность канала

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • Время задержки Пропускная способность канала Загруженность канала Надежность канала
                                            • Время задержки
                                            • Пропускная способность канала
                                            • Загруженность канала
                                            • Надежность канала
                                            Протоколы обмена маршрутной информацией стека TCP/IP Каждый маршрутизатор регулярно широковещательно рассылает свою таблицу маршрутизации своим соседям После получения этой информации маршрутизатор сравнивает полученную таблицу со своей Сравниваются маршруты из обеих таблиц Если новый маршрут имеет лучшую метрику, он может заменить существующий Это очень похоже на протокол RIP

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • Каждый маршрутизатор регулярно широковещательно рассылает свою таблицу маршрутизации своим соседям
                                            • После получения этой информации маршрутизатор сравнивает полученную таблицу со своей
                                            • Сравниваются маршруты из обеих таблиц
                                            • Если новый маршрут имеет лучшую метрику, он может заменить существующий
                                            • Это очень похоже на протокол RIP
                                            Протоколы обмена маршрутной информацией стека TCP/IP обобщенная метрика указанный диапазон большая устойчивость обобщенная метрика указанный диапазон большая устойчивость

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            • обобщенная метрика указанный диапазон большая устойчивость
                                            • обобщенная метрика
                                            • указанный диапазон
                                            • большая устойчивость
                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                            Протоколы обмена маршрутной информацией стека TCP/IP

                                              Протоколы обмена маршрутной информацией стека TCP/IP K 1 , K 2  = const ; Это весовые коэффициенты пропускной способности и задержки Они зависят от типа передаваемой по сети информации (у интерактивного трафика – более низкая задержка, у файлов – широкая полоса пропускания) B e – эффективная пропускная способность, которая определяется как произведение полосы пропускания на загруженность канала; D c – время задержки, r – надежность, т.е. процент информации, успешно переданной следующему узлу

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • K 1 , K 2 = const ;
                                              • Это весовые коэффициенты пропускной способности и задержки
                                              • Они зависят от типа передаваемой по сети информации (у интерактивного трафика – более низкая задержка, у файлов – широкая полоса пропускания)
                                              • B e – эффективная пропускная способность, которая определяется как произведение полосы пропускания на загруженность канала; D c – время задержки, r – надежность, т.е. процент информации, успешно переданной следующему узлу
                                              Протоколы обмена маршрутной информацией стека TCP/IP Маршрут с наименьшей обобщенной метрикой будет наиболее предпочтительным Если к одному получателю существует несколько маршрутов, то маршрутизатор может передавать информацию по всем этим маршрутам или их части Как именно будет происходить передача, зависит от обобщенной метрики каждого маршрута

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Маршрут с наименьшей обобщенной метрикой будет наиболее предпочтительным
                                              • Если к одному получателю существует несколько маршрутов, то маршрутизатор может передавать информацию по всем этим маршрутам или их части
                                              • Как именно будет происходить передача, зависит от обобщенной метрики каждого маршрута
                                              Протоколы обмена маршрутной информацией стека TCP/IP Для достижения устойчивости в больших сетях протокол IGRP использует технологии Hold Down , Split Horizon , Triggered Update и Poison Reverse , которые разработаны для предотвращения обработки ошибочных маршрутов Алгоритмы Poison Reverse и Split Horizon предназначены для предупреждения образования петель между маршрутизаторами

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Для достижения устойчивости в больших сетях протокол IGRP использует технологии Hold Down , Split Horizon , Triggered Update и Poison Reverse , которые разработаны для предотвращения обработки ошибочных маршрутов
                                              • Алгоритмы Poison Reverse и Split Horizon предназначены для предупреждения образования петель между маршрутизаторами
                                              Протоколы обмена маршрутной информацией стека TCP/IP Poison Reverse основывается на следующем правиле: если во время работы метрика увеличилась – это следствие образование петли, и данный маршрут должен быть удален из таблицы В протоколе IGRP сообщения об отмене маршрута отправляются, когда показатель увеличивается на 1,1 или более Triggered Update заставляет маршрутизатор рассылать информацию об изменениях, даже если информация не укладывается во временной интервал рассылок Он обычно составляет 90 сек.

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Poison Reverse основывается на следующем правиле: если во время работы метрика увеличилась – это следствие образование петли, и данный маршрут должен быть удален из таблицы
                                              • В протоколе IGRP сообщения об отмене маршрута отправляются, когда показатель увеличивается на 1,1 или более
                                              • Triggered Update заставляет маршрутизатор рассылать информацию об изменениях, даже если информация не укладывается во временной интервал рассылок
                                              • Он обычно составляет 90 сек.
                                              Протоколы обмена маршрутной информацией стека TCP/IP Улучшенный внутренний шлюзовой протокол маршрутизации  EIGRP объединяет достоинства алгоритма вектора расстояния и состояния канала Этот протокол представляется собой реализацию алгоритма распределенного обновления DUAL Алгоритм DUAL позволяет маршрутизатору восстанавливать работоспособность сразу же после изменения топологии В большинстве случаев маршрутизаторы, работающие по протоколу EIGRP, перестраиваются в соответствии с новой топологией меньше, чем за 1 сек.

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Улучшенный внутренний шлюзовой протокол маршрутизации EIGRP объединяет достоинства алгоритма вектора расстояния и состояния канала
                                              • Этот протокол представляется собой реализацию алгоритма распределенного обновления DUAL
                                              • Алгоритм DUAL позволяет маршрутизатору восстанавливать работоспособность сразу же после изменения топологии
                                              • В большинстве случаев маршрутизаторы, работающие по протоколу EIGRP, перестраиваются в соответствии с новой топологией меньше, чем за 1 сек.
                                              Протоколы обмена маршрутной информацией стека TCP/IP EIGRP перенял алгоритм вектора расстояния от протокола IGRP и обладает основными возможностями протоколов, которые работают по алгоритму состояния канала типа OSPF Протокол поддерживает VLSM, а IGRP не поддерживает передачу информации о маске подсети Протокол EIGRP имеет четыре составляющих: обнаружение соседа надежный транспортный протокол алгоритм DUAL модуль, зависящий от протокола обнаружение соседа надежный транспортный протокол алгоритм DUAL модуль, зависящий от протокола

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • EIGRP перенял алгоритм вектора расстояния от протокола IGRP и обладает основными возможностями протоколов, которые работают по алгоритму состояния канала типа OSPF
                                              • Протокол поддерживает VLSM, а IGRP не поддерживает передачу информации о маске подсети
                                              • Протокол EIGRP имеет четыре составляющих:
                                              • обнаружение соседа надежный транспортный протокол алгоритм DUAL модуль, зависящий от протокола
                                              • обнаружение соседа
                                              • надежный транспортный протокол
                                              • алгоритм DUAL
                                              • модуль, зависящий от протокола
                                              Протоколы обмена маршрутной информацией стека TCP/IP При обнаружении соседа маршрутизаторы динамически получают информацию о других маршрутизаторах, находящихся в сетях, подключенных к ним напрямую Они также должны определять, что их соседи недостижимы Это выполняется при низкой загрузке сети с помощью посылки пакетов Hello После получения пакета маршрутизатор считает соседа нормально функционирующим Затем соседи обмениваются маршрутной информацией

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • При обнаружении соседа маршрутизаторы динамически получают информацию о других маршрутизаторах, находящихся в сетях, подключенных к ним напрямую
                                              • Они также должны определять, что их соседи недостижимы
                                              • Это выполняется при низкой загрузке сети с помощью посылки пакетов Hello
                                              • После получения пакета маршрутизатор считает соседа нормально функционирующим
                                              • Затем соседи обмениваются маршрутной информацией
                                              Протоколы обмена маршрутной информацией стека TCP/IP Надежный транспорт отвечает за гарантированную доставку сообщений протокола EIGRP своим соседям Например, может потребоваться послать сообщения Hello с подтверждением доставки

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Надежный транспорт отвечает за гарантированную доставку сообщений протокола EIGRP своим соседям
                                              • Например, может потребоваться послать сообщения Hello с подтверждением доставки
                                              Протоколы обмена маршрутной информацией стека TCP/IP Алгоритм DUAL определяет путь передачи трафика Он отслеживает информацию о маршрутах, получаемую от соседей, и затем выбирает маршрут к « возможному наследнику » Наследник – это соседний маршрутизатор, который имеет наименьшую метрику до получателя и который не является часть петли маршрутизации

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Алгоритм DUAL определяет путь передачи трафика
                                              • Он отслеживает информацию о маршрутах, получаемую от соседей, и затем выбирает маршрут к « возможному наследнику »
                                              • Наследник – это соседний маршрутизатор, который имеет наименьшую метрику до получателя и который не является часть петли маршрутизации
                                              Протоколы обмена маршрутной информацией стека TCP/IP Модуль, зависящий от протокола, отвечает за взаимодействие с определенным протоколом сетевого уровня В частности, данный модуль отвечает за инкапсуляцию сообщений EIGRP в IP-дейтаграммы Для каждого модуля, зависящего от протокола, поддерживается своя таблица соседей Записи в этой таблице содержат информацию, требующуюся для надежной доставки, например, номер сообщения Этот номер используется для проверки того, что сообщения от соседа пришли в нужном порядке

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Модуль, зависящий от протокола, отвечает за взаимодействие с определенным протоколом сетевого уровня
                                              • В частности, данный модуль отвечает за инкапсуляцию сообщений EIGRP в IP-дейтаграммы
                                              • Для каждого модуля, зависящего от протокола, поддерживается своя таблица соседей
                                              • Записи в этой таблице содержат информацию, требующуюся для надежной доставки, например, номер сообщения
                                              • Этот номер используется для проверки того, что сообщения от соседа пришли в нужном порядке
                                              Протоколы обмена маршрутной информацией стека TCP/IP Протокол EIGRP обеспечивает быструю сходимость благодаря применению модели «запрос-ответ», при которой сообщения посылаются только тем маршрутизаторам, на работу которых может повлиять изменение в сетевой топологии Протокол EIGRP может обеспечить меньшее время сходимости, чем IGRP, но настраивать его сложнее Для получения максимального эффекта от этого протокола требуется производительный маршрутизатор с большим объемом оперативной памяти

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Протокол EIGRP обеспечивает быструю сходимость благодаря применению модели «запрос-ответ», при которой сообщения посылаются только тем маршрутизаторам, на работу которых может повлиять изменение в сетевой топологии
                                              • Протокол EIGRP может обеспечить меньшее время сходимости, чем IGRP, но настраивать его сложнее
                                              • Для получения максимального эффекта от этого протокола требуется производительный маршрутизатор с большим объемом оперативной памяти
                                              Протоколы обмена маршрутной информацией стека TCP/IP В документах RFC 1517-1520 представлена концепция бесклассовой междоменной маршрутизации CIDR Появление данной технологии было вызвано резким повышением объема трафика в Интернете и учащением возникновения сбоев, которые происходили из-за исчерпания ресурсов магистральных маршрутизаторов Внедрение данной технологии сократило объем таблицы у магистральных маршрутизаторов примерно в два раза Вторая причина внедрения технологии CIDR нехватка адресного пространства при расширении Интернета

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • В документах RFC 1517-1520 представлена концепция бесклассовой междоменной маршрутизации CIDR
                                              • Появление данной технологии было вызвано резким повышением объема трафика в Интернете и учащением возникновения сбоев, которые происходили из-за исчерпания ресурсов магистральных маршрутизаторов
                                              • Внедрение данной технологии сократило объем таблицы у магистральных маршрутизаторов примерно в два раза
                                              • Вторая причина внедрения технологии CIDR нехватка адресного пространства при расширении Интернета
                                              Протоколы обмена маршрутной информацией стека TCP/IP Технология CIDR позволяет отойти от традиционной схемы классов IP-адресов и более эффективно описывать адресное пространство протокола IP версии 4 CIDR позволяет объединять маршруты Одной записью в таблице маршрутизации можно описать сотни адресов С этой технологией появилось понятие обобщенного сетевого префикса Маршрутизаторы используют этот префикс для определения границ в IP-адресе между номером сети и номером устройства

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Технология CIDR позволяет отойти от традиционной схемы классов IP-адресов и более эффективно описывать адресное пространство протокола IP версии 4
                                              • CIDR позволяет объединять маршруты
                                              • Одной записью в таблице маршрутизации можно описать сотни адресов
                                              • С этой технологией появилось понятие обобщенного сетевого префикса
                                              • Маршрутизаторы используют этот префикс для определения границ в IP-адресе между номером сети и номером устройства
                                              Протоколы обмена маршрутной информацией стека TCP/IP Любая маршрутная информация в технологии CIDR рассылается с указанием обобщенного сетевого префикса Длина префикса в битах служит для определения числа старших битов, соответствующих номеру сети в записи таблицы маршрутизации Маршрутизаторы, поддерживающие технологию CIDR, не определяют класс, а пользуются информацией о префиксе, пришедшей с маршрутом

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Любая маршрутная информация в технологии CIDR рассылается с указанием обобщенного сетевого префикса
                                              • Длина префикса в битах служит для определения числа старших битов, соответствующих номеру сети в записи таблицы маршрутизации
                                              • Маршрутизаторы, поддерживающие технологию CIDR, не определяют класс, а пользуются информацией о префиксе, пришедшей с маршрутом
                                              Протоколы обмена маршрутной информацией стека TCP/IP Технология CIDR может более эффективно использовать адресное пространство IP Обычно провайдеры выделяют своим клиентам адреса определенных классов, что приводит к избыточности При использовании CIDR провайдеры выделяют такие блоки из выделенного адресного пространства, которые точно отвечают требованиям клиента, оставляя открытой возможность расширения сети

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Технология CIDR может более эффективно использовать адресное пространство IP
                                              • Обычно провайдеры выделяют своим клиентам адреса определенных классов, что приводит к избыточности
                                              • При использовании CIDR провайдеры выделяют такие блоки из выделенного адресного пространства, которые точно отвечают требованиям клиента, оставляя открытой возможность расширения сети
                                              Протоколы обмена маршрутной информацией стека TCP/IP Технология CIDR требует соблюдения трех основных условий: в служебных сообщениях должна передаваться информация об обобщенном сетевом префиксе; технология «наибольшего совпадения» должна поддерживаться всеми маршрутизаторами; для объединения маршрутов адреса должны присваиваться в соответствии с сетевой топологией в служебных сообщениях должна передаваться информация об обобщенном сетевом префиксе; технология «наибольшего совпадения» должна поддерживаться всеми маршрутизаторами; для объединения маршрутов адреса должны присваиваться в соответствии с сетевой топологией Технологии CIDR и VLSM позволяют делить адресное пространство на небольшие части подходящего размера

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              • Технология CIDR требует соблюдения трех основных условий:
                                              • в служебных сообщениях должна передаваться информация об обобщенном сетевом префиксе; технология «наибольшего совпадения» должна поддерживаться всеми маршрутизаторами; для объединения маршрутов адреса должны присваиваться в соответствии с сетевой топологией
                                              • в служебных сообщениях должна передаваться информация об обобщенном сетевом префиксе;
                                              • технология «наибольшего совпадения» должна поддерживаться всеми маршрутизаторами;
                                              • для объединения маршрутов адреса должны присваиваться в соответствии с сетевой топологией
                                              • Технологии CIDR и VLSM позволяют делить адресное пространство на небольшие части подходящего размера
                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                              Протоколы обмена маршрутной информацией стека TCP/IP

                                                Новая шестая версия протокола IP была принята организацией IFTF в 1995 г. Она была описана в документе RFC 1752 В настоящее время осуществляется постепенный переход к протоколу IPv6 Существует несколько фрагментов Интернета, в которых поддерживаются обе версии IP Эти фрагменты объединены между собой и образуют так называемую « шестую магистраль » 6 bone
                                                • Новая шестая версия протокола IP была принята организацией IFTF в 1995 г.
                                                • Она была описана в документе RFC 1752
                                                • В настоящее время осуществляется постепенный переход к протоколу IPv6
                                                • Существует несколько фрагментов Интернета, в которых поддерживаются обе версии IP
                                                • Эти фрагменты объединены между собой и образуют так называемую « шестую магистраль » 6 bone
                                                Для того чтобы передать дейтаграммы IPv6 шестая магистраль инкапсулирует их в дейтаграмму IPv4 и передает их через те части Интернет, которые не поддерживают новую версию протокола Этот процесс называется туннелированием Документ RFC 1933 определяет четыре конфигурации туннелей между рабочими станциями и маршрутизаторами: маршрутизатор – маршрутизатор рабочая станция – маршрутизатор рабочие станции – маршрутизаторы маршрутизатор – рабочая станция маршрутизатор – маршрутизатор рабочая станция – маршрутизатор рабочие станции – маршрутизаторы маршрутизатор – рабочая станция
                                                • Для того чтобы передать дейтаграммы IPv6 шестая магистраль инкапсулирует их в дейтаграмму IPv4 и передает их через те части Интернет, которые не поддерживают новую версию протокола
                                                • Этот процесс называется туннелированием
                                                • Документ RFC 1933 определяет четыре конфигурации туннелей между рабочими станциями и маршрутизаторами:
                                                • маршрутизатор – маршрутизатор рабочая станция – маршрутизатор рабочие станции – маршрутизаторы маршрутизатор – рабочая станция
                                                • маршрутизатор – маршрутизатор
                                                • рабочая станция – маршрутизатор
                                                • рабочие станции – маршрутизаторы
                                                • маршрутизатор – рабочая станция
                                                использование двойных стеков протоколов IPv6/IPv4-узлами
                                                • использование двойных стеков протоколов
                                                • IPv6/IPv4-узлами
                                                Маршрутизаторам может потребоваться дополнительная оперативная память, так как таблицы маршрутизации IPv6 больше по объему На рис. показано распределение уровней узла с двойным стеком
                                                • Маршрутизаторам может потребоваться дополнительная оперативная память, так как таблицы маршрутизации IPv6 больше по объему
                                                • На рис. показано распределение уровней узла с двойным стеком
                                                  Схема адресации IPv6 существенно отличается от схеме в IPv4 Адреса отправителя и получателя задаются 128 битами Такая длина позволит на продолжительное время снять проблему дефицита адресов Основным механизмом, заложенным в схему адресации протокола IPv6, является введение иерархического разделения адресного пространства на уровни Используется пять уровней, включая два уровня идентификации провайдеров и три уровня идентификации абонентов
                                                  • Схема адресации IPv6 существенно отличается от схеме в IPv4
                                                  • Адреса отправителя и получателя задаются 128 битами
                                                  • Такая длина позволит на продолжительное время снять проблему дефицита адресов
                                                  • Основным механизмом, заложенным в схему адресации протокола IPv6, является введение иерархического разделения адресного пространства на уровни
                                                  • Используется пять уровней, включая два уровня идентификации провайдеров и три уровня идентификации абонентов
                                                  Префикс определяет тип используемого адреса Например, адрес с идентификацией провайдера имеет префикс 010 На рис. показан формат адреса с идентификацией провайдера
                                                  • Префикс определяет тип используемого адреса
                                                  • Например, адрес с идентификацией провайдера имеет префикс 010
                                                  • На рис. показан формат адреса с идентификацией провайдера
                                                  Идентификатор организации Идентификатор провайдера Идентификатор абонента
                                                  • Идентификатор организации
                                                  • Идентификатор провайдера Идентификатор абонента
                                                    Такая структура упрощает маршрутизацию Поле « Идентификатор провайдера » сразу определяет сеть другого провайдера После определения сети провайдера маршрутизатор анализирует поле «Идентификатор абонента», которому передана информация Абонентом может выступать организация, которая может организовать несколько уровней иерархии в своей сети, по мере необходимости В протоколе IPv6 отменено разбиение на классы за счет использования технлогии CIDR, хотя она уже используется в IPv4
                                                    • Такая структура упрощает маршрутизацию
                                                    • Поле « Идентификатор провайдера » сразу определяет сеть другого провайдера
                                                    • После определения сети провайдера маршрутизатор анализирует поле «Идентификатор абонента», которому передана информация
                                                    • Абонентом может выступать организация, которая может организовать несколько уровней иерархии в своей сети, по мере необходимости
                                                    • В протоколе IPv6 отменено разбиение на классы за счет использования технлогии CIDR, хотя она уже используется в IPv4
                                                    Протокол IPv6 вводит несколько типов адресов: Индивидуальный адрес Unicast . Адрес определяет отдельное устройство в сети или порт маршрутизатора Групповой адрес набора узлов Multicast . В IPv6 нет широковещательных адресов. Эта адресация заменена поддержкой групповой передачи данных Адрес набора узлов Anycast . Этот тип используется для обеспечения прохождения своего трафика через маршрутизаторы отдельных провайдеров. В отличие от групповых адресов, такая дейтаграмма должна быть доставлена любому члену группы Индивидуальный адрес Unicast . Адрес определяет отдельное устройство в сети или порт маршрутизатора Групповой адрес набора узлов Multicast . В IPv6 нет широковещательных адресов. Эта адресация заменена поддержкой групповой передачи данных Адрес набора узлов Anycast . Этот тип используется для обеспечения прохождения своего трафика через маршрутизаторы отдельных провайдеров. В отличие от групповых адресов, такая дейтаграмма должна быть доставлена любому члену группы
                                                    • Протокол IPv6 вводит несколько типов адресов:
                                                    • Индивидуальный адрес Unicast . Адрес определяет отдельное устройство в сети или порт маршрутизатора Групповой адрес набора узлов Multicast . В IPv6 нет широковещательных адресов. Эта адресация заменена поддержкой групповой передачи данных Адрес набора узлов Anycast . Этот тип используется для обеспечения прохождения своего трафика через маршрутизаторы отдельных провайдеров. В отличие от групповых адресов, такая дейтаграмма должна быть доставлена любому члену группы
                                                    • Индивидуальный адрес Unicast . Адрес определяет отдельное устройство в сети или порт маршрутизатора
                                                    • Групповой адрес набора узлов Multicast . В IPv6 нет широковещательных адресов. Эта адресация заменена поддержкой групповой передачи данных
                                                    • Адрес набора узлов Anycast . Этот тип используется для обеспечения прохождения своего трафика через маршрутизаторы отдельных провайдеров. В отличие от групповых адресов, такая дейтаграмма должна быть доставлена любому члену группы
                                                    Основной заголовок дополнительный
                                                    • Основной заголовок дополнительный
                                                    Следующий заголовок Протокол
                                                    • Следующий заголовок Протокол
                                                    Поле « Лимит количества » введено для более эффективного определения времени жизни дейтаграммы Поле « Приоритет » позволяет отправителю задать приоритет своей дейтаграммы При этом значения 0..7 этого поля определяют трафик, которым маршрутизатор при необходимости может пренебречь, а значения 8..15 указывают на трафик, к которому эти меры принимать запрещено
                                                    • Поле « Лимит количества » введено для более эффективного определения времени жизни дейтаграммы
                                                    • Поле « Приоритет » позволяет отправителю задать приоритет своей дейтаграммы
                                                    • При этом значения 0..7 этого поля определяют трафик, которым маршрутизатор при необходимости может пренебречь, а значения 8..15 указывают на трафик, к которому эти меры принимать запрещено
                                                    В протоколе IPv6 определены следующие типы дополнительных заголовков: Routing – полный маршрут(заголовок позволяет указать список IP-адресов, которые диктуют путь передачи); Fragmentation – содержит сведения о проведении фрагментации на конечных узлах сети Authentication – служит для идентификации конечных узлов и обеспечивает целостность дейтаграмм Encryption – служит для шифрования и дешифровки передаваемых данных Routing – полный маршрут(заголовок позволяет указать список IP-адресов, которые диктуют путь передачи); Fragmentation – содержит сведения о проведении фрагментации на конечных узлах сети Authentication – служит для идентификации конечных узлов и обеспечивает целостность дейтаграмм Encryption – служит для шифрования и дешифровки передаваемых данных
                                                    • В протоколе IPv6 определены следующие типы дополнительных заголовков:
                                                    • Routing – полный маршрут(заголовок позволяет указать список IP-адресов, которые диктуют путь передачи); Fragmentation – содержит сведения о проведении фрагментации на конечных узлах сети Authentication – служит для идентификации конечных узлов и обеспечивает целостность дейтаграмм Encryption – служит для шифрования и дешифровки передаваемых данных
                                                    • Routing – полный маршрут(заголовок позволяет указать список IP-адресов, которые диктуют путь передачи);
                                                    • Fragmentation – содержит сведения о проведении фрагментации на конечных узлах сети
                                                    • Authentication – служит для идентификации конечных узлов и обеспечивает целостность дейтаграмм
                                                    • Encryption – служит для шифрования и дешифровки передаваемых данных
                                                    В протоколе IPv6 определены следующие типы дополнительных заголовков (окончание): Hop-by-Hop Option – используется алгоритмом «переход за переходом» при обработке дейтаграмм ( Данный заголовок переносит дополнительные параметры, проверяемые промежуточными узлами. Он должен следовать первым после основного. Можно применять, например, для передачи управляющей или отладочной информации) Destination Option – содержит дополнительную информацию для узла назначения Hop-by-Hop Option – используется алгоритмом «переход за переходом» при обработке дейтаграмм ( Данный заголовок переносит дополнительные параметры, проверяемые промежуточными узлами. Он должен следовать первым после основного. Можно применять, например, для передачи управляющей или отладочной информации) Destination Option – содержит дополнительную информацию для узла назначения
                                                    • В протоколе IPv6 определены следующие типы дополнительных заголовков (окончание):
                                                    • Hop-by-Hop Option – используется алгоритмом «переход за переходом» при обработке дейтаграмм ( Данный заголовок переносит дополнительные параметры, проверяемые промежуточными узлами. Он должен следовать первым после основного. Можно применять, например, для передачи управляющей или отладочной информации) Destination Option – содержит дополнительную информацию для узла назначения
                                                    • Hop-by-Hop Option – используется алгоритмом «переход за переходом» при обработке дейтаграмм ( Данный заголовок переносит дополнительные параметры, проверяемые промежуточными узлами. Он должен следовать первым после основного. Можно применять, например, для передачи управляющей или отладочной информации)
                                                    • Destination Option – содержит дополнительную информацию для узла назначения
                                                    Каждый дополнительный заголовок содержит тип следующего за ним дополнительного заголовка, что позволяет создать цепочку заголовков, с основным впереди Основной заголовок не содержит дополнительных Поле « Следующий заголовок » указывает на тип следующего дополнительного заголовка Это продолжается до тех пор, пока в упомянутом поле очередного заголовка не встретится запись, что далее идет, например, заголовок протокола TCP
                                                    • Каждый дополнительный заголовок содержит тип следующего за ним дополнительного заголовка, что позволяет создать цепочку заголовков, с основным впереди
                                                    • Основной заголовок не содержит дополнительных
                                                    • Поле « Следующий заголовок » указывает на тип следующего дополнительного заголовка
                                                    • Это продолжается до тех пор, пока в упомянутом поле очередного заголовка не встретится запись, что далее идет, например, заголовок протокола TCP
                                                    http://tools.ietf.org/html/rfc791 http://ru.wikipedia.org/wiki/IPv4 http ://ru.wikipedia.org/wiki/IPv5 http://www.iana.org/numbers/ Протокол ICMP - http://www.citforum.ru/internet/tifamily/icmpspec.shtml Описание протокола ARP (Address Resolution Protocol) - http:// www.realcoding.net / articles / opisanie-protokola-arp-address-resolution-protocol.html
                                                    • http://tools.ietf.org/html/rfc791
                                                    • http://ru.wikipedia.org/wiki/IPv4
                                                    • http ://ru.wikipedia.org/wiki/IPv5
                                                    • http://www.iana.org/numbers/
                                                    • Протокол ICMP - http://www.citforum.ru/internet/tifamily/icmpspec.shtml
                                                    • Описание протокола ARP (Address Resolution Protocol) - http:// www.realcoding.net / articles / opisanie-protokola-arp-address-resolution-protocol.html
                                                    Протокол UDP - http://kunegin.narod.ru/ref4/tcp/f12.htm Подробное описание протокола TCP - http://devoid.com.ua/c-builder/cppbuilder-network-programming/podrobnoe-opisanie-protocola-tcp.html Оптимизация работы протокола ТСР в распределенных сетях - http://www.osp.ru/text/print/302/144332.html RTP и RTCP: протоколы для IP-телефонии - http :// www.compress.ru /article.aspx?id=11931&part=index41ext1
                                                    • Протокол UDP - http://kunegin.narod.ru/ref4/tcp/f12.htm
                                                    • Подробное описание протокола TCP - http://devoid.com.ua/c-builder/cppbuilder-network-programming/podrobnoe-opisanie-protocola-tcp.html
                                                    • Оптимизация работы протокола ТСР в распределенных сетях - http://www.osp.ru/text/print/302/144332.html
                                                    • RTP и RTCP: протоколы для IP-телефонии - http :// www.compress.ru /article.aspx?id=11931&part=index41ext1
                                                    http ://ru.wikipedia.org/wiki/RIP2 http://ru.wikipedia.org/wiki/OSPF http://ru.wikipedia.org/wiki/Border_Gateway_Protocol Enhanced Interior Gateway Routing Protocol (EIGRP) - http:// www.cisco.com / en /US/ tech /tk365/tk207/ tsd_technology_support_sub-protocol_home.html
                                                    • http ://ru.wikipedia.org/wiki/RIP2
                                                    • http://ru.wikipedia.org/wiki/OSPF
                                                    • http://ru.wikipedia.org/wiki/Border_Gateway_Protocol
                                                    • Enhanced Interior Gateway Routing Protocol (EIGRP) - http:// www.cisco.com / en /US/ tech /tk365/tk207/ tsd_technology_support_sub-protocol_home.html
                                                    Технологии CIDR - Сеть - Каталог статей - Статьи World - http://nworldow.ru/publ/set/tekhnologii_cidr/49-1-0-1923 Технология бесклассовой междоменной маршрутизации CIDR - http:// com-inform.narod.ru / ksptp /5_3_5_3.htm IPv6 — Википедия - http://ru.wikipedia.org/wiki/IPv6 Российский Национальный IPv6 Форум. Протокол IPv6 и все что с ним связано - http://www.ipv6.ru/
                                                    • Технологии CIDR - Сеть - Каталог статей - Статьи World - http://nworldow.ru/publ/set/tekhnologii_cidr/49-1-0-1923
                                                    • Технология бесклассовой междоменной маршрутизации CIDR - http:// com-inform.narod.ru / ksptp /5_3_5_3.htm
                                                    • IPv6 — Википедия - http://ru.wikipedia.org/wiki/IPv6
                                                    • Российский Национальный IPv6 Форум. Протокол IPv6 и все что с ним связано - http://www.ipv6.ru/
                                                    -80%
                                                    Курсы дополнительного образования

                                                    Создание динамических веб-страниц с помощью PHP и MySQL

                                                    Продолжительность 72 часа
                                                    Документ: Cвидетельство о прохождении курса
                                                    4000 руб.
                                                    800 руб.
                                                    Подробнее
                                                    Скачать разработку
                                                    Сохранить у себя:
                                                    Стек протоколов TCP/IP (1.46 MB)

                                                    Комментарии 0

                                                    Чтобы добавить комментарий зарегистрируйтесь или на сайт