7, 6, 5, 4, 3, 2, 1
อินเทอร์เน็ต: แพ็คเก็ต, เราต์ติง, และความน่าเชื่อถือ
สวัสดีค่ะ ฉันลินน์ รูท วิศวกรซอฟต์แวร์ที่สปอติฟายค่ะ
ขอยอมรับก่อนเลยว่าฉันมักมองข้าม เรื่องความน่าเชื่อถือของอินเทอร์เน็ต
แค่ปริมาณข้อมูล ในอินเทอร์เน็ตก็น่าทึ่งแล้ว
แต่ทุกชิ้นส่วนของข้อมูล ถูกส่งอย่างน่าเชื่อถือได้อย่างไร
สมมติว่าต้องการเล่นเพลง จากสปอติฟาย
ดูเหมือนว่าคอมพิวเตอร์แค่เชื่อมต่อโดยตรง กับเซิร์ฟเวอร์ของสปอติฟาย
แล้วสปอติฟายก็ จะส่งเพลงนั้นให้คุณเลยตรง ๆ
แต่ที่จริงอินเทอร์เน็ตไม่ได้ทำงานแบบนั้น
หากอินเทอร์เน็ตเป็นการเชื่อมต่อโดยตรง
คงให้ผู้ใช้งานหลายล้านคนเข้าร่วมไม่ได้
แล้วยิ่งไม่มีการรับประกันว่า
สายไฟทุกสายในคอมพิวเตอร์ทำงานตลอดเวลา
ที่จริง ข้อมูลไม่ได้เดินทางตรง ๆ ในอินเทอร์เน็ตเลยค่ะ
หลายปีก่อนช่วงต้นยุค 1970 ผมกับบ็อบ คาห์นคู่หูผม
เริ่มออกแบบสิ่งที่ปัจจุบัน เรียกกันว่าอินเทอร์เน็ต
บ็อบกับผมได้มีความรับผิดชอบและโอกาส
ในการออกแบบโพรโตคอลอินเทอร์เน็ต และสถาปัตยกรรมของมัน
เราก็พยายามมีส่วนร่วมในการเติบโต และวิวัฒนาการของอินเทอร์เน็ต
มาตลอด จวบจนปัจจุบันครับ
วิธีที่ข้อมูลถูกถ่ายโอนจากคอมพิวเตอร์ เครื่องหนึ่งไปอีกเครื่องหนึ่งนั้นน่าสนใจ
เพราะไม่จำเป็นต้องตามทางที่แน่นอน อาจเปลี่ยนเส้นทางได้
ระหว่างที่คอมพิวเตอร์สนทนากัน
ข้อมูลในอินเทอร์เน็ต ที่ส่งระหว่างคอมพิวเตอร์
เราเรียกมันว่าแพ็คเก็ตของมูล
แพ็คเก็ตนี้เดินทางจากที่หนึ่ง ไปอีกที่หนึ่ง
คล้ายกับการที่เราโดยสารรถยนต์
ถ้ารถติด ถนนไม่ดี เราอาจเลือกเปลี่ยนทาง
หรือถูกบีบให้ไปอีกเส้นทาง เพื่อถึงจุดหมายเดิมแต่ละครั้งที่เดินทาง
เวลาเดินทาง เราก็พกของขึ้นรถด้วย
ข้อมูลดิจิทัลหลายอย่าง จึงเดินทางมาพร้อมแพ็คเก็ต IP
แต่มันก็มีขีดจำกัด
สมมติว่าถ้าต้องเคลื่อนย้ายกระสวยอวกาศ จากจุดที่สร้างไปยังจุดที่จะปล่อยยานล่ะ
กระสวยขึ้นรถบรรทุกคันเดียวไม่ได้
จึงต้องแยกชิ้นส่วนก่อน แล้วขนส่งขึ้นรถบรรทุกไป
แต่ละส่วน ไปคนละเส้นทางได้ และอาจถึงที่หมายไม่พร้อมกัน
แต่เมื่อทุกส่วนไปถึงแล้ว ก็นำมาประกอบกันได้
เป็นกระสวยอวกาศ พร้อมทะยาน
กับอินเทอร์เน็ต รายละเอียดก็คล้ายกัน
ถ้าจะส่งภาพขนาดใหญ่ให้เพื่อน หรืออัปโหลดในเว็บไซต์
ภาพนั้นอาจมีสิบล้านบิท ประกอบด้วยเลข 1 เลข 0
ส่งไปในแพ็คเก็ตเดียวไม่ได้
มันเป็นข้อมูลคอมพิวเตอร์ เครื่องที่ส่งภาพสามารถแยก
เป็นหลายร้อยหลายพันส่วนเล็ก ๆ ที่เรียกว่าแพ็คเก็ต
แต่แพ็คเก็ตเหล่านี้ ต่างจากรถตรงที่ไม่มีคนขับ
และมันไม่ได้เลือกเส้นทางเอง
แต่ละแพ็คเก็ตมีที่อยู่อินเทอร์เน็ต ว่ามาจากไหน และจะไปที่ไหน
คอมพิวเตอร์พิเศษในอินเทอร์เน็ต เรียกว่าเราเตอร์ ทำหน้าที่จัดการการจราจร
เพื่อให้แพ็คเก็ต เคลื่อนที่ผ่านเครือข่ายอย่างราบรื่น
หากทางไหนหนาแน่นไป แพ็คเก็ตก็อาจแยกกันไปใช้ทางอื่น
และอาจถึงจุดหมายปลายทาง ในเวลาที่ต่างกันเล็กน้อย
หรือไม่ถูกต้องตามลำดับ
มาคุยกันว่ามันทำงานยังไง ในฐานะส่วนหนึ่งของอินเทอร์เน็ตโพรโตคอล
ทุกเราเตอร์ต้องติดตามหลายเส้นทาง ที่ใช้ส่งแพ็คเก็ต
มันเลือกใช้เส้นทางที่คุ้มที่สุด สำหรับข้อมูลแต่ละส่วน
โดยดูจากที่อยู่ปลายทางของแพ็คเก็ต
ที่ว่าคุ้ม ไม่ใช่เรื่องราคา แต่คือเวลาและปัจจัยอื่น เช่นการเมือง
และความสัมพันธ์ระหว่างบริษัท
หลายครั้งที่เส้นทางส่งข้อมูล ไม่ใช่เส้นที่ตรงที่สุด
การมีทางเลือกเยอะ ๆ ทำให้เครือข่ายผิดพลาดได้ยาก
หมายความว่าเครือข่ายอาจส่งแพ็คเก็ตต่อได้ แม้จะเกิดข้อผิดพลาดอย่างแรง
นั่นคือหลักการสำคัญพื้นฐาน ของอินเทอร์เน็ต - ความน่าเชื่อถือค่ะ
แต่ถ้าเราขอข้อมูลแต่ส่งมาไม่ครบล่ะ
เช่น ถ้าอยากฟังเพลงสักเพลง
จะมั่นใจได้ยังไงว่าข้อมูลทั้งหมด จะถูกส่งมียังเครื่องเล่นเพลงอย่างสมบูรณ์
นี่ค่ะ ทีซีพี เพื่อนรักคนใหม่ คือโพรโตคอลการควบคุมการส่งสัญญาณ
TCP จัดการการรับส่งข้อมูลเป็นแพ็คเก็ต
เหมือนบริการรับประกันพัสดุค่ะ
เวลาคุณขอเพลงมาเปิดในเครื่อง สปอติฟายจะส่งเพลงแยกมาหลายแพ็คเก็ต
พอแพ็คเก็ตมาถึง TCP ก็จะเช็คให้
และแจ้งกลับว่าได้รับแพ็คเก็ตครบแล้วนะ
ถ้าแพ็คเก็ตไปถึงครบ TCP จะเซ็นรับพัสดุ แล้วก็จบ
ถ้าแพ็คเก็ตไม่ครบ มันจะไม่เซ็น
ถ้าเซ็น เพลงจะคุณภาพต่ำ หรือขาดหายไปได้ค่ะ
หากแพ็คเก็ตหล่นหายหรือไม่ครบ สปอติฟายจะส่งให้ใหม่
พอ TCP ยืนยันว่าแพ็คเก็ตเพลงนั้น ถึงครบแล้ว
เพลงของคุณก็จะเริ่มเล่น
TCP และระบบเราเตอร์ดีตรงที่ปรับขนาดได้
สามารถทำงานกับอุปกรณ์ 8 เครื่อง หรือ 8 พันล้านเครื่องก็ได้
หลักการที่ทนต่อความผิดพลาด และความซ้ำซ้อนนี้
ยิ่งเพิ่มเราเตอร์เยอะ อินเทอร์เน็ตยิ่งน่าเชื่อถือ
แถมเรายังให้อินเทอร์เน็ต เติบโตและปรับขนาดได้
โดยไม่รบกวนคนที่กำลังใช้งาน
อินเทอร์เน็ตประกอบด้วยหลายแสนเครือข่าย
และอุปกรณ์หลายพันล้านเครื่อง ที่เชื่อมต่อกันทางกายภาพ
ระบบที่ต่างกัน ที่ก่อเป็นอินเทอร์เน็ตนี้เชื่อมถึงกัน
สื่อสารกัน และทำงานร่วมกัน
ด้วยมาตรฐานที่ตกลงกันไว้ว่า จะส่งข้อมูลกันในอินเทอร์เน็ตอย่างไร
อุปกรณ์คอมพิวเตอร์ หรือเราเตอร์ในอินเทอร์เน็ต
ช่วยให้แพ็คเก็ตถึงจุดหมายปลายทาง
ที่จะประกอบกันตามลำดับ หากจำเป็น
สิ่งนี้เกิดขึ้นวันละหลายพันล้านครั้ง
ไม่ว่าคุณและคนอื่นจะส่งอีเมล เข้าชมเว็บเพจ
วีดีโอแช็ต ใช้แอปมือถือ
หรือเมื่อเซนเซอร์ และอุปกรณ์ในอินเทอร์เน็ตสื่อสารกันครับ