การแก้ไขปัญหาเวลาแฝงของเครือข่ายด้วย Wireshark

เผยแพร่แล้ว: 2021-10-07

เวลาแฝงของเครือข่ายคือความล่าช้าในการส่งคำขอหรือข้อมูลจากต้นทางไปยังปลายทางในระบบนิเวศของเครือข่าย มาดูกันว่าคุณจะแก้ปัญหาเวลาแฝงของเครือข่ายได้อย่างไร

การดำเนินการใดๆ ที่ต้องใช้เครือข่าย เช่น การเปิดหน้าเว็บ การคลิกลิงก์ หรือการเปิดแอปและเล่นเกมออนไลน์ เรียกว่ากิจกรรม กิจกรรมของผู้ใช้คือคำขอ และเวลาตอบสนองของเว็บแอปพลิเคชันคือเวลาที่ใช้ในการตอบคำขอนี้

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

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

จะแก้ไข Network Latency ได้อย่างไร?

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

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

อะไรทำให้เครือข่ายล่าช้า?

สาเหตุหลักบางประการที่ ทำให้ การเชื่อมต่อเครือข่าย ช้า ได้แก่ :

  • เวลาในการตอบสนองสูง
  • การพึ่งพาแอปพลิเคชัน
  • การสูญเสียแพ็คเก็ต
  • อุปกรณ์สกัดกั้น
  • ขนาดหน้าต่างไม่มีประสิทธิภาพ

และในบทความนี้ เราจะตรวจสอบแต่ละสาเหตุของความล่าช้าของเครือข่ายและวิธีแก้ปัญหาด้วย Wireshark

การตรวจสอบด้วย Wireshark

เวลาในการตอบสนองสูง

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

wireshark4

  • ไปที่สถิติ Wireshark
  • เลือกตัวเลือก กราฟสตรีม TCP
  • เลือกกราฟเวลาไปกลับเพื่อดูว่าใช้เวลานานเท่าใดในการดาวน์โหลดไฟล์

Wireshark ใช้ในการคำนวณเวลาไปกลับบนเส้นทางเพื่อดูว่านี่เป็นสาเหตุของประสิทธิภาพเครือข่ายการสื่อสาร Transmission Control Protocol (TCP) ที่บกพร่องหรือไม่ TCP ใช้ในแอปพลิเคชันต่างๆ รวมถึงการท่องออนไลน์ การรับส่งข้อมูล โปรโตคอลการถ่ายโอนไฟล์ และอื่นๆ อีกมากมาย ในหลายกรณี ระบบปฏิบัติการสามารถปรับแต่งให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้นในช่องสัญญาณที่มีความหน่วงสูง โดยเฉพาะอย่างยิ่งเมื่อโฮสต์ใช้ Windows XP

การพึ่งพาแอปพลิเคชัน

แอปพลิเคชันบางตัวขึ้นอยู่กับแอปพลิเคชัน กระบวนการ หรือการสื่อสารของโฮสต์อื่นๆ สมมติว่าแอปพลิเคชันฐานข้อมูลของคุณอาศัยการเชื่อมต่อกับเซิร์ฟเวอร์อื่นเพื่อดึงข้อมูลรายการฐานข้อมูล ในกรณีดังกล่าว ประสิทธิภาพที่ซบเซาบนเซิร์ฟเวอร์อื่นๆ เหล่านั้นอาจทำให้เวลาในการโหลดของแอปพลิเคชันในเครื่องลดลง

ยกตัวอย่าง ประสบการณ์การท่องเว็บที่เซิร์ฟเวอร์เป้าหมายอ้างอิงถึงเว็บไซต์อื่นๆ หลายแห่ง ตัวอย่างเช่น ในการโหลดหน้าหลักของเว็บไซต์ www.espn.com คุณต้องไปที่โฮสต์ 16 แห่งที่ให้บริการโฆษณาและเนื้อหาสำหรับหน้าหลัก www.espn.com

wireshark-3

ในรูปด้านบน หน้าต่าง HTTP Load Distribution ใน Wireshark จะแสดงรายการเซิร์ฟเวอร์ทั้งหมดที่ใช้โดยโฮมเพจ www.espn.com

การสูญเสียแพ็คเก็ต

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

นอกจากนี้ เมื่อแอปพลิเคชันใช้ TCP แพ็กเก็ตที่หายไปจะส่งผลกระทบในทางลบโดยเฉพาะ เมื่อการเชื่อมต่อ TCP ตรวจพบแพ็กเก็ตที่หลุด อัตราทรูพุตจะช้าลงโดยอัตโนมัติเพื่อชดเชยปัญหาเครือข่าย

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

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

