По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Создание VLAN-ов, как и все другие конфигурации на сетевом оборудование, достигается путем ввода соответствующих команд. В этой статье рассматриваются настройка разных типов VLAN на коммутаторах Cisco. Диапазоны VLAN на коммутаторах Catalyst В зависимости от модели, коммутаторы Cisco поддерживает разное число VLAN. Числа поддерживаемых VLAN обычно вполне достаточно для задач большинства компаний. Например, коммутаторы Cisco Catalyst 2960 и 3650 поддерживают больше 4000 виртуальных сетей. Нормальный диапазон VLAN начинается от 1 до 1005, а расширенный – от 1006 до 4094. На выводе внизу можно увидеть VLAN по умолчание на коммутаторе Cisco Catalyst 2960 с Cisco IOS 15 версии. Switch# show vlan brief VLAN Name Status Ports ---- ----------------- ------- -------------------- 1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4 Fa0/5, Fa0/6, Fa0/7, Fa0/8 Fa0/9, Fa0/10, Fa0/11, Fa0/12 Fa0/13, Fa0/14, Fa0/15, Fa0/16 Fa0/17, Fa0/18, Fa0/19, Fa0/20 Fa0/21, Fa0/22, Fa0/23, Fa0/24 Gi0/1, Gi0/2 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup Нормальный диапазон VLAN Ниже перечислены основные характеристики нормального диапазона: Они используются в малых, средних и больших сетях; Нумерация начинается от 1 до 1005; Идентификаторы с 1002 до 1005 зарезервированы для устаревших сетей (Token Ring, FDDI); Идентификаторы с 1002 до 1005 созданы автоматически и не могут быть удалены; Созданные VLAN хранятся в памяти коммутатора в файле базы данных VLAN, именуемого vlan.dat; VTP, если настроен, помогает распространять все VLAN между коммутаторами. Расширенный диапазон Ниже перечислены основные характеристики расширенного VLAN: Используется провайдерами и очень большими компаниями; Нумерация начинается с 1006 по 4094; По умолчанию, они хранятся в running-config; Имеют меньшую функциональность, чем нормальные VLAN; Для настройки расширенного VLAN VTP должен работать в режиме transparent. Примечание: Ограничение количества доступных VLAN продиктовано особенностями заголовка 802.1Q. Полю VLAN ID заголовка 802.1Q IEEE выделено всего 12 бит, поэтому 4096 -- верхняя граница доступных VLAN на коммутаторах Catalyst. А если нужно больше, то можно обратиться к такой технологии как VXLAN. Команды для создания VLAN Когда создается VLAN нормального диапазона, как уже было отмечено, эти настройки хранятся в файле vlan.dat, то есть не нужно вводить команды copy running-config startup-config или write memory. Тем не менее, чтобы не потерять изменения сделанные наряду с созданием VLAN, рекомендуется сохранять текущую конфигурацию. В таблице ниже перечислены команды, которые нужно вводит для создания VLAN и присвоения им названия. Хорошей практикой считается давать VLAN понятные названия, чтобы облегчить поиск и устранение проблем в будущем. ЗадачаIOS командаВойти в режим глобальной конфигурацииSwitch# configure terminalСоздать VLAN с валидным IDSwitch(config)# vlan vlan-idУказать уникальное имя для идентификации VLANSwitch(config-vlan)# name vlan-nameВернуться в привилегированный режим EXECSwitch(config-vlan)# end Пример создания VLAN В топологии ниже, порт к которому подключен ПК Stundent, еще не добавлен ни в один VLAN, но у него есть IP 172.17.20.22, который принадлежит VLAN 20. Пример ниже демонстрирует настройку VLAN 20 с названием student на коммутаторе S1. S1# configure terminal S1(config)# vlan 20 S1(config-vlan)# name student S1(config-vlan)# end Примечание: Кроме создание VLAN-ов по одному, так же есть возможность создания нескольких влан, вводя их идентификаторы через запятые или дефис. Например, команда vlan 100,102,105-107 в режиме конфигурации создаст сразу 5 VLAN-ов с идентификаторами 100, 102, 105, 106, и 107 Добавление портов в VLAN После создания VLAN, следующий шаг – это добавление нужных портов в конкретный VLAN. В таблице ниже приведены команды для переведения порта в режим access и добавления в конкретный VLAN. Команда switchport mode access опциональна, но в целях безопасности рекомендуется вводить ее, так как она принудительно переводит порт в режим access, что помогает защищаться от атак вроде VLAN Hopping. ЗадачаIOS командаВойти в режим глобальной конфигурацииSwitch# configure terminalВойти в режим конфигурации интерфейсаSwitch(config)# interface interface-idУстановить порт в режим accessSwitch(config-if)# switchport mode accessПрисвоить порт VLAN'у.Switch(config-if)# switchport access vlan vlan-idВернуться в привилегированный режим EXECSwitch(config-if)# end Примечание: Для одновременной конфигурации нескольких портов можно воспользоваться командой interface range. Пример присвоения порту VLAN В топологии ниже порт F0/6 коммутатора S1 настроен в режиме access и добавлен в VLAN 20. Теперь любое устройство, подключенное к данному порту, будет в 20-ом VLAN-е, как и ПК2 в нашем случае. А ниже приведен пример команд для реализации вышеуказанной цели. S1# configure terminal S1(config)# interface fa0/6 S1(config-if)# switchport mode access S1(config-if)# switchport access vlan 20 S1(config-if)# end VLAN настраивается на порту коммутатора, а не на конечном устройстве. ПК2 присвоен IP адреси маска подсети, которая относиться к VLAN 20, а последний указан на порту коммутатора. Если VLAN 20 настроить на другом коммутаторе, администратор сети должен настроить другой компьютер так, чтобы он был в одной подсети с ПК2 (172.17.20.0/24). VLAN данных и голосовой VLAN На порту коммутатора в режиме access можно настроить не более одного VLAN-а данных. Тем не менее, на том же порту можно настроить голосовой VLAN. Например, порт к которому подключены IP телефон и конечное устройство, может быть сразу в двух VLAN-ах, - голосовом и VLAN-е данных. Например, в топологии ниже, ПК5 подключен к IP телефону, который в свою очередь подключен к порту F0/18 коммутатора S3. Для реализации данной идеи созданы VLAN данных и голосовой VLAN. Пример голосового VLAN и VLAN данных Чтобы настроить на интерфейсе голосовой VLAN используется команда switchport voice vlan [vlan-id] в режиме конфигурации порта на коммутаторе. В сетях, где поддерживается голосовой трафик, обычно настраиваются различные QoS. Голосовой трафик должен быть маркирован доверенным, как только попадет на интерфейс. Чтобы пометить голосовой трафик как доверенный, а так же указать какое поле пакета используется для классификации трафика, применяется команда mls qos trust [cos | device cisco-phone | dscp | ip-precedence] в режиме конфигурации интерфейса. Конфигурация в примере ниже создаст два VLAN-а и присвоит порту F0/18 коммутатора S3 VLAN данных с идентификатором 20, а также голосовой VLAN 150 и включит QoS, на основе CoS. S3(config)# vlan 20 S3(config-vlan)# name student S3(config-vlan)# vlan 150 S3(config-vlan)# name VOICE S3(config-vlan)# exit S3(config)# interface fa0/18 S3(config-if)# switchport mode access S3(config-if)# switchport access vlan 20 S3(config-if)# mls qos trust cos S3(config-if)# switchport voice vlan 150 S3(config-if)# end Если на коммутаторе еще не создан нужный VLAN команда switchport access vlan принудительно создаст его. Например, VLAN 30 не выводится при вводе команды switchport vlan brief. Но если ввести команду switchport access vlan 30 без предварительного создания под любым интерфейсом на терминале выведется соответствующее сообщение: % Access VLAN does not exist. Creating vlan 30 Проверка настроек VLAN После настроек VLAN, правильность конфигурации можно проверить с помощью команды show с последующим ключевым словом. Команда show vlan выводит список существующих VLAN. Данной команде можно задать разные параметры. Полный синтаксис команды такой: show vlan [brief | id vlan-id | name vlan-name | summary]. В таблице описываются параметры команды show vlan. ЗадачаОпция командыОтображение имени, статуса и портов VLAN по одной VLAN на строкуbriefОтображение информации об определенном номере VLAN ID. Для vlan-id диапазон от 1 до 4094id vlan-idОтображение информации об определенном имени VLAN. Vlan-name - это строка ASCII от 1 до 32 символов.name vlan-nameОтображение сводной информации о VLANsummary Команда show vlan summary выводит количество настроенных VLAN на коммутаторе: S1# show vlan summary Number of existing VLANs : 7 Number of existing VTP VLANs : 7 Number of existing extended VLANS : 0 Есть и другие полезные команды вроде show interfaces interface-id switchport и show interfaces vlan vlan-id. Например, команда show interfaces fa0/18 switchport может использоваться для проверки правильно ли присвоен интерфейс F0/18 к голосовому VLAN и VLAN данных. S1# show interfaces fa0/18 switchport Name: Fa0/18 Switchport: Enabled Administrative Mode: static access Operational Mode: static access Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 20 (student) Trunking Native Mode VLAN: 1 (default) Voice VLAN: 150 Administrative private-vlan host-association: none (Output omitted) Переназначение VLAN на интерфейсе Есть несколько вариантов переназначения интерфейсу VLAN-а. Если неправильно сконфигурировали VLAN на интерфейсе, просто введите команду switchport access vlan vlan-id подставив нужный VLAN. Например, представим что порт F0/18 добавлен в VLAN по умолчанию VLAN 1. Чтобы поменять на VLAN 20, достаточно ввести switchport access vlan 20. Чтобы вернуть обратно в VLAN по умолчанию в режиме конфигурации интерфейса введите команду no switchport access vlan. На выводе ниже можно убедиться, что 18-ый порт коммутатора находится в VLAN по умолчанию. S1(config)# interface fa0/18 S1(config-if)# no switchport access vlan S1(config-if)# end S1# S1# show vlan brief VLAN Name Status Ports ---- ------------------ --------- ------------------------------- 1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4 Fa0/5, Fa0/6, Fa0/7, Fa0/8 Fa0/9, Fa0/10, Fa0/11, Fa0/12 Fa0/13, Fa0/14, Fa0/15, Fa0/16 Fa0/17, Fa0/18, Fa0/19, Fa0/20 Fa0/21, Fa0/22, Fa0/23, Fa0/24 Gi0/1, Gi0/2 20 student active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup Следует заметить, что 20-ый VLAN все еще активен, несмотря на то, что под ним нет никакого интерфейса. Чтобы убедиться, что на 18-ый порт в VLAN 1, можно воспользоваться командой show interfaces f0/18 switchport: S1# show interfaces fa0/18 switchport Name: Fa0/18 Switchport: Enabled Administrative Mode: static access Operational Mode: static access Administrative Trunking Encapsulation: negotiate Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Удаление VLAN Для удаления VLAN используется команда no vlan vlan-id в глобальном режиме конфигурации. Внимание: Прежде чем удалить VLAN убедитесь, что все интерфейсам с данным VLAN назначен другой. Чтобы удалить весь файл vlan.dat введите команду delete flash:vlan.dat в привилегированном режиме EXEC. После перезагрузки все настроенные на коммутаторе VLAN удалятся. Примечание: Чтобы сбросить коммутаторы Catalyst до заводских настроек отсоедините все кабели кроме кабеля питания и консольного кабеля, от коммутатора. Затем введите erase startup-config после него delete vlan.dat. После перезагрузки коммутатор сбросится до первоначальных настроек. Настройка Trunk После создания и настройки VLAN, пора перейти к конфигурации Trunk портов. Trunk это связь на втором уровне OSI между коммутаторами, который пропускает все VLAN (если список разрешенных VLAN явно не указан). Для настройки интерфейса в режиме Trunk нужно воспользоваться команды, указанные ниже в таблице: ЗадачаIOS командаВойти в режим глобальной конфигурацииSwitch# configure terminalВойти в режим конфигурации интерфейсаSwitch(config)# interface interface-idУстановите порт в режим постоянного транкингаSwitch(config-if)# switchport mode trunkУстанавливает для native VLAN значение, отличное от VLAN 1Switch(config-if)# switchport trunk native vlan vlan-idУкажите список VLAN, разрешенных для транкаSwitch(config-if)# switchport trunk allowed vlan vlan-listВернуться в привилегированный режим EXECSwitch(config-if)# end Пример настройки Trunk В топологии ниже VLAN 10, 20 и 30 обслуживают компьютеры Faculty, Student и Guest. Порт F0/1 коммутатора S1 настроек в режиме Trunk и пропускает VLAN-ы 10, 20, 30. VLAN 99 настроен в качестве native (VLAN по умолчанию). В данном примере показывается настройка порта в режиме trunk, смена VLAN по умолчанию и ограничение разрешенных VLAN. S1(config)# interface fastEthernet 0/1 S1(config-if)# switchport mode trunk S1(config-if)# switchport trunk native vlan 99 S1(config-if)# switchport trunk allowed vlan 10,20,30,99 S1(config-if)# end Примечание: В данном примере подразумевается, что используется коммутатор Cisco Catalyst 2960, в котором порты по умолчанию используют 802.1Q. На других коммутаторах может понадобиться ручная настройка режима энкапсуляции на интерфейсе. Так же следует настроить VLAN по умолчанию на обоих концах, иначе коммутатор будет выдавать ошибки. Проверка настройки Trunk Вывод ниже демонстрирует настройки интерфейса Fa0/1 коммутатора S1. Данный вывод получен с помощью команды show interfaces interface-ID switchport: S1# show interfaces fa0/1 switchport Name: Fa0/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 99 (VLAN0099) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk associations: none Administrative private-vlan trunk mappings: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 (output omitted) Подчеркнутые части показывают режим работы интерфейса и нативный VLAN. Сброс trunk до настроек по умолчанию Для сброса настроек транкового интерфейса используйте команды no switchport trunk allowed vlan и no switchport trunk native vlan. После сброса настроек данный порт будет пропускать все VLAN-ы и VLAN-ом по умолчанию будет VLAN 1. S1(config)# interface fa0/1 S1(config-if)# no switchport trunk allowed vlan S1(config-if)# no switchport trunk native vlan S1(config-if)# end Вывод команды show interfaces f0/1 switchport показывает, что порт сброшен до настроек по умолчанию: S1# show interfaces fa0/1 switchport Name: Fa0/1 Switchport: Enabled Administrative Mode: trunk Operational Mode: trunk Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: dot1q Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk associations: none Administrative private-vlan trunk mappings: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 (output omitted) В вывод ниже показывает команды, которые используются для смены режима работы интерфейс с trunk на access. S1(config)# interface fa0/1 S1(config-if)# switchport mode access S1(config-if)# end S1# show interfaces fa0/1 switchport Name: Fa0/1 Switchport: Enabled Administrative Mode: static access Operational Mode: static access Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: native Negotiation of Trunking: Off Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled (output omitted)
img
В производственной среде даже минимальное время простоя недопустимо. Это может привести к потере доходов и, что хуже всего, репутации. Чтобы отладить возможные сценарии, которые приводят к простою, развертываются разные системы регистрации событий и мониторинга. Это помогает экономить средства и своевременно выявлять проблемы, которые могут возникнуть в будущем. В настоящее время большинство организаций, вне зависимости от размера, так или иначе использует принципы и инструменты DevOps. Наиболее популярны контейнеры и Kubernetes. И мониторинг такой системы проводится очень эффективно с помощью Prometheus. Но там, где Prometheus отстает – узкая часть. Она не обеспечивает централизованную систему логирования, и именно здесь на сцену выходит Loki. Что такое Grafana Loki? Grafana Loki - система агрегации логов с нескольких источников, запущенная компанией Grafana в 2018 году и выпущенная под лицензией Apache 2.0. Разработки системы были вдохновлены Prometheus. Он широко используется с поставщиками облачных технологий и такими инструментами, как Prometheus и Grafana. Loki аналогичен стеку ELK/EFK, но его проще настроить и использовать, и предлагает лучшие функциональными возможностями. Loki не индексирует содержимое журнала, а индексирует метки времени и набор меток для потока журнала. Это делает индекс меньше, что упрощает операции и в конечном итоге снижает стоимость. Преимущества Loki Ниже приведены преимущества использования Loki в стеке: Благодаря индексации только метаданных, Loki очень экономичен. Выполнение индексов для полнотекстовой обработки требует большей оперативной памяти, которая стоит дорогой. Хранение журналов на объектах хранения, как S3, также уменьшает себестоимость. Он поддерживает использование нескольких источников с использованием tenantID, поэтому данные из каждого ресурса хранятся отдельно. Loki можно запускать локально для небольших операций или легко масштабировать по горизонтали для крупномасштабных операций. Он использует динамический стиль для обеспечения согласованности кворума для операций чтения и записи. По умолчанию он настроен на создание 3 реплик журналов для защиты от сбоев процессов и внезапных выходов с места потери журналов. Да, это повлечет за собой дополнительные расходы, но не такие высокие – целостность данных более критична. Легко интегрируется с такими популярными инструментам, как Kubernetes, Prometheus и визуализация в Grafana. Архитектура Loki Архитектура Loki состоит из трех компонентов - Promtail, Loki и Grafana. Promtail - это агент, который должен быть установлен на каждом узле, на котором выполняются приложения или службы. Основной обязанностью Promtail является обнаружение цели, прикрепление меток к потокам подов, и сохранение этих логов в экземпляры Loki. Агент promtail передает журналы из локальной файловой системы на центральный сервер Loki. После этого можно выполнить обратный запрос журналов с помощью Grafana. Сценарии использования Loki Ниже приведены популярные сценарии использования системы ведения журнала, подобных Loki. Бизнес-аналитика: Это, пожалуй, самый распространённый пример использования, создание действенного понимания на основе данных журнала всегда может быть очень полезным. Loki может помочь в понимании данных журнала и даст возможность создавать новые стратегии для роста бизнеса. Например, с помощью данных журнала организации можно узнать коэффициенты эффективности рекламного канала. Мониторинг: Prometheus часто используется для мониторинга в разных отраслях. Но вы можете многое идентифицировать, отслеживая свои журналы с помощью таких инструментов, как Loki. Она, просматривая журналы и отправляя предупреждения после превышения порога, поможет вам отслеживать частоту ошибок на вашем веб-сайте. Отладка и устранение неполадок: Loki может помочь команде DevOps быстро находить ответ на такие вопросы, как когда произошел сбой приложения, причина его сбоя, его последний статус перед сбоем и т.д. Кибербезопасность: За последние несколько лет число кибератак на порталы электронной коммерции увеличивается в геометрической прогрессии. С помощью Loki можно выполнить проверку журналов, чтобы выявить любые угрозы, проблемы или вредоносные действия, происходящие в системе вашей организации. Если взлом был успешным, Loki мог бы быть полезным для криминалистов, чтобы детально понять, что происходило в системе. Это поможет им отследить хакеров. Соблюдение норм: Для соблюдения отраслевых норм организации должны вести журналы аудита до 7 лет. Местные власти могут проверять журналы в любое время. Loki может безопасно хранить ваши журналы аудита. Установка Loki и Promtail Далее покажем, как установить и визуализировать журналы на Grafana. В этой демонстрации мы используем общую конфигурацию, которая будет собирать журналы из /var/log/* log. Перейдите на страницу релизов Loki на Github, прокрутите вниз до Assets. Здесь вы найдете несколько пакетов Loki и Promtail. Загрузите пакет Loki в соответствии с используемой системой. Не устанавливайте пакеты cli или canary Loki. Я загружаю loki-linux-amd64.zip и promtail-linux-amd64.zip для моей системы Ubuntu. После завершения загрузки разархивируйте файлы Loki и Promtail и поместите их в единый каталог. Теперь загрузите общий файл конфигурации Loki и Promtail. Чтобы запустить Loki, выполните приведенную ниже команду с файлом конфигурации Loki. Это приведет к запуску Loki и отображению журналов Loki в терминале. loki-linux-amd64 loki-local-config.yaml promtail-linux-amd64 promtail-local-config.yaml Чтобы запустить Promtail, выполните приведенную ниже команду с файлом конфигурации Promtail. Promtail должен получить журналы в Loki. ./loki-linux-amd64 -config.file=loki-local-config.yaml Визуализация логов с помощью Loki и Grafana Grafana обеспечивает встроенную поддержку Loki. Loki уже присутствует в источниках данных Графаны. Шаг 1. Перейдите к разделу Конфигурации Grafana и нажмите кнопку Data Sources (Источники данных). Шаг 2. В окне источников данных можно выполнить поиск источника по имени или типу. Шаг 3. Введите в строку поиска слово Loki. Этот источник данных уже присутствует в Grafana. Нажмите кнопку Select (Выбрать). Шаг 4. Введите имя, которое вы хотите дать источнику данных, и поместите http://localhost:3100 (измените его на IP-адрес сервера, если Loki работает на сервере, отличном от Grafana) в строку URL. Порт прописываем потому, что мы запустили Loki на порту 3100. Нажмите кнопку Save and Test внизу. Если настройка Loki выполнена правильно, появится следующее сообщение в зеленом поле. Шаг 5.Нажмите на вкладку Explore (Обзор) на левой части панели. Выберите Loki в раскрывающемся списке выбора источника данных. Теперь неплохо было бы визуализировать активность журналов Grafana. Для этого необходимо добавить запрос {filename = "/var/log/grafana/grafana.log "} в строку обозревателя журналов. Зеленые полосы ниже представляют собой записи событий в файле журнала. Можно выбрать временной диапазон, для которого визуализация должна отображаться на панели мониторинга, а также задать интервал обновления запроса. Чтобы просмотреть более подробную информацию о событии, прокрутите вниз и щелкните по одной из записей журнала, она выведет всю имеющуюся информацию, связанные с данным событием. Заключение Распределенная система состоит из множества приложений или микросервисов, каждый из которых генерирует тысячи событий. Нужен экономичный способ сбора журналов, их хранения и последующего использования. Loki - идеальное решение для таких случаев. Фактически, за счет интеграции Loki в производственную среду, затраты на ведение журналов и мониторинг можно сократить до 75%.
img
В многоуровневой и/или модульной системе должен быть какой-то способ связать услуги или объекты на одном уровне с услугами и объектами на другом. Рисунок 1 иллюстрирует проблему. На рисунке 1 Как A, D и E могут определить IP-адрес, который они должны использовать для своих интерфейсов? Как D может обнаружить Media Access Control адрес (MAC), физический адрес или адрес протокола нижнего уровня, который он должен использовать для отправки пакетов на E? Как может client1.example, работающий на D, обнаружить IP-адрес, который он должен использовать для доступа к www.service1.example? Как D и E могут узнать, на какой адрес они должны отправлять трафик, если они не на одном и том же канале или в одном и том же сегменте? Каждая из этих проблем представляет собой отдельную часть interlayer discovery. Хотя эти проблемы могут показаться не связанными друг с другом, на самом деле они представляют собой один и тот же набор проблем с узким набором доступных решений на разных уровнях сети или стеках протоколов. В лекции будет рассмотрен ряд возможных решений этих проблем, включая примеры каждого решения. Основная причина, по которой проблемное пространство interlayer discovery кажется большим набором не связанных между собой проблем, а не одной проблемой, состоит в том, что оно распределено по множеству различных уровней; каждый набор уровней в стеке сетевых протоколов должен иметь возможность обнаруживать, какая услуга или объект на «этом» уровне относится к какой услуге или объекту на каком-либо более низком уровне. Другой способ описать этот набор проблем - это возможность сопоставить идентификатор на одном уровне с идентификатором на другом уровне - сопоставление идентификаторов. Поскольку в наиболее широко применяемых стеках протоколов есть по крайней мере три пары протоколов , необходимо развернуть широкий спектр решений для решения одного и того же набора проблем межуровневого обнаружения в разных местах. Два определения будут полезны для понимания диапазона решений и фактически развернутых протоколов и систем в этой области: Идентификатор - это набор цифр или букв (например, строка), которые однозначно идентифицируют объект. Устройство, реальное или виртуальное, которое с точки зрения сети кажется единым местом назначения, будет называться объектом при рассмотрении общих проблем и решений, а также хостами или услугами при рассмотрении конкретных решений. Есть четыре различных способа решить проблемы обнаружения interlayer discovery и адресации: Использование известных и/или настроенных вручную идентификаторов Хранение информации в базе данных сопоставления, к которой службы могут получить доступ для сопоставления различных типов идентификаторов. Объявление сопоставления между двумя идентификаторами в протоколе Вычисление одного вида идентификатора из другого Эти решения относятся не только к обнаружению, но и к присвоению идентификатора. Когда хост подключается к сети или служба запускается, он должен каким-то образом определить, как он должен идентифицировать себя - например, какой адрес Интернет-протокола версии 6 (IPv6) он должен использовать при подключении к локальной сети. Доступные решения этой проблемы - это те же четыре решения. Хорошо известные и/или настраиваемые вручную идентификаторы Выбор решения часто зависит от объема идентификаторов, количества идентификаторов, которые необходимо назначить, и скорости изменения идентификаторов. Если: Идентификаторы широко используются, особенно в реализациях протоколов, и сеть просто не будет работать без согласования межуровневых сопоставлений и ... Количество сопоставлений между идентификаторами относительно невелико, и ... Идентификаторы, как правило, стабильны - в частности, они никогда не изменяются таким образом, чтобы существующие развернутые реализации были изменены, чтобы сеть могла продолжать функционировать, а затем ... Самым простым решением является ведение какой-либо таблицы сопоставления вручную. Например, протокол управления передачей (TCP) поддерживает ряд транспортных протоколов более высокого уровня. Проблема соотнесения отдельных переносимых протоколов с номерами портов является глобальной проблемой межуровневого обнаружения: каждая реализация TCP, развернутая в реальной сети, должна иметь возможность согласовать, какие службы доступны на определенных номерах портов, чтобы сеть могла «работать». Однако диапазон межуровневых сопоставлений очень невелик, несколько тысяч номеров портов необходимо сопоставить службам, и довольно статичен (новые протоколы или службы добавляются не часто). Таким образом, эту конкретную проблему легко решить с помощью таблицы сопоставления, управляемой вручную. Таблица сопоставления для номеров портов TCP поддерживается Internet Assigned Numbers Authority (IANA) по указанию Engineering Task Force (IETF); Часть этой таблицы показана на рисунке 2. На рисунке 2 службе echo назначен порт 7; эта служба используется для обеспечения функциональности ping. База данных и протокол сопоставления Если число записей в таблице становится достаточно большим, число людей, участвующих в обслуживании таблицы, становится достаточно большим или информация достаточно динамична, чтобы ее нужно было изучать во время сопоставления, а не при развертывании программного обеспечения, имеет смысл создавать и распространять базу данных динамически. Такая система должна включать протоколы синхронизации разделов базы данных для представления согласованного представления внешним запросам, а также протоколы, которые хосты и службы могут использовать для запроса базы данных с одним идентификатором, чтобы обнаружить соответствующий идентификатор из другого уровня сети. Базы данных динамического сопоставления могут принимать входные данные с помощью ручной настройки или автоматизированных процессов (таких как процесс обнаружения, который собирает информацию о состоянии сети и сохраняет полученную информацию в динамической базе данных). Они также могут быть распределенными, что означает, что копии или части базы данных хранятся на нескольких различных хостах или серверах, или централизованными, что означает, что база данных хранится на небольшом количестве хостов или серверов. Система доменных имен (DNS) описывается как пример службы сопоставления идентификаторов, основанной на динамической распределенной базе данных. Протокол динамической конфигурации хоста (DHCP) описан в качестве примера аналогичной системы, используемой в основном для назначения адресов. Сопоставления идентификаторов объявления в протоколе Если объем проблемы сопоставления может быть ограничен, но количество пар идентификаторов велико или может быстро меняться, то создание единого протокола, который позволяет объектам запрашивать информацию сопоставления напрямую от устройства, может быть оптимальным решением. Например, на рисунке 1 D может напрямую спросить E, какой у него локальный MAC-адрес (или физический). Интернет протокол IPv4 Address Resolution Protocol (ARP) является хорошим примером такого рода решений, как и протокол IPv6 Neighbor Discovery (ND). Вычисление одного идентификатора из другого В некоторых случаях можно вычислить адрес или идентификатор на одном уровне из адреса или идентификатора на другом уровне. Немногие системы используют этот метод для сопоставления адресов; большинство систем, использующих этот метод, делают это для того, чтобы назначить адрес. Одним из примеров такого типа систем является Stateless Address Autoconfiguration (SLAAC), протокол IPv6, который хосты могут использовать для определения того, какой IPv6-адрес должен быть назначен интерфейсу. Другим примером использования адреса нижнего уровня для вычисления адреса верхнего уровня является формирование адресов конечных систем в наборе протоколов International Organization for Standardization (ISO), таких как Intermediate System to Intermediate System (IS-IS).
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59