Протокол тунелювання другого рівня L2TP
Протокол L2TP [1] увібрав у собі всі переваги PPTP та протоколу естафетної передачі на другому рівні від Cisco (L2F) [2]. Головні переваги L2TP в тому, що цей протокол дозволяє створювати тунель не лише в мережах IP, але і в таких, як ATM, X.25 та FRAME RELAY.
На відміну від протоколу PPTP, реалізація протоколу L2TP не використовує шифрування MPPE для PPP -датаграм. Служби шифрування протоколу L2TP працюють на основі IPsec в транспортному режимі. Комбінація протоколів L2TP і IPsec називається L2TP/IPsec.
Необхідно, щоб протоколи L2TP і IPsec підтримувалися як VPN клієнтом, так і VPN сервером. Підтримка протоколу L2TP, як клієнта, вбудована в дистрибутивах UNIX/LINUX і операційних системах Windows Vista® і Windows XP; а підтримка протоколу L2TP для VPN сервера в операційних системах UNIX/LINUX, Windows Server 2008/2003.
Інкапсуляція пакетів L2TP/IPsec виконується на двох рівнях. Перший рівень – інкапсуляція L2TP. До PPP кадру (IP датаграми) додаються заголовки L2TP і UDP.
Табл. 1 Структура L2TP пакета IP
IP заголовок | UDP заголовок | L2TP заголовок | PPP заголовок | PPP дані (IP датаграми) |
Другий рівень – інкапсуляція IPsec. До даного повідомленя L2TP додаються заголовок і замикач протоколу ESP IPsec. Замикач перевірки достовірності IPsec забезпечує цілісність і перевірку достовірності повідомлення. У IP заголовку міститься початковий і кінцевий IP адреси, відповідні VPN клієнтові і VPN серверу.
Шифрування L2TP трафіка можливо за допомогою протоколу ESP IPsec.
L2TP пакет без шифрування
IP заголовок | UDP заголовок | L2TP заголовок | PPP заголовок | PPP дані (IP датаграми) |
L2TP пакет з шифруванням
IP заголовок | ESP заголовок IPSec | UDP заголовок | L2TP заголовок | PPP заголовок | PPP дані (IP датаграми) | ESP замикач IPSec | Замикач перевірки достовірності IPSec |
Рисунок 1 - Пакети L2TP з шифруванням та без шифрування
Повідомлення L2TP шифрується за стандартом шифрування даних DES/3DES, використовуючи ключі шифрування, отримані в процесі узгодження за протоколом IKE.
Табл. 2 Формат пакетів L2TP
T | L | I | C | F | K | O | Версія | Розмір | |||||||||||||||||||||||
Ідентифікатор тунелю | Ідентифікатор з' єднання | ||||||||||||||||||||||||||||||
Ns | Np | ||||||||||||||||||||||||||||||
AVP (8 байтів) |
Прапор T має значення для повідомлень управління і 0 - для інформаційних (payload). У повідомленнях управління, що йдуть за цим прапором 7 бітів мають значення 1001000, використовувані для забезпечення сумісності з інформаційними повідомленнями.
Прапор L встановлюється для пакетів, які містять поле розміру та показують загальну довжину прийнятого пакета. Цей прапор повинен встановлюватися для управляючих повідомлень.
Поля I і C зарезервовані і повинні мати нульові значення. Поля використовувалися для опцій, більше не підтримуваних протоколом L2TP.
Прапор F встановлюється для пакетів, у яких є присутніми поля Ns і Nr. Цей прапор повинен встановлюватися для повідомлень управління.
Поле K зарезервоване і повинне мати нульове значення.
Прапор 0 говорить про присутність поля Розмір зміщення (Offset Size) в інформаційних повідомленнях.
Версія - це трьохбітове поле вказує номер версії протоколу L2TP і для версії 1 має значення 2.
Загальний розмір повідомлення з урахуванням заголовка, AVP (Attribute - Value Pair - пара атрибут-значення) типу повідомлення і усіх додаткових AVP, пов'язаних з цим типом повідомлень, що управляють.
Ідентифікатор тунеля - вказує тунель, до якого відноситься повідомлення управління. Якщо від партнера ще не отримано повідомлення Assigned Tunnel ID (присвоєння ідентифікатора тунелю), це поле повинне мати нульове значення. Після отримання від партнера ідентифікатора тунелю в усі пакети повинне поміщатися це значення.
Ідентифікатор виклику - вказує на призначену для користувача сесію в тунелі, до якої має відношення це повідомлення управління. Якщо повідомлення не пов'язане з окремою сесією в тунелі (наприклад, повідомлення Stop Control Connection Notification), це поле повинне мати нульове значення.
Ns – номер переданого пакета.
Nr – номер останнього прийнятого пакета.
Інформаційні повідомлення L2TP використовують два додаткові поля перед полем AVP. Ці поля показані нижче.
Табл. 3 Додаткові поля в інформаційних повідомленнях L2TP
Розмір зміщення (16 бітів) | Заповнення (16 бітів) |
Розмір зміщення. Це поле вказує число байтів від кінця заголовка L2TP до початку інформаційної частини повідомлення (payload). Якщо розмір зміщення дорівнює 0 або прапор O не встановлений, інформаційна частина повідомлення починається відразу після заголовка L2TP.
Поле "заповнювач" призначено для доповнення заголовка до цілого числа 32-бітових слів. Два останні поля ніколи не використовуються в заголовках повідомлень, що управляють.
Пари AVP використовуються для кодування типу повідомлень L2TP. Формат поля AVP показаний нижче.
Табл. 4 Формат поля AVP
М | Н | Резерв | Загальна довжина | Ідентифікатор фірми | |||||||||||||||||||||||||||
Атрибут | |||||||||||||||||||||||||||||||
Значення |
М - перші 6 бітів утворюють бітову маску, яка описує загальні атрибути AVP. Обов'язковий біт M використовується для контролю за обробкою нерозпізнаних AVP.
H - цей прапор служить для управління захованими (hidden) даними в полі значення AVP. Приховання даних можна використовувати для передачі конфіденційної інформації (наприклад, паролів) в AVP.
Загальна довжина - число октетів (з урахуванням самого поля довжини), що містяться в AVP. Поле довжини займає 10 бітів, дозволяючи передавати AVP розміром до 1024 октетів.
Ідентифікатор фірми - виділені IANA ідентифікатори SMI (Network Management Private Enterprise Code).
Атрибут - 16-бітове значення атрибута, значення якого визначається з урахуванням ідентифікатора фірми-виробника.
Значення - поле значення розміщується відразу ж після атрибута і займає октети пакета (загальний розмір пакету за вирахуванням шести октетів заголовка), що залишилися.
L2TP є протоколом Сеансового рівня та за замовчуванням використовує зареєстрований UDP -порт 1701.
Хід роботи
2.1. L2TP клієнт для Windows XP/2003 (вбудований в ОС)
Для того, щоб з ОС Windows можливо було підключатися до сервера LTP, в ній має бути присутнім Microsoft VPN Adapter. Розглянемо приклад підключення OC Windows XP, в ній цей драйвер встановлений за замовчуванням. Для створення VPN підключення необхідно виконати наступні кроки:
2.1.1 Пуск->Панель управління->Мережні підключення->Створення нового підключення.
2.1.2 Буде запущений майстер створення підключення.
2.1.3 На другому кроці вибрати «Підключити до мережі на робочому місці».
2.1.4 На наступному кроці «Підключення до віртуальної приватної мережі».
2.1.5 Далі вказати назву підключення «ltp».
2.1.6 Далі «Не набирати номер для попереднього підключення».
2.1.7 Далі вказати IP адреса запущеного LTP сервера (192.168.0.122).
2.1.8 Готово.
Логін та пароль спитати у викладача.
У налаштуваннях можливо замість автоматичного детектування типу VPN вказати вручну – L2TP IPSec VPN.
Дата добавления: 2016-05-11; просмотров: 764;