การเลือกโหนดที่ใกล้ที่สุดในเครือข่าย

การเลือกโหนดที่ใกล้ที่สุดในเครือข่าย

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

ตัวอย่างที่ดีคือระบบชื่อโดเมน (DNS) โดยธรรมชาติแล้ว DNS เป็นระบบแบบกระจาย โดยมีโหนดรูทกระจายอยู่ทั่วโลก หากต้องการเข้าถึงเว็บไซต์ใดๆ ก็ตาม คุณต้องได้รับที่อยู่ IP ของเว็บไซต์ก่อน

ฉันจะไม่อธิบายกระบวนการทั้งหมดใน "แผนผัง" ของโซนโดเมนแบบวนซ้ำ แต่จะจำกัดตัวเองอยู่เพียงความจริงที่ว่าในการแปลงโดเมนเป็นที่อยู่ IP เราจำเป็นต้องมีตัวแก้ไข DNS ที่จะทำงานทั้งหมดนี้เพื่อ เรา.

แล้วคุณจะได้รับที่อยู่ตัวแก้ไข DNS ที่ไหน?

  1. ISP จะให้ที่อยู่ของตัวแก้ไข DNS
  2. ค้นหาที่อยู่ของตัวแก้ไขสาธารณะบนอินเทอร์เน็ต
  3. รับอุปกรณ์ของคุณเองหรือใช้อันที่มีอยู่ในเราเตอร์ที่บ้านของคุณ

ตัวเลือกใด ๆ เหล่านี้จะช่วยให้คุณเพลิดเพลินกับการท่องเว็บอย่างไร้กังวลบนเวิลด์ไวด์เว็บ แต่หากคุณจำเป็นต้องแปลงโดเมนจำนวนมากเป็น IP คุณควรพิจารณาตัวเลือกตัวแก้ไขอย่างระมัดระวังมากขึ้น

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

เมื่อรายการมีขนาดเล็ก คุณสามารถ "ping" ด้วยตนเองได้อย่างง่ายดายและเปรียบเทียบเวลาหน่วง แต่ถ้าคุณเลือกรายการที่กล่าวถึงข้างต้น งานนี้ก็จะกลายเป็นงานที่ไม่พึงประสงค์

ดังนั้น เพื่อให้งานนี้ง่ายขึ้น ฉันซึ่งเต็มไปด้วยกลุ่มอาการแอบอ้าง จึงได้ร่างข้อพิสูจน์แนวคิดของแนวคิดของฉันเกี่ยวกับ Go ที่เรียกว่า ได้ใกล้ชิด.

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

$ get-closer ping -f dnsresolver.txt -b=0 --count=10
Closest hosts:
	1.0.0.1 [3.4582ms]
	8.8.8.8 [6.7545ms]
	1.1.1.1 [12.6773ms]
	8.8.4.4 [16.6361ms]
	9.9.9.9 [40.0525ms]

ครั้งหนึ่ง ตอนที่ฉันเลือกรีโซลเวอร์สำหรับตัวเอง ฉันจำกัดตัวเองอยู่เพียงการตรวจสอบที่อยู่หลักเท่านั้น (1.1.1.1, 8.8.8.8, 9.9.9.9) - เพราะทั้งหมดนั้นสวยงามมาก และสิ่งที่คุณคาดหวังได้จาก ที่อยู่สำรองที่น่าเกลียด

แต่เนื่องจากมีวิธีเปรียบเทียบความล่าช้าแบบอัตโนมัติ ทำไมไม่ขยายรายการ...

จากการทดสอบพบว่าที่อยู่ Cloudflare “สำรอง” เหมาะสำหรับฉันมากกว่า เนื่องจากเสียบเข้ากับ spb-ix ซึ่งอยู่ใกล้ฉันมากกว่า msk-ix ซึ่งมี 1.1.1.1 ที่สวยงามเสียบอยู่มาก

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

นอกเหนือจากการ ping แบบธรรมดาแล้ว PoC ยังมีโอกาสเปรียบเทียบความล่าช้าสำหรับโปรโตคอลอื่นๆ เช่น http และ tcp รวมถึงเวลาในการแปลงโดเมนเป็น IP ผ่านทางรีโซลเวอร์เฉพาะ

มีแผนที่จะเปรียบเทียบจำนวนโหนดระหว่างโฮสต์โดยใช้ Traceroute เพื่อให้ง่ายต่อการค้นหาโฮสต์ที่มีเส้นทางที่สั้นกว่า

โค้ดนั้นหยาบ ขาดการตรวจสอบมากมาย แต่ใช้งานได้ค่อนข้างดีกับข้อมูลที่สะอาด ฉันจะขอบคุณข้อเสนอแนะใด ๆ ติดดาว GitHubและถ้าใครชอบไอเดียของโครงการก็ยินดีร่วมเป็น Contributor ครับ

ที่มา: will.com

เพิ่มความคิดเห็น