ทำไมเว็บไซต์เช่น Google / Facebook / etc ไม่ได้รับ DDOS แม้ว่าพวกเขาจะได้รับคำขอมากมาย?


14

บางสิ่งที่ฉันไม่เข้าใจ:

(สิบ / หลายร้อย?) หลายพันคนพร้อมกันพยายามเชื่อมต่อกับเว็บไซต์เช่น facebook.com หรือ google.com

จากสิ่งที่ฉันเข้าใจพวกเขาทั้งหมดต้องเชื่อมต่อกับ เหมือนกัน เซิร์ฟเวอร์เริ่มต้น (เนื่องจาก DNS จะส่งคืน IP เดียวกันให้กับหลาย ๆ คนดังนั้นคำขอทั้งหมดจะไปยังปลายทางเป้าหมายเดียวกัน)

ดังนั้น เดียว เครื่อง / เราเตอร์จะต้องจัดการคำขอเริ่มต้นทั้งหมดแม้ว่าจะวางแผนที่จะส่งต่อไปยังเครื่องอื่น

ทำไมอุปกรณ์ตัวเดียวถึงไม่ได้รับการโอเวอร์โหลดเมื่อเกิดเหตุการณ์เช่นนี้?


8
สมมติฐานของคุณเกี่ยวกับ DNS ไม่ถูกต้อง: en.wikipedia.org/wiki/Round-robin_DNS
Der Hochstapler

@OliverSalzburg: ขอบคุณสำหรับลิงค์ที่มีประโยชน์
Mehrdad

คำตอบ:


20

ความเข้าใจของคุณว่าพวกเขาทั้งหมดเชื่อมต่อกับเซิร์ฟเวอร์เดียวกันนั้นผิดแม้ว่ารายละเอียดของวิธีการที่คุณบรรลุผลลัพธ์เหล่านั้นจะซับซ้อน http://highscalability.com/ มีข้อมูลอ้างอิงเกี่ยวกับวิธีการแก้ปัญหาความยืดหยุ่นบางอย่างในการเล่น

พวกเขามีมากกว่าเซิร์ฟเวอร์ "หนึ่ง" ที่ลูกค้าเชื่อมต่อถึงแม้ว่าที่อยู่ IP สาธารณะจะเหมือนกัน ตัวอย่างเช่น Google ใช้ประโยชน์อย่างมากจากการกำหนดที่อยู่ใด ๆ ในการส่งผู้คนและโดยปกติแล้วพวกเขาจะไม่เพียงแค่มีที่อยู่ IP เดียวสำหรับลูกค้าแต่ละราย - แม้ว่าพวกเขาจะส่งคืนที่อยู่เดียวเมื่อคุณถาม


+1 ขอบคุณสำหรับการชี้ให้เห็นข้อผิดพลาด ฉันอดไม่ได้ที่จะสงสัยว่า: ถ้าคำขอต่อมาไปยังเซิร์ฟเวอร์ที่แตกต่างกันทุกครั้งเซิร์ฟเวอร์จะทำเซสชันของเซิร์ฟเวอร์ที่แตกต่างกันอย่างไร หรือการสุ่มในแบบต่อเครื่อง / ต่อเซสชั่นคืออะไร? (ฉันคิดว่าพวกเขาทั้งหมดทำข้อมูลให้ตรงกันที่แบ็กเอนด์ แต่มันดูเหมือนช้ามากที่จะซิงโครไนซ์เซิร์ฟเวอร์นับพันที่เก็บข้อมูลเกี่ยวกับผู้ใช้หลายล้านคนพร้อมกัน)
Mehrdad

1
คำตอบนั้นซับซ้อนและขึ้นอยู่กับการนำไปใช้ แต่วิธีการหนึ่งคือมีกลุ่มของเครื่องที่ไม่ทำอะไรเลยนอกจากส่งแพ็กเก็ตไปยังปลายทางที่ถูกต้อง มองหา F5 และผู้จำหน่ายตัวโหลดบาลานซ์อื่น ๆ สำหรับวิธีเล็ก ๆ Google ฉันคิดว่าใช้สิ่งที่พวกเขาสร้างขึ้นเอง
Daniel Pittman

เยี่ยมขอบคุณสำหรับคำอธิบาย!
Mehrdad

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