tsvtsfvfvftsvftsvftsvftsvftsv
.pdf17. Понятие маски подсети. Формы записи маски подсети. Бесклассовая
маршрутизация.
Маска — это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети. Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность. Выделяет идентификатор IP-адреса сети и хоста.
Для стандартных классов сетей маски имеют следующие значения:
класс А - 11111111. 00000000. 00000000. 00000000 (255.0.0.0); класс В - 11111111. 11111111. 00000000. 00000000 (255.255.0.0); класс С - 11111111. 11111111.11111111. 00000000 (255.255.255.0).
Снабжая каждый IP-адрес маской, можно отказаться от понятий классов адресов и сделать более гибкой систему адресации. Например, если рассмотренный выше адрес
185.23.44.206 ассоциировать с маской 255.255.255.0, то номером сети будет 185.23.44.0,
а не 185.23.0.0, как это определено системой классов. Расчет номера сети и номера узла с помощью маски:
В
масках количество единиц в последовательности, определяющей границу номера сети, не обязательно должно быть кратным 8, чтобы повторять деление адреса на байты. Пусть, например, для IP-адреса 129.64.134.5 указана маска 255.255.128.0, то есть в двоичном виде:
IP-адрес 129.64.134.5 - 10000001. 01000000.10000110. 00000101 Маска 255.255.128.0 - 11111111.11111111.10000000. 00000000
Если игнорировать маску, то в соответствии с системой классов адрес 129.64.134.5 относится к классу В, а значит, номером сети являются первые 2 байта —
129.64.0.0, а номером узла — 0.0.134.5.
Если же использовать для определения границы номера сети маску, то 17 последовательных единиц в маске, «наложенные» (логическое умножение) на IP-адрес, определяют в качестве номера сети в двоичном выражении число:
или в десятичной форме записи — номер сети 129.64.128.0, а номер узла 0.0.6.5. Существует также короткий вариант записи маски, называемый префиксом или короткой маской. В частности сеть 80.255.147.32 с маской 255.255.255.252, можно записать в виде 80.255.147.32/30, где «/30» указывает на количество двоичных единиц в
маске, то есть тридцать бинарных единиц (отсчет ведется слева направо).
Соответствие префикса с маской:
Механизм масок широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может структурировать свою сеть, не требуя от поставщика услуг дополнительных номеров сетей. На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых «префиксов» с целью уменьшения объема таблиц маршрутизации и повышения за счет этого производительности маршрутизаторов. Помимо этого записывать маску в виде префикса значительно короче.
Бесклассовая адресация (CIDR)
Изначально адресация в IP-сетях осуществлялась по классовому принципу (существовали классы, которые делили адресное пространство на большие блоки). Тем не менее данная схема оказалась непрактичной и сегодня в Интернет используется бесклассовая адресация, известная как Classless Inter-Domain Routing, или сокращенно
CIDR.
В целом, CIDR позволяет описывать блоки IP-адресов для Интернет-подсетей. Так, стандартной считается запись CIDR в виде IP-адреса, следующего за ним символа "/" и число, обозначающее битовую маску подсети, например, 12.13.14.0/24
Число 24 в данном случае будет означать количество старших битов в маске подсети. Так как IP-адрес состоит из 32 бит, но маской являются старшие 24, это значит, что для всех возможных адресов в сети остается 32 - 24 = 8 бит. То есть 28 = 256 возможных. Или, если наша маска была бы 23 бита а не 24, то для адресов осталось бы 9 бит = 29 = 512 возможных, и напротив, если маска будет 25 бит, то для адресов останется 232-25 = 27 = 128 возможных. Таким образом, мы можем описывать сети, состоящие из различного количества доступных адресов. Кроме того, одна большая сеть может быть внутри опять раздроблена на несколько более мелких подсетей, те в свою очередь могут быть также разбиты на подсети и т.д.
Следует отметить, что количество возможных узлов (хостов) в подсети всегда минимум на 2 меньше количества всех возможных адресов. Обусловлено это тем, что первый адрес резервируется, как идентификатор сети, а последний является широковещательным.
18. Публичные и приватные адреса IPv4. Зарезервированные IP-адреса.
Публичные IP-адреса – используются в сети интернет.
Приватные IP-адреса (серые) – используются в локальных сетях, но никогда в интернете. Блоки приватных адресов RFC 1918 (10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16)
Для реализации из публичного в приватный адрес используют NaT и PaT. Зарезервированные IP-адреса:
Сеть (адрес) |
|
Описание |
|
|
Стандарт |
|
|
|
|
|
|
||
0.0.0.0/8 |
Источник адресов текущей сети |
|
|
RFC 5735 |
||
|
|
|
|
|
||
10.0.0.0/8 |
Для организации частных сетей |
|
|
RFC 1918 |
||
|
|
|
|
|
||
100.64.0.0/10 |
Для использования в сети провайдера |
|
|
RFC 6598 |
||
|
|
|
|
|
|
|
|
Интерфейс коммутации внутри хоста. |
Look back, |
для |
RFC 5735 |
||
127.0.0.0/8 |
RFC 1122 |
|||||
правильной работы TCP/IP |
|
|
||||
|
|
|
RFC 3213 |
|||
|
|
|
|
|
||
|
|
|
|
|
||
169.254.0.0/16 |
Для автоматического конфигурирования |
(например, |
при |
RFC 3927 |
||
отсутствии DHCP). APIPA (Automatic Private IP Adressing) |
|
|||||
|
|
|
||||
|
|
|
|
|
||
172.16.0.0/12 |
Для организации частных сетей |
|
|
RFC 1918 |
||
|
|
|
|
|||
192.0.0.0/24 |
Для специального назначения (зарезервировано IETF) |
|
RFC 5735 |
|||
|
|
|
|
|||
192.0.2.0/24 |
Тестовая сеть 1, |
для использования в качестве примеров в |
RFC 5735 |
|||
документации |
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|
||
192.88.99.0/24 |
Для трансляций из IPv6 в IPv4 |
|
|
RFC 3068 |
||
|
|
|
|
|
||
192.168.0.0/16 |
Для организации частных сетей |
|
|
RFC 1918 |
||
|
|
|
|
|
||
198.18.0.0/15 |
Для тестирования производительности |
|
|
RFC 2544 |
||
|
|
|
|
|||
198.51.100.0/24 |
Тестовая сеть 2, |
для использования в качестве примеров в |
RFC 5737 |
|||
документации |
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|||
203.0.113.0/24 |
Тестовая сеть 3, |
для использования в качестве примеров в |
RFC 5737 |
|||
документации |
|
|
|
|||
|
|
|
|
|
||
|
|
|
|
|
||
224.0.0.0/4 |
Для многоадресной рассылки |
|
|
RFC 5771 |
||
|
|
|
|
|||
240.0.0.0/4 |
Зарезервировано для возможных потребностей в будущем |
|
RFC 1700 |
|||
|
|
|
|
|
||
255.255.255.255 |
Широковещательный адрес |
|
|
RFC 919 |
||
|
|
|
|
|
|
19. Протокол IPv6. Отличия от IPv4. Формат пакета IPv6.
Адрес IPv6 состоит из 128 бит, 2 части – индивидуальной сети и индивидуальной сети хекстетов. Спецификация RFC 2460. Сохраняет основные принципы IPv4 неизменными:
Дейтаграммный метод работы
Фрагментация пакетов
Механизм избежания зацикливания
Основные отличия от IPv4:
1)Более длинные адреса
2)Гибкий формат заголовка (много полей разлиных полей)
3)Поддержка резервирования пропускной способности
4)Поддержка расширяемости протокола
Формат пакета IPv6:
Версия |
|
Приоритет пакета |
|
Метка потока |
|
|
|
|
|
|
|
|
Длина данных |
|
Следующий заголовок |
Ограничение пересылок |
|
|
|
|
|
|
|
IP-адрес источника
IP-адрес назначения
Данные
Метка заголовка – служебное поле, которое получает пакет для дополнительной обработки
Следующий заголовок – верхнего уровня Приоритет – результат пропускной способности Адрес хоста – интерфейс IP
20. Адреса IPv6. Типы адресов IPv6. Правила сокращения записи адресов IPv6.
IPv6-адреса имеют длину128 (так определено в RFC 4291. Таким образом адресное пространство IPv6 имеет 3,4 × 10^38 уникальных адресов.
Как правило адрес IPv6 состоит из двух логических частей: 64-битного префикса (под-)сети и 64-битного адреса узла, который либо автоматически генерируется на основе MAC-адреса или устанавливается вручную. Так как уникальный во всем мире MAC-адрес позволяет отслеживать пользователей оборудования, то в IPv6 были внесены изменения (RFC 3041) с возможности отключения постоянной привязки оборудования к IPv6 адресу. Таким образом, удалось восстановить некоторые возможности анонимности, существующие в IPv4. RFC 3041 определяет механизм, с помощью которого, вместо MAC-адресов могут быть использованы случайные битовые строки.
Адреса IPv6, как правило, записываются в виде восьми групп по четыре шестнадцатеричные цифры, где каждая группа разделяется двоеточием (:).
Если одна или несколько из четырех групп цифр нули (0000), они могут быть опущены и заменены двумя двоеточиями (::). Например, 2001:0db8:0000:0000:0000:0000:1428:57ab может быть сокращен до 2001:0db8::1428:57.
В соответствии с этим правилом, любое число последовательных 0000-групп может быть сокращены до двух двоеточий, до тех пор, пока существует только одно двойное двоеточие. Ведущие нули в группе могут быть опущены (например ::1 для localhost). Таким образом, следующие адреса правильны и идентичны:
2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab
Адрес с двумя двойными двоеточиями является недействительным, поскольку создает двусмысленность в нотации. Например, сократив
2001:0000:0000:FFD3:0000:0000:0000:57ab до 2001::FFD3::57ab мы получим возможные комбинации: 2001:0000:0000:0000:0000:FFD3:0000:57ab, 2001:0000:FFD3:0000:0000:0000:0000:57ab и т.д.
Последовательность из 4 байт в конце IPv6-адреса может быть записана в десятичной форме, используя в качестве разделителя точки. Эта нотация часто используется для совместимости с адресами. Кроме того, это решение удобно, когда речь идет о смешанной среде IPv4 и IPv6-адресов. Общее обозначение имеет форму х:х:х:х:х:х:d.d.d.d, где х - 6 групп шестнадцатеричных цифр верхнего октета, а d соответствует десятичным цифрам нижнего октета адреса, поскольку он в формате IPv4.
Так, например, ::ffff:12.34.56.78 соответствует ::ffff:0c22:384e или
0:0:0:0:0:ffff:0c22:384e.
Типы адресов:
1)Глобальные (Unicast): 2000÷3FFF/3
2)Link-local (локальные): FE80÷FEBF/10
3)Unique local: FC00÷FDFF/7
4)Multicast: FF00::8
ВIPv6 нет Broadcast.
21. Механизм генерации адресов EUI-64.
Механизм EUI-64 позволяет хосту в IPv6 самостоятельно генерировать себе идентификатор интерфейса – то есть вторую половину IPv6 адреса. Перед прочтением этой статьи следует ознакомиться со структурой IPv6 адреса, так же, рекомендуется прочесть материал по автоматической конфигурации адресов в IPv6.
Когда устройство получает адрес в процессе автоматической конфигурации (SLAAC), оно получает не непосредственный готовый IP адрес, состоящий из 128 бит,
атолько префикс и сеть. Например, оно может получить следующую информацию:
Сеть 2001:0DB8:0001:0001:0000:0000:0000:0000
Префикс /64
Адрес шлюза 2001:0DB8:001:001:0000:0000:0000:0001
Видно, что мы знаем только сеть, в которой находимся, а не получаем IP адрес полностью. Оставшиеся 64 бита (справа) устройство заполняет самостоятельно либо случайными числами, либо с помощью алгоритма EUI-64.
EUI-64
64 бита для идентификатора интерфейса формируются на основании MAC адреса устройства. MAC адрес состоит из 48 бит. Для получения из него 64-битного идентификатора, выполняется следующий алгоритм:
1)MAC адрес делится на две части по 24 бита каждая.
2)Между этими частями вставляются шестнадцатеричные цифры FFFE.
3)Седьмой по порядку бит полученного адреса меняется на противоположный (1 – на 0, 0 – на единицу)
22. Технологии туннелирования.
Туннелирование – механизмы, которые необходимы для корректного функционирования IPv4 и IPv6 и преобразования их из одного в другой (RFC 7059 te dev).
Технологии туннелирования:
6in4. Один из самых старых способов туннелирования, придуманный аж в 1996 году, и до сих пор очень популярный. Такие крупные туннель-брокеры, как Hurricane Electric, gogo6 и SIXXS используют его. Использует протокол 41 (не путайте с портом!) и не работает через NAT. Поддерживается всеми современными ОС из коробки.
6over4. По сути, 6over4 нельзя назвать туннелем в привычном смысле этого слова. Он использует IPv4 как виртуальный ethernet для IPv6, например, multicastадрес ff02::1 превращается в IPv4 multicast-адрес 239.192.0.1. Протокол поддерживает генерацию Link-Local адреса, Neighbor Discovery и конфигурируется автоматически. Из-за того, что все роутеры в сети должны поддерживать Multicast, протокол не стал популярным. Поддержка в современных ОС отсутствует или ограничена.
6to4. 6to4 превратит ваш IPv4-адрес в IPv6 /48-подсеть. По сути, это тот же 6in4, но с фиксированным anycast IPv4 адресом: 192.88.99.1. Протокол полностью автоконфигурируемый, ручная настройка невозможна. Легок в настройке. Минус в том, что ваш IPv4-адрес можно узнать из IPv6-адреса, и то, что вы не можете выбрать сервер, через который происходит туннелирование. В некоторых случаях, вы вообще не сможете узнать, кому этот сервер принадлежит. Использует специальный префикс 2002::/16. Не работает через NAT.
6rd. Этот протокол основан на 6to4, только предназначен для развертывания внутри большой организации или ISP. Не использует префикс 2002::/16, а использует обычный диапазон адресов, выданный вашему провайдеру. Может автоматически настраиваться разными способами, самый популярный — через DHCPv4 специальным параметром.
AYIYA. Расшифровывается как Anything In Anything, этот протокол может инкапсулировать, собственно, что-либо во что-либо. Протокол придуман туннельброкером SIXXS и используется им же. В данный момент, в основном, используется IPv4-UDP-AYIYA-IPv6. Есть поддержка чексумм и авторизации. Работает через NAT.
ISATAP. Этот протокол несколько похож на 6over4, но не использует Multicast. ISATAP не поддерживает Multicast вообще. IPv6-адреса генерируются на основе IPv4адреса. Предполагается, что IPv4-адрес будет уникальным, поэтому не работает с NAT. Связь с ISATAP-хостами возможна только в том случае, если у вас тоже настроен ISATAP. Поддерживается современными ОС.
Teredo. Крайне популярный способ туннелирования, не требующий особых настроек. В Windows (начиная с Vista) настроен и включен по умолчанию, в Linux поднимается за несколько секунд с использованием Miredo. От вас требуется указать Teredo-сервер (или использовать сервер по умолчанию), все остальное сконфигурируется автоматически. Работает через NAT, однако, с нюансами (зависит как от типа NAT, так и от имплементации на стороне Teredo-сервера).
6a44. Протокол сделан под влиянием Teredo, но предназначен для развертывания средствами ISP. Аналогично 6rd и 6to4, клиентам выдается IPv6-
префикс провайдера, а не IPv6-префикс Teredo. Похоже, пока нигде не поддерживается.
6bed4. Peer-to-Peer IPv6 on Any Internetwork. 6bed4 предназначен для создания p2p IPv6-сети внутри IPv4-сети, не запрещающей p2p-соединения между хостами. Протокол является гибридом 6to4 и Teredo: IPv6-адрес формируется из IPv4 и UDPпорта, если p2p-соединение невозможно, используется релей, который может быть запущен ISP или просто сторонней организацией. Работает через NAT, поддерживает как автоконфигурирование, так и ручную настройку.
LISP. Locator/ID Separation Protocol ставит основной целью разделить зависимость IPv6-адреса от местоположения клиента. Используя этот протокол, вы можете использовать свой (предположим, домашний) IPv6-адрес вне вашей сети, без проксирования трафика. По концепции, схож с Proxy Mobile IPv6. Сам протокол достаточно сложный и использовать его исключительно для туннелирования достаточно глупо. Не работает через NAT. Поддерживается Cisco, Linux и FreeBSD.
SEAL. Subnetwork Encapsulation and Adaptation Layer. Совсем свежий протокол, draft появился в октябре 2013. Поддерживает несколько IPv4-линков, и, соответственно, multihoming. Есть аутентификация и anti-replay механизм. SEAL Control Message Protocol используется для обменом служебными данными между хостами.
Прото |
Туннелей |
IPv6- |
Публичн |
NAT- |
P2P |
Gateway |
кол |
на IPv4- |
хостов |
ый IPv4 |
совмести |
|
принадлежит |
|
адрес |
на |
|
мость |
|
|
|
|
туннель |
|
|
|
|
|
|
|
|
|
|
|
6to4 |
Один |
Много |
Требуется |
Нет |
Глобальный |
ISP или публичный |
|
|
|
|
|
|
|
LISP |
Один |
Много |
Требуется |
Нет |
Настраивает |
ISP или Tunnel |
|
|
|
|
|
ся |
Broker |
|
|
|
|
|
|
|
6rd |
Один |
Много |
Не |
Нет |
Внутри |
ISP |
|
|
|
требуется |
|
домена |
|
|
|
|
|
|
|
|
6in4 |
Один |
Много |
Не |
Ограниче |
Нет |
ISP или Tunnel |
|
|
|
требуется |
нная |
|
Broker |
|
|
|
|
|
|
|
Teredo |
Много |
Один |
Не |
Да |
Глобальный |
Публичный релей |
|
|
|
требуется |
|
|
|
|
|
|
|
|
|
|
6bed4 |
Много |
Много |
Не |
Да |
Глобальный |
ISP, Tunnel Broker |
|
|
|
требуется |
|
|
или публичный |
|
|
|
|
|
|
релей |
|
|
|
|
|
|
|
6a44 |
Много |
Много |
Не |
Да |
Внутри |
ISP |
|
|
|
требуется |
|
домена |
|
|
|
|
|
|
|
|
AYIYA |
Много |
Много |
Не |
Да |
Нет |
ISP или Tunnel |
|
|
|
требуется |
|
|
Broker |
|
|
|
|
|
|
|
SEAL |
Много |
Много |
Не |
Да |
Настраивает |
ISP или Tunnel |
|
|
|
требуется |
|
ся |
Broker |
|
|
|
|
|
|
|
23. Протоколы динамической маршрутизации. Классификация.
Специальный протокол, который осуществляет маршрутизацию в сети, определяет короткие пути. В каждом устройстве есть таблица маршрутизации.
Метрика маршрутизации – параметр, по которому определяется наименьший значительный маршрут.
Административное расстояние – параметр, который используется маршрутизатором для выбора оптимального маршрута при наличии двух и более альтернативных маршрутов до устройства, по различным протоколам маршрутизации.
Маршрутизация:
1)Статическая – администратор задает сам
2)Динамическая – протоколы
a)Дистанционно векторные (RIP 1, 2, 6; Cisco IGRP, EIGRP, BGP)
b)Протоколы маршрутизации на основе анализа состояния канала (OSPF, IS-
IS) по алгоритму Деикстры Протоколы делятся:
1)Внутреннего шлюза (IGP)
2)Внешнего шлюза (EGP) BGP
RIP - дистанционно-векторный внутренний протокол маршрутизации
IGRP - дистанционно-векторная внутренняя маршрутизация, разработанная Cisco (является устаревшей в IOS 12.2 и более поздних версиях)
OSPF - внутренний протокол маршрутизации состояния канала
IS-IS - внутренний протокол маршрутизации состояния канала
EIGRP - усовершенствованный дистанционно-векторный внутренний протокол маршрутизации, разработанный Cisco
BGP - маршрутно-векторный внешний протокол маршрутизации
24. Протокол RIP.
Протокол маршрутной информации (RIP – Routing Information Protocol) — внутренний протокол маршрутизации, используется внутри автономной системы. Основан на применении дистанционного вектора маршрутизации.
RIP версии 1 |
hop |
|
Метрика – количество перенаправлений (hop) |
||
|
||
|
||
Работает только с классовой IP-адресацией |
|
RIP версии 2
Метрика такая же. Максимальное количество hop не может превышать 15 Может работать с безклассовыми IP-адресами
Формат сообщения RIP
Команда. Это поле 8 бит задает тип сообщения: запрос (1) или ответ (2). Версия. Это поле 8 бит определяет версию. В этой книге мы используем версию
1, но в конце этого раздела мы назовем некоторые особенности версии 2. Семейство. Это поле 16 бит определяет семейство используемых протоколов.
Для TCP/IP значение равно 2.
Адрес сети. Поле адрес определяет адрес пункта назначения. RIP отводит 14 байт для этого поля в приложении к любым протоколам. Однако IP в настоящее время использует только 4 байта. Остаток адреса заполняется нулями.
Расстояние. Это поле 32 бита определяет счет участков для каждого объявленного маршрутизатора к сети назначения.