2. Лекция - Статическая маршрутизация.
Адресация в сети Internet.
Типы адресов.
В самом начале развития сети было принято решение раздавать IP-адреса блоками, было создано три вида блока, и зарезервировано под эти блоки адреса:
Типы адресов:
-
unicast - уникальный адрес, адрес конкретного хоста.
-
broadcast - широковещательный адрес, адрес для все хостов.
-
multicast - групповой адрес, адрес для группы хостов.
Классы адресов
Класс | Длина сетевой части адреса в байтах | Первое число | Количество IP - адресов в блоке | Пример блока |
A | 1 | 0-127 | 16 777 216 | 122.0.0.0/255.0.0.0 или 122.0.0.0/8 |
B | 2 | 128-191 | 65 536 | 152.126.0.0/255.255.0.0 или 122.126.0.0/16 |
C | 3 | 192-223 | 256 | 83.149.236.0/255.255.255.0 или 122.149.236.0/24 |
Специальные адреса | ||||
D | - | 224-239 | групповые адреса | |
E | - | 240-255 | для экспериментальных целей |
Пояснение, откуда появились именно такие адреса
Как показала практика, такое распределение оказалось не эффективным. Самая большая потребность именно в сетях класса C, а не в B и A. Но классы B и A "съели" большую часть адресов, и их стало не хватать.
Поэтому была принята бесклассовая раздача адресов, которая позволяет, например, дать блок в несколько адресов, либо блок из 256 и еще 64 адресов.
Это пока спасает ситуацию до перехода на IPv6.
Для того, что бы выделить четыре адреса в блок, используют маску подсети, например:
выделим адреса с 83.149.236.0 по 83.149.236.31 в отдельный блок, чтоб задать 32 адреса нужно 5 бит (2^5=32)
256-32=224
83.149.236.0/255.255.255.224 или 83.149.236.0/27 (32-5=27)
Почему называется маска?
01010011 10010101 11101100 00000000 - сеть 83.149.236.0
Наложим маску на адрес (логическое И, 1и1=1, 1и0=0, 0и0=0)
01010011 10010101 11101100 00010000 - проверяемый адрес 83.149.236.16
11111111 11111111 11111111 11100000 - маска 255.255.255.224
01010011 10010101 11101100 00000000 - получаем сеть 83.149.236.0 (в двоичном, см. выше)
Это был адрес принадлежащий сети.
Возьмем адрес не принадлежащий сети - 83.149.236.64
01010011 10010101 11101100 01000000 - проверяемый адрес 83.149.236.64
11111111 11111111 11111111 11100000 - маска 255.255.255.224
01010011 10010101 11101100 01000000 - не получаем сеть 83.149.236.0, значит адрес не принадлежит сети.
Адреса зарезервированные для закрытых локальных сетей (в Интернете их не видно):
10.0.0.0/8
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
Специальные адреса (зарезервированные).
127.0.0.1 - это адрес обратной связи (loopback) - пакеты по нему реально в сеть не отправляются. Этому адресу по умолчанию назначают имя localhost.
255.255.255.255 - широковещательный адрес, для всех сетей. Используется для DHCP.
Широковещательный (broadcast) адрес сети.
Пакеты посланные на широковещательный адрес, должны принимать все компьютеры этой сети.
Принято назначать широковещательным - последний адрес сети.
Например:
для сети 83.149.236.0/24
83.149.236.255 - broadcast адрес сети 83.149.236.0/24.
83.149.236.0 - адрес сети, unicast-адреса с таким номером быть не должно. Т.е. минимальный размер подсети может быть в 4 адреса.
Кроме случая, когда используется маска 32, для указания одного unicast-адреса, например - 83.149.236.36/32
Групповой адрес (multicast).
Предназначен для группы хостов.
Например, адрес 224.0.0.5 - адрес OSPF - маршрутизаторов, т.е. все OSPF - маршрутизаторы обязаны принимать пакеты с адресом назначения 224.0.0.5.
Статическая маршрутизация.
Для маршрутизации нужна маршрутная информация, куда (на какой интерфейс) пакет отправлять, зная адрес назначения.
Статическая маршрутизация - это когда таблица маршрутизации формируется "вручную".
Таблицы маршрутизации.
Для получения таблицы маршрутизации используется команда route.
Рассмотрим таблицы маршрутизации самой простой сети.
Схема сети
Столбцы таблицы маршрутизации:
-
Destination - адрес сети назначения
-
Gateway - адрес шлюза
-
Genmask - маска сети назначения
-
Flags - флаги
U - показывает, что маршрут активен.
G - показывает, что маршрут проходит через промежуточный маршрутизатор (Gateway).
H - специфический маршрут, маршрут к этому хосту отличается от маршрута ко всей этой сети. -
Metric - метрика, если для отправки можно использовать несколько маршрутов, позволяет делать выбор.
Метрика =0 обозначает, что эта сеть непосредственно подключена к данному интерфейсу. -
Ref - сколько раз ссылались на данный маршрут при обработке пакетов
-
Use - количество пакетов, переданное по данному маршруту.
-
Iface - интерфейс для отправки пакетов.
Таблица (linux) маршрутизации на 192.168.0.6
1 2 3 4 5 6 7 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 # |
В таблице прописаны два правила:
-
Пакеты для сети 192.168.0.0/255.255.255.0 посылать напрямую, т.е. не через маршрутизатор.
-
Пакеты для всех остальных сетей посылать на default-маршрутизатор с адресом 192.168.0.1.
Таблица (linux) маршрутизации на 192.168.0.1
1 2 3 4 5 6 7 8 9 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth1 83.149.236.64 * 255.255.255.224 U 0 0 0 eth0 default 83.149.236.92 0.0.0.0 UG 0 0 0 eth0 # |
В таблице прописаны три правила:
-
Пакеты для сети 192.168.0.0/255.255.255.0 посылать напрямую, через интерфейс eth1.
-
Пакеты для сети 83.149.236.64/255.255.255.224 посылать напрямую, через интерфейс eth0.
-
Пакеты для всех остальных сетей посылать на default-маршрутизатор с адресом 83.149.236.92, через интерфейс eth0.
В разных системах таблицы немного отличаются, но в целом очень похожи.
Пример таблицы маршрутизации в Windows
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
>route PRINT =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 10.85.241.18 10.85.241.63 1 10.85.240.0 255.255.254.0 10.85.241.63 10.85.241.63 20 10.85.241.63 255.255.255.255 127.0.0.1 127.0.0.1 20 10.255.255.255 255.255.255.255 10.85.241.63 10.85.241.63 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 224.0.0.0 240.0.0.0 10.85.241.63 10.85.241.63 20 255.255.255.255 255.255.255.255 10.85.241.63 10.85.241.63 1 Основной шлюз: 10.85.241.18 =========================================================================== |
Источники информации для таблицы маршрутизации:
-
Ручная настройка сетевых интерфейсов.
-
Ручная настройка default маршрутизатора.
-
Ручная настройка настройка маршрутов.
-
Динамические протоколы - RIP, OSPF и т.д.
Рассмотрим intranet сеть (без выхода в Интернет) из четырех сегментов.
Схема сети.
Таблица (linux) маршрутизации на маршрутизаторе.
1 2 3 4 5 6 7 8 9 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 192.168.2.0 * 255.255.255.0 U 0 0 0 eth0 192.168.3.0 * 255.255.255.0 U 0 0 0 eth0 # |
Таблица (linux) маршрутизации на 192.168.0.6.
1 2 3 4 5 6 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 # |
Таблица (linux) маршрутизации на 192.168.1.128.
1 2 3 4 5 6 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 # |
Таблица (linux) маршрутизации на 192.168.2.32.
1 2 3 4 5 6 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 # |
Таблица (linux) маршрутизации на 192.168.3.64.
1 2 3 4 5 6 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.3.0 * 255.255.255.0 U 0 0 0 eth0 default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0 # |
Маршрутизация без маски (на классах).
Таблица (linux) маршрутизации без использования маски
1 2 3 4 5 6 7 8 9 10 11 12 |
# route Kernel IP routing table Destination Gateway Flags Metric Ref Use Iface 192.168.0.0 * U 0 0 0 eth0 192.168.1.0 * U 0 0 0 eth0 192.168.2.0 * U 0 0 0 eth0 192.168.3.0 * U 0 0 0 eth0 192.168.4.0 * U 0 0 0 eth0 192.168.5.0 * U 0 0 0 eth0 192.168.6.0 * U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 # |
Маршрутизация с маской (CIDR).
Это позволяет создавать непрерывное адресное пространство с разным количеством адресов, и маршрут к нему, что уменьшает записей в таблице и оптимальнее распределять адресное пространство.
Таже таблица (linux) маршрутизации, но с использованием маски.
1 2 3 4 5 6 |
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.248.0 U 0 0 0 eth0 default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 # |