เวลาที่ใช้ในการส่งแพ็คเก็ตจากไคลเอนต์ไปยังเซิร์ฟเวอร์สามารถเปลี่ยนแปลงได้หรือไม่?
เวลาที่ใช้ในการส่งแพ็คเก็ตจากไคลเอนต์ไปยังเซิร์ฟเวอร์สามารถเปลี่ยนแปลงได้หรือไม่?
คำตอบ:
โพรโทคอล IP บนสุดที่ TCP และ UDP ถูกสร้างขึ้นระบุว่าดาตาแกรมไม่รับประกันว่าจะมาถึงตามลำดับหรือผ่านเส้นทางเดียวกันหรือสำหรับเรื่องนั้นเลย (ขอบคุณเทรเวอร์สำหรับการเตือน) ดังนั้นไม่ว่าจะใช้ TCP หรือ UDP หรือไม่ความล่าช้าในการตอบสนองจะเปลี่ยนแปลงไป ความหน่วงแฝงส่วนหนึ่งเป็นผลมาจากระยะทางที่เดินทางซึ่งจะเปลี่ยนแปลงหากเส้นทางเปลี่ยนและส่วนหนึ่งเนื่องมาจากการแปลโปรโตคอลสแต็กบนอุปกรณ์การกำหนดเส้นทางตามเส้นทางที่เลือก - ซึ่งจะเปลี่ยนหากเส้นทางเปลี่ยน
นี่เป็นส่วนหนึ่งของธรรมชาติที่ซ่อมแซมตัวเองของอินเทอร์เน็ตทำให้สามารถทำสิ่งที่มันทำได้ทุกวัน: หากเส้นทางใดเส้นทางหนึ่งมีความเหมาะสมน้อยลงตามฮิวริสติกที่ตั้งโปรแกรมไว้ในอุปกรณ์เส้นทางต่างๆตลอดเส้นทางเส้นทางอื่นจะถูกเลือกแทน สิ่งนี้สามารถเป็นได้ทั้งชั่วขณะหรือระยะยาว โปรดจำไว้ว่าก่อนที่จะเป็นอินเทอร์เน็ตมันคือARPANET - เครือข่ายการป้องกันที่ออกแบบมาเพื่อจัดการกับเช่น การกำจัดส่วนที่กว้างใหญ่ของเครือข่ายทันที (คิดว่าสงครามนิวเคลียร์) โดยไม่ต้องมีเครือข่ายทั้งหมดลดลง โดยการกำหนดเส้นทางไปยังพื้นที่ที่เสียหายหรือไม่เหมาะเครือข่ายที่ใหญ่ขึ้นจะยังคงทำงานได้
นี่อาจไม่ใช่คำถามการพัฒนาเกม แต่ใช่ ในการเชื่อมต่อ IP ปกติแต่ละแพ็กเก็ตอาจผ่านตัวกลาง "hops" ที่แตกต่างกันและแต่ละ "hops" ที่แตกต่างกันอาจมีเวลาแฝงต่างกัน
หากคุณใช้ TCP เพื่อถ่ายโอนข้อมูลของคุณโปรโตคอลจะเป็นนามธรรมสำหรับคุณและจะเรียงลำดับแพ็กเก็ตใหม่เพื่อส่งแพ็กเก็ตตามลำดับที่ถูกส่งมาในตอนแรก อย่างไรก็ตามหากคุณใช้ UDP แพ็คเก็ตสามารถและออกมาตามลำดับทั้งนี้ขึ้นอยู่กับเวลาแฝงของแต่ละแพ็กเก็ต
ทุกอย่างเกี่ยวกับเครือข่าย IP สามารถเปลี่ยนแปลงได้ตลอดเวลา
บทความต่อไปนี้อธิบายถึงสิ่งต่าง ๆ เช่นเวลาแฝงการสูญหายของแพ็กเก็ตและปริมาณงานอาจแตกต่างกันและสาเหตุ: DEI Tech Note 0021: การสูญเสียความล่าช้าและความเร็ว
นอกเหนือจากสิ่งที่ได้รับแล้วกล่าวว่าอย่าลืมว่าเราเตอร์ได้รับอนุญาตให้พลปล่อยแพคเก็ตที่มีความหมายใน TCP แพ็คเก็ตในทางทฤษฎีอาจจะใช้เวลานานโดยพลการไปถึงปลายทางของ (และใน UDP ก็อาจจะไม่ถึงปลายทางของมัน!)