По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Одним из полезнейших инструментов в повседневной работе современного бизнеса является интеграция CRM – системы и офисной телефонии. Это позволяет совершать исходящие звонки по нажатию на номер клиента, иметь всю историю звонков заказчика в CRM, прослушивать его аудиозапись разговоров, автоматически направлять вызов на ответственного менеджера и конечно, видеть карточку клиента при входящем звонке. Сегодня мы хотим рассказать об интеграции облачной Битрикс24 и IP – АТС Asterisk. Как это работает? Настройки рассмотрим на базе решения «Простые звонки». После обращения в компанию, на почту придет ссылку на модуль для Asterisk и инструкция по настройке. Архитектура работы решения следующая: на офисной IP – АТС Asterisk развертывается модуль коннектора, с указанием необходимых настроек. В свою очередь, на стороне Битрикс24 устанавливается приложение и расширение для браузера, в котором указываются реквизиты для подключения к коннектору на IP – АТС. Данное решение работает только в браузере GoogleChrome Настройка Asterisk Переходим к установке модуля АТС – коннектора на стороне Asterisk: Содержимое архива prostiezvonki извлекаем в директорию Asterisk /var/www/html/admin/modules/ и переходим дальше по файловой структуре в директорию /var/www/html/admin/modules/prostiezvonki/module Если вы используете 32 битную систему, то скопируйте файлл libProtocolLib.so в директорию /usr/lib и cel_prostiezvonki.so в директорию /usr/lib/asterisk/modules. Если у вас установлена 64 битная система, то загрузите их в /usr/lib64 и /usr/lib64/asterisk/modules соответственно. Файл из архива cel.conf переместите в директорию /etc/asterisk После настроек, переходим в интерфейс FreePBX. Перейдите во вкладку Admin → Module Admin. Находим модуль «Простые звонки» и производим его установку. После этого, приступаем к настройке: переходи во вкладку Admin → Module Admin: Рассмотрим опции настройки модуля: Общая настройка модуля Пароль - пароль, с помощью которого, Битрикс24 будет подключаться к АТС – коннектору. В данном примере пароль простой - P@ssw0rd Лог файл - полный путь к лог - файлу, в котором коннектор будет фиксировать детали своей работы Уровень записи лога - глубина логирования. Это значение имеет смысл менять на debug на этапе отладаки и "траблшутинга" Порт - порт, на котором АТС - коннектор будет "слушать" подключение от Битрикс24 Лицензия - лицензионный ключ, который вам прислала команда технической поддержки Размер очереди событий - параметр регламентирует размер очереди, в которой накапливается история звонков в случае отсутствия соединения между коннектором на АТС и CRM - системой Общая настройка модуля Префикс для входящих - префикс, который система будет подставлять к входящим звонкам, в момент передачи в Битрикс24 Префикс для исходящих - при использовании функции "Click - to - Call", то есть звонок по нажатию, коннектор будет подставлять префикс для исходящих вызовов Тип канала - в нашем примере мы работает по протоколу SIP Длина внутренних номеров - например, если вы используете внутреннюю нумерацию с 100 - 199, то данное значение будет равно 3 Настройка записи телефонных разговоров Внешняя директория - директория, в которой содержатся файлы системы записи. Здесь содержится внешний IP – адрес нашего маршрутизатора и проброшенный порт. Своего рода это префикс для ссылок на аудио - файл, который коннектор будет подставлять при передаче их в Битрикс24. Мы подробно расскажем о настройке этого поля далее. Настройка умной переадресации Таймаут поиска - время, в течение которого, коннектор ожидает получить номер ответственного сотрудника от Битрикс24 Таймаут ответа - время, в течение которого будет звонить телефон ответственного менеджера Для использования функции «Умная переадресация» (перевод звонка на ответственного менеджера), установите соответствующую галочку в настройках входящих маршрутов Ссылки на запись разговора в Битрикс24 Подключитесь к серверу IP – АТС Asterisk по SSH. Создадим директорию audio в корневой директории WEB – сервера /var/www/html/: [root@asterisk ~]# mkdir /var/www/html/audio После этого смонтируем папку, где хранятся файлы системы записи разговоров Asterisk в созданную директорию. Для этого, откройте файл /etc/fstab: [root@asterisk ~]# vim /etc/fstab Добавьте в файл следующую запись: /var/spool/asterisk/monitor/ /var/www/html/audio/ none rbind 0 0 Примените изменения командой mount -a Настройка Битрикс24 для работы с коннектором Приступаем к настройке Битрикс24. Для этого, переходим в раздел Приложения → Все приложения→ IP-телефония → Простые звонки. Произведите установку указанного приложения: Теперь устанавливаем расширение для браузера Google Chrome. Кликните по кнопке ниже и установите указанное расширение: Расширение для Google Chrome Переходим по пути Настройка → «Инструменты → «Расширения. Находим «Простые звонки» и нажимаем Настройки для конфигурации опций подключения к АТС – коннектору: Опции настройки: Внутренний номер телефона - ваш внутренний номер (Extension) Адрес АТС-коннектора - в нашей примере указано адрес 1.2.3.4:56789 - это внешний IP - адрес нашего маршрутизатора и проброшенный порт. То есть, при обращение на этот адрес "извне", происходит проброс на внутренний адрес 192.168.1.2:10150, где 192.168.1.2 - это IP - адрес Asterisk, а 10150 - порт, который мы ранее указывали в настройках АТС - коннектора Пароль - пароль, который мы указали в настройка АТС - коннектора Кол-во секунд для определения клиента по номеру телефона - если у вас на этапе эксплуатации не определяется клиент по известному номеру, увеличьте это значение Автоматическое создание лида - создавать ли лида, если звонок пришел с неизвестного номера Готово. Нажимаем «Сохранить и подключить». Как видно, наш коннектор находится в статусе «Подключен». Сделаем тестовый звонок: Использование нового API Bitrix24 При установленной галочке "Использование нового API Bitrix24 (бета)", как показано на скриншоте ниже, происходят изменения в работе всплывающих окон:
img
Итак, вы полностью укомплектовали и настроили ваш умный дом. И конечно, вам нравится периодически показывать выпендриваться перед друзьям, как круто включать лампы, проигрывать видео и фильмы подсказкой голосовому помощнику, приготовить кофе или регулировать термостат коснувшись приложения на экране смартфона. Поздравляем! Но если вы любитель автоматизации (как и мы), который редко останавливается на достигнутом, то возможно будете разочарованы количеством необходимых программ, которые нужно загрузить, интерфейсов, которые вам придётся усваивать, чтобы управлять гаджетами. Скорее всего, будут отдельные приложения для управления освещением, медиацентром, термостатом и приложение Google Home, который изо всех сил (но безнадежно) старается собрать всё это воедино. Большая вероятность того, что некоторые приложения будут несовместимы с другими и, вероятно, многие из них не будут работать, если они не в одной сети с гаджетом. Представьте если бы мы смогли управлять всем этим из одного интерфейса, на засоряя телефон или компьютер сотнями приложений, через интерфейс, который доступен как на смартфонах, так и на компьютерах, а также с помощью сторонних сценариев вне зависимости от того, находимся ли мы в одной сети с умным домом или нет. Интерфейс, который был бы легким и простым в использовании? А что если мы будем делать это через мессенджер или чат? В конце концов, разве не легче было бы контролировать наш дом, гаджеты и облачные сервисы через тот же интерфейс, который мы используем для отправки фотографий котиков нашим друзьям, и через бот, полностью адаптированный к нашим потребностям? В этой статье я покажу вам, как настроить команды и процедуры в дополнение к существующим сетапам умного дома. В данном руководстве мы используем два основных инструмента: Telegram: существует много мессенджеров и платформ, но до сих пор попытки многих из них (Facebook Messenger, Whatsapp, Hangouts и т.д.) в предоставлении пригодного для разработчиков API, мягко говоря, были тщетны. Ушли те дни, когда все использовали XMPP или IRC в качестве своего мессенджер. Сегодняшний мир мессенджеров очень разнообразен. Кроме того, поскольку в интересах многих крупных игроков создавать изолированные ИТ экосистемы, наиболее часто используемые решения не поставляются с официально поддерживаемыми API/интерфейсами разработчиков. Мало того: некоторые из них активно отговаривает пользователей от использования чего-либо, кроме официального приложения, для взаимодействия с платформой (почитайте, как Whatsapp может забанить вас). В этом чрезвычайно разнообразном мире, состоящем из нескольких несвязанных островов, Telegram представляет собой радостное исключение: их официальный bot API хорошо задокументирован и поддерживается, и для тех, кто знает немного программирования, очень легок в интеграции. Platypush: Platypush поставляется с плагином для Telegram и бэкэндом. Так что давайте начнем и создадим первый бот для автоматизации управления домом! Создание Telegram-бота Начните беседу с Botfather. Наберите /start, а затем /newbot для создания нового бота. Задайте боту ник и имя. Вы получите ссылку, чтобы начать беседу с вашим ботом и уникальный API-ключ. Сохраните его где-нибудь, так как он нам понадобится для конфигурации плагина platypush. Конфигурация бота в platypush 1. Установите platypush с основными расширения и интеграцией с Telegram: pip install 'platypush[http,db,telegram]' apt-get install redis-server [sudo] systemctl start redis [sudo] systemctl enable redis 2. Изучите platypush хотя бы немного, если еще не сделали этого. Определите несколько вещей, которыми вы хотите управлять/автоматизировать - источники света, музыку, датчики, базу данных, роботы - и установите/настройте соответствующие расширения. В этой статье мы рассмотрим, как настроить наш новый бот для управления освещением Philips Hue, воспроизведением музыки и потоковой передачей PiCamera. 3. Добавьте настройки Telegram в файл ~/.config/platypush/config.yaml: chat.telegram: api_token: <your bot token> backend.chat.telegram: enabled: true Бэкэнд-система позволяет получать события (например, новые сообщения, вложения, запросы и т.д.) и создавать на них пользовательские "хуки". Плагин позволяет писать вам чаты, программно отправлять сообщения и вложения, администрировать каналы и т.д. Допустим, мы хотим, чтобы бот реализовал следующие команды: /start Приветствие пользователя /help Показать доступные команды /lights_on Включить свет /lights_off Выключить свет /music_play Включить музыку /music_pause Приостановить музыку /music_next Перейти на следующую песню /music_prev Перейти на предыдущую песню /start_streaming Начать удаленное вещание PiCamera /stop_streaming Остановить удалённое вещание PiCamera Всё что мы должны сделать это создать действие в конфигурационном файле platypush config.yaml. В этом контексте вы должны: Установить и настроить плагины Philips Hue, mopidy и PiCamera: pip install 'platypush[hue,mpd,picamera]' # Hue lights configuration light.hue: # Hue bridge IP address bridge: 192.168.1.10 # Default groups to control groups: - Living Room # MPD/Mopidy configuration music.mpd: host: localhost port: 6600 # PiCamera configuration camera.pi: vflip: False hflip: False Чтобы не засорять файл config.yaml, создайте новый файл с названием ~/.config/platypush/include/bot.yaml: # /start command handler event.hook.OnTelegramStartCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: start then: - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Welcome! Type /help to see the available commands" # /help command handler event.hook.OnTelegramHelpCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: help then: - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Available commands: - /lights_on - /lights_off - /music_play [resource] - /music_pause - /music_prev - /music_next - /start_streaming - /stop_streaming " # /lights_on command handler event.hook.OnTelegramLightsOnCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: lights_on then: - action: light.hue.on - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Lights turned on" # /lights_off command handler event.hook.OnTelegramLightsOffCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: lights_off then: - action: light.hue.off - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Lights turned off" # /music_play command handler event.hook.OnTelegramMusicPlayCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_play then: - if ${cmdargs}: - action: music.mpd.play args: resource: cmdargs[0] - else: - action: music.mpd.play - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Music playing" # /music_pause command handler event.hook.OnTelegramMusicPauseCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_pause then: - action: music.mpd.pause - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Music paused" # /music_prev command handler event.hook.OnTelegramMusicPrevCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_prev then: - action: music.mpd.previous - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Playing previous track" # /music_next command handler event.hook.OnTelegramMusicNextCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: music_next then: - action: music.mpd.next - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "Playing next track" # /start_streaming command handler event.hook.OnTelegramCameraStartStreamingCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: start_streaming then: - action: camera.pi.start_streaming args: listen_port: 2222 - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "PiCamera streaming started. Check it out with vlc tcp/h264://hostname:2222" # /stop_streaming command handler event.hook.OnTelegramCameraStopStreamingCmd: if: type: platypush.message.event.chat.telegram.CommandMessageEvent command: stop_streaming then: - action: camera.pi.stop_streaming - action: chat.telegram.send_message args: chat_id: ${chat_id} text: "PiCamera streaming stopped" Подключите файл конфигурации бота в config.yaml: include: -include/bot.yaml Запустите platypush: # Manual start platypush # Service start systemctl start platypush.service Создайте беседу в вашим ботом перейдя по ссылке, выданной BotFather и начните говорить ему, что делать: Сейчас бот доступен любому мы этого явно не хотим. Представьте, что кто-то включит на полную громкость System Of A Down- Jet Pilot вам ночью. Так себе пробуждение. Можно настроить бэкэнд Telegram так, чтобы он принимал сообщения только из определенного списка идентификаторов чатов (в Telegram chat_id используется как для частных пользователей, так и для групп). Отправьте сообщение боту и откройте журналы platypush или проверьте его стандартные выходные данные. На экране появятся следующие сообщения: 2020-01-03 19:09:32,701| INFO|platypush|Received event: {"type": "event", "target": "turing", "origin": "turing", "id": "***", "args": {"type": "platypush.message.event.chat.telegram.CommandMessageEvent", "chat_id": your_chat_id, "message": {"text": "/help", ...}, "user": {"user_id": your_user_id, "username": "****", "is_bot": false, "link": "https://t.me/you", "language_code": "en", "first_name": "***", "last_name": "***"}, "command": "help", "cmdargs": []}} Скопируйте chat_id своего пользователя и вставьте в бак-энд файл: backend.chat.telegram: authorized_chat_ids: - your_user_id Теперь бот ответит ошибкой, если вы попытаетесь отправить сообщение от неавторизованного пользователя. Вы также можете пригласить своего бота в групповой чат и позволить вашим друзьям или членам семьи регулировать свет в вашем доме, если вы захотите! Что дальше? В этой статье мы изучили только одну специфическую особенность интеграции Telegram - способность бота реагировать на события в команде, запускать действия и отвечать текстовыми сообщениями. Как видно из списка поддерживаемых событий Telegram, можно сделать больше, например: Создавать обработчики, когда кто-то делится контактной информацией - когда-нибудь думали разрешить боту автоматически хранить новые контакты, отправленные вам вашими друзьями в чате? Создавайте обработчики при совместном использовании документов, видео или изображения - например, автоматически загружайте все файлы мультимедиа, отправленные в чат, на жесткий диск или удаленную папку Dropbox. Выполнять действия с текстовыми сообщениями вместо команд - можно использовать TextNewsEvent, например, если вы предпочитаете вводить "включить свет" вместо "/lights_on." Сделайте снимок на камеру наблюдения и отправьте ее себе командой send_photo. Можно также развернуть несколько ботов, например, для каждого устройства, чтобы можно было запускать действия на конкретном устройстве из связанного чата или вместо этого использовать один бот в качестве точки входа и доставлять сообщения другим устройствам через MQTT, Kafka или HTTP API.
img
Второй метод, который мы можем использовать для настройки адреса, называется EUI-64 (расширенный уникальный идентификатор). Он может быть использован для того, чтобы заставить роутер генерировать свой собственный идентификатор интерфейса вместо того, чтобы вводить его самостоятельно. Роутер будет принимать MAC-адрес своего интерфейса и использовать его в качестве идентификатора интерфейса. Однако MAC-адрес - это 48 бит, а идентификатор интерфейса-64 бит. Что мы будем делать с недостающими частями? В первой части статьи мы рассказывали о стандартной настройке IPv6 на оборудовании Cisco Вот что мы сделаем, чтобы заполнить недостающие биты: Мы берем MAC-адрес и делим его на две части; Мы вставляем "FFFE" между двумя частями, так что бы у нас получилось 64-битное значение; Мы инвертируем 7-й бит идентификатора интерфейса. Например, если мой MAC-адрес 1234.5678.ABCD тогда, после преобразования идентификатор интерфейса получиться: Выше вы видите, как мы разделяем MAC-адрес и помещаем FFFE в середину. "Инвертирование 7-го бита" не является заключительным шагом. Для этого вам нужно преобразовать первые два шестнадцатеричных символа первого байта в двоичный, найти 7-й бит и инвертировать его. Это означает, что если это 0, то вам нужно сделать его 1, а если это 1, то он должен стать 0. 7-й бит представляет собой "универсальный уникальны" бит. По умолчанию в MAC-адресе этот бит всегда будет установлен в 0. При изменении MAC-адреса этот бит должен быть установлен на 1. Обычно люди не меняют MAC-адрес этого роутера, что означает, что EUI-64 будет самостоятельно менять 7-й бит с 0 на 1. Вот как это выглядит: Мы берем первые два шестнадцатеричных символа первого байта, которые являются "12", и преобразуем их обратно в двоичный код. Затем мы инвертируем 7-й бит от 1 до 0 и снова делаем его шестнадцатеричным. Так что на самом деле мой идентификатор интерфейса EUI-64 будет выглядеть следующим образом: Теперь давайте взглянем на конфигурацию EUI-64 на роутере! Я буду использовать 2001:1234:5678:abcd::/64 в качестве префикса: OFF1(config)#interface fastEthernet 0/0 OFF1(config-if)#ipv6 address 2001:1234:5678:abcd::/64 eui-64 В этом случае настроен роутер с префиксом IPv6 и с использованием EUI-64 в конце. Именно так мы можем автоматически генерировать идентификатор интерфейса, используя mac-адрес. Теперь взгляните на IPv6-адрес, который он создал: OFF1#show interfaces fastEthernet 0/0 | include Hardware Hardware is Gt96k FE, address is c200.185c.0000 (bia c200.185c.0000) OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 No Virtual link-local address(es): Global unicast address(es): 2001:1234:5678:ABCD:C000:18FF:FE5C:0, subnet is 2001:1234:5678:ABCD::/64 [EUI] Видите эту часть C000:18FF:FE5C:0? Это MAC-адрес, который разделен на 2, FFFE в середине и "2" в "C200" MAC-адреса были инвертированы, поэтому теперь он отображается как "C000". Когда вы используете EUI-64 на интерфейсе, который не имеет MAC-адреса, то он выберет MAC-адрес самого низкого нумерованного интерфейса на роутере. При использовании EUI-64 вы должны ввести 64-битный префикс, а не полный 128-битный IPv6 адрес. Если вы сделаете это, вы не получите ошибку, но Cisco IOS будет только сохранять 64-битный префикс, и в любом случае сгенерирует идентификатор интерфейса. Скорее всего вы, вероятно, не будете использовать EUI-64 на роутере для настройки интерфейса, но это очень полезный метод для обычных хостов, таких как компьютеры windows, linux или mac. Вы, возможно, настроите IPv6-адрес вручную на интерфейсе вашего роутера или используете метод автоконфигурации, такой как DHCP или SLAAC. Когда вы внимательно посмотрите на выходные данные show ipv6 interface, вы можете заметить, что там есть еще один IPv6-адрес: OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 Кстати, про теоретические основы IPv6 можно изучить тут Этот адрес называется локальным адресом связи (link-local address), и он имеет некоторые специальные цели для IPv6. Каждое устройство с включенным IPv6 автоматически генерирует локальный адрес связи. Эти адреса являются одноадресными, не могут быть маршрутизированы и используются только в пределах подсети, поэтому они называются "link-local". Некоторые протоколы используют локальные адреса связи вместо глобальных одноадресных адресов, хорошим примером является NDP (Neighbour Discovery Protocol), который используется для обнаружения MAC-адресов других устройств IPv6 в подсети (NDP заменяет ARP для IPv4). Протоколы маршрутизации также используют эти локальные адреса связи для установления соседних областей, а также в качестве следующего перехода для маршрутов. Мы увидим это, когда будем говорить о маршрутизации IPv6. Адресное пространство FE80:: / 10 было зарезервировано для link-local, которые охватывают FE8, FE9, FEA и FEB. Однако RFC, описывающий link-local, утверждает, что следующие 54 бита должны быть нулями, поэтому link-local всегда будут выглядеть так: link-local всегда будет начинаться с FE80:0000:0000:0000, а ID можно настроить с помощью различных методов. Роутеры Cisco будут использовать EUI-64 для создания идентификатора интерфейса, в то время как другие операционные системы, такие как Microsoft, используют случайный метод для создания идентификатора интерфейса. В приведенном ниже примере вы можете видеть, что EUI-64 был использован для создания link-local: OFF1#show interfaces fastEthernet 0/0 | include Hardware Hardware is Gt96k FE, address is c200.185c.0000 (bia c200.185c.0000) OFF1#show ipv6 interface fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:18FF:FE5C:0 Первая часть-это FE80:: и вторая часть - это созданный идентификатор интерфейса EUI-64: C000:18FF:FE5C:0 Когда вы настраиваете IPv6-адрес на интерфейсе (глобальный одноадресный или уникальный локальный) или когда вы включаете IPv6 на интерфейсе, вы можете сделать это следующим образом: OFF1(config)#interface fa0/0 OFF1(config-if)#ipv6 enable Использование команды ipv6 enable роутеру создать link-local адрес. OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C000:15FF:FE94:0 По умолчанию Cisco IOS будет использовать EUI-64 для создания link-local адреса, но вы также можете настроить его самостоятельно. Просто убедитесь, что адрес начинается с FE80:: / 10 (FE8, FE9, FEA или FEB). Вот как вы можете настроить link-local адрес: OFF1(config-if)#ipv6 address FE90:1234:5678:ABCD::1 link-local Просто используйте ключевое слово link-local, чтобы сообщить роутеру, что это должен быть адрес link-local. Давайте проверим это: OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE90:1234:5678:ABCD::1 Помимо link-local адресов существует еще один тип адресации, который мы должны обсудить, и это multicast. Я надеюсь, вы обладаете званиями об одноадресных и широковещательных доменах. Когда хост отправляет широковещательную передачу, все остальные устройства в подсети получат ее независимо от того, хотят они этого или нет. Отправка широковещательных сообщений очень неэффективна, и они были удалены из IPv6. Многоадресная рассылка также используется для отправки чего-то с одного хоста на несколько приемников, но разница заключается в том, что многоадресный трафик заканчивается только на хостах, которые хотят его получить. Каждый, кто прослушивает определенный адрес многоадресной рассылки, получит эти пакеты. Это просто как радиостанция, если вы хотите слушать...вы должны настроиться на нужную частоту. IPv6 использует многоадресную рассылку по многим причинам. Узлы IPv6, которые хотят отправить что-то всем узлам, работающим под управлением IPv6, могут использовать адрес многоадресной рассылки FF02::1. Все, у кого включен IPv6, слушают этот адрес. Когда роутер IPv6 хочет отправить что-то всем другим роутерам IPv6 (но не хостам!) он может отправить его в FF02:: 2. Протоколы маршрутизации также используют многоадресные адреса. Например, EIGRP уже использует виде FF02::A и OSPF использует виде FF02::5 и виде FF02::6. Многоадресный трафик маршрутизируется, но часть трафика должна оставаться в пределах подсети. Если это так, то эти адреса будут иметь link-local область, и они не будут перенаправляться роутерами из одной подсети в другую. Диапазон FF00:: / 8 был зарезервирован для многоадресной рассылки IPv6, в то время как диапазон FF02::/16 зарезервирован для многоадресных адресов link-local области. На роутере Cisco вы можете видеть по интерфейсу, к которому многоадресные адреса роутер прослушивает: OFF1#show ipv6 int fa0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE90:1234:5678:ABCD::1 No Virtual link-local address(es): No global unicast address is configured Joined group address(es): FF02::1 FF02::2 FF02::1:FF00:1 Этот конкретный роутер прослушивает адреса многоадресной рассылки "все хосты IPv6" и "все роутеры IPv6". Как только вы настроите OSPF или EIGRP для IPv6, вы заметите, что интерфейс присоединится к соответствующим адресам многоадресной рассылки. Третий адрес, который у нас есть (FF02::1:FF00:1), называется адресом многоадресной рассылки запрошенного узла. Он используется для обнаружения соседей. Многоадресный адрес запрашиваемого узла основан на одноадресном IPv6-адресе хоста, а если быть более точным...последние шесть шестнадцатеричных символов одноадресного адреса. Все хосты, имеющие одинаковые 6 шестнадцатеричных символов в своем одноадресном IPv6-адресе, в конечном итоге получат один и тот же адрес запрашиваемого узла. Когда вы отправляете что-то на этот адрес запрашиваемого узла, все хосты с одним и тем же адресом получат пакеты. Это что-то вроде многоадресного адреса "все хосты IPv6", но на этот раз у нас есть отдельная комната, где единственными членами являются VIP-персоны, которые разделяют одни и те же последние 6 шестнадцатеричных символов. Все адреса запрашиваемых узлов начинаются с FF02::1:FF, поэтому они выглядят следующим образом: Мой маршрутизатор имеет запрошенный адрес узла FF02:: 1:FF00:1, а link-local адрес -FE90:1234:5678: ABCD:: 1. Когда мы записываем link-local адрес полностью, это выглядит так: FE90:1234:5678:ABCD:0000:0000:0000:0001 Возьмите последние 6 шестнадцатеричных символов из этого адреса: 00:0001 И поместите их за префиксом адреса запрашиваемого узла, чтобы получить полный адрес запрашиваемого узла: FF02:0000:0000:0000:0000:0001:FF00:0001 Мы можем удалить некоторые нули, чтобы сделать его короче, и это будет выглядеть так: FF02::1:FF00:1
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59