ได้เวลาใช้ชีวิต

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

Time to live ( TTL ) หรือhop limitเป็นกลไกที่จำกัดอายุขัยหรืออายุขัยของข้อมูลในคอมพิวเตอร์หรือเครือข่าย อาจใช้ TTL เป็นตัวนับหรือประทับเวลาที่แนบหรือฝังอยู่ในข้อมูล เมื่อผ่านไปตามจำนวนเหตุการณ์หรือช่วงเวลาที่กำหนดแล้ว ข้อมูลจะถูกละทิ้งหรือตรวจสอบอีกครั้ง ในระบบเครือข่ายคอมพิวเตอร์ TTL จะป้องกันไม่ให้แพ็กเก็ตข้อมูลไหลเวียนอย่างไม่มีกำหนด ในแอปพลิเคชันการคำนวณ TTL มักใช้เพื่อปรับปรุงประสิทธิภาพและจัดการการแคชข้อมูล

แพ็กเก็ต IP

ภายใต้Internet Protocol TTL เป็นฟิลด์ 8 บิต ในส่วนหัวของ IPv4นั้น TTL คืออ็อกเต็ตที่ 9 ของ 20 ในส่วนหัวของ IPv6นั้นคือออคเต็ตที่ 8 ของ 40 ค่า TTL สูงสุดคือ 255 ซึ่งเป็นค่าสูงสุดของออคเต็ตเดียว ค่าเริ่มต้นที่แนะนำคือ 64 [1] [2]

ค่า time-to-live สามารถคิดได้ว่าเป็นขอบเขตบนของเวลาที่ดาตาแกรม IP สามารถมีอยู่ในระบบอินเทอร์เน็ต ฟิลด์ TTL ถูกกำหนดโดยผู้ส่งดาตาแกรม และลดลงโดยเราเตอร์ทุกตัวในเส้นทางไปยังปลายทาง หากฟิลด์ TTL ถึงศูนย์ก่อนที่ดาตาแกรมจะมาถึงปลายทาง ดาตาแกรมจะถูกยกเลิกและดาตาแกรมข้อผิดพลาดInternet Control Message Protocol (ICMP) ( 11 - เกินเวลา ) จะถูกส่งกลับไปยังผู้ส่ง จุดประสงค์ของฟิลด์ TTL คือเพื่อหลีกเลี่ยงสถานการณ์ที่ดาตาแกรมที่ไม่สามารถส่งได้ยังคงหมุนเวียนอยู่บนระบบอินเทอร์เน็ต และในที่สุดระบบดังกล่าวก็เต็มไปด้วย "อมตะ" ดังกล่าว

ในทางทฤษฎี ภายใต้IPv4เวลาที่มีชีวิตอยู่จะถูกวัดเป็นวินาที แม้ว่าทุกโฮสต์ที่ผ่านดาตาแกรมจะต้องลด TTL อย่างน้อยหนึ่งหน่วย ในทางปฏิบัติฟิลด์ TTL จะลดลงโดยหนึ่งในทุกปฮอป สะท้อนให้เห็นถึงการปฏิบัตินี้สนามเปลี่ยนเป็นขีด จำกัด ของการฟ้อนรำในIPv6

ระเบียน DNS

TTL ของคำตอบ DNS ที่แก้ไข google.com เห็นได้ในWireshark

นอกจากนี้ TTL ยังเกิดขึ้นในDomain Name System (DNS) ซึ่งกำหนดโดยเนมเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับระเบียนทรัพยากรเฉพาะ เมื่อเนมเซิร์ฟเวอร์แคช (แบบเรียกซ้ำ) ค้นหาเนมเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับเรกคอร์ดทรัพยากร มันจะแคชบันทึกนั้นเป็นเวลา (เป็นวินาที) ที่ระบุโดย TTL หากตัวแก้ไขต้นขั้วสอบถามแคชเนมเซิร์ฟเวอร์สำหรับบันทึกเดียวกันก่อนที่ TTL จะหมดอายุ เซิร์ฟเวอร์การแคชจะตอบกลับด้วยระเบียนทรัพยากรที่แคชไว้แล้วแทนที่จะดึงข้อมูลจากเนมเซิร์ฟเวอร์ที่เชื่อถือได้อีกครั้ง TTL สำหรับการตอบสนองของ NXDOMAIN (โดเมนที่ไม่มีอยู่จริง) ถูกตั้งค่าจากค่าต่ำสุดของฟิลด์ MINIMUM ของSOAบันทึกและ TTL ของ SOA เอง และระบุว่าตัวแก้ไขอาจแคชคำตอบเชิงลบได้นานแค่ไหน [3] [ ศัพท์เฉพาะ ]

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

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

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

HTTP

เวลาในการใช้ชีวิตยังอาจแสดงเป็นวันที่และเวลาที่บันทึกหมดอายุ Expires:หัวในการตอบสนองของ HTTPที่Cache-Control: max-ageข้อมูลส่วนหัวทั้งในการร้องขอและการตอบสนองและexpiresข้อมูลในคุกกี้ HTTPแสดงเวลาในการมีชีวิตอยู่ในลักษณะนี้

ดูเพิ่มเติม

อ้างอิง

  1. ^ "ค่า TTL เริ่มต้นใน TCP / IP" ดึงข้อมูลเมื่อ2013-02-19 .
  2. ^ "ตัวเลข OPTION IP" 2555-11-30 . ดึงข้อมูลเมื่อ2013-02-19 . เวลาเริ่มต้นที่แนะนำในปัจจุบันในการถ่ายทอดสด (TTL) สำหรับอินเทอร์เน็ตโปรโตคอล (IP) คือ 64 [RFC791], [RFC1122]
  3. ^ <[email protected]> มาร์คแอนดรู "เชิงลบแคช DNS ของแบบสอบถาม (DNS NCACHE)" tools.ietf.org . สืบค้นเมื่อ2018-11-12 .

ลิงค์ภายนอก