wireshark

Wireshark บ่งชี้ว่าความแออัดของเครือข่ายเกิดขึ้น และการรับทราบหลายครั้งทำให้เกิดการส่งทราฟฟิกที่มีปัญหาอีกครั้งด้วยการเข้ารหัสสี การรับทราบที่ซ้ำกันจำนวนมากบ่งชี้ว่าแพ็กเก็ตสูญหายและมีการหน่วงเวลาที่สำคัญในเครือข่าย

เพื่อปรับปรุงความเร็วของเครือข่าย การระบุตำแหน่งที่แน่นอนของการสูญเสียแพ็กเก็ตเป็นสิ่งสำคัญ เมื่อแพ็กเก็ตสูญหาย เราจะย้าย Wireshark ไปตามเส้นทางจนกว่าจะไม่เห็นการสูญเสียแพ็กเก็ตอีก ขณะนี้เราเป็น "ต้นน้ำ" จากจุดดรอปแพ็กเก็ต ดังนั้นเราจึงรู้ว่าควรเน้นที่จุดใดในการพยายามแก้ไขข้อบกพร่อง

อุปกรณ์สกัดกั้น

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

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

ขนาดหน้าต่างไม่มีประสิทธิภาพ

นอกเหนือจากระบบปฏิบัติการของ Microsoft แล้ว ยังมี “หน้าต่าง” อื่นๆ ในเครือข่าย TCP/IP

  • หน้าต่างบานเลื่อน
  • หน้าต่างตัวรับ
  • หน้าต่างควบคุมความแออัด

หน้าต่างเหล่านี้รวมกันเป็นประสิทธิภาพของการสื่อสารบน TCP ของเครือข่าย เริ่มต้นด้วยการกำหนดแต่ละหน้าต่างเหล่านี้และผลกระทบต่อแบนด์วิดท์เครือข่าย

หน้าต่างบานเลื่อน

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

หน้าต่างตัวรับ

หน้าต่างตัวรับของสแต็ค TCP เป็นพื้นที่บัฟเฟอร์ เมื่อได้รับข้อมูล ข้อมูลจะถูกเก็บไว้ในพื้นที่บัฟเฟอร์นี้จนกว่าแอปพลิเคชันจะหยิบขึ้นมา หน้าต่างตัวรับจะเต็มเมื่อแอปพลิเคชันไม่ตามอัตราการรับ ในที่สุดก็นำไปสู่สถานการณ์ "หน้าต่างศูนย์" การส่งข้อมูลทั้งหมดไปยังโฮสต์จะต้องหยุดลงเมื่อผู้รับแจ้งเงื่อนไขหน้าต่างเป็นศูนย์ อัตราของปริมาณงานลดลงเป็นศูนย์ วิธีการที่เรียกว่า Window Scaling (RFC 1323) ช่วยให้โฮสต์สามารถเพิ่มขนาดหน้าต่างตัวรับ และลดโอกาสที่หน้าต่าง Zero Window จะเกิดสถานการณ์ขึ้น

wireshark2

รูปภาพด้านบนแสดงการหน่วงเวลา 32 วินาทีในการสื่อสารเครือข่ายเนื่องจากสถานการณ์ที่ไม่มีหน้าต่าง

หน้าต่างความแออัด

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

เคล็ดลับสำหรับเครือข่ายสุขภาพ

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

ห่อ

เราได้พิจารณาถึงสาเหตุหลักของปัญหาประสิทธิภาพของเครือข่ายแล้ว แต่ปัจจัยหนึ่งที่ไม่ควรพลาดคือการขาดความเข้าใจในพฤติกรรมการสื่อสารของเครือข่าย Wireshark ให้การมองเห็นเครือข่ายเช่นเดียวกับรังสีเอกซ์ และการสแกน CAT ให้การมองเห็นในร่างกายมนุษย์เพื่อการวินิจฉัยที่แม่นยำและรวดเร็ว เครื่องมือนี้ได้กลายเป็นเครื่องมือสำคัญสำหรับการค้นหาและวินิจฉัยปัญหาเครือข่าย

ตอนนี้คุณควรตรวจสอบและแก้ไขประสิทธิภาพเครือข่ายผ่านตัวกรองและเครื่องมือต่างๆ โดยใช้ Wireshark