อ่าน 2 นาที
เน็ตสปลิต
ใน เครือข่ายคอมพิวเตอร์ โดยเฉพาะ Internet Relay Chat (IRC) netsplit คือการตัดการเชื่อมต่อระหว่างเซิร์ฟเวอร์สองตัว การแบ่งแยกระหว่างเซิร์ฟเวอร์สองตัวใดๆ...
เน็ตสปลิต
ในเครือข่ายคอมพิวเตอร์โดยเฉพาะInternet Relay Chat (IRC) netsplitคือการตัดการเชื่อมต่อระหว่างเซิร์ฟเวอร์สองตัว การแบ่งแยกระหว่างเซิร์ฟเวอร์สองตัวใดๆ จะแบ่งเครือข่ายทั้งหมดออกเป็นสองส่วน[ 1 ]
สาเหตุและผลกระทบ
พิจารณากราฟทางด้านขวา ซึ่งแสดงถึงเครือข่ายคอมพิวเตอร์แต่ละเส้นแสดงถึงการเชื่อมต่อที่สร้างขึ้น ดังนั้น เซิร์ฟเวอร์Cจึงเชื่อมต่อโดยตรงกับAซึ่งเชื่อมต่อกับBและD ด้วยเช่น กัน
หากการเชื่อมต่อระหว่าง CและA เกิด การขัดข้องการเชื่อมต่ออาจถูกตัดขาดได้ ซึ่งอาจเกิดขึ้นได้จาก ข้อผิดพลาดของ ซ็อกเก็ตหรือจากความล่าช้า มากเกินไป ที่เซิร์ฟเวอร์Aคาดการณ์ไว้ล่วงหน้า (ซึ่งเรียกว่าการหมดเวลา)
เมื่อการเชื่อมต่อระหว่างAและCถูกตัดขาด ผู้ใช้ที่เชื่อมต่อกับเซิร์ฟเวอร์อื่น ๆ ที่ไม่สามารถเข้าถึงได้ในเครือข่ายจะดูเหมือนว่าออกจากระบบ ตัวอย่างเช่น หากผู้ใช้Saraเชื่อมต่อกับเซิร์ฟเวอร์Aผู้ใช้Bobเชื่อมต่อกับเซิร์ฟเวอร์Bและผู้ใช้Joeเชื่อมต่อกับCและCแยกตัวหรือตัดการเชื่อมต่อจากA Joeจะเห็นราวกับว่าSaraและBob ออกจากระบบทั้งคู่ (ตัดการเชื่อมต่อจากเครือข่าย) และทั้ง SaraและBobจะเห็นราวกับว่าJoeออกจากระบบ อย่างไรก็ตามJoeยังคงสามารถพูดคุยกับใครก็ตามที่เชื่อมต่อกับเซิร์ฟเวอร์เดียวกัน (ในกรณีนี้คือเซิร์ฟเวอร์C ) ได้ เนื่องจากเซิร์ฟเวอร์ที่พวกเขาเชื่อมต่ออยู่จะได้รับแจ้งเกี่ยวกับการเปลี่ยนแปลงสถานะเครือข่าย และอัปเดตข้อมูลในเครื่องของตนให้สอดคล้องกับการเปลี่ยนแปลงนั้น
ต่อมา เซิร์ฟเวอร์Cอาจเชื่อมต่อใหม่กับเซิร์ฟเวอร์ (หรือหลายเซิร์ฟเวอร์) บนเครือข่าย และผู้ใช้ที่ดูเหมือนจะออกจากระบบไปแล้วจะกลับเข้าร่วมอีกครั้ง กระบวนการส่งข้อมูลที่อัปเดตแล้วนี้ไปยังเซิร์ฟเวอร์ทั้งหมดบนเครือข่ายเรียกว่าnetburst (หรือsync )
ปัญหาด้านความปลอดภัย
บางครั้ง ผู้ใช้จะพยายามใช้เน็ตสปลิตเพื่อเข้าถึงช่องส่วนตัวการโจมตีแบบปฏิเสธการให้บริการ (Denial-of-Service attack)สามารถใช้เพื่อทำให้เกิดเน็ตสปลิตได้โดยการโอเวอร์โหลดการเชื่อมต่อเครือข่ายของเซิร์ฟเวอร์ IRC หรือโครงสร้างพื้นฐานอินเทอร์เน็ตระหว่างสองเซิร์ฟเวอร์ หากไม่มีผู้ใช้ช่องใดอยู่ในเซิร์ฟเวอร์ C ผู้ใช้ก็สามารถเข้าร่วมช่องส่วนตัวและเข้าถึงได้ในภายหลังเมื่อเซิร์ฟเวอร์เชื่อมต่อกันอีกครั้ง นี่เป็นที่รู้จักกันทั่วไปในชื่อ " split riding " หรือ " riding the split "
การโจมตี IRC ที่มุ่งเน้นการแบ่งเครือข่ายอีกรูปแบบหนึ่งคือ การชนกันของชื่อเล่น (Nickname Colliding) ในการโจมตีนี้ ผู้ใช้ในส่วนของเครือข่ายที่ถูกแบ่งจะเปลี่ยนชื่อเล่นเป็นชื่อเล่นของผู้ใช้ในอีกฝั่งหนึ่งของเครือข่ายที่ถูกแบ่ง เมื่อเชื่อมต่อใหม่ เครือข่ายจะตัดการเชื่อมต่อผู้ใช้ทั้งสอง เนื่องจากอนุญาตให้ใช้ชื่อเล่นได้เพียงชื่อเดียวในแต่ละครั้ง ซอฟต์แวร์เซิร์ฟเวอร์ IRC รุ่นใหม่ๆ ได้กำจัดวิธีการนี้ไปแล้วเป็นส่วนใหญ่ แต่เซิร์ฟเวอร์ที่ใช้ซอฟต์แวร์รุ่นเก่าอาจยังคงมีความเสี่ยงอยู่
รูปร่าง


