Маршрутизатор получает пакет в 1500 байт (заголовок IP: 20 байт + полезные данные TCP: 1480 байт) и отбрасывает его. Это происходит потому, что размер полученного пакета превышает значение IP MTU (1476 байт) на интерфейсе туннеля GRE. 1. 2. Маршрутизатор посылает отправителю ICMP-сообщение об ошибке, в котором указано, что размер MTU следующего сегмента равен 1476 байтам. Узел сохранит полученную информацию (обычно в качестве маршрута узла для пункта назначения) в своей таблице маршрутизации. Передающий узел использует 1476-байтовый размер пакета, когда снова посылает эти данные. Маршрутизатор GRE добавляет инкапсуляцию GRE (24 байта) и передает пакет размером 1500 байт. 3.
1500-байтовый пакет не может пройти через 1400-байтовый канал, поэтому он сбрасывается промежуточным маршрутизатором. 4. 5. Промежуточный маршрутизатор посылает маршрутизатору GRE ICMP-сообщение (код = 3, тип = 4), в котором указано, что величина MTU следующего сегмента составляет 1400 байт. В соответствии с этим маршрутизатор GRE уменьшит размер пакета до 1376 байтов (1400 - 24) и установит значение MTU внутреннего IP на интерфейсе GRE. Это изменение можно увидеть только при использовании команды debug tunnel command . Оно не указывается в листинге команды show ip interface tunnel .
Во время следующей повторной пересылки узлом пакета размером в 1476 байтов маршрутизатор GRE отбрасывает пакет, поскольку он превышает текущий MTU IP (1376) в интерфейсе туннеля GRE. 6. Маршрутизатор GRE отправит маршрутизатору GRE еще одно ICMP-сообщение (код = 3, тип = 4) с MTU равным 1376 байтам, а узел обновит свою текущую информацию запомнив новое значение MTU. 7. 8. Хост посылает данные еще раз, но теперь в меньшем 1376-байтовом пакете, GRE добавит 24-байтовый заголовок инкапсуляции и перешлет его дальше. На этот раз пакет достигнет однорангового маршрутизатора туннеля GRE, где он подвергнется декапсуляции и будет отправлен на узел назначения. Примечание:
Если в этом сценарии на пересылающем маршрутизаторе не была бы установлена команда tunnel path-mtu- discovery и если бы в пакетах, пересылаемых через туннель GRE, был бы установлен бит DF, то узел 1 все равно бы смог отправить узлу 2 пакеты TCP/IP, но при этом пакеты подверглись бы фрагментированию в середине туннеля (канал со значением MTU равным 1400 байт). Кроме того, одноранговый узел туннеля GRE должен был бы собрать эти пакеты перед тем, как выполнить декапсуляцию и последующую переадресацию. "Чистый" режим туннелирования IPsec Протокол IPsec обеспечивает конфиденциальность, целостность и подлинность данных, передаваемых по IP-сетям, на основе стандартов.
IPsec обеспечивает шифрование данных на сетевом уровне. Применение IPsec увеличивает размер IP-пакета (в режиме туннелирования добавляется как минимум один IP-заголовок). Размер добавляемого заголовка (заголовков) варьируется в зависимости от режима работы IPsec, однако на каждый пакет приходится не более 58 байтов (инкапсуляция зашифрованных данных (Encapsulating Security Payload – ESP) и аутентификация ESP (ESPauth)). IPsec может работать в двух режимах – в туннельном и в транспортном. Туннельный режим является режимом по умолчанию. При работе в туннельном режиме осуществляется защита всего IP-пакета