คอขวดของ IPsec ใน Linux คืออะไร?


19

ฉันพยายามเปรียบเทียบประสิทธิภาพของโปรโตคอลความปลอดภัยเครือข่ายหลายตัวระหว่างสองโฮสต์ที่เชื่อมต่อใน Gigabit Ethernet

เป้าหมายของฉันที่นี่คือการดูว่าฉันสามารถทำให้แบนด์วิดท์อิ่มตัวหรือไม่และถ้าไม่ปัจจัย จำกัด คืออะไร

  • ด้วย SSL ฉันสามารถเข้าถึง 981 MBit / s ดังนั้นการเชื่อมโยงอีเธอร์เน็ตจึงเป็นปัจจัย จำกัด
  • ด้วย SSH ฉันสามารถเข้าถึงเพียง 750 MBit / s แต่หนึ่งในคอร์ของฉันมีการใช้งาน 100% เนื่องจาก SSH เป็นเธรดเดี่ยว CPU จึงเป็นปัจจัย จำกัด
  • ด้วย IPsec ฉันอ่านประมาณ 500 MBit / s แต่ไม่มีคอร์ใดที่ 100% (ต่ำกว่า 50%)

ดังนั้นคำถามของฉันคือ: ทำไม IPsec ถึงแบนด์วิดท์ที่สูงขึ้นไม่ได้?

โฮสต์ทั้งสองกำลังเรียกใช้ Debian Wheezy และ Strongswan สำหรับ IPsec


3
คุณจะต้องตรวจสอบให้แน่ใจว่า CPU ของคุณมีaesคำแนะนำในการถอดรหัสแพ็คเก็ตได้ดีขึ้นในทั้งสองไซต์intel.co.jp/content/dam/www/public/us/en/documents/white-papers/และให้แน่ใจว่าคุณเป็น ทำคู่ขนาน IPSec และการใช้อุโมงค์โหมด + ESP - strongswan.org/docs/Steffen_Klassert_Parallelizing_IPsec.pdf นั่นเป็นวิธีที่ดีที่สุดในการบรรลุประสิทธิภาพด้วยโปรโตคอลนี้

น่าเสียดายที่ฉันมีโปรเซสเซอร์ i3 ที่ไม่มีการสนับสนุน AES-NI และฉันทำงานในโหมดอุโมงค์ระหว่างโฮสต์ทั้งสอง ฉันเข้าใจว่าคำแนะนำของคุณทั้งสองจะเพิ่มแบนด์วิดท์อย่างไรในกรณีที่ CPU หนึ่งตัวใช้งานได้ 100% การใช้ AES-NI จะช่วยให้สามารถประมวลผลแพ็กเก็ตได้มากขึ้นและจะเพิ่ม BW แต่ที่นี่ซีพียูไม่ได้ดูเหมือนจะเป็นปัจจัย จำกัด
user50228

3
อืมนั่นเป็นเรื่องที่น่าสนใจ ฉันสงสัยว่ามีบางอย่างในเคอร์เนลกำลังทำให้สิ่งต่าง ๆ ช้าลง คุณต้องการแบ่งปันการกำหนดค่า ipsec หรือไม่ ฉันต้องการใช้ VM และดูผลลัพธ์ที่ฉันจะได้รับด้วยการตั้งค่าที่แตกต่างกัน
Lmwangi

คำตอบ:


1

มีปัจจัยหลายอย่างที่เกี่ยวข้องกับเรื่องนี้ NIC กระทบส่วนต่าง ๆ ของบอร์ดมากกว่าที่คุณจินตนาการ ชุดใด ๆ ถ้าคำแนะนำสามารถเจอสายและตีส่วนหนึ่งของระบบคนขับและคอขวดคุณลง คุณสามารถใช้ singleboard 1200mhz single core และปรับแต่งฮาร์ดแวร์เพื่อเป่าประตูออกและ quad core 3600mhz นี่เป็นคำถามเฉพาะฮาร์ดแวร์อย่างแท้จริง

พวกเขาทำเช่นนี้ได้อย่างไร ด้วยบางอย่างเช่น http://www.ixiacom.com/products/ixn2x นั่นคืออุปกรณ์ $ 165k "ฉันจะทำลายคุณ" ie 2 gigs ทราฟฟิกที่ผิดพลาดเข้าไปในท่อ 1gig เมื่อคุณเริ่มตีระบบและทำลายสิ่งของคอขวดของคุณจะเปิดเผยตัวตนของมัน ทำความเข้าใจกับทักษะ GDB ของคุณ!

ทุกระบบมีวิธีการที่แตกต่างกันในการแก้ไขปัญหา บอร์ดบางบอร์ดมีข้อ จำกัด ทางเทคโนโลยีที่สามารถเพิ่มความสามารถ

คำตอบนั้นไม่ชัดเจนเพราะคำตอบนั้นไม่ชัดเจน ฉันคิดได้ถึงความเป็นไปได้ที่แตกต่างกันถึง 20 อย่างบนหัวของฉันรวมถึงการเพจซึ่งอาจแตกต่างกันไปตามเวอร์ชั่นของระบบปฏิบัติการ


0

ฉันสงสัยว่ามันเป็นเพราะเทียมรอหรือหลับได้ถูกแทรกลงใน crypto มันไม่น่าจะเป็น imo แต่ ...

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

ไม่สามารถโพสต์สิ่งนี้เป็นความคิดเห็นจะเป็นวิธีที่ดีกว่า


0

อาจเป็นได้ว่า ณ เวลาใดเวลาหนึ่งเท่านั้นที่มีเพียงหนึ่งในสองแกนเท่านั้นที่อิ่มตัว แต่โดยเฉลี่ยแล้วดูเหมือนว่าทั้งคู่จะอยู่ที่ประมาณ 50% (เนื่องจากเคอร์เนลสุ่มกำหนดกระบวนการ IPsec แบบเธรดเดี่ยวให้กับทั้งสองแกนอย่างไรก็ตามเท่าที่ฉัน สังเกตว่า Linux (ต่างจาก Windows) มักจะพยายามเก็บเธรดไว้ในแกนเดียวกัน)

ในช่วงเวลาสั้น ๆ IPSec อาจรอให้เครือข่ายซึ่งร่วมกับอัตราการถ่ายโอนช้าเป็นสัญญาณของการบัฟเฟอร์ที่ไม่ดี

การบีบอัด (ถ้ามี) และโอเวอร์เฮดโปรโตคอลอาจส่งผลต่อการทดสอบของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.