lunes, 27 de febrero de 2012

Access-list: Filtrado de paquetes fragmentados

Una cosa a tener en cuenta en el mundo del networking es, que no todos los medios nos ofrecen la misma MTU. MTU significa Maximum Uransmition Unit, y es el tamaño máximo de trama de nivel 2 que admite el medio de transmisión.

Por defecto Ethernet tiene una MTU de 1500bytes, en cambio hay medios ópticos que admiten 4000 o mas bytes, un servicio MPLS sobre Ethernet añade un cierto payload, por tanto tampoco pueden ofrecer 1500bytes, un túnel GRE como hemos visto en artículos anteriores ofrece una MTU sobre Ethernet de 1475bytes.

El caso es que si queremos transmitir un paquete que a nivel 3 tiene mas bytes, que la MTU que tiene el Medio a nivel 2, lo que se hace es fragmentar el paquete. Fragmentar consiste en enviar el paquete en “trocitos” de nivel 2 hasta el siguiente salto, estos trocitos no contienen toda la información de nivel 3, por tanto para poder determinar el siguiente  salto por defecto los routers deberán cachear los paquetes fragmentados, y después adaptar el paquete de nivel 3 a la MTU del camino que lleva al siguiente salto.

Ese proceso que conlleva el uso de fragmentación de paquetes supone un cierto stress extra para los routers, y también supone un cierto problema para algunos firewalls no muy avanzados ya que no son capaces de analizar ciertos paquetes.

En algunos entornos para evitar esto lo que se hace es denegar los paquetes fragmentados, algo que puede llegar a ser medio viable en algunas redes corporativas, pero no sería viable en ningún operador.
Estos paquetes fragmentados se pueden filtrar con Access list, no es algo demasiado complicado de hacer con una lista extendida.




Access-list extended SIN_FRAGMENTACION
 Deny ip any any fragments
 Permit ip any any

No hay comentarios:

Publicar un comentario