ด้านล่างนี้คือตัวอย่างของการแยกเครือข่าย (netsplit) ทั่วไป เมื่อเซิร์ฟเวอร์สองเครื่องแยกเครือข่าย ผู้ใช้จะเห็นว่ามีผู้ใช้จำนวนมากออกจากระบบ หลังจากที่เซิร์ฟเวอร์เชื่อมต่อกันอีกครั้ง ผู้ใช้จะเห็นผู้ใช้คนอื่นๆ กลับเข้าร่วมเครือข่ายอีกครั้ง
บนไคลเอนต์ IRC แบบ GUI
* ผู้ใช้ usera ออกจากระบบแล้ว (a.irc.net b.irc.net) * ผู้ใช้ userb ออกจากระบบแล้ว (a.irc.net b.irc.net) * ผู้ใช้ userc ออกจากระบบแล้ว (a.irc.net b.irc.net) * ผู้ใช้ usera เข้าร่วมช่อง #channel * ผู้ใช้ userb เข้าร่วมช่อง #channel * ผู้ใช้ userc เข้าร่วมช่อง #channelบนไคลเอนต์ IRC แบบบรรทัดคำสั่ง
00:00 -!- การแยกเครือข่ายa.irc.net <-> b.irc.net ออกจากระบบ: usera, userb, userc 00:00 -!- การแยกเครือข่ายเสร็จสิ้น เข้าร่วมใหม่: usera, userb, usercสำหรับผู้ใช้ในเครือข่ายส่วนตัว
* usera ได้ออกจากระบบแล้ว (*.net *.split) * userb ได้ออกจากระบบแล้ว (*.net *.split) * userc ได้ออกจากระบบแล้ว (*.net *.split) * usera ได้เข้าร่วม #channel * userb ได้เข้าร่วม #channel * userc ได้เข้าร่วม #channelลิงก์ภายนอก
- คู่มือการใช้งาน Netsplit (สืบค้นเมื่อ 2 ธันวาคม 2009)