По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Router-on-a-stick (роутер на палочке) - это термин, часто используемый для описания схемы, состоящей из маршрутизатора и коммутатора, которые соединены с использованием одного канала Ethernet, настроенного как 802.1Q транк. Стандарт 802.1Q используется для тегирования трафика, для передачи информации о принадлежности к VLAN. В этой схеме на коммутаторе настроено несколько VLAN и маршрутизатор выполняет всю маршрутизацию между различными сетями или VLAN (Inter-VLAN routing). /p> Хотя некоторые считают, что термин «маршрутизатор на палочке» звучит немного глупо, это очень популярный термин, который широко используется в сетях, где нет коммутатора 3-го уровня. Также такую схему иногда называют “леденец” – lollypop. Находите некоторое сходство? Пример Наш пример основан на сценарии, с которым вы, скорее всего, столкнетесь при работе с сетями VoIP. Поскольку реализации VoIP требуют разделения сети передачи данных и сети голоса для маршрутизации пакетов между ними, вам необходим либо коммутатор 3-го уровня, либо маршрутизатор. Эта конфигурация обеспечивает доступность и стабильность VoIP, особенно в часы пик трафика в вашей сети. Пакеты, передающиеся между VLAN маршрутизируются через один роутер, подключенный к коммутатору, используя один физический порт, настроенный как транк на обоих концах (коммутатор и маршрутизатор). Этот пример покажет вам, как настроить маршрутизатор и коммутатор Cisco для создания между ними 802.1Q транка и маршрутизации пакетов между вашими VLAN. Шаг 1 – Настройка коммутатора Первым шагом является создание необходимых двух VLAN на нашем коммутаторе Cisco и настройка их с IP-адресом. Поскольку все коммутаторы Cisco содержат VLAN1 (VLAN по умолчанию), нам нужно только создать VLAN2. Switch# configure terminal Switch(config)# vlan2 Switch(config-vlan)# name voice Switch(config-vlan)# exit Switch(config)# interface vlan1 Switch(config-if)# ip address 192.168.10.2 255.255.255.0 Switch(config-if)# exit Switch(config)# interface vlan2 Switch(config-if)# ip address 192.168.20.2 255.255.255.0 Switch(config-if)# exit Далее, нам нужно создать транк порт, который будет соединятся с маршрутизатором. Для этой цели мы выберем порт GigabitEthernet 0/1 Switch# configure terminal Switch(config)# interface gigabitethernet 0/1 Switch(config-if)# switchport trunk encapsulation dot1q Switch(config-if)# switchport mode trunk Switch(config-if)# spanning-tree portfast trunk При помощи данных команд мы определили, что транк будет использовать инкапсуляцию 802.1Q, установили порт в режим транка и включили функцию portfast trunk spanning-tree, чтобы гарантировать, что порт будет пересылать пакеты немедленно при подключении к устройству, например, маршрутизатору. Внимание: команда spanning-tree portfast trunk не должна использоваться на портах, которые подключаются к другому коммутатору, чтобы избежать петель в сети. Шаг 2 – Настройка маршрутизатора Мы закончили с коммутатором и можем переходить к настройке конфигурации нашего маршрутизатора, чтобы обеспечить связь с нашим коммутатором и позволить всему трафику VLAN проходить и маршрутизироваться по мере необходимости. Создание транка на порте маршрутизатора не сильно отличается от процесса, описанного выше - хотя мы транк на одном физическом интерфейсе, мы должны создать под-интерфейс (sub-interface) для каждого VLAN. Router# configure terminal Router(config)# interface gigabitethernet0/1 Router(config-if)# no ip address Router(config-if)# duplex auto Router(config-if)# speed auto Router(config-if)# interface gigabitethernet0/1.1 Router(config-subif)# encapsulation dot1q 1 native Router(config-subif)# ip address 192.168.10.1 255.255.255.0 Router(config-subif)# interface gigabitethernet0/1.2 Router(config-subif)# encapsulation dot1q 2 Router(config-subif)# ip address 192.168.20.1 255.255.255.0 Чтобы сформировать транк с нашим коммутатором, необходимо создать один под-интерфейс для каждого VLAN, сконфигурированного на нашем коммутаторе. После создания под-интерфейса мы назначаем ему IP-адрес и устанавливаем тип инкапсуляции 802.1Q и указываем номер VLAN, к которому принадлежит под-интерфейс. Например, команда encapsulation dot1q 2 определяет инкапсуляцию 802.1Q и устанавливает под-интерфейс на VLAN 2. Параметр native который мы использовали для под-интерфейса gigabitethernet0/1.1, сообщает маршрутизатору, что нативный vlan - это VLAN 1. Это параметр по умолчанию на каждом коммутаторе Cisco и поэтому должен совпадать с маршрутизатором. Для проверки можно использовать на роутере команду show vlans, где будут отображены созданные нами под-интерфейсы, а также при помощи команды show ip route в таблице маршрутизации мы должны увидеть наши под-интерфейсы. Готово! Теперь при помощи роутера мы можем маршрутизировать файлы между разными VLAN.
img
При изучении принципов написания программного кода вы, вероятно, встречались с термином AJAX и задавались вопросом, что же он значит. Что это – язык программирования, платформа или приложение? На самом деле ничего из перечисленного, но к концу прочтения этой статьи вы будете знать, что же такое AJAX (Asynchronous Javascript and XML - асинхронные сценарии JavaScript и XML). История AJAX До конца 1990-х годов большинство веб-сайтов могли выдавать в качестве результата только полные веб-страницы при посещении страницы на сайте. Иначе говоря, для того, чтобы перезагрузить какие-либо отдельные данные, вам необходимо было перезагрузить всю страницу. Это был не самый эффективный способ предоставления информации пользователям, и, соответственно, не очень хорошо сказывалось на впечатлениях пользователей от взаимодействия с сайтом. Также это увеличивало нагрузку на серверы и пропускную способность, необходимую для обслуживания данных. В 1996 году Microsoft представила тег iframe для Internet Explorer, который позволял браузеру асинхронно извлекать данные в фоновом режиме. Это был шаг в верном направлении на пути к современным веб-приложения. В 2004 году Google добавила в Gmail функцию, позволяющую получать данные в фоновом режиме, а в 2005 году они сделали то же самое и для Google Maps. Технологии Google и Microsoft позволяли разработчикам получать данные с веб-сервера с помощью JavaScript без необходимости перезагружать страницу. В 2005 году Джесси Джеймсон Гарретт в своей статье (о том, как Google добились такого результата) назвал эту технологию AJAX. Эта технология быстро стала одним из самых популярных способов создания веб-приложений. А теперь, когда вы узнали немного из истории AJAX, давайте посмотрим, как это работает. Как работает AJAX? Что делает работу AJAX возможной, так это встроенный в веб-браузер объект XMLHttpRequests (XHR). Этот объект поддерживают все современные браузеры, включая: Chrome Firefox IE7+ Safari Opera Большинство библиотек JavaScript, которые используют AJAX, помещают этот объект в пользовательский код для того, чтобы упростить его использование разработчиками, но мы рассмотрим, как AJAX работает в обычном JavaScript. Первый шаг – создать переменную, которая будет создавать для вас экземпляр объекта XMLHttpReaquests в JavaScript. Ниже приведен пример: const request = new XMLHttpRequest(); Поскольку мы хотим использовать эти данные в дальнейшем, например, хотим распечатать их на веб-странице, то мы добавим к этому запросу получатель запроса, который сообщит нам, когда наш запрос закончит обрабатываться и получит нужные данные. Как можно понять из самого термина, запросы AJAX выполняются асинхронно. Это значит, что код JavaScript продолжает работать после отправки запроса и не ждет ответа. Прикрепив получатель запросов, мы можем перехватить ответ, когда он будет готов. Сделаем мы это вот так: function requestListener() { console.log(this.responseText); } request.addEventListener("load", requestListener); Выше у нас есть функция, которая выводит ответ на консоль JavaScript, которую мы можем получить из атрибута responseText объекта XMLHttpRequests. Затем мы присоединяем эту функцию к событию load нашего запроса. Следующий шаг – используем этот объект для отправки запроса к серверу с помощью метода open объекта XMLHttpRequests. Метод open принимает два параметра. Первый параметр – это используемый метод запроса. Ниже приведены несколько наиболее распространенных методов: GET: этот метод используется для извлечения данных и является наиболее распространенным. POST: этот метод отправляет данные запрошенному ресурсу и чаще всего используется для создания новых записей или для входа в систему. PUT: этот метод заменяет текущие представления данных измененными, которые были отправлены в запросе. PATCH: этот метод обычно используется для обновления части данных в запрошенном ресурсе. DELETE: этот метод используется для удаления определенного ресурса. Второй параметр, который передается методу open, - это запрашиваемый ресурс. Мы будем использовать страницу с веб-сайта example.org и использовать запрос GET для простого получения данных. Вот так это будет выглядеть: request.open("GET", "http://www.example.org/example.txt"); Последний шаг – фактическая отправка запроса на удаленный ресурс с помощью метода send объекта XMLHttpRequests. Ниже приведен пример: request.send(); Если мы используем метод POST, PUT или какой-либо другой метод, который обновляет ресурс, то этот метод мы вызываем с параметром, содержащем данные, которые мы отправляем: request.send(OUR_DATA_VARIABLE) В нашем случае мы только извлекаем данные, поэтому, как только мы выполним этот код, на консоли нашего веб-браузера выведется содержимое http://example.org/example.txt. Данный пример помогает объяснить то, как работает AJAX, но на самом деле технология AJAX имеет куда более продвинутые функциональные возможности. Для чего нужен AJAX? Что вы должны были вынести из приведенного выше примера, так это то, что все функции кода загружаются на одной странице. Действительно, сначала загрузится веб-страница с нашим кодом JavaScript, затем он выполнится, и после он распечатает результаты запроса. С таким же успехом можно было прикрепить приведенный выше код к функции, которая выполняется при нажатии кнопки. Это бы означало, что каждый раз при нажатии кнопки, будет выполняться код, отправляться запрос, и результаты будут выводиться на консоль без загрузки новой страницы. И эта магическая технология изменила подход к веб-разработке. С появлением AJAX большая часть веб-разработки переместилась на внешний интерфейс приложения – часть, которая работает в браузере. Вы наблюдаете то, как работает AJAX ежедневно и даже не подозреваете об этом. Когда вы заходите на современный веб-сайт, перед вами появляется форма. Вы вводите свои учетные данные и нажимаете кнопку «Войти». Индикатор загрузки может вращаться в течение нескольких минут, но если вы обратите внимание, то заметите, что страница на самом деле никогда не перезагружается. Все, что вы сделали, это просто отправили свое имя пользователя и пароль на сервер с помощью AJAX. Индикатор загрузки нужен только для отвода глаз, пока запрос выполняется, независимо от того, ввели ли вы верные учетные данные или нет. Если ваши учетные данные верны, то ваша домашняя страница загружается, скорее всего, из другого запроса AJAX. Большинство запросов AJAX в JavaScript не загружают целые веб-страницы, как в нашем примере. Данные отправляются и извлекаются в формате JSON, для представления данных используется текстовый формат, а для форматирования этих данных в формате HTML и их печати на странице используется дополнительный код JavaScript. Например, данные, которые отправляются для входа на веб-сайт, в формате JSON будут выглядеть так: { username: "MyUserName", password: "MyPassword" } Как только учетные данные будут проверены, файл JSON, содержащий минимальный объем данных для отображения панели инструментов, будет отправлен обратно в браузер. AJAX в сочетании с JSON не только наделяет современные веб-страницы способностью быстро реагировать на действия пользователей, но и экономит пропускную способность, отправляя только необходимые данные для создания веб-страницы.
img
На днях в нашем распоряжении оказался офисный IP – телефон Yealink SIP-T28P и специальный блок расширения EXP38. Телефонный аппарат отлично подходит для первичной обработки входящего вызова секретарем, обладая десятью BLF (Busy Lamp Field) кнопками с возможностью расширения, что безусловно удобно для быстрого трансфера звонка. С точки зрения эргономики и соотношения цена/качество этот телефонный аппарат является очень конкурентным. В статье мы расскажем как произвести настройку и подключить к нему блок расширения EXP38. $dbName_ecom = "to-www_ecom"; $GoodID = "3571599023"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName_ecom) or die(mysql_error()); $query_ecom = "SELECT `model`, `itemimage1`, `price`, `discount`, `url`, `preview115`, `vendor`, `vendorCode` FROM `items` WHERE itemid = '$GoodID';"; $res_ecom=mysql_query($query_ecom) or die(mysql_error()); $row_ecom = mysql_fetch_array($res_ecom); echo 'Кстати, купить '.$row_ecom['vendor'].' '.$row_ecom['vendorCode'].' можно в нашем магазине Merion Shop по ссылке ниже. С настройкой поможем 🔧 Купить '.$row_ecom['model'].''.number_format(intval($row_ecom['price']) * (1 - (intval($row_ecom['discount'])) / 100), 0, ',', ' ').' ₽'; $dbName = "to-www_02"; mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); Настройка SIP аккаунта Достаем телефон из коробки, подключаем к нему телефонную трубку и подставку. Телефон поддерживает технологию PoE, благодаря которой, может получить питание прямо по витой паре. Для работы данной «фичи», ваш коммутатор, к порту которого будет подключен IP – телефон должен поддерживать эту опцию. В ином случае, подключите блок питания в разъем DC5V. Распаковываем блок расширения EXP38. Его инсталляция очень тривиальна: в комплект входит сам блок, шнур для подключения и несколько винтов для крепления блока. Шнур необходимо подключить в порт Ext на телефоне. В конечно итоге на нашем столе будет установлен IP – телефон вместе с блоком расширения: Включаем IP – телефон. Сразу после загрузки в разделе «Статус» мы можем увидеть текущий IP – адрес телефонного аппарата. Для корректной загрузки IP – телефона и получения сетевого адреса убедитесь, что в вашей сети настроен и корректно функционирует DHCP сервер Фиксируем IP – адрес телефона и переходим в графический интерфейс настройки. Логи и пароль по умолчанию admin/admin Сменим язык интерфейса на Русский. Для этого переходим во вкладку «Настройки». Помимо этого, здесь можно производить дополнительные настройки, такие как мелодия вызова, яркость, обновление прошивки и прочие настройки: Открываем вкладку «Аккаунт» и производим следующие настройки: Аккаунт - выбираем Аккаунт 1. Данный аппарат поддерживает 6 SIP аккаунтов Аккаунт - поле, которое располагается под статусом регистрации. Смените на «Включено» Лейбл - номер телефона. В нашем случае 101 Имя регистрации - здесь мы отметили 101. Отметьте номер или логин, полученный от провайдера Имя пользователя - укажите номер, с котором вы производите регистрацию, либо логин, полученный от провайдера Транспорт - транспортным протоколом будет UDP Адрес SIP-сервера - IP – адрес или доменное имя сервера регистрации Порт - у нас указан стандартный SIP порт - 5060 Сохраняем настройки и переходим к настройке блока Настройка блока расширения EXP38 Настроим блок расширения. Переходим в раздел «DSS - кнопки» и в пункте нажимаем модуль расширения: Настройка представляет из себя табличный вид, со столбцами «Кнопка», «Тип», «Номер», «Аккаунт» и «Значение». Нечетные номера кнопок расположены слева на блоке, а четные справа. В примере мы настроили BLF (индикация занятости линии цветом: зеленый – доступен, красный - занят) на кнопках 1,3,5,7,9 и 11. На меню «Тип» доступны и другие действия, такие как интерком, парковка и другие. По окончанию настроек проверяем статус регистрации на кнопке «Статус»: Как видно, наша учетная запись успешно зарегистрирована и телефон видит блок расширения.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59