ความหน่วงแฝงของแพ็กเก็ตสามารถเปลี่ยนแปลงได้หรือไม่


9

เวลาที่ใช้ในการส่งแพ็คเก็ตจากไคลเอนต์ไปยังเซิร์ฟเวอร์สามารถเปลี่ยนแปลงได้หรือไม่?

คำตอบ:


9

โพรโทคอล IP บนสุดที่ TCP และ UDP ถูกสร้างขึ้นระบุว่าดาตาแกรมไม่รับประกันว่าจะมาถึงตามลำดับหรือผ่านเส้นทางเดียวกันหรือสำหรับเรื่องนั้นเลย (ขอบคุณเทรเวอร์สำหรับการเตือน) ดังนั้นไม่ว่าจะใช้ TCP หรือ UDP หรือไม่ความล่าช้าในการตอบสนองจะเปลี่ยนแปลงไป ความหน่วงแฝงส่วนหนึ่งเป็นผลมาจากระยะทางที่เดินทางซึ่งจะเปลี่ยนแปลงหากเส้นทางเปลี่ยนและส่วนหนึ่งเนื่องมาจากการแปลโปรโตคอลสแต็กบนอุปกรณ์การกำหนดเส้นทางตามเส้นทางที่เลือก - ซึ่งจะเปลี่ยนหากเส้นทางเปลี่ยน

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


1
มูลค่าเพิ่มที่ดาตาแกรมไม่รับประกันว่าจะมาถึงเลย พวกเขาสามารถทิ้งตัวลงได้อย่างเงียบ ๆ ไม่ว่าในจุดใดตลอดการเดินทาง มันเป็นเพียงการขนส่งของ TCP ที่สร้างขึ้นบน IP ที่เพิ่มภาพลวงตาของความน่าเชื่อถือในการสื่อสารเครือข่าย
เทรเวอร์พาวเวลล์

นอกจากนี้ยังเห็นคำตอบของ Danny Pflughoeft เขาเสริมว่า TCP จะประสบกับความล่าช้าเพิ่มเติมเนื่องจากวิธีการทำงาน - หากแพ็กเก็ตหายไปพวกเขาจะได้รับการร้องขอและส่งใหม่อีกครั้งเพิ่มเวลาเดินทางรอบเต็มไปสู่เวลาแฝงข้อความเพิ่มเติม และอาจเกิดขึ้นโดยพลการหลายครั้ง UDP จะเอาชนะสิ่งนี้ได้โดยการส่งกระแสข้อมูลอัพเดตอย่างต่อเนื่องและการจำลองสามารถเคลื่อนที่ไปข้างหน้าได้แม้จะมีการสูญเสียแพ็กเก็ต (มากกว่าที่คิดและวางแผนสำหรับระบบประเภทนี้)
วิศวกร

5

นี่อาจไม่ใช่คำถามการพัฒนาเกม แต่ใช่ ในการเชื่อมต่อ IP ปกติแต่ละแพ็กเก็ตอาจผ่านตัวกลาง "hops" ที่แตกต่างกันและแต่ละ "hops" ที่แตกต่างกันอาจมีเวลาแฝงต่างกัน

หากคุณใช้ TCP เพื่อถ่ายโอนข้อมูลของคุณโปรโตคอลจะเป็นนามธรรมสำหรับคุณและจะเรียงลำดับแพ็กเก็ตใหม่เพื่อส่งแพ็กเก็ตตามลำดับที่ถูกส่งมาในตอนแรก อย่างไรก็ตามหากคุณใช้ UDP แพ็คเก็ตสามารถและออกมาตามลำดับทั้งนี้ขึ้นอยู่กับเวลาแฝงของแต่ละแพ็กเก็ต


โดยเฉพาะอย่างยิ่งหากแพ็กเก็ต UDP และ TCP กำลังถูกกำหนดเส้นทางในลักษณะเดียวกันและแพ็คเก็ต UDP จะออกมาตามลำดับเป็นประจำคำสั่งนี้แปลเป็น "lag spikes" ผ่านการเชื่อมต่อเดียวกันโดยใช้ TCP แทน
Martin Sojka

2

ทุกอย่างเกี่ยวกับเครือข่าย IP สามารถเปลี่ยนแปลงได้ตลอดเวลา

บทความต่อไปนี้อธิบายถึงสิ่งต่าง ๆ เช่นเวลาแฝงการสูญหายของแพ็กเก็ตและปริมาณงานอาจแตกต่างกันและสาเหตุ: DEI Tech Note 0021: การสูญเสียความล่าช้าและความเร็ว


1

นอกเหนือจากสิ่งที่ได้รับแล้วกล่าวว่าอย่าลืมว่าเราเตอร์ได้รับอนุญาตให้พลปล่อยแพคเก็ตที่มีความหมายใน TCP แพ็คเก็ตในทางทฤษฎีอาจจะใช้เวลานานโดยพลการไปถึงปลายทางของ (และใน UDP ก็อาจจะไม่ถึงปลายทางของมัน!)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.