По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Про хоботистый проект, который изменил многое Интернет, на текущее время, это непрерывно развивающаяся сеть планетарного масштаба. Ее существование невозможно представить без поисковых программ и социальных сетей. Большинство пользователей интернета, ежедневно заходящих в Facebook или ищущих информацию в Yahoo, даже не задумываются, как работает эта система то есть, контактируют только с пользовательским интерфейсом программы. И мало кто знает, что продукты такого типа работают на основе распределенных программам. Их работа основана на кластерах наборах узлов, которые используются для поиска нужной клиенту информации. И одним из основных наборов инструментов, который используется при разработке такого рода программ, является Hadoop. Что же это такое? Как говорилось выше, это не отдельная программа, а целый набор инструментов, библиотек и приложений, а также инструмент для удобной работы с ними. Для удобства, назовем весь этот комплекс "фреймворком". Всё это предназначено для разработки и использования распределенных программ. В этой статье мы разберемся, из чего состоит основной инструментарий Hadoop и упомянем о самых распространенных программах из набора. Строго говоря, разработчиком Hadoop является компания Apache Software Foundation. Однако, в силу того, что данный набор программ является свободно распространяемым, ряд сторонних разработчиков (Hortonworks, MapR, Cloudera) создали на основе Apache Hadoopряд своих сборок, которые завоевали у пользователей большую популярность. Это произошло потому, что такие сборки гораздо стабильнее ведут себя в работе и гораздо удобнее в использовании. Основной базовой частью Hadoop является распределенная файловая система HDFS. От обычных файловых систем ее отличает то, что хранение и работа с файловыми дескрипторами осуществляется с отдельного сервера имён, а данные находятся на отдельных серверах данных. Это делает систему исключительно надежной, поскольку даже при внештатных ситуациях процент безвозвратной потери данных очень мал. Кроме того, система позволяет узнать, на какой конкретной машине расположен интересующий блок данных. Пару слов о движках: Развитие проекта привело к тому, что классическая схема MapReduce, с которой проект начинал свою работу, сейчас заменяется на варианты Spark или Tez, поскольку значительно ускоряют работу с данными. Spark более универсальная модель движка, применяемая повсеместно, Tez в свою очередь более узко специализирован. К наиболее популярным системам управления базами данных в данном решении можно отнести базовый вариант Hive, а также альтернативные варианты, такие как Impala от Cloudera, или Spark SQL. Данные продукты имеют свои достоинства и недостатки, но возможность выбора лучшего решения делает проект в общем и целом достаточно гибким и удобным для пользования. Свою нишу в данном проекте также имеет отдельная NoSQL-база Hbase. Это важное решение для всей системы Hadoop, поскольку эффективно поддерживает работу с отдельными записями в режиме реального времени. Для импорта данных на текущий момент, пожалуй, единственным эффективным вариантом остается Kafka от оригинального разработчика Apache. Уникальность данного решения в том, что импорт серьезных объемов данных в данном случае заложен в саму архитектуру проекта. Конечно, Kafka обладает рядом минусов, но работы над обновлением и оптимизацией ведутся постоянно. Помимо этого набора программ, который можно считать базовым, Hadoop обладает рядом других полезных инструментов. Это и алгоритмы машинного обучения для оптимизации работы всей системы (MLlib, Mahout), и программа-координатор ZooKeeper, обладающая широчайшими возможностями по конфигурированию и управлению, программы для планирования задач в проектах Azkaban и Oozie, а так же многие другие подключаемые модули различного назначения и, соответственно, различной полезности в рамках того или иного проекта.
img
Виртуализация часто применяется для поиска более простого способа решения некоторых проблем, отмеченных в начальных статьях этой темы, таких как разделение трафика. Как и все в мире сетевой инженерии, здесь есть компромиссы. На самом деле, если вы не нашли компромисс, вы плохо искали. В этом разделе будут рассмотрены некоторые (хотя, конечно, не все) различные компромиссы сложности в области виртуализации сети. Основой этого обсуждения будет триада компромиссов сложности: Состояние: количество состояний и скорость, с которой изменяется состояние в сети (особенно в плоскости управления). Оптимизация: оптимальное использование сетевых ресурсов, включая такие вещи, как трафик, следующий по кратчайшему пути через сеть. Поверхность: количество слоев, глубина их взаимодействия и широта взаимодействия. Поверхности взаимодействия и группы связей общих рисков Каждая система виртуализации, когда-либо задуманная, реализованная и развернутая, создает в некотором роде общий риск. Например, рассмотрим одну линию, по которой передается несколько виртуальных каналов, каждый из которых передает трафик. Должно быть очевидным (на самом деле тривиальным) наблюдение, что в случае отказа одного физического канала произойдет сбой всех виртуальных каналов. Конечно, вы можете просто перенаправить виртуальные каналы на другой физический канал. Правильно? Может быть, а может и нет. Рисунок 1 иллюстрирует это. С точки зрения A и D, есть две линии, доступные через B и C, каждая из которых обеспечивает независимое соединение между хостом и сервером. В действительности, однако, и провайдер 1, и провайдер 2 приобрели виртуальные каналы через единственное соединение у провайдера 3. Когда единственное соединение в сети провайдера 3 выходит из строя, трафик может быть перенаправлен с основного пути через провайдера 1 на путь через провайдера. 2, но поскольку оба канала используют одну и ту же физическую инфраструктуру, ни одна из них не сможет передавать трафик. Говорят, что эти два звена в этой ситуации разделяют одну общую судьбу, потому что они являются частью Shared Risk Link Group (SRLG). Можно найти и обойти SRLG или ситуации с shared fate, но это усложняет плоскость управления и/или управление сетью. Например, невозможно обнаружить эти shared fate без ручного тестирования различных ситуаций отказа на физическом уровне или изучения сетевых карт, чтобы найти места, где несколько виртуальных каналов проходят по одному и тому же физическому каналу. В ситуации, описанной на рисунке 1, найти ситуацию с shared fate было бы почти невозможно, поскольку ни один из провайдеров, скорее всего, не скажет вам, что использует линию от второго провайдера, показанного на рисунке как провайдер 3, для предоставления услуг. Как только эти ситуации с shared fate обнаружены, необходимо предпринять некоторые действия, чтобы избежать серьезного сбоя в работе сети. Обычно для этого требуется либо вводить информацию в процесс проектирования, либо усложнять дизайн, либо вводить информацию в плоскость управления (см. RFC8001 в качестве примера типа сигнализации, необходимой для управления группами SRLG в плоскости управления, спроектированной трафиком). По сути, проблема сводится к следующему набору утверждений: Виртуализация - это форма абстракции. Абстракция удаляет информацию о состоянии сети с целью снижения сложности или предоставления услуг за счет реализации политики. Любое нетривиальное сокращение информации о состоянии сети так или иначе снизит оптимальное использование ресурсов. Единственным противодействием конечному состоянию из этих трех, является протекание информации через абстракцию, поэтому можно восстановить оптимальное использование ресурсов - в этом случае отказ одного канала не вызывает полного отказа потока трафика через сеть. Единственное решение, таким образом, - сделать абстракцию сквозной абстракцией, что снизит эффективность абстракции при контроле области действия состояния и реализации политики. Поверхности взаимодействия и наложенные плоскости управления В сетевой инженерии принято накладывать друг на друга два протокола маршрутизации или две плоскости управления. Хотя это не часто рассматривается как форма виртуализации, на самом деле это просто разделение состояния между двумя различными плоскостями управления для контроля количества состояний и скорости изменения состояний, чтобы уменьшить сложность обеих плоскостей управления. Это также часто встречается при запуске виртуальных наложений в сети, поскольку между головным и хвостовым узлами туннеля будет существовать нижележащая плоскость управления, обеспечивающая достижимость, и плоскость управления наложением, обеспечивающая достижимость в виртуальной топологии. Две наложенные друг на друга плоскости управления будут взаимодействовать иногда неожиданным образом. Для иллюстрации используется рисунок 2. На рисунке 2: Каждый маршрутизатор в сети, включая B, C, D и E, использует две плоскости управления (или, если это проще, протоколы маршрутизации, отсюда протокол 1 и протокол 2 на рисунке). Протокол 1 (оверлей) зависит от протокола 2 (базовый) для обеспечения доступности между маршрутизаторами, на которых работает протокол 1. Протокол 2 не содержит информации о подключенных устройствах, таких как A и F; вся эта информация передается в протоколе 1. Протокол 1 требует гораздо больше времени для схождения, чем протокол 2. Более простой путь от B к E проходит через C, а не через D. Учитывая этот набор протоколов, предположим, что C на рисунке 2 удален из сети, двум управляющим плоскостям разрешено сходиться, а затем C снова подключается к сети. Каков будет результат? Произойдет следующее: После удаления C сеть снова объединится с двумя путями в локальной таблице маршрутизации в B: F доступен через E. E доступен через D. После повторного подключения C к сети протокол 2 быстро сойдется. После повторной конвергенции протокола 2 лучший путь к E с точки зрения B будет через C. Следовательно, у B теперь будет два маршрута в локальной таблице маршрутизации: F доступен через E. E достижимо через C. B перейдет на новую информацию о маршрутизации и, следовательно, будет отправлять трафик к F через C до того, как протокол 1 сойдется, и, следовательно, до того, как C узнает о наилучшем пути к F. С момента, когда B начинает пересылку трафика, предназначенного для F в C, и момента, когда протокол 1 сойдется, трафик, предназначенный для F, будет отброшен. Это довольно простой пример неожиданного взаимодействия наложенных протоколов. Чтобы решить эту проблему, вам необходимо ввести информацию о состоянии конвергенции протокола 1 в протокол 2, или вы должны каким-то образом заставить два протокола сходиться одновременно. В любом случае вы по существу добавляете состояние обратно в два протокола, чтобы учесть их разницу во времени конвергенции, а также создавая поверхность взаимодействия между протоколами. Примечание: Этот пример описывает фактическое взаимодействие конвергенции между IS-IS и BGP, или протоколом Open Shortest Path First (OSPF) и BGP. Чтобы решить эту проблему, более быстрый протокол настроен на ожидание, пока BGP не сойдется, прежде чем устанавливать какие-либо маршруты в локальной таблице маршрутизации.
img
Говоря о сетевой информации, которая включает сетевые протоколы, IP-адреса, сетевые порты, нельзя не упомянуть о таком понятии как ASN (Autonomous System Number) - номер автономной системы. С увеличением числа устройств, подключенных к сети и увеличиваются и уязвимости в сети. При таком раскладе, понять, что такое ASN и принципы его работы стало очень важным. Чтобы управлять огромным повседневным потоком данных в Интернете, регулирующие органы, такие как как IANA (Internet Assigned Numbers Authority) и другие перешли от IPv4 к IPv6. Эта схема адресации располагает достаточным количеством адресов, которые можно назначить устройствам в сети. При этом ASN является методом управления таком количеством адресов. Что такое ASN? Автономная система (AS) представляет собой группу из нескольких IP-сетей, имеющих отдельную политику маршрутизации. Чтобы эти автономные системы могли взаимодействовать друг с другом, им нужен уникальный номер или идентификатор. Номер автономной системы (ASN) - это уникальный номер, доступный глобально, позволяющий соответствующим автономным системам обмениваться данными маршрутизации с другими подключенными системами. ASN может быть частным или общедоступным. Хотя открытый ASN необходим, когда системы обмениваются данными в Интернете, частный ASN необходим для связи только с одним поставщиком через протокол пограничного шлюза (BGP). IANA присваивает эти ASN автономным системам через региональные интернет-регистраторы (RIR), организации, отвечающей за управление номерами Интернета в конкретном регионе мира. Существует пять RIR: Asia-Pacific Network Information Center (APNIC) - отвечает за Азию и Тихоокеанский регион African Network Information Center (AFRINIC) - для Африки и региона Индийского океана American Registry for Internet Numbers (ARIN) - отвечает за североамериканский регион Latin American and Caribbean Network Information Center (LACNIC) - отвечает за Латинскую Америку и Карибский регион Réseaux IP Européens Network Center (RIPE NCC) - для Европы, Центральной Азии и Ближнего Востока. Далее рассмотрим некоторые из лучших сервисов поиска ASN, скрипты и API для работы с ASN. Основной целью этих инструментов является проверка ASN для получения полной информации AS. 1. UltraTools С помощью UltraTools легко можно получить информацию о любом ASN. Для этого достаточно ввести номер автономной системы, или название компании или же IP адрес принадлежащий интересующей организации. В ответе отображается вся необходимая информация об ASN конкретного IP-адреса, включая владельца IP-адреса, регистратора, регистрационные данные, максимальный диапазон для всех IP-адресов и т.д. Например, если ввести Google, то получим следующую информацию: 2. APIC Whois Search Asia Pacific Network Information Center (APNIC) - это некоммерческая, открытая и основанная на членстве организация, которая управляет и распространяет номерные ресурсы Интернета, включая ASN и IP-адреса в 56 странах Азиатско-Тихоокеанского региона. В базе данных Whois APNIc хранятся все данные об организациях, имеющих ASN и IP-адреса в этом регионе. Таким образом, с помощью APNIC Whois Search можно определить ASN и IP-адрес организации. Наряду с контактной информацией для каждой сети, эта база данных также показывает, когда и где были выданы ресурсы. Для поиска нужной информации достаточно нажать "Search APNIC Whois". Браузер перенаправляет на другую страницу, где можно ввести IP-адрес и получить интересующую информацию. 3. ASNLookup ASNLookup предоставляет удобный интерфейс для поиска IP адресов конкретной организации с помощью ASN. Чтобы получить данные введите название организации. ASNLookup также бесплатно предлагает конечную точку API, которую можно использовать для извлечения данных в формате JSON. Это полезно, если вы хотите интегрировать его с приложением или инструментом. Например, мы ввели "Rostelecom" в качестве входных данных, поэтому в нем отображается следующий вывод. Можно даже загрузить результаты и сохранить их для справки. 4. Spyse ASN Lookup Spyse ASN Lookup предлагает простую в использовании платформу без сложной терминологии. С помощью этого инструмента можно получить более широкое представление о различных уязвимостях организаций. Spyse ASN Lookup выполняет регулярное сканирование Интернета для сбора полной информации об ASN. Он обеспечивает мгновенный доступ к данным и хранит их в своей базе данных, где эффективно организует их. Инструмент использует набор алгоритмов ручной работы для проверки собранных данных после завершения сканирования, чтобы можно было получать точные и обновленные данные. Он также предоставляет API для получения данных AS, где также можно объединить проекты с базой данных. Вы также можете изучить диапазоны IPv4, связанные ASN и области AS, чтобы получить больше информации для сравнительного анализа. 5. MX Toolbox Чтобы получить информацию ASN, MX Toolbox принимает в качестве входных данных имя AS или номер AS. Также по мере ввода номера или название AS отображаются все номера AS, соответствующие введенному названию. Таким образом, можно ввести IP-адрес, имя узла или имя домена для получения информации ASN. Если ввести ссылку, она направит вас к соответствующим данным или инструментам. Также можно просмотреть историю результатов в хронологическом порядке. 6. Hacker Target Проверить ASN на наличие IP-адреса, чтобы получить информацию о конкретной AS можно с помощью Hacker Target. Просто введите ASN или IP-адрес организации в качестве входных данных и вернет соответствующие ASN, разделенные запятой. В нем отображаются название организации, ее географическое положение и все связанные IP-адреса. С помощью средства поиска Hacker Target можно быстро проверить владельца определенного IP-адреса. Тем не менее, есть уловка, которую вы не должны забывать для организаций с их AS, расположенных на разных континентах. Таким образом, если вы получаете IP-адрес AS, показанный в США, это не всегда означает, что система физически расположена с США. Этот инструмент создан для оперативного поиска. Если используется его бесплатная версия, можно делать 100 запросов в день. 7. IPtoASN IPtoASN - это еще один онлайн-поиск с довольно простым способом найти ASN, принадлежащий организации. Просто введите IPv4 или IPv6 адрес и нажмите кнопку "Lookup". Языки программирования, такие как Go и Rust, обеспечивают хорошую работу платформы IPtoASN. Операционная система OpenBSD с усовершенствованной технологией безопасности рассчитана для защиты IPtoASN в распределенной среде. 8. purplepee Другим ресурсом, благодаря которому можно получить информацию об ASN является purplepee, сервис открытым исходным кодом. Кроме того, можно просматривать информацию о DNS-записях веб-сайта, заголовках HTTP, портах TCP и SSL-сертификатах. Его поисковый фильтр должен включать определенные ключевые слова, чтобы система точно знала, что искать. Между названием фильтра и значением не должен быть пробелов. Например, если нужно выполнить поиск ASN определенной организации, скажем, Digital Ocean, то запрос должен выглядеть следующим образом: org:DIGITALOCEAN-ASN - DigitalOcean, LLC, США Он возвращает всю информацию, включая IP-адрес, геолокацию, ASN CIDR, дату, код страны, реестр, описание, а также сертификат SSL и заголовок HTTP. 9. IPWHOIS IPWHOIS позволяет извлекать, а затем анализировать данные whois для IPv6 и IPv4 адресов. С помощью этого скрипта можно найти ASN, название веб-сайта или IP-адреса. Пакет написан на Python для синтаксического анализа и извлечения данных. Он может распарсить широкий диапазон полей в один стандартный словарь. Скрипт обеспечивает поддержку запросов RDAP, устаревших протоколов, интерфейса командной строки, опционально выделение цветом выходных данных. 10. IPinfo Устали от решений на основе команд и по-прежнему нуждаются в данных ASN? К счастью, это возможно! Используя удивительный API IPinfo можно легко получить всю информацию об ASN. Достаточно ввести ASN или IP-адрес и за считанные секунды получите всю необходимую информацию об ASN. API возвращает выходные данные в формате JSON с информацией для префиксов IPv6 и IPv4. Эта информация состоит из идентификаторов, имен, блоков IP, стран и названий интернет-провайдеров. Получая такие данные, вы можете получить информацию о подключении к Интернету, ограничениях данных и скорости посетителей. Можно также проверить, является ли конкретный IP-адрес бизнес-поставщиком, хостингом или потребителем. Соберите всю эту информацию, чтобы спланировать, как вы можете расширить возможности пользователей. IPinfo является надежным, поскольку обеспечивает точные результаты и ежедневно обновляет имеющиеся данные.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59