Что такое туннелирование в сети

1

В моем понимании, если A хочет общаться с B, они могут просто выбрать какой-то протокол и начать общение.

Например, они выбирают HTTP для коротких ссылок, затем B просто ожидает запросы A и затем отвечает на A, вот и все.

Или они могли бы выбрать TCP, чтобы какое-то время поддерживать соединение для некоторых двусторонних коммуникаций в реальном времени, и как только это будет сделано, они просто закрывают его, и все. Конец истории.

Но зачем нам нужен дополнительный термин, такой как туннель, и почему мы его так называем?

Если две точки устанавливают соединение, то это называется соединением по какому-либо протоколу. Почему существует нечто вроде HTTP-туннеля или XXX-туннеля?

Также я прочитал о том, OSIчто содержит 7 слоев.

Так что я могу сказать это :

Когда мы просматриваем сайты, большинство запросов и ответов основаны HTTP, верно?

Но HTTPесть верхний слой, который требует, network layer/IPа также transport layer/TCP, и мой HTTP packagesбудет инкапсулирован и отправлен, IP layerкоторый затем инкапсулирует их в IP packagesи то же самое TCP packagesи вплоть до physical layer.

Могу ли я сказать, что этот процесс похож на туннелирование? Поскольку исходные пакеты ( HTTP packages) инкапсулируются несколько раз, чтобы соответствовать нижним уровням.

Я прочитал некоторые вики и определения, но это немного сложно для всех деталей, но здесь я просто хочу узнать впечатление или первоначальное намерение.

Борис
источник

Ответы:

0

Когда мы просматриваем сайты, большинство запросов и ответов основаны на HTTP, верно?

Да.

Но HTTP - это верхний уровень, который требует сетевой уровень / IP, а также транспортный уровень / TCP, и мои HTTP-пакеты будут инкапсулированы и отправлены на IP-уровень, который затем инкапсулирует их в IP-пакеты и то же самое в TCP-пакеты и все вплоть до физического уровня.

Вообще-то да.

Часто существует SSL / TLS, многоуровневый между HTTP и TCP; Я предполагаю, что TLS будет в некоторой степени соответствовать «сессионному» слою.

Могу ли я сказать, что этот процесс похож на туннелирование? Поскольку исходные пакеты (пакеты HTTP) инкапсулируются несколько раз, чтобы соответствовать нижним уровням.

Возможно, но не совсем. В большинстве случаев термин «туннелирование» используется при инкапсуляции протоколов нижнего уровня в протоколы того же или более высокого уровня (т. Е. Способом, который полностью не соответствует моделям). Акт инкапсуляции остается одинаковым в любом случае, но термин указывает на то, что регулярная иерархия не соблюдается.

Например, туннелирование HTTP через (/ внутри) SSH; туннелирование IPv6 через IPv4; туннелирование L3 IP или даже L2 Ethernet через VPN на основе UDP / IP; даже туннелирование IP по HTTP - единственное ограничение - ваше воображение ... и MTU.

grawity
источник
0

Быстрый ответ: A tunnel- это способ инкапсуляции одного сетевого протокола в другой. VPN является распространенным примером туннеля: VPN-клиент подключается к серверу по протоколу VPN, затем другие сетевые протоколы отправляют свои пакеты в VPN, которая передает эти пакеты с использованием протокола VPN на другую сторону VPN, которая затем повторно передает пакеты по их первоначальному протоколу.

J Эрлс
источник
Хорошо, я понимаю, что вы имеете в виду, могу ли я сказать следующее: когда мы просматриваем веб-сайты, большинство запросов и ответов основаны HTTP, верно? Но HTTPявляется ли верхний слой, который требует, network layer/IPа также transport layer/TCP, и мой HTTP request packagesбудет инкапсулирован, IPкоторый затем инкапсулирует его IP packagesдо TCP packagesи вплоть до physical layer, могу ли я сказать, что этот процесс tunneling?
Борис