Matériel pour IPSEC Gbit



  • Bonjour,

    J'ai besoin de monter un tunnel entre deux sites connectés en fibre giga symétrique.

    Il faut monter un tunnel VPN entre ces deux sites. Nous avons testé de l'ipsec (md5 AES128) avec un xeon E3 3,1Ghz, avec iperf avec des paquets à 64kb j'arrive à un débit de 700Mb/s les deux routeurs en directe (sans opérateur internet). Par contre sur la fibre opérateur je ne dépasse pas 350Mb/s… Curieux car les deux sites sont sur le même fournisseur dans le même pays. Alors qu'un test de débit hors VPN nous emmène bien vers le giga.

    Quel type de matériel dois-je utiliser pour arriver au giga sur le l'IPSEC.
    Est-ce que le xeon e3 à 3,4Ghz m'amènera plus proche du giga ? ou éventuellement un double socket ?

    Est-ce qu'un xeon E5 sera lui plus performant sachant que la fréquence est moindre, dans les 2,2Ghz.

    Merci pour vos lumières

    Sébastien



  • Bonjour,

    Il faut d'abord prendre en compte l'overhead imposé par IPSEC+AES, celui-ci se situe environ entre 8% et 12%. Donc tout d'abord, placer sa cible optimale à 900Mb/s. Il est ensuite assez peu probable d'atteindre l'efficacité maximum compte tenu de l'hétérogénéité des morphologies de communication (taille utile des paquets etc.).AES, utilise des blocs de 16 octets, donc si on dépasse ou si on est inférieur il y a du padding (remplissage par des zéros). De même pour l'algo de hashage (md5, sha1) qui travraillent sur des blocs de 64 octets

    Il est également démontré que le MSS optimal (charge max sur TCP) sur IPSEC est de 1328 octets. Le header IP faisant 40 octets, on peut alors définir un MTU permettant de rentrer dans cette configuration "optimale".

    Dans votre cas, j'essaierai de tuner le MTU (réduction) pour résoudre votre problème de débit au travers d'Internet.
    une fois le tunnel établi, testez la charge utile maximale via ICMP avec un simple ping -f -l, ajoutez la taille des headers et vous obtenez alors le MTU.

    Sinon, testez avec un MTU à 1400 ou un peu moins, le débit devrait alors être meilleur, puis augmentez le jusqu'à ce que le débit chute de nouveau.



  • Bonjour

    Merci pour ces explications. Je vais tester en jouant avec ces paramètres. Je ne manquerai pas d'écrire des nouvelles sur les résultats obtenus.

    Sébastien



  • Bonjour,

    Selon vous afin de froler les 900Mb/s, niveau puissance de calcul, quel serai le mieux ?
    Nous avions fait des tests avec un xeon E3 3,2Ghz.
    Est-ce que avec un xeon E3 3,4Ghz les 200Mhz feront-il une différence ?
    Qu'en est-il des bi-processeurs ? Est-ce que si je prend un Bi xeon E3 3,4Ghz, cela rajoutera-t-il  la différence que nous attendons pour atteindre nos 900Mb/s ?

    Quelqu'un a-t-il des retours sur le cryptage et les XEON E5. Ils ont moins de fréquence mais peut être plus de performance comparé à un E3 ?

    Merci pour vos retours

    Sébastien



  • Pour le matériel, ce n'est pas en augmentant la fréquence de si peu que vous obtiendrez 1gb/s en AES.

    Pour optimiser la ressource, il est plus interessant de passer sur des cartes crypto accélératrices.

    Je ne sais pas si le kernel actuel sait utiliser les fonction AES-NI des derniers Xeon, normalement c'était prévu pour la 2.1 mais je n'ai pas vérifié. De mémoire le dev qui porte le support AES-NI sur FreeBSD n'est pas vraiment au fait de l'utilisation dans les VPN…donc cela n'aide pas.



  • Bonjour,

    Juste pour vous faire un retour d'expérience après mise en production.

    Nous avons finalement mis deux serveur avec comme processeur "Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz 8 CPUs: 1 package(s) x 4 core(s) x 2 SMT threads"

    Après test de l'IPSEC, nous avons réussi à faire en partage windows 400Mb/s en jouant avec la MTU de l'ipsec.
    le cryptage utilisé est de l'AES256/MD5

    Merci pour vos réponses et idée.

    Sébastien



  • Merci du retour !
    Ce genre d'expérimentation sont précieuses car elles permettent d'établir des points de comparaison.

    Par curiosité, avez vous essayé avec un tunnel openVPN site à site avec ce genre de CPU, histoire de comparer?

    De même avez vous essayé avec un cipher plus performant de type blowfish avec un hash en SHA1, en augmentant la fréquence de changement de clé vous devriez avoir la solution la plus optimisée en IPSEC avec votre matériel.

    Eric.



  • Bonjour,

    J'avais tester en maquette avec openvpn, le débit était bien moindre, je dépassai difficilement les 100Mb.

    J'avais tester avec d'autre cryptage mais au finale c'était l'AES le plus performant car les instructions sont intégré au XEON

    Je ne manquerai pas de faire un retour si je trouve le temps de tester avec d'autre chose.

    Sébastien