Linux의 IPsec 병목 현상은 무엇입니까?

Linux의 IPsec 병목 현상은 무엇입니까?

기가비트 이더넷으로 연결된 두 호스트 간의 여러 네트워크 보안 프로토콜의 성능을 비교하려고 합니다.

내 목표는 대역폭을 포화시킬 수 있는지 확인하고 그렇지 않은 경우 제한 요소는 무엇인지 확인하는 것입니다.

  • SSL을 사용하면 981MBit/s를 달성할 수 있으므로 이더넷 링크가 분명히 제한 요소입니다.
  • SSH를 사용하면 750MBit/s만 달성할 수 있지만 코어 중 하나는 100% 사용량입니다. SSH는 단일 스레드이므로 CPU가 제한 요소입니다.
  • IPsec을 사용하여 약 500MBit/s를 읽었지만 코어 중 어느 것도 100%에 도달하지 못했습니다(모두 50% 미만이었습니다).

그래서 내 질문은: IPsec이 더 높은 대역폭을 달성할 수 없는 이유는 무엇입니까?

이 두 호스트는 IPsec용 Debian Wheezy와 Strongswan을 실행합니다.

답변1

암호화폐에 삽입된 인위적인 기다림이나 수면 때문인지 궁금합니다. 제 생각엔 그럴 가능성은 낮습니다만...

http://www.tau.ac.il/~tromer/acoustic/

이것을 댓글로 게시할 수 없습니다. 그게 더 적절할 것입니다.

답변2

많은 요인이 있습니다. 네트워크 카드는 생각보다 마더보드에 더 많은 영향을 미칩니다. 설정된 지침은 전선을 통해 전달되어 드라이브 시스템의 일부에 영향을 미치고 병목 현상이 발생할 수 있습니다. 단일 보드 1200mhz 단일 코어를 사용하고 하드웨어를 조정하여 쿼드 코어 3600mhz를 능가할 수 있습니다. 이는 실제로 하드웨어 관련 문제입니다.

그들은 이것을 어떻게 하는가? 이 같은 http://www.ixiacom.com/products/ixn2x 이것은 165,000달러짜리 "I'll Beat You" 장치입니다. 즉, 2GB의 오류 트래픽이 1gig 파이프로 들어갑니다. 시스템을 공격하고 문제를 해결하기 시작하면 병목 현상이 "노출"됩니다. GDB 기술을 연마하세요!

모든 시스템에는 문제 해결에 대한 접근 방식이 다릅니다. 일부 마더보드에는 기능을 제한할 수 있는 기술적 제한이 있습니다.

해결책이 불분명하기 때문에 대답도 불분명합니다. OS 버전에 따른 다양한 페이징을 포함하여 20가지의 다양한 가능성을 머리 속에서 떠올릴 수 있습니다.

답변3

주어진 시간에 두 코어 중 하나만 포화될 가능성이 있지만 평균적으로 둘 다 약 50%인 것으로 보입니다(커널이 단일 스레드 IPsec 프로세스를 두 코어에 무작위로 할당하기 때문입니다. 그러나 내가 아는 한 참고 사항). Linux(Windows와 달리)는 일반적으로 동일한 코어에 스레드를 유지하려고 시도합니다.

IPSec는 특정 짧은 시간 동안 네트워크를 기다릴 수도 있는데, 이는 느린 전송 속도와 함께 버퍼링이 좋지 않다는 신호일 수 있습니다.

또한 압축(있는 경우) 및 프로토콜 오버헤드도 테스트에 영향을 미칠 수 있습니다.

관련 정보