ต้องใช้เวลานานเท่าใดกว่าที่ระเบียน DNS จะเผยแพร่


68

นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการเผยแพร่ DNS

ใช้เวลานานเท่าใดในการบันทึกประเภทต่างๆเพื่อเผยแพร่
ทำบางเผยแพร่เร็วกว่าคนอื่น ๆ ?
เหตุใดจึงต้องใช้เวลาก่อนที่ระเบียน DNS จะเผยแพร่และทำงานอย่างไร


1
หมายเหตุ: ในอดีตมีความแตกต่างที่น่าสังเกตและมีนัยสำคัญในเวลาที่ใช้ในการอัปเดตประเภทต่างๆของบันทึก นี่ไม่ใช่กรณีนี้อีกต่อไป
Chris S

4
เมื่อ ppl ใช้คำว่า "เผยแพร่" สำหรับ DNS มันจะแสดงให้เห็นอย่างชัดเจนว่าพวกเขาไม่รู้ว่า DNS คืออะไรและทำงานอย่างไร หวังว่าเอกสารจะ "เผยแพร่" เร็วพอ (ข้ามนิ้ว)
poige

3
@tonygil โปรดดูความคิดเห็นของ Poige ไม่มีสิ่งเช่นการแพร่กระจาย DNS นอกจากนี้ ISP ยังไม่ควบคุมรูตเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ DNS ของ ISP เหล่านั้นแคชนานกว่า TTL ของระเบียนแสดงว่าพวกเขาละเมิด RFC ดูเหมือนว่าคุณจะมีความเข้าใจผิดหลายประการเกี่ยวกับวิธีการทำงานของ DNS แต่การละเมิด RFC มักจะทำลายวิธีการทำงานของมัน สิ่งนี้ไม่เกี่ยวกับสหรัฐอเมริกาหรือยุโรป
Chris S

1
@tonygil: "cyberpolice" เป็น "ทำให้" การอัปเดตเป็น sysadmins ทั้งหมดผู้ดูแลระบบเครือข่าย ฯลฯ พยายามกดดันสังคมกับนักแสดงที่ไม่ดี อินเทอร์เน็ตใช้งานได้เพราะเราทุกคนเห็นพ้องต้องกัน ผลประโยชน์ที่ดีที่สุดของผู้ใช้เครือข่ายและอื่น ๆ ของเราอยู่ใน "ความสนใจที่ดีที่สุด" ของอินเทอร์เน็ต เรื่อง: "users not technogurus" - นี่คือเว็บไซต์สำหรับผู้ดูแลระบบมืออาชีพและไม่ใช่ผู้ใช้ปลายทาง ตรงไปตรงมาฉันคาดหวังว่า sysadmins จะเป็น "technoguru" (เพื่อใช้คำศัพท์ของคุณ) ซิสาดมินเป็นอาชีพควรดูแลว่าสิ่งนี้ทำงานอย่างไร
Evan Anderson

@EvanAnderson ฉันเห็นด้วยอย่างยิ่งว่าความกดดันสร้างความเปลี่ยนแปลง ในทางกลับกันความเป็นจริงก็คือการที่ sysadmins ขี้เกียจหรือไร้ความสามารถนั้นมีอยู่ในพยุหะ และยิ่งคุณเคลื่อนไหวห่างจากเราและยุโรปมากเท่าไหร่ ความคาดหวังของคุณนั้นดี 4 US แต่พวกเขาไม่สามารถทำได้ในเกือบทุกส่วนของโลกแห่งความเป็นจริงโดยที่ sysadmins ไม่ได้เตรียมตัวไว้เป็นกฎ ดังนั้นในขณะที่คุณคาดหวังว่าทุกอย่างจะเรียบร้อย แต่คุณจัดการกับโลกแห่งความเป็นจริงไม่ได้ ต่อไปทำให้ประเด็นของฉันคุณทำให้คุณ ให้เราเห็นด้วยที่จะไม่เห็นด้วย
tony gil

คำตอบ:


71

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

เซิร์ฟเวอร์ DNS แบบเรียกซ้ำทำคิวรีในนามของลูกค้า เซิร์ฟเวอร์ DNS แบบเรียกซ้ำโดยทั่วไปจะเรียกใช้โดย ISP หรือแผนกไอทีถูกใช้โดยคอมพิวเตอร์ไคลเอนต์เพื่อแก้ไขชื่อของทรัพยากรอินเทอร์เน็ต เซิร์ฟเวอร์ DNS แบบเรียกซ้ำแคชผลลัพธ์ของการสืบค้นที่ปรับปรุงประสิทธิภาพ แบบสอบถามสำหรับข้อมูลที่แคชแล้วสามารถตอบได้โดยไม่ต้องทำแบบสอบถามเพิ่มเติม ระยะเวลาเป็นวินาทีที่ผลลัพธ์ถูกแคชควรจะขึ้นอยู่กับค่าที่กำหนดค่าได้ซึ่งเรียกว่า Time To Live (TTL) ค่านี้ถูกระบุโดยเซิร์ฟเวอร์ DNS ที่มีสิทธิ์สำหรับระเบียนที่สอบถาม

ไม่มีคำตอบสำหรับคำถามทั้งหมดที่ถูกถามเพราะ DNS เป็นโปรโตคอลแบบกระจาย ลักษณะการทำงานของ DNS ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์ DNS ที่มีสิทธิ์สำหรับการบันทึกที่กำหนดการกำหนดค่าเซิร์ฟเวอร์ DNS แบบเรียกซ้ำที่ทำแบบสอบถามในนามของคอมพิวเตอร์ไคลเอนต์และฟังก์ชั่นการแคช DNS ในระบบปฏิบัติการของคอมพิวเตอร์ไคลเอนต์

เป็นวิธีปฏิบัติที่ดีในการระบุค่า TTL สั้นพอที่จะรองรับการเปลี่ยนแปลง DNS ในแต่ละวันของ neecssary แต่นานพอที่จะสร้าง "ชนะ" ในการแคช (เช่นไม่สั้นจนเกินอายุแคชเร็วเกินไปที่จะ ให้การปรับปรุงประสิทธิภาพใด ๆ ) การใช้กลยุทธ์ที่สมดุลด้วยค่า TTL ส่งผลให้ "ชนะ" สำหรับทุกคน จะช่วยลดทั้งการโหลดและการใช้แบนด์วิดท์สำหรับเซิร์ฟเวอร์ DNS ที่มีสิทธิ์สำหรับโดเมนที่กำหนดเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์ TLD มันลดการใช้แบนด์วิดท์ upstream สำหรับผู้ให้บริการของเซิร์ฟเวอร์ DNS แบบเรียกซ้ำ มันส่งผลในการตอบแบบสอบถามอย่างรวดเร็วสำหรับคอมพิวเตอร์ไคลเอนต์

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

เป็นที่น่าสังเกตว่าผู้ให้บริการอินเทอร์เน็ตบางรายมีความไม่เหมาะสมและเพิกเฉยต่อค่า TTL ที่ระบุโดยเซิร์ฟเวอร์ DNS ที่มีสิทธิ์ (แทนการแทนที่การดูแลระบบของตนเองซึ่งเป็นการละเมิด RFC) ไม่มีอะไรที่ต้องทำเกี่ยวกับเรื่องนี้จากมุมมองทางเทคนิค หากผู้ให้บริการเซิร์ฟเวอร์ DNS ที่ไม่เหมาะสมสามารถพบเห็นการร้องเรียนต่อผู้ดูแลระบบของพวกเขาอาจส่งผลให้มีการใช้แนวทางปฏิบัติที่ดีที่สุด (เนื้อหาที่สามัญสำนึกสำหรับวิศวกรเครือข่ายใด ๆ คุ้นเคยกับ DNS) การละเมิดในลักษณะนี้ไม่ใช่ปัญหาทางเทคนิค

หากทุกคน "เล่นตามกฎ" การเปลี่ยนแปลงระเบียน DNS สามารถ "มีผล" ได้อย่างรวดเร็ว ในกรณีของการเปลี่ยนแปลงที่อยู่ IP ที่กำหนดให้กับเรคคอร์ด "A" ตัวอย่างเช่นจะทำการ backoff แบบเอ็กซ์โพเนนเชียลของค่า TTL ซึ่งจะนำไปสู่เวลาที่การเปลี่ยนแปลงจะเกิดขึ้น ยกตัวอย่างเช่น TTL อาจเริ่มต้นที่ 1 วันและลดลงเป็น 12 ชั่วโมงสำหรับระยะเวลา 24 ชั่วโมงจากนั้น 6 ชั่วโมงสำหรับช่วงเวลา 12 ชั่วโมง 3 ชั่วโมงสำหรับระยะเวลา 6 ชั่วโมงและอื่น ๆ จนถึงช่วงเวลาที่เหมาะสม เมื่อสำรองข้อมูล TTL แล้วบันทึกสามารถเปลี่ยนแปลงได้และ TTL จะนำกลับไปสู่ค่าที่ต้องการสำหรับการดำเนินงานประจำวัน (ไม่จำเป็นต้องใช้ backoff แบบเอ็กซ์โปเนนเชียลอย่างไรก็ตามกลยุทธ์นี้จะลดเวลาที่บันทึกจะมี TTL ต่ำและลดภาระให้กับเซิร์ฟเวอร์ DNS ที่มีสิทธิ์)

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

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


9
นี่ไม่ใช่คำตอบเกี่ยวกับ "OpenDNS" - เป็นคำตอบเกี่ยวกับ DNS ผู้ให้บริการ DNS แบบเรียกซ้ำใด ๆ สามารถใช้อินเทอร์เฟซใดก็ได้ที่พวกเขาต้องการอนุญาตให้ล้างแคช ฯลฯ เรากำลังพูดถึง DNS - ไม่เกี่ยวกับ API ของผู้ขาย ตราบเท่าที่การแก้ไขของคุณ: ฉันยืนโดยวลี "สมองเสียหาย" เป็นวลีที่ใช้ในวัฒนธรรมแฮ็กเกอร์มานานและฉันใช้มันในบริบทนั้น (ดูไฟล์ Jargon, Steven Levy "แฮกเกอร์" เป็นต้น) . เท่าที่ "บ้า" ไปฉันคิดว่ามันเป็นที่ยอมรับอย่างสมเหตุสมผลว่านอกเหนือจากรหัสทางกฎหมายนี่เป็นคำศัพท์สำหรับการกระทำที่มีลักษณะไร้ความสามารถ ฉันยืนตามมันเช่นกัน
Evan Anderson

11
@tonygil - OpenDNS ไม่ใช่ DNS เป็นเพียงบริการที่มีคนเสนอ จะเกิดอะไรขึ้นถ้า FooDNS เปิดในวันพรุ่งนี้และมี API การล้างแคชใหม่ที่น่าตื่นเต้น คำตอบของฉันควรรวมถึงสิ่งนั้นด้วยหรือไม่ หยุดที่ไหน นี่คือความเสื่อมโทรมสู่ความบ้าคลั่ง เรื่องสิทธิพลเมือง - ฉันไม่ได้เป็นนายจ้างหรือหน่วยงานของรัฐที่ปฏิเสธสิทธิพลเมืองให้กับสมาชิกของกลุ่มที่ได้รับความคุ้มครอง แน่นอน - ไปข้างหน้าและดูว่าคุณสามารถหาคนที่ต้องการฟ้องร้องฉันได้ไหม พวกเขาสามารถติดต่อฉันทางไปรษณีย์ได้ที่ตู้ป ณ . 852 ทรอยโอไฮโอ (866) 569-9799, x801 ส่งต่อไปยังโทรศัพท์มือถือของฉัน 24x7 (นั่นเป็นงานนักสืบที่ดีที่นั่นดูโปรไฟล์ของฉัน BTW)
Evan Anderson

1
ดูสิคุณพูดว่าความกดดันจากเพื่อนนำมาซึ่งการเปลี่ยนแปลง นั่นคือสิ่งที่ฉันทำ มาถึงความสนใจของคุณว่าฉันไม่เห็นด้วยกับการใช้ "คนโง่" และ "สมองเสียหาย" เพราะพวกเขาเป็นที่น่ารังเกียจและเสื่อมเสีย ความจริงที่ว่ามีคนใช้มันอย่างล้นเหลือ (เช่นแฮกเกอร์) ไม่ถูกต้อง kkk ใช้คำ n อย่างล้นเหลือ กรุณาเคารพพวกเราที่ดูแลผู้ที่มีความบกพร่องทางจิตใจ ฉันเข้าใจว่าคุณรวมคำศัพท์เชิงเปรียบเทียบในสไตล์ที่มีสีสันของคุณ แต่เชื่อฉัน: พวกเขาเป็นที่น่ารังเกียจและไม่จำเป็น
tony gil

เกี่ยวกับการให้เกียรติ TTL: TTL คือค่าสูงสุดในการเก็บสิ่งต่าง ๆ ในแคชตัวแก้ไขการแคชมีอิสระที่จะทิ้งข้อมูลไว้ก่อนหน้า ดังนั้นพวกเขาสามารถลดมันได้ถ้าต้องการ อย่างไรก็ตามมันเป็นความจริงที่พวกเขาไม่ควรเพิ่มนั่นคือการละเมิดโปรโตคอล แต่สำหรับคนที่ใส่ค่าใน 1 วินาทีใน TTL บางแคชป้องกันตัวเองโดยไม่ให้เกียรติและแคลมป์ที่ 5 นาทีแทน
Patrick Mevzek

เซิร์ฟเวอร์ DNS ที่ซ้ำดำเนินการโดยผู้ให้บริการอินเทอร์เน็ตหรือแผนกไอทีโดยทั่วไปในปัจจุบันพวกเขามีฟลีตส์ขนาดใหญ่ (เมฆ anycast) ของเซิร์ฟเวอร์ recursive เปิดเช่น1.1.1.1หรือ8.8.8.8หรือหรือ9.9.9.9 80.80.80.80สิ่งสำคัญคือต้องเข้าใจว่ามีการรับชมใด ๆ : การตอบกลับอาจเปลี่ยนแปลงตาม IP ต้นทางเนื่องจากอาจกระทบกับอินสแตนซ์ทางกายภาพที่แตกต่างกันโดยสิ้นเชิงและแคชที่พวกเขาอาจเป็นส่วนกลางสำหรับทุกกรณี
Patrick Mevzek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.