Тунельний протокол

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Комп'ютерні мережі використовують тунельні протоколи, коли один мережевий протокол (протокол доставки) інкапсулює протокол прийому. Використовуючи тунелювання, можна (наприклад) переносити дані через несумісну мережу, або забезпечує безпечний шлях через недовірену мережу.

Тунелювання зазвичай контрастує з рівневою моделлю протоколу наприклад з OSI або TCP/IP. Протокол доставки зазвичай (але не завжди) діє на вищому рівні в моделі, ніж робить це протокол завантаження, або в тому ж рівні. Інкапсуляція протоколу, яка здійснюється рівневими протоколами, відповідно до моделі OSI або TCP/IP (наприклад: HTTP над TCP над IP над PPP над V. 92 модемом) не використовує тунелювання.

Щоб розуміти модель протоколу, мережеві інженери повинні розуміти як працюють протокол завантаження і протокол доставки. Як приклад мережевого рівня над мережевим рівнем, Generic Routing Encapsulation (GRE), протокол, що працює з IP-адресами (Номер Протоколу IP 47), часто служить для передачі IP пакетів з приватних адрес RFC 1918 через Інтернет використовуючи пакети доставки з публічними адресами IP. В цьому випадку, протоколи постачання і завантаження об'яднуються, але адреси протоколів завантаження і адреси протоколів постачання є різними.

На відміну від цього адреса IP повинна з'єднуватись с рівнем даних для постачання, коли він переноситься в протоколі L2TP, що прокладає тунель до механізму завантаження як протокол канального рівня. L2TP, проте, фактично переноситься через транспортний рівень, використовуючи протокол UDP. IP в транспортному протоколі може переноситись через будь-який протокол з'єднання від IEEE 802.2 і IEEE 802.3 до канального протоколу (PPP) за допомогою з'єднання через модем.

Тунелювання через політику безпеки брадмауера[ред.ред. код]

Тунельні протоколи можуть використовувати скриптування даних для того, щоб перенести протоколи завантаження через публічні мережі (такі як Інтернет), забезпечуючи VPN з'єднання. IPsec має спеціальний транспортний метод і може керувати перенесенням даних через безпечні мережі.

Користувачі можуть також використовувати тунелювання, щоб «обійти» брандмауер, використовуючи протокол, який брандмауер зазвичай блокував би, але «обгорнувшись» всередині протоколу, який брандмауер не блокує, як наприклад HTTP. Якщо політика брандмауера не виключає цей вид «обгортання», цей прийом може функціонувати щоб наблизитися до призначеної політики брандмауера.

Інший метод на базі HTTP використовує HTTP з'єднання. Клієнт посилає команду з'єднання HTTP до HTTP proxy. Proxy потім виконує TCP з'єднання до специфічного порту сервера, і встановлює зв'язок між даними порту сервера і клієнтським з'єднаянням. Оскільки це створює діру в безпеці, HTTP proxy, які можуть з'єднватись зазвичай обмежують доступ до методу з'єднання. Proxy відкриває доступ тільки до дозволеного списку специфічних авторизованих серверів.

L2TP[ред.ред. код]

L2TP застосовує в якості транспорту протокол UDP і використовує однаковий формат повідомлень як для управління тунелем, так і для пересилання даних. L2TP в реалізації Microsoft використовує в якості контрольних повідомлень пакети UDP, що містять шифровані пакети PPP.

Для забезпечення безпеки L2TP-пакетів звичайно використовується протокол IPsec, який надає конфіденційність, аутентифікацію та цілісність. Комбінація цих двох протоколів відома як L2TP/IPsec.

Кінцеві вузли L2TP тунелю називаються LAC (L2TP Access Concentrator) і LNS (L2TP Network Server). LAC є ініціатором тунелю, тоді LNS — сервер, який очікує нових тунелів. Коли тунель встановлено, мережевий трафік між вузлами є двонаправленим. Потім, протоколи більш високих рівнів запускаються всередині L2TP тунелю. Для цього, L2TP сесія встановлюється всередині тунелю для кожного протоколу вищого рівня (наприклад, для PPP). Як LAC, так і LNS можуть ініціювати сесії. Трафік для кожної сесії ізолюється за допомогою L2TP, тому можливо налаштувати кілька віртуальних мереж через один тунель [Ред] Інкапсуляція

Інкапсуляція пакетів L2TP/IPSec виконується в два етапи.

  • 1. Інкапсуляція L2TP. Кадр PPP (IP-датаграма або IPX-датаграма) полягає в оболонку з заголовком L2TP і заголовком UDP.
  • 2. Інкапсуляція IPSec. Потім отримане L2TP-повідомлення полягає в оболонку з заголовком і трейлером IPSec ESP (Encapsulating Security Payload), трейлером перевірки автентичності IPSec, що забезпечує цілісність повідомлення та перевірку справжності, і заголовком IP. У заголовку IP-адреси джерела і приймача відповідають VPN-клієнта і VPN-сервера.
  • 3. На завершення L2TP виконує другий PPP-інкапсуляцію для підготовки даних до передачі.