GRE (протокол)

Поделись знанием:
Перейти к: навигация, поиск

GRE (англ. Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования сетевых пакетов, разработанный компанией Cisco Systems. Его основное назначение — инкапсуляция пакетов сетевого уровня сетевой модели OSI в IP пакеты. [www.iana.org/assignments/protocol-numbers Номер протокола] в IP — 47.

Туннелирование подразумевает три протокола:

  • пассажир — инкапсулированный протокол (IP, CLNP, IPX, AppleTalk, DECnet Phase IV, XNS, VINES и Apollo)
  • протокол инкапсуляции (GRE)
  • транспортный протокол (UDP)





Пример применения

Пример стека протоколов

Уровень модели OSI Протокол
7. Сеансовый X.225
6. Транспортный UDP
5. Сетевой (GRE-инкапсуляция) IPv6
4. Инкапсуляция GRE
3. Сетевой IPv4
2. Канальный Ethernet
1. Физический Ethernet

Как можно понять из схемы, инкапсуляция (не обязательно GRE) нарушает иерархию в модели OSI. Это явление можно рассматривать как разделитель между двумя стеками протоколов, где один выступает "поставщиком услуг" для другого.

Проблема DF-бита

В связи со служебным заголовком размер передаваемых данных внутри 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]

Проблема NATа

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

Частным случаем решения проблемы для протокола PPTP является технология PPTP Passthrough, в этом случае межсетевой экран «разрешает» исходящие (клиентские) подключения из защищённой сети.

Напишите отзыв о статье "GRE (протокол)"

Примечания

  1. О решении проблемы DF-бита и MTU на оборудовании cisco: [www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml]
  2. О проблеме фрагментации пакетов в GRE- и IPSEC-туннелях: [www.cisco.com/en/US/tech/tk827/tk369/technologies_tech_note09186a0080093f1f.shtml]
  3. [lists.freebsd.org/pipermail/freebsd-net/2003-July/000941.html NAT and PPTP]

Ссылки

  • [www.opennet.ru/base/cisco/gre_fragment.txt.html Проблема DF бита и фрагментации в GRE туннелях]
  • [www.opennet.ru/base/net/vpn_tunnel.txt.html Создание VPN GRE туннеля в Linux]
  • RFC 1701 — Generic Routing Encapsulation (GRE), октябрь 1994
  • RFC 1702 — Generic Routing Encapsulation over IPv4 networks, октябрь 1994
  • RFC 2784 — Generic Routing Encapsulation (GRE), июль 2000
  • RFC 2890 — Key and Sequence Number Extensions to GRE, сентябрь 2000


Отрывок, характеризующий GRE (протокол)

Нерешительность государя продолжалась одно мгновение. Нога государя, с узким, острым носком сапога, как носили в то время, дотронулась до паха энглизированной гнедой кобылы, на которой он ехал; рука государя в белой перчатке подобрала поводья, он тронулся, сопутствуемый беспорядочно заколыхавшимся морем адъютантов. Дальше и дальше отъезжал он, останавливаясь у других полков, и, наконец, только белый плюмаж его виднелся Ростову из за свиты, окружавшей императоров.
В числе господ свиты Ростов заметил и Болконского, лениво и распущенно сидящего на лошади. Ростову вспомнилась его вчерашняя ссора с ним и представился вопрос, следует – или не следует вызывать его. «Разумеется, не следует, – подумал теперь Ростов… – И стоит ли думать и говорить про это в такую минуту, как теперь? В минуту такого чувства любви, восторга и самоотвержения, что значат все наши ссоры и обиды!? Я всех люблю, всем прощаю теперь», думал Ростов.
Когда государь объехал почти все полки, войска стали проходить мимо его церемониальным маршем, и Ростов на вновь купленном у Денисова Бедуине проехал в замке своего эскадрона, т. е. один и совершенно на виду перед государем.
Не доезжая государя, Ростов, отличный ездок, два раза всадил шпоры своему Бедуину и довел его счастливо до того бешеного аллюра рыси, которою хаживал разгоряченный Бедуин. Подогнув пенящуюся морду к груди, отделив хвост и как будто летя на воздухе и не касаясь до земли, грациозно и высоко вскидывая и переменяя ноги, Бедуин, тоже чувствовавший на себе взгляд государя, прошел превосходно.
Сам Ростов, завалив назад ноги и подобрав живот и чувствуя себя одним куском с лошадью, с нахмуренным, но блаженным лицом, чортом , как говорил Денисов, проехал мимо государя.
– Молодцы павлоградцы! – проговорил государь.
«Боже мой! Как бы я счастлив был, если бы он велел мне сейчас броситься в огонь», подумал Ростов.
Когда смотр кончился, офицеры, вновь пришедшие и Кутузовские, стали сходиться группами и начали разговоры о наградах, об австрийцах и их мундирах, об их фронте, о Бонапарте и о том, как ему плохо придется теперь, особенно когда подойдет еще корпус Эссена, и Пруссия примет нашу сторону.
Но более всего во всех кружках говорили о государе Александре, передавали каждое его слово, движение и восторгались им.
Все только одного желали: под предводительством государя скорее итти против неприятеля. Под командою самого государя нельзя было не победить кого бы то ни было, так думали после смотра Ростов и большинство офицеров.
Все после смотра были уверены в победе больше, чем бы могли быть после двух выигранных сражений.


На другой день после смотра Борис, одевшись в лучший мундир и напутствуемый пожеланиями успеха от своего товарища Берга, поехал в Ольмюц к Болконскому, желая воспользоваться его лаской и устроить себе наилучшее положение, в особенности положение адъютанта при важном лице, казавшееся ему особенно заманчивым в армии. «Хорошо Ростову, которому отец присылает по 10 ти тысяч, рассуждать о том, как он никому не хочет кланяться и ни к кому не пойдет в лакеи; но мне, ничего не имеющему, кроме своей головы, надо сделать свою карьеру и не упускать случаев, а пользоваться ими».
В Ольмюце он не застал в этот день князя Андрея. Но вид Ольмюца, где стояла главная квартира, дипломатический корпус и жили оба императора с своими свитами – придворных, приближенных, только больше усилил его желание принадлежать к этому верховному миру.
Он никого не знал, и, несмотря на его щегольской гвардейский мундир, все эти высшие люди, сновавшие по улицам, в щегольских экипажах, плюмажах, лентах и орденах, придворные и военные, казалось, стояли так неизмеримо выше его, гвардейского офицерика, что не только не хотели, но и не могли признать его существование. В помещении главнокомандующего Кутузова, где он спросил Болконского, все эти адъютанты и даже денщики смотрели на него так, как будто желали внушить ему, что таких, как он, офицеров очень много сюда шляется и что они все уже очень надоели. Несмотря на это, или скорее вследствие этого, на другой день, 15 числа, он после обеда опять поехал в Ольмюц и, войдя в дом, занимаемый Кутузовым, спросил Болконского. Князь Андрей был дома, и Бориса провели в большую залу, в которой, вероятно, прежде танцовали, а теперь стояли пять кроватей, разнородная мебель: стол, стулья и клавикорды. Один адъютант, ближе к двери, в персидском халате, сидел за столом и писал. Другой, красный, толстый Несвицкий, лежал на постели, подложив руки под голову, и смеялся с присевшим к нему офицером. Третий играл на клавикордах венский вальс, четвертый лежал на этих клавикордах и подпевал ему. Болконского не было. Никто из этих господ, заметив Бориса, не изменил своего положения. Тот, который писал, и к которому обратился Борис, досадливо обернулся и сказал ему, что Болконский дежурный, и чтобы он шел налево в дверь, в приемную, коли ему нужно видеть его. Борис поблагодарил и пошел в приемную. В приемной было человек десять офицеров и генералов.