Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мережеві протоколи.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
217.6 Кб
Скачать

3. Протокол gre|

GRE| (Generic| Routing| Encapsulation|) — протокол туннелювання| мережевих|мережних| пакетів, розроблений фірмою|фірма-виготовлювачем| Cisco|. Протокол GRE| забезпечує механізм інкапсуляції довільних пакетів в довільний транспортний протокол. У найбільш загальному|спільному| випадку система має пакети, які потрібно інкапсулювати і маршрутизувати (інформаційні пакети). Інформація (payload|) спочатку інкапсулюється в пакет GRE|, який може також містити|утримувати| маршрут.

Отриманий|одержувати| в результаті пакет GRE| інкапсулюється в пакет іншого протоколу (протокол доставки). У даній статті ми розглянемо|розглядуватимемо| формати пакетів протоколу| GRE|. 

GRE| версії 0

Формат заголовка GRE| версії 0 виглядає таким чином.

Перші два октети заголовка містять|утримують| прапори GRE|:

  • C, Checksum| Present|. 1 битий. - Контрольна сума присутня (битий 0) і містить|утримує| коректне значення.

  • R, Routing| Present|. 1 bit|. - Якщо біт встановлений|установлений| тоді поля зсуву|зміщення| і маршрутизації присутні і містять|утримують| коректні значення

  • K, Key| Present|. 1 bit|. - В заголовку GRE| присутній ключ|джерело| і містить|утримує| коректне значення

  • S, Sequence| Number| present-| Порядковий номер присутнє і містить|утримує| коректне значення

  • s, Strict| Source| Route| - Рекомендується встановлювати цей прапор тільки|лише| якщо поле маршрутної інформації містить|утримує| маршрути Strict| Source|

  • Recur|, Recursion| Control| - 3-бітове беззнакове ціле, вказуюче|показуюче| допустиме число додаткових інкапсуляцій.

  • Flags| - These| bits| are| reserved| and| must| be| transmitted| as| 0

  • Version| - Версія GRE| протоколу. Повинно бути 0

  • Protocol| Type| - Тип протоколу в полі вмісту (payload|) пакету. У загальному|спільному| випадку це поле указує|вказує| тип протоколу Ethernet| для даного пакету.

  • Checksum| - Необов'язкове поле. Контрольна сума IP| (доповнення до 1) для заголовка GRE| і вмісту пакету.

  • Offset| - Необов'язкове поле. Показує зсув|зміщення| в октетах від початку поля маршрутизації до першого октету запису Source| Route|, що перевіряється.

  • Key| - Необов'язкове поле. 4-байтове, число, яке було вставлено при інкапсуляції. Це значення може використовуватися одержувачем|отримувачем| для аутентифікації відправника пакету.

  • Sequence| Number| - Порядковий номер. Необов'язкове поле. 32-бітове ціле число, що вставляється при інкапсуляції. Це значення може використовуватися одержувачем|отримувачем| для підтримки порядку|ладу| передачі пакетів.

  • Routing| - Маршрутизація. Необов'язкове поле. Містить|утримує| дані, які можуть використовуватися при маршрутизації даного пакету.

GRE| версії 1

Заголовок GRE|, використовуваний протоколом PPTP|, трохи відрізняється від заголовка, описаного в поточній специфікації протоколу GRE|. Основна відмінність|відзнака| в тому, що залучяється| додаткове поле Acknowledgment| Number| використовуване для визначення того, чи прибув GRE| пакет на іншу сторону GRE| тунеля.

  • C, Checksum| Present|. - Скинуто в 0

  • R, Routing| Present| - Скинуто в 0

  • K, Key| Present|. - Встановлено|установлений| в 1

  • S, Sequence| Number| present| - Встановлюється якщо присутній| Payload|. Якщо Payload| не присутній, то цей біт скинутий в 0. GRE| пакет використовується| тільки|лише| для підтвердження.

  • s, Strict| Source| Route| - Скинуто в 0

  • Recur|, Recursion| Control| - Скинуто в 0

  • A, Acknowledgment| sequence| number| present| - Встановлено|установлений| в 1, якщо пакет містить|утримує| номер підтвердження (Acknowledgment| Number|), використовуваний для підтвердження передаваних даних.

  • Flags|. - Скинуті в 0

  • Version| - Версія протоколу. Повинно бути 1

  • Protocol| - Протокол. Це значення завжди рівне 0x880B|.

  • Payload| Length| - Розмір даних не включаючи заголовок GRE|

  • Call| ID| - Містить|утримує| ідентифікатор сторони якої належить пакет.

  • Sequence| Number|. - Необов'язкове поле. Порядковий номер вмісту

  • Acknowledgment| Number| - Необов'язкове поле. Порядковий номер пакету GRE| з|із| максимальним номером, прийнятого передавальною стороною в даній призначеній для користувача сесії.