Більшість L2TP проти GRE суперечок руйнуються з тієї самої причини: назви лежать на різних рівнях проблеми. Дві з них описують інкапсуляцію, яку ви налаштовуєте на своїх маршрутизаторах. Одна описує послугу, яку вам продає хтось інший. Почніть із корисного навантаження, яке мають нести кінцеві точки, і порівняння стане коротким списком наслідків замість боротьби за функції.

Спочатку навантаження, потім протокол

На практиці навантаження — це одне з чотирьох: сесія PPP, необроблений кадр Ethernet, пакет IP або кадр MPLS, переданий постачальнику. Кожен висуває різні вимоги до адресації, обробки широкомовлення та виявлення збоїв. Помилитеся в цьому списку — і жодне налаштування інкапсуляції не врятує проєкт.

PayloadNatural fitWhat it needs
PPP sessionL2TPv2UDP reachability, PPP negotiation on both ends
Ethernet frameL2TPv3 or VPWSPseudowire signalling, matched MTU on both sides
IP packetGRE, with IPsec alongsideRouted underlay, protocol type supported by both devices
MPLS frameVPWSProvider attachment circuits and demarcation points

Усе поза цими рядками додається пізніше: шифрування, стиснення або формування трафіку. Спершу виберіть рядок.

L2TPv2 і L2TPv3 ділять назву і майже нічого більше

L2TPv2 існує, щоб переносити сесії PPP через мережу IP, тому він читається як протокол віддаленого доступу, а не як універсальний транспорт кадрів. L2TPv3 узагальнює цю ідею: керуюче з'єднання узгоджує сесії, і кожна сесія несе визначене з'єднання рівня 2 між двома кінцевими точками IP. Те саме сімейне ім'я, інший протокол керування, інша модель сесії. Вимога, у якій указано лише L2TP, неповна, а шаблон, скопійований із неправильної версії, навіть не домовиться.

Якщо вам потрібен PPP, L2TPv2 — єдиний реалістичний член родини; якщо вам потрібні кадри Ethernet через маршрутизоване ядро, ви на території L2TPv3.

Деталі транспорту різняться так, що це випливає під час перевірки міжмережевого екрана. L2TPv3 може йти безпосередньо через протокол IP 115 або всередині UDP, зазвичай на порту 1701, тоді як L2TPv2 залишається на UDP 1701 з PPP усередині. Політика, написана для однієї версії, може виглядати цілком правильною і все ж відкидати іншу.

GRE — це заголовок, а не послуга

GRE загортає корисне навантаження в чотирибайтовий заголовок із необов'язковим полем ключа та послідовності, а потім передає результат IP для доставки. Він нічого не стверджує про значення навантаження, тому реалізації можуть тунелювати IPv4, IPv6 або Ethernet, якщо ці типи протоколів підтримуються. Загальне — не те саме, що універсальне: перевірте тип протоколу та поведінку фрагментації на реальному пристрої.

Поле ключа — це те, що робить GRE корисним, коли кілька тунелів поділяють одну пару адрес кінцевих точок, бо отримувач демультиплексує за цим значенням. GRE поверх IPv4 коштує близько 24 байтів до будь-яких додаткових опцій, і це починає мати значення на каналах, уже розрахованих на кадри 1500 байтів. Сам по собі GRE не забезпечує конфіденційності, тож звичайна схема поєднує його з IPsec і залишає криптографічний кордон за IPsec. Це поєднання працює, але бюджет MTU тоді має покривати обидва заголовки.

GRE також передає багатоадресну та широкомовну розсилку через тунель, коли навантаження — Ethernet, чого звичайний одноадресний тунель IP не може. Саме ця властивість, а не абревіатура, зазвичай змушує проєкт вибрати його.

VPWS купують, а не налаштовують

Послуга віртуальної виділеної лінії доставляє з'єднання «точка-точка» рівня 2 через мережу постачальника. Ваша з'єднувальна лінія закінчується на прикордонному пристрої постачальника, а псевдоканал через ядро належить постачальнику. Важливі питання операційні: де проходить межа відповідальності, кому належить перша й остання миля і що постачальник робить із надмірно великими кадрами.

Тут порівняння перевертається. L2TPv3 і GRE — це те, що ви експлуатуєте від краю до краю, тому налагоджуєте їх своїми обліковими даними та своїми записами трафіку. VPWS — це договір із передачею, тому збій починається з заявки, а не із запису пакетів. Жодна модель не виграє беззастережно; вони відмовляють у різних місцях, і вибір залежить від того, чи хочете ви володіти останньою милею.

Стек міток псевдоканалу залишається всередині мережі постачальника, тому він не змінює вашу арифметику MTU так, як це робить видимий заголовок тунелю.

Виберіть один рядок і запишіть його

Зафіксуйте рішення одним реченням із трьох частин: навантаження, інкапсуляція та власник транспорту. Потім додайте числа, які роблять його перевірюваним.

Для кожного кандидата запишіть накладні витрати на лінії, найбільший кадр, який приймає шлях, і перший стрибок, який повідомив би про проблему MTU. Переконайтеся, що обидві кінцеві точки підтримують обраний вами тип протоколу або сесії, а не лише маркетинговий термін у специфікації. Вирішіть, як виглядало б мультиплексування, якщо наступного року з'явиться друге з'єднання, бо ключі GRE та ідентифікатори сесій L2TPv3 не є взаємозамінними рішеннями цієї проблеми. Потім надішліть один надмірно великий кадр і один звичайний; ця пара ловить більшість проєктів, які добре виглядали на папері.

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

Схожі статті