Разница между туннелем и сокетом? И преимущества одного над другим

Я новичок в концепции туннелей, поэтому столкнулся с основными трудностями в понимании работы сокета и туннеля.

Создание туннеля возвращает FD, но и Socket.

Я прочитал эти две хорошие статьи о введении в Tunnel: http://backreference.org/2010/03/26/tuntap-interface-tutorial/ https://www.kernel.org/doc/Documentation/networking/tuntap.txt

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

Любой кадр или пакет, который я отправляю из UserApp в ядро ​​и вне системы, будет проходить через физический носитель и обратно, используя физический носитель. Я мог бы пропустить интерпретацию здесь.

Так может ли кто-нибудь объяснить рассмотрение следующего параметра в примере о том, как на самом деле данные передаются по сети и обратно в UserApp в Socket & a Tunnel?

К вашему сведению, я знаю, что Tunnel открывает виртуальное устройство, а Socket является физическим экземпляром Ethernet/ системы.

Взаимодействие между следующими объектами поможет.

Система А:

Ядро - K1, UserApp - U1, Сокет - S1, Порт - P1, NIC - N1

Система Б:

Ядро - K2, UserApp - U2, Сокет - S2, Порт - P2, NIC - N2

На самом деле я пытаюсь разработать решение, в котором я мог бы использовать несколько потоков или мне пришлось бы использовать несколько сокетов. Кто-то предположил, что это может занять слишком много пользовательского пространства и планирования, и попросил заглянуть в туннели. И вот я здесь:)

Благодарю.

0 ответов

Другие вопросы по тегам