โดย อาจารย์ศุภเดช วันนึ้มาดึกไปหน่อย ขออภัยครับ ไปเจอร้านอิซากายะ ร้านเด็ดมาก ที่ตึก OneBangkok ปลาหมึกย่างโคตรอร่อย แตงกวาน้ำมันงาก็เยี่ยม ไก่ย่างนี่คือสุดๆ ส่วนจอยบอกว่าเหล้าบ๊วยเด็ดสุด ซัดขวดใหญ่กินกัน 6 คน เมาแอ๋กลับบ้านกัน ส่วนผมกินเหล้าไม่เป็น เป็นตัวกินกับอย่างเดียว 5555
วันนี้จะเล่าถึงเครื่องมือที่ใช้ในการทดสอบระบบ Network ถัดจากคำสั่ง Ping เมื่อวานครับ
ซึ่งหลายๆคนอาจจะเดาว่า traceroute แน่ๆ แต่ไม่ใช่ครับ มันเจ๋งกว่านั้นอีก เพราะมันคือคำสั่ง ที่รวมร่าง ping + traceroute รวมกัน แล้วสามารถวิเคราะห์คุณภาพของเส้นทาง Network ของเราได้เลย นั่นคือคำสั่ง mtr ครับ
mtr ย่อมาจาก (Matt's TraceRoute ครับ) ก็คือ เป็นคำสั่ง traceroute แบบพิเศษที่เขียนโดยโปรแกรมเมอร์ท่านนึง ชื่อคุณ Matt Kimball ตอนปี 1997 แต่ต่อมาภายหลัง คุณ Matt แกก็ไม่ได้สานต่อแล้ว ก็เลยมีคุณ Roger Wolfe มาทำต่อแทน แล้วเปลี่ยนชื่อ Project เป็น My TraceRoute ครับ
ที่ผมบอกว่า Ping คือ คำสั่งที่เราเอาไว้ตรวจสอบว่า Host ปลายทางนั้นออนไลน์อยู่บน Network หรือเปล่า ส่วน TraceRoute ก็คือ ตรวจสอบว่า จากเราถึง Host ปลายทางนั้น วิ่งผ่าน Network อะไรบ้าง
ซึ่งถ้าเราทำ TraceRoute เราก็จะเห็นแต่เส้นทาง แต่เราจะไม่เข้าใจคุณภาพของเส้นทางของเรา ดังนั้น mtr ก็จะรวมร่าง 2 อย่างเข้าด้วยกัน คือ นอกจาก แสดงให้เห็นว่า เส้นทางจากเราไปยังปลายทาง นั้นวิ่งผ่าน Network อะไรบ้าง ยังแสดงให้คุณถึง คุณภาพของแต่ละ Hop ด้วยว่า มีความเร็วกี่ ms , มี Packet Loss หรือเปล่า
มีการวัดค่าเฉลี่ยด้วยว่า
– ช้าสุด กี่ ms
– เร็วสุดกี่ ms
– เฉลี่ยแล้ว ใช้เวลา กี่ ms ในแต่ละ Hop ที่วิ่งจนถึงปลายทาง
ซึ่งเราจะได้ใช้คำสั่ง mtr กันบ่อยๆ ถ้าเราทำเรื่องของ Routing ใน Network ครับ
ถ้าเป็น User ในกลุ่ม Home Use หรือ Small Business อาจจะไม่ได้ขึ้นระบบ Network ใหญ่ๆที่จะต้องมีการทำ Routing ครับ ซึ่งการทำ Routing เราจะต้องอ่านแผนที่ของ Network ที่เราเรียกว่า Routing Table
และเพิ่มเส้นทาง Routing ไปในแต่ละ Router ผ่านการทำสิ่งที่เรียกว่า Static Route
และ ถ้าเราจะทดสอบว่า เราเขียน Routing ถูกหรือเปล่า วิธีการตรวจสอบ ก็คือใช้เครื่องมืออย่าง traceroute หรือ mtr นี่แหละครับ
แต่ที่ผมเลือกใช้ mtr ก็เพราะว่า มันดีกว่า traceroute เฉยๆ เยอะ ทดสอบก็เร็วกว่า ข้อมูลที่ได้ก็เยอะกว่าด้วย
การจะติดตั้ง mtr บน MacOS จะต้องติดตั้งผ่านเครื่องมือที่ชื่อว่า Homebrew ครับ เป็นเครื่องมือสำหรับติดตั้ง Command Line Tools และ Application บน MacOS ที่ง่ายมากๆ (วิธีการติดตั้งไปค้น google ว่า install homebrew macos ได้เลยนะครับ)
เมื่อมี homebrew แล้ว อยากจะติดตั้ง mtr ก็รันคำสั่ง
brew install mtr ได้เลยครับ หลังจากนั้นตัว MacOS ของเราก็จะมีคำสั่ง mtr ไว้ใช้งาน
วิธีการใช้งานก็คือ รันคำสั่ง mtr ตามด้วย ip address ของปลายทางที่เราจะตรวจสอบ อย่างในรูปคือ ผมก็ตรวจสอบว่า จากบ้านผมไปยัง google dns เนี่ย มันวิ่งผ่านที่ไหนบ้าง กี่ hop
เวลาที่เราทำเรื่องของ Routing และมีการเขียน static route เพื่อตรวจสอบเส้นทางการวิ่งของ packet เนี่ย ผมก็จะตรวจสอบด้วย คำสั่ง mtr นี่แหละครับ
ซึ่งขั้นตอนการตรวจสอบก็คือ
1. เขียน network diagram + ip address ของแต่ละ อุปกรณ์และ แต่ละ interface มาให้ครบ
2. ลองรันคำสั่ง mtr ตามด้วย host ปลายทางแล้วดูว่า การวิ่งผ่าน router แต่ละตัว ตรงตามที่เราออกแบบไว้บนกระดาษไหม
ถ้า network ปกติ ก็น่าจะไปถึงปลายทางได้ไม่ยาก ส่วนการจะปรับแต่งคุณภาพของ network แต่ละ hop ก็ต้องไปดูเอาว่ามันเกิด latency ตรงไหน
แต่ถ้าเกิดเรารันคำสั่ง mtr แล้วมันไปตายตรง Hop ไหน เราก็สามารถไปตรวจสอบ Network หรือ Router นั้นๆว่า ทำไม มันถึงไม่โยน packet ไปในเส้นทางที่เรากำหนดไว้ด้วยการทำ static route ครับ
Parameter ที่น่าสนใจกับคำสั่ง mtr ที่ผมใช้บ่อยๆก็คือ
mtr -r ตามด้วย ip ปลายทาง
ด้วยคำสั่ง -r จะทำให้แทนที่จะแสดงผลเป็นหน้าจอ result แต่เค้าจะสรุปให้เป็น report ให้ครับ ซึ่งเราสามารถ export เป็น text file หรือ json ก็ได้
mtr -c ตามด้วย จำนวนครั้ง ก็คือ จะทดสอบ 100 ครั้งหรือ 200 ครั้ง เพื่อเพิ่มความน่าเชื่อถือของ report ก็ได้ครับ
การอ่านค่าผลลัพธ์ของ MTR
เมื่อคุณรันคำสั่ง MTR คุณจะเห็นข้อมูลในรูปแบบตาราง โดยมีคอลัมน์ที่สำคัญดังนี้:
Host – รายชื่อของโหนดที่ข้อมูลเดินทางผ่าน
Loss% – เปอร์เซ็นต์ของแพ็กเก็ตที่สูญหายไป
Snt – จำนวนแพ็กเก็ตที่ถูกส่งไป
Last – ค่า latency ล่าสุด (ms)
Avg – ค่า latency เฉลี่ย (ms)
Best – ค่า latency ต่ำสุด (ms)
Wrst – ค่า latency สูงสุด (ms)
StDev – ส่วนเบี่ยงเบนมาตรฐานของค่า latency
MTR เป็นเครื่องมือที่มีประโยชน์สำหรับการวิเคราะห์ปัญหาเครือข่าย โดยช่วยให้คุณตรวจสอบ Latency และ Packet Loss ได้แบบเรียลไทม์ รวมถึงสามารถใช้เพื่อตรวจสอบเส้นทางของแพ็กเก็ตจากต้นทางไปยังปลายทางได้อย่างละเอียด
หากคุณเป็น Network Engineer, System Administrator หรือ IT Support MTR เป็นเครื่องมือที่ควรมีติดเครื่องไว้ใช้งานจริงๆครับ
ปิดท้ายขอขายของนิดหน่อย
ผมจะมีสอนคอร์ส Network สำหรับ UNIFI ครับ เรียนกันสามวัน สอนเรื่องการใช้งาน Product UNIFI ในยุคใหม่ ที่ตอนนี้เปลี่ยนวิถีจากเวอร์ชั่นเดิมไปมาก
UFSP : Unifi FullStack Professtional
UWA : Unifi Wireless Administrator
ในวันที่ 19-21 กพ 2025
กับวันที่ 21-23 มีค 2025
ถ้าสนใจ สามารถสอบถามได้ที่ line@ : @packethunter นะครับ ที่นั่งมีจำกัดอยู่เหมือนกัน ถ้าท่านใดสนใจมานั่งเรียนกันได้ครับผม
หรือถ้าเกิด ขี้เกียจมาเรียน และ ขี้เกียจทำเอง จ้างได้ครับ อาจารย์ศุภเดช พร้อมรับใช้ในการไปทำ Site Survey เพื่อปรึกษาวางแผน การติดตั้งระบบ Network , LAN , WAN , WIFI , Firewall , Server , CCTV , Access Control , Server , Storage , VPN , Security อะไรก็มาเหอะ
ถ้าเป็นงาน Network สามารถแอดไลน์ @vronline ได้เช่นเดียวกันนะครับ
ขอบคุณที่ติดตามกัน เดี๋ยวพรุ่งนี้ จะเป็นหัวข้ออะไร รอติดตามนะครับ
มีการวัดค่าเฉลี่ยด้วยว่า
– ช้าสุด กี่ ms
– เร็วสุดกี่ ms
mtr -r ตามด้วย ip ปลายทาง
การอ่านค่าผลลัพธ์ของ MTR
ปิดท้ายขอขายของนิดหน่อย