По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Протоколы API, как и все в этом мире, активно развиваются. Многие компании, включая GraphQL, gRPC и Thrift, пользуются классическими API SOAP и REST. В списке этих API есть и JSON-RPC. JSON-RPC, созданный для быстрой разработки многофункциональных сайтов, быстро стал лучшим другом разработчиков. Давайте разберемся, что это такое, и в чем оно полезно специалистам по разработке приложений и API. Знакомство с JSON-RPC начинается с азов JSON. Так что первая глава данной статьи посвящена общей информации о JSON. JSON – что это такое, и как оно работает JSON – это легковесный формат обмена сообщениями, который подходит для более быстрой передачи данных. Именно поэтому он так активно используется в современной разработке. JSON (JavaScript Object Notation, или нотация объектов JavaScript) производит многократную разбивку данных до тех пор, пока они не примут удобный для обработки вид. В основе JSON лежит JavaScript, поэтому просматривая элементы данных, вы не раз встретите строки, нулевые символы, объекты и бинарные переменные. JSON разбивает сложные сопоставленные данные на управляемые структуры, облегчая обработку данных на многих языках программирования, и считается независимым от языка ресурсом. Его придумал Дуглас Крокфорд в 2000 году с целью упрощения взаимодействия между веб-приложениями и сервером. Что такое JSON RPC? JSON-RPC – это не что иное, как преемник JSON, повсеместно признанный протокол для удаленного вызова процедур (RPC - Remote Procedure Calls). Работая на уровне разработки, JSON-RPC запускает различную структуру данных, определяя задачи для приложений. Это сравнительно новый протокол с узкой областью применения.  Наборы команд, гибкость и сценарии развертывания – все работает с ограничениями. Но, тем не менее, разработчики видят в нем идеальный вариант для простой и быстрой разработки. В простых сценариях данные ограничения не являются помехой и побуждают разработчиков переходить с REST на JSON-RPC. Стоит также добавить, что: JSON-RPC определяет сетевые ограничения, связанные с обработкой данных. Легкая конструкция и быстрая обработка – все это подходит для инициации передачи данных с узлами Ethereum. Будучи транспортно-независимым протоколом, JSON-RPC может использовать для взаимодействия сокеты и HTTP. Это отличное решение для разработки решений на базе Ethereum с использованием блокчейн. В настоящий момент предлагается 2 стандарта JSON-RPC: JSON-RPC 1.0 и JSON-RPC 2.0: JSON-RPC 1.0 не хватает возможностей сразу по нескольким пунктам. Отсутствие названий параметров и пояснений к ошибкам вызывает куда больше проблем, чем кажется. Скорее уж, это метод для одноранговой передачи данных. Обновленный JSON RPC 2.0 значительно доработали, заполнив ряд пробелов предыдущей версии. Версию 1.0. заменили клиент-серверной 2.0. Кроме того, в 2.0. появились транспортные зависимости. Разумеется, со временем добавили именованные параметры. Поля урезали. Нет ID для уведомлений; в качестве ответа отправляется только результат/ошибка. В обновленной версии есть дополнительные расширения с информацией об ошибках.  Как пользоваться JSON RPC? Главная функция протокола заключается в отправке клиентских запросов на сервер (при поддержке JSON-RPC). Здесь под клиентом мы подразумеваем общепринятые приложения, которые развертываются для получения запроса от удаленной системы на консолидированный метод. Введенные параметры передаются удаленной системе в формате массива или объекта. В зависимости от используемой версии JSON-RPC, удаленная система будет отправлять в источник запроса разные итоговые значения. Все веб-передачи через JSON-RPC унифицированы и сериализированы с помощью JSON. Запрос JSON-RPC – это вызов удаленного метода. Он состоит из 3 элементов: Метод. Указывает на строку, которая будет запрашиваться при вызове метода. Существует набор зарезервированных имен с префиксом ‘rpc’ – они предназначаются для внутренних вызовов RPC. Параметры. Второй элемент JSON-RPC (объект или массив) со значением параметра, который будет переноситься. Параметры не вызываются в каждом вызове.  ID. Целое или строковое число, которое регулярно используется для поддержания баланса между запросами и ответами. Если на запрос нет ответа, то ID автоматически удаляется. В запросе JSON-RPC получатель обязан вернуться к проверенному ответу на каждый полученный запрос. Добавляются 3 компонента: Результат – первая и важнейшая часть запроса, передающая данные, которые возвращает вызываемый метод. Его часто называют JSON-stat, и при ошибке он остается пустым. Ошибка – второй компонент. Появляется, если в процессе вызова что-то идет не так. В ошибке отображаются код и сообщение. ID ответа указывает на запрос, по которому приходит ответ. Если ответов не требуется, то JSON-RPC использует уведомление, в котором написано, что запрос был без ID. В версии 1.0 ID уведомление приходит пустым, а в версии 2.0. оно полностью отсутствует. Плюсы от использования JSON-RPC JSON-RPC – это довольно «умный» протокол, который предлагает своим клиентам множество плюсов: Простая обработка JSON-RPC намного проще, чем REST. Его легко понимают люди и машины. Здесь нет сложных команд и наборов данных, так что JSON-RPC идеально подходит для начинающих разработчиков. Этот протокол Unicode предлагает компактную командную строку. Кроме того, он способен обрабатывать данные с именованными фразами или отдельными ключевыми словами. Таким образом, JSON-RPC считается простым и понятным инструментом для работы. Быстрое время разработки С JSON-RPC не надо ничего придумывать. Все источники доступны и понятны. Такая простота сокращает время разработки и сроки выхода на рынок. Это самое подходящее решение для разработки приложений в сжатые сроки. Качественный обмен информацией JSON-RPC гарантирует своевременный, быстрый и точный обмен данными, поскольку может обрабатывать уведомления и несколько вызовов. Чтобы продолжить свою работу, ему не нужно ждать ответа от сервера или клиента. Если сделан запрос сообщения, то JSON-RPC гарантированно доставит его «адресату». Не важно, насколько сложные компоненты приложения входят в цепочку коммуникации, JSON-RPC обеспечит должный обмен информацией. Улучшенная производительность API С помощью JSON-RPC можно создавать API, которые не зависят от развертываемого протокола. Такая возможность крайне важна для улучшения производительности API, т.к. заменяет HTTP и TCP, а также снижает рабочую нагрузку. Описание результатов JSON-RPC выдает понятные результаты запроса, которые легко прочитать и обработать. Создание пакетных запросов, объяснение body в HTTP и передача параметров – все это гораздо проще реализовать через JSON-RPC. Улучшенная передача JSON-RPC – это очень удобный для передачи инструмент, ведь поддерживает такие платформы, как XMPP, WebSockets, SFTP, SSH и SCP. Данное разграничение позволяет разрабатывать быстрые, простые в отладке и удобные для пользователя API. Кроме того, этот протокол полностью отделяет запрошенный контент от используемого процесса передачи. А любые ошибки в запросах, данные и предупреждения передаются через полезную информацию запроса. REST и JSON-RPC: что выбрать для разработки API?  Богатый выбор API-ресурсов – это всегда хорошо, но остановиться на каком-то одном варианте бывает не так просто. Ниже мы постараемся помочь разработчикам и объясним ключевые особенности популярных протоколов.  JSON-RPC подходит для начинающих разработчиков с ограниченным количеством ресурсов. JSON-RPC – это очень ограниченный в ресурсах протокол, который отлично выполняет свою функцию. Кроме того, если цель разработчика хоть как-то связана с технологией распределенных реестров, то единственным жизнеспособным решением станет именно JSON-RPC. С таким развертыванием не сможет справиться ни один другой протокол. Для разработки приложений, использующих технологии распределенных реестров, требуется независимый от протокола API, и JSON-RPC отлично подходит. Он позволяет разработчикам создавать API, которые могут взаимодействовать друг с другом с помощью любого протокола. Есть еще одна область, в которой JSON-RPC превосходит REST. В REST доступен ограниченный набор глаголов, что приводит к ошибкам при выполнении операции. При использовании REST необходимо подробно описать HTTP-метод, и на это тратится много времени. Кроме того, в REST доступны только CRUD-операции. Так что лучше отдавать предпочтение JSON-RPC. Тем не менее JSON-RPC нельзя назвать универсальным решением для всего. Его проблема заключается во взаимозависимости. Клиенты должны быть тесно связаны с реализацией служб, поэтому вносить изменения в эту реализацию довольно сложно. При попытке изменить что-то, клиенты чаще всего ломаются. REST решает такие задачи намного лучше. Например, API на базе REST мало того, что легко создаются, так еще и не отслеживают состояния. Этот протокол совместим с HTTP и предлагает огромное множество HTTP-библиотек. REST позволяет создавать гибкие API. Это идеальное решение для CRUD-операций. Оба протокола имеют свои плюсы и минусы. Разработчикам необходимо принять взвешенное решение, исходя из главной цели разработки. Например, если разработчику нужны высокопроизводительные вычисления, то стоит остановиться на JSON-RPC. Если требуется независимая разработка приложения с удобным интерфейсом, то смело выбирайте REST. Не стоит также забывать о безопасности API. JSON-RPC, graphql, grpc Два самых известных аналога JSON-RPC – это GraphQL и gRPC. GraphQL – это полностью адаптивная система. Она используется для точной локализации данных запроса и получения только необходимых запрашиваемых данных. Основная черта – ориентация на клиента. Сервер практически никак не участвует в веб-передаче. Клиент сам устанавливает правила для обработки запрошенных данных. GraphQL относится к языкам запросов, а JSON-RPC относится к удаленному вызову процедур. Еще есть gRPC – легковесный протокол с акцентом на производительность. Это обновленная версия RPC. В JSON-RPC серверы и клиенты договариваются о запрашиваемых данных, а архитектура не важна. А в gRPC, наоборот, запросы обрабатываются по готовой схеме. Этот протокол может выполняться в любой экосистеме. JSON-RPC интегрируется с MQTT, Python и Kallithea. Для gRPC доступны такие ресурсы, как .NET, JavaScript, C++, Swift и многие другие. Главные отличия между всеми решениями заключаются в открытости кода и удобстве для клиентов.
img
MPLS (Multiprotocol label switching) является протоколом для ускорения и формирования потоков сетевого трафика, что, по сути, означает сортировку MPLS и расстановку приоритетов в ваших пакетах данных на основе их класс обслуживания (например, IP-телефон, видео или данные Skype). При использовании протоколов MPLS доступная используемая пропускная способность увеличивается, а критически важные приложения, такие как передача голоса и видео, гарантируют 100% бесперебойную работу. Как работает MPLS? MPLS это метод маркировки пакетов, который устанавливает приоритетность данных. Большинство соединений сети должны анализировать каждый пакет данных на каждом маршрутизаторе, чтобы точно понимать его маршрут следования. Виды маршрутизаторов CE маршрутизатор, используемый со стороны узла клиента, который непосредственно подключается к маршрутизатору оператора. CE взаимодействует с маршрутизатором со стороны оператора (PE) и обменивается маршрутами внутри PE. Используемый протокол маршрутизации может быть статическим или динамическим (протокол внутреннего шлюза, такой как OSPF, или протокол внешнего шлюза, такой как BGP). Раскроем не понятные аббревиатуры - маршрутизатор Customer Edge (CE) подключается к маршрутизатору Provider Edge (PE). PE маршрутизатор - граничный маршрутизатор со стороны оператора (MPLS домена), к которому подключаются устройства CE. Приставка PE к маршрутизатору, означает то, что он охватывает оборудование, способное к работе с широким диапазоном протоколов маршрутизации, в частности: Протокол пограничного шлюза (BGP) (связь PE-PE или PE-CE); Протокол динамической маршрутизации (OSPF) (связь между маршрутизатором и PE); Многопротокольная коммутация по меткам (MPLS) (связь между маршрутизатором PE и P. Что такое P – маршутизатор поговорим дальше.); Некоторые маршрутизаторы PE также выполняют маркировку трафика. P - маршрутизатор - внутренний маршрутизатор сети оператора (провайдера) MPLS домена. В многопротокольной коммутации по меткам (MPLS) маршрутизатор P функционирует как транзитный маршрутизатор базовой сети. Маршрутизатор P обычно подключен к одному или нескольким маршрутизаторам PE. Принципы работы MPLS Входной маршрутизатор с MPLS (напомним, multiprotocol label switching, с английского) будет помечать пакеты данных при входе в сеть расставляя метки, поэтому, маршрутизаторы будут точно понимать, куда направляются данные, без необходимости снова и снова анализировать пакет с данными. Чтобы понять принцип работы методики MPLS следует отметить, что в традиционной IP-сети каждому маршрутизатору приходится выполнять поиск IP, путем постоянного поиска его в таблицах с пакетами данных с последующей пересылкой на следующий уровень пока пакеты данных не достигнут нужного пункта назначения. MPLS технология присваивает метку всем IP-пакетам, а тем временем уже сами маршрутизаторы принимают решение о передаче пакета далее на следующее устройство благодаря нужному значению метки. Метка добавляется в составе MPLS заголовка, который добавляется между заголовком кадра (второй уровень OSI) и заголовком пакета (третий уровень OSI) и, по сути, в дальнейшем идет их наложение друг на друга. Хедер (заголовок) фрейма MPLS хедер (заголовок) Хедер (заголовок) IP пакета IP пакет Методика MPLS вместо этого выполняет "коммутацию меток", когда первое устройство выполняет поиск маршрутизации, как и прежде, но вместо поиска следующего перехода он находит конечный маршрутизатор назначения по заранее заданному маршруту. Маршрутизатор определяет метку на основе информации, которую будут использовать маршрутизаторы для дальнейшей маршрутизации трафика без необходимости каких-либо дополнительных поисков IP адресов, по достижению конечного маршрутизатора метка удаляется и пакет доставляется с помощью обычной IP маршрутизацией. В чем преимущество переключения меток по методу MPLS? Система меток значительно снижает время необходимое на поиск IP-маршрутизации. Позволяет осуществлять точный поиск совпадений с самым длинным префиксом, что снижает ресурс обращения к памяти для маршрутизации одного пакета. Точные совпадения на основе меток намного проще реализовать в оборудовании при меньшей нагрузке на него. Дает возможность контролировать, где и как трафик распределен в сети, чтобы управлять пропускной способностью, расставлять приоритеты для различных сервисов и предотвращать перегрузку оборудования. Для работы MPLS используют протоколы маршрутизации распространения меток (LDP), простой неограниченный протокол (без поддержки трафика), протокол резервирования ресурсов с проектированием трафика (RSVP-TE). На практике же обычно используют протокол распространения меток (LDP), однако протокол RSVP-TE необходим для функций организации трафика и в сложных сетях фактически не обойтись без этих двух протоколов с настройкой LDP для туннелирования внутри протокола RSVP. Передача и управление трафиков происходит за счёт технологии Traffic Engineering, которая осуществляет передачу трафика по каналам по наиболее оптимальному маршруту, но с некоторыми ограничениями благодаря технологии CSPF (Constrained Shortest Path First), которая выбирает пути не только пользуясь критерием, основанном на его оптимальной длине маршрута, но еще и учитывает загрузку маршрутов. Используемые протоколы RSVP-TE позволяют резервировать полосы пропускания в сети. Технология MPLS также имеет защиту от сбоев основываясь предварительном расчете путей резервного копирования для потенциальных сбоев канала или узла. При наличии сбоя в сети автоматически происходит расчет наилучшего пути, но при наличии одного сбоя расчет необходимого пути начинает происходить еще до обнаружения сбоя. Пути резервного копирования предварительно запрограммированы в FIB маршрутизатора в ожидании активации, которая может произойти в миллисекундах после обнаружения сбоя. Можно выделить следующие преимущества организации VPN на базе MPLS возможность масштабируемости трафика в широких пределах; возможность пересечения адресных пространств, узлов подключенных в различные VPN; изолирование трафика VPN друг от друга на втором уровне модели OSI. В заключении следует отметить, что на практике MPLS в основном используется для пересылки единиц данных протокола IP (PDU, (Protocol Data Unit)) и трафика виртуальной частной локальной сети (VPLS) Ethernet. Основными приложениями MPLS являются инженерия телекоммуникационного трафика и MPLS VPN.
img
В сегодняшней статье речь пойдет о способах организации виртуальных частных сетей VPN (Virtual Private Network). VPN – это набор криптографических механизмов, обеспечивающих защищенный, двухсторонний канал для безопасной передачи данных через незащищенную сеть, такую как Интернет. Благодаря VPN пользователь может получить доступ к удаленной сети и работать с её ресурсами так, как если бы он находился внутри нее. Поэтому VPN получил широкое распространение у компаний, имеющих в своем штабе дистанционных сотрудников. Терминология VPN представляет собой соединение типа Point to point (точка-точка), которое принято называть “туннелем” (tunnel), а участников данного соединения – “пирами” (peer). Каждый пир шифрует данные, подлежащие передаче через туннель и дешифрует данные, которые получает из туннеля. Если к одному пиру устанавливается несколько туннелей, то такой пир называется VPN – шлюзом, а сеть, находящаяся за ним – “доменом шифрования” (encryption domain). Несмотря на название, трафик внутри домена шифрования не шифруется, так как считается защищенным от попадания во внешнюю сеть. Кроме того, VPN – туннель может быть установлен между сетями. Удаленный сотрудник, желающий настроить VPN - туннель с доменом шифрования своего офиса, должен установить на своей рабочей станции специальное ПО – VPN-клиент, например: OpenVPN, VyprVPN, TunnelBear и др. Для большего понимания, на рисунке ниже отмечены все элементы, рассмотренные ранее: Разберем основные принципы, по которым устанавливается VPN – соединение. Перед установлением соединения пиры идентифицируют друг друга, чтобы удостовериться, что шифрованный трафик будет отправлен правильному получателю. Пиры договариваются, по каким протоколам будет устанавливаться соединение для сохранения целостности и конфиденциальности данныхю Создается ключ, который будет использоваться для шифрования и дешифрования данных Существует множество механизмов, способных обеспечить выполнение данных функций, но мы рассмотрим самый распространенный - IPsec(IP Security). IPsec – это целый набор протоколов, обеспечивающих сервисы приватности и аутентификации. Обычно в IPsec выделяют три основных протокола: AH (Authentication Header) – протокол идентификации заголовка. Данный протокол обеспечивает защиту передаваемых данных от изменения, путем проверки каждого бита пакета после передачи. То есть обеспечивает функции целостности. ESP (Encapsulating Security Protocol) Данный протокол обеспечивает не только функции целостности, но и конфиденциальности, путем добавления своего заголовка в пакет, подлежащий защите. IKE (Internet Key Exchange protocol) – протокол обмена ключами. Данный протокол предназначен для автоматического генерирования, обновления и обмена ключами между участниками VPN – соединения. В IPsec есть еще один важный термин – SA (Security Association). SA это непосредственно VPN – соединение в контексте IPsec. SA устанавливается сразу после того, как IPsec – узлы договорились и согласовали все параметры, по которым будет организован VPN – туннель. Итак, VPN – соединение с использованием IPsec устанавливается в два этапа: На первом этапе VPN – узлы идентифицируют друг друга и согласовывают алгоритмы шифрования, хэширования и аутентификации, после чего создается первый SA. Второй этап возможен только после завершения первого. На втором этапе генерируются данные ключей и происходит согласование используемой политики. После завершения второй фазы формируется второй SA и все данные, подлежащие передаче, шифруются. Именно после второго этапа формируется VPN – туннель и установка считается завершенной.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59