Gre (протокол)

Як можна зрозуміти зі схеми, інкапсуляція (не обов'язково GRE) порушує ієрархію в моделі OSI. Це явище можна розглядати як роздільник між двома стеками протоколів, де один виступає "постачальником послуг" для іншого.

У зв'язку зі службовим заголовком розмір переданих даних всередині IP пакета через GRE-тунель зменшується при збереженні загального розміру пакета. В IP-пакеті передбачено наявність біта DF (do not fragment), що забороняє поділ пакета на кілька при передачі через середу з меншим розміром MTU. У цьому випадку пакет з розміром корисної області даних (англ. Payload), що перевищує MTU IP пакета в GRE-тунелі, відкидається, що призводить до втрат пакетів при істотній навантаженні (проходять пакети малого розміру, такі як SYN пакети TCP, ICMP повідомлення (ping ), але губляться пакети з даними в TCP потоці (тобто з'єднання рветься)). Для вирішення цієї проблеми рекомендується використовувати path-mtu-discovery (визначення TCP MSS, тобто максимального розміру IP-пакетів на всьому шляху) при передачі даних через GRE-тунель, щоб уникнути надмірної фрагментації або втрати великих пакетів. [1] [2]

Так як GRE є протоколом мережевого рівня і не використовує порти (на відміну від протоколів TCP і UDP), а одним з необхідних умов роботи механізму PAT є наявність «відкритого» порту, то робота протоколу GRE через міжмережевий екран може бути утруднена [3].

Окремим випадком вирішення проблеми для протоколу PPTP є технологія PPTP Passthrough, в цьому випадку міжмережевий екран «дозволяє» вихідні (клієнтські) підключення з захищеної мережі.