HTTP - туннелирование представляет собой метод , посредством которого осуществляется связь с использованием различных сетевых протоколов инкапсулируются с использованием HTTP протокола, сетевые протоколы , о которых идет речь , как правило , принадлежащих к TCP / IP семейства протоколов. Таким образом , протокол HTTP , действует как оболочка для канала , что сетевой протокол будучи туннелированным использует для связи.
Поток HTTP с его скрытым каналом, называется НТТР туннель.
HTTP туннель программное обеспечение состоит из приложений HTTP туннелирования клиента-сервер , которые интегрируются с существующим прикладным программным обеспечением, что позволяет использовать их в условиях ограниченного подключения к сети , включая файрвол сеть, сеть за прокси - серверов и трансляцию сетевых адресов .
Использование
HTTP туннель используется наиболее часто в качестве средства для связи с сетевыми мест с ограниченной связью - чаще всего за NATs , брандмауэров или прокси -серверами , а чаще всего с приложениями , которые не имеют встроенную поддержку для общения в таких условиях ограниченной связи. Ограниченное соединение в виде заблокированных портов TCP / IP, блокируя трафик , инициированный из внешней сети, или блокирования всех сетевых протоколов , за исключением немногого является широко используемым методом , чтобы заблокировать сеть , чтобы защитить от внутренних и внешних угроз.
Механизм
Сервер посредника разворачивает фактические данные перед отправкой их на удаленный хост в вопросе. Симметрично, когда она принимает данные от удаленного хоста, он оборачивает его в протоколе HTTP перед его отправкой в качестве части ответа HTTP к приложению.
В этом случае приложение играет роль клиента туннелирования, в то время как удаленный хост играет роль сервера доводятся с.
HTTP CONNECT туннелирования
Разновидностью HTTP туннелирования , когда позади с HTTP - прокси - сервер является использование « CONNECT » метод HTTP.В этом механизме, клиент запрашивает HTTP - прокси - сервер для пересылки на TCP соединения с нужным назначением. Затем сервер продолжает устанавливать соединение от имени клиента. После того , как соединение было установлено сервером, прокси - сервер продолжает прокси поток TCP и от клиента. Обратите внимание , что только запрос начального соединения HTTP - после того, сервер просто предоставляет интерфейс установленного соединения TCP.
Этот механизм , как клиент позади HTTP прокси - сервер может получить доступ к веб - сайты с помощью SSL или TLS (т.е. HTTPS).
Не все HTTP прокси-серверы поддерживают эту функцию, и даже те, которые могут ограничить поведение (например, только что позволяет подключение к HTTPS по умолчанию порта 443, или блокирование трафика, как представляется, не будет SSL).
HTTP туннелирование без использования CONNECT
В некоторых сетях, использование метода CONNECT ограничивается некоторыми доверенными сайтами. В таких случаях, HTTP туннель все еще может быть реализован с использованием только обычные методы HTTP как POST, GET, PUT и DELETE. Это похоже на подход , используемом в двунаправленных-потоках по синхронной HTTP ( BOSH ).
В этой программе доказательства правильности концепции , сервер работает за пределами защищенной сети и действует как специальный сервер HTTP. Клиентская программа запускается на компьютере внутри защищенной сети. Всякий раз , когда какой - либо сетевой трафик передаются от клиента, клиент перепаковывает данные трафика как запрос HTTP и передает данные на внешний сервер, который извлекает и выполняет запрос исходной сети для клиента. Ответ на запрос, посланный на сервер, затем упаковать в качестве ответа HTTP и передается обратно клиенту. Поскольку весь трафик инкапсулируется в обычных GET и POST запросов и ответов, этот подход работает через большинство прокси - серверов и брандмауэров.
HTTP туннель клиенты
Есть несколько бесплатных или с открытым исходным кодом и коммерческие клиентские приложений HTTP туннелирования, которые позволяют даже приложению, которые не имеют встроенную поддержку туннелирования для связи с мест с ограниченным подключением.
Свободные или с открытым исходным кодом HTTP клиенты туннелирования обычно упаковывают в виде пары приложений, один из которых выполняет роль сервера-посредника, другой выполняет роль клиента туннелирования. Это требует, чтобы пользователь имел доступ к своему собственному серверу, что они могут запустить программное обеспечение сервера посредника на.
Коммерческие приложения HTTP туннелирования клиента предоставляется компаниями, которые управляют их собственными фермами Посредник сервера. Они взимать плату за услуги, предоставляемые с различными уровнями обслуживания, которые зависят от пропускной способности при условии.