จากกระทู้ Pantip.com
ทำไมเว็บไซต์ถึงได้ล่มได้นะ
อ่านดูเหมือนมันไม่มีอะไร ก็แค่การกดปุ่ม F5 ปุ่มเดียวบน Keyboard แต่จริง ๆ แล้ว มันมีกระบวนการที่มากกว่านั้น
มันคืออะไร ????
เริ่มแรกเลย จะขออ้างอิงจาก ทฤษฎีของ TCP (ย่อมาจาก Transmission Control Protocol) ซึ่งแปลกันตรง ๆ คือ การควบคุมการส่งข้อมูลในระบบเครือข่ายนั่นเอง (ทั้ง LAN และ WAN Internet ก็เหมือนกัน)
โดยจะมีหลักการง่าย ๆ คือ การตรวจเช็คว่าจะรับส่งข้อมูลกันแล้วนะ ซึ่งทางคำศัพท์เรียกว่า Three-way handshake นั่นเอง
มันทำงานอย่างไร ?
จะมีฝั่งที่เป็นผู้ขอใช้งาน (ต่อไปขอเรียกว่า Source) และผู้ให้บริการปลายทาง (ต่อไปขอเรียกว่า Destination)
หรือถ้าเทียบง่าย ๆ Source คือ ผู้ใช้งานตามบ้านนี่แหละ ส่วนผู้ให้บริการ ก็คือ Web Server ที่เราเรียกให้งานนี่แหละ
โดยจะมีการทำงาน ดังนี้
1. SYN: เป็นการเริ่มเปิดประเด็นว่า Source จะเรียกใช้งานแล้วนะ แล้วก็ส่ง SYN ไปหา Destination
2. SYN-ACK: เมื่อ Destination ได้รับ SYN มา ก็จะทำการตอบกลับ เรียกการตอบกลับนี้ว่า SYN-ACK
3. ACK: สุดท้าย ก่อนจะเริ่มการรับส่ง Source ก็จะส่ง ACK กลับไป
รูปภาพจาก http://www.networkuptime.com/nmap/images/TCP_SYN_ping_open.gif
นี่คือขั้นตอนกระบวนการก่อนการรับส่งข้อมูลนะ
แล้วไอ้การกด F5 ระรัว นี่มันส่งผลอะไร
ก็คือการสร้าง Three-way Handshake รัว ๆ นั่นเอง โดยฝั่ง Source จะทำการส่ง SYN ออกไป 1 ครั้ง ต่อการกด F5 1 ที แต่ ก่อนที่ Source จะรับ SYN-ACK และส่ง ACK กลับไป ก็กด F5 กระหน่ำลงไปอีก ก็เท่ากับส่ง SYN ไปอีก ให้ Destination ตอบ SYN-ACK มาเรื่อย ๆ
แต่ไม่ใช่แค่เท่านั้น เหตุการณ์วันที่ 30-Sep-2015 กับเว็บหลาย ๆ เว็บที่ถูกไทยสามัคคี (อยากเห็นคนไทยสามัคคีกันแบบนี้ทุก ๆ เรื่องที่สร้างสรรนะ) ร่วมมือกันเปิด Browser แล้วมุ่งไปยังเป้าหมายเดียวกันจากคนนับล้าน กระบวนการนี้ มันไปกินทรัพยากรบนเครื่อง Destination เช่น CPU, Memory, Cache, ฯลฯ อีกมากมาย แล้วถ้าทรัพยากรหมดไม่สามารถใช้งานได้ ก็จะเกิดเหตุการณ์ เว็บล่มขึ้นนั่นเอง
เอวังด้วยประการ ฉีนี้แล....