Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по компьютерным сетям.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
287.23 Кб
Скачать

Подсети и маски подсети

Использование масок подсети позволяет разделять сеть на несколько подсетей.

Маска подсети определяется в документе RFC 950 как 32-битное значение, которое используется для выделения

идентификатора сети из IP адреса. Биты маски подсети устанавливаются по следующему правилу:

Все биты которые относятся к идентификатору сети устанавливаются в 1.

Все биты которые относятся к идентификатору узла устанавливаются в 0.

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

Маска подсети может быть представлена в десятичном формате, разделенном точками, либо в виде десятичного числа которое называют длиной префикса сети(Network prefix length ).

Маршрутизация ip.

Маршрутизация представляет собой поиск оптимального маршрута при передаче данных от отправителя к получателю. Задача маршрутизации разбивается на две подзадачи – маршрутизацию и коммутацию. Коммутация (IP-forwarding) – это процесс продвижения пакетов по сети, который выполняется протоколами IP. Решение о том, какой пункт будет следующим при перемещении пакета принимается на основании оценок маршрутов. Информация о маршрутах хранится в таблицах маршрутизации промежуточных узлов(маршрутизаторов).

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

Таблицы маршрутизации содержат следующую информацию о маршрутах:

  1. IP – адрес сети или узла;

  2. Маску подсети

  3. Интерфейс, через который данные передаются на указанный IP – адрес.

  4. Адрес шлюза(следующего хоста), через который данные передаются на указанный IP – адрес.

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

Протоколы маршрутизации можо разделить на 3 группы:

  1. Протоколы вектора расстояния: RIP v.1, RIP v.2, IGRP .

  2. Протоколы состояния канала: OSPF.

  3. Смешанные протоколы: EIGRP.

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

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

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

Прямая и непрямая доставка:

Если отправитель и получатель датаграммы находятся в одной подсети, то для передачи IP-датаграммы используется способ «прямой доставки». Данные передаются средствами протоколов канального уровня. Если отправитель и получатель находятся в разных сетях, то выполняется доставка средствами сетевого уровня и пакет передается через маршрутизаторы по направлению к сети получателя.

Aлгоритм IP-маршрутизации:

  1. Выделить IP-адрес назначения, Id, из дейтаграммы и вычислить IP-адрес сети назначения, In

  2. Если адрес получателя соответствует адресу одной из достижимых напрямую сетей, послать дейтаграмму к узлу-получателю по этой сети; (это включает разрешение Id в физический адрес, инкапсуляцию дейтаграммы и посылку кадра)

  3. Иначе, если для адреса Id узла-получателя в таблице определен маршрут, то маршрутизировать дейтаграмму, как это определено в таблице;

  4. Иначе, если указан маршрут для номера сети In, то маршрутизировать дейтаграмму, как это определено в таблице;

  5. Иначе, если указан маршрут по умолчанию, то маршрутизировать дейтаграмму к шлюзу по умолчанию;

  6. Иначе выдать сообщение об ошибке маршрутизации;

Формат заголовка IP-дейтаграммы

IP-дейтаграмма состоит из заголовка и данных.

Заголовок дейтаграммы состоит из 32-разрядных слов и имеет переменную длину, которая зависит от размера поля “Options”, но всегда кратна 32 битам. За заголовком следуют данные, передаваемые в дейтаграмме.

Ver (4 бита) - версия протокола IP, в настоящий момент используется версия 4, новые разработки имеют номера версий 6-8.

IHL (Internet Header Length) (4 бита) - длина заголовка в 32-битных словах; диапазон допустимых значений от 5 (минимальная длина заголовка, поле “Options” отсутствует) до 15 (т.е. может быть максимум 40 байт опций).

TOS (Type Of Service) (8 бит) - значение поля определяет приоритет дейтаграммы и желаемый тип маршрутизации. Структура байта TOS:

Три бита (“Precedence”) определяют приоритет дейтаграммы:

111 - управление сетью

110 - межсетевое управление

101 - CRITIC-ECP

100 - более чем мгновенно

011 - мгновенно

010 - немедленно

001 - срочно

000 - обычно

Биты D,T,R,C определяют желаемый тип маршрутизации:

D (Delay)  - выбор маршрута с минимальной задержкой,

T (Throughput) - выбор маршрута с максимальной пропускной способностью,

R (Reliability) - выбор маршрута с максимальной надежностью,

C (Cost) - выбор маршрута с минимальной стоимостью.

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

Total Length (16 бит) - длина всей дейтаграммы в октетах, включая заголовок и данные, максимальное значение 65535, минимальное - 21 (заголовок без опций и один октет в поле данных).

ID (Identification) (16 бит), Flags (3 бита), Fragment Offset (13 бит) используются для фрагментации и сборки дейтаграмм и будут подробнее рассмотрены ниже в п. 2.4.1.

TTL (Time To Live) (8 бит) - “время жизни” дейтаграммы. Устанавливается отправителем, измеряется в секундах. Каждый маршрутизатор, через который проходит дейтаграмма, переписывает значение TTL, предварительно вычтя из него время, потраченное на обработку дейтаграммы. Так как в настоящее время скорость обработки данных на маршрутизаторах велика, на одну дейтаграмму тратится обычно меньше секунды, поэтому фактически каждый маршрутизатор вычитает из TTL единицу. При достижении значения TTL=0 дейтаграмма уничтожается, при этом отправителю может быть послано соответствующее ICMP-сообщение. Контроль TTL предотвращает зацикливание дейтаграммы в сети.

Protocol (8 бит) - определяет программу (вышестоящий протокол стека), которой должны быть переданы данные дейтаграммы для дальнейшей обработки.

Header Checksum (16 бит) - контрольная сумма заголовка, пересчитывается всеми маршрутизаторами по пути следования. (16 бит, дополняющие биты в сумме всех 16-битовых слов заголовка)

Source Address (32 бита) - IP-адрес отправителя.

Destination Address (32 бита) - IP-адрес получателя.

Options - опции, поле переменной длины. Опций может быть одна, несколько или ни одной. Опции определяют дополнительные услуги модуля IP по обработке дейтаграммы, в заголовок которой они включены. При помощи опций можно задавать маршрутизацию датаграммы от источника(строгое и нестрогое следовани маршруту), требование записи маршрута и временные штампы (используется утилитой traceroute).

Padding - выравнивание заголовка по границе 32-битного слова, если список опций занимает нецелое число 32-битных слов. Поле “Padding” заполняется нулями.