Фрагментация пакетов - обычно это лишняя нагрузка для маршрутизатора. Чтобы посмотреть статистику и выяснить, какое количесво пакетов фрагментированно маршрутизатором Cisco, можно воспользоваться командой show ip traffic. Для того, чтобы избежать фрагментации и некоторых других проблем, вызванных ей и невозможностью, например, доставки сообщений ICMP fragmentation needed, MTU для Ethernet-фреймов и MSS для данных TCP-сегмента должны быть оптимальными. Встает вопрос - как правильно их рассчитать?
Пример:
1500 байт - стандартный размер MTU (Для Ethernet фрейма размером 1518 байт - 1500 + 14 MAC заголовок + 4 FCS)
- 20 байт - IP заголовок
- 4 байт - заголовок туннеля GRE
- 8 байт - заголовок PPPoE
- 20 байт - заголовок TCP
- 52 байта - заголовок IPSec туннельном режиме
или
- 32 байта - заголовок IPSec в транспортном режиме
Выполним подсчёт MTU и MSS для удаленного офиса, подключенного к интернет по протоколу PPPoE в случае использования DMVPN:
(Макс. MTU) - [ (GRE Encaps) + (IPSec Transport) + (PPPoE) ] = ( MTU )
(1500) - [ ( 24 ) + ( 32 ) + ( 8 ) ] = ( 1436 )
(Макс. MTU) - [ (GRE Encaps) + (IPSec Transport) + (PPPoE) + ( TCP ) + ( IP ) ] = ( MSS )
(1500) - [ ( 24 ) + ( 32 ) + ( 8 ) + ( 20 ) + ( 20 ) ] = ( 1396 )
P.S. Заголовки следуют в следующем порядке:
PPPoE - IPSec - GRE - original IP - TCP ...
P.P.S Если нет ip tcp ajust-mss или неправильно выставлено значение ip mtu, а на ingress интерфейсе стоит no ip unreachables - могут быть проблемы с фрагментацией, т.к. ICMP fragmentation needed не будет приходить (PMTUD не работает). Точнее не будут прихоить сообщения ICMP destination unreachable с соответствующим кодом.
Пример:
1500 байт - стандартный размер MTU (Для Ethernet фрейма размером 1518 байт - 1500 + 14 MAC заголовок + 4 FCS)
- 20 байт - IP заголовок
- 4 байт - заголовок туннеля GRE
- 8 байт - заголовок PPPoE
- 20 байт - заголовок TCP
- 52 байта - заголовок IPSec туннельном режиме
или
- 32 байта - заголовок IPSec в транспортном режиме
Выполним подсчёт MTU и MSS для удаленного офиса, подключенного к интернет по протоколу PPPoE в случае использования DMVPN:
(Макс. MTU) - [ (GRE Encaps) + (IPSec Transport) + (PPPoE) ] = ( MTU )
(1500) - [ ( 24 ) + ( 32 ) + ( 8 ) ] = ( 1436 )
(Макс. MTU) - [ (GRE Encaps) + (IPSec Transport) + (PPPoE) + ( TCP ) + ( IP ) ] = ( MSS )
(1500) - [ ( 24 ) + ( 32 ) + ( 8 ) + ( 20 ) + ( 20 ) ] = ( 1396 )
P.S. Заголовки следуют в следующем порядке:
PPPoE - IPSec - GRE - original IP - TCP ...
P.P.S Если нет ip tcp ajust-mss или неправильно выставлено значение ip mtu, а на ingress интерфейсе стоит no ip unreachables - могут быть проблемы с фрагментацией, т.к. ICMP fragmentation needed не будет приходить (PMTUD не работает). Точнее не будут прихоить сообщения ICMP destination unreachable с соответствующим кодом.
tunnel key 4 bytes
ОтветитьУдалить