ICMP คืออะไร?
Internet Control Message Protocol (ICMP) เป็นชุดของกฎการสื่อสารที่อุปกรณ์ใช้ในการสื่อสารข้อผิดพลาดในการรับส่งข้อมูลในเครือข่าย ในการแลกเปลี่ยนข้อความระหว่างผู้ส่งและผู้รับ ข้อผิดพลาดที่ไม่คาดคิดบางอย่างสามารถเกิดขึ้นได้ ตัวอย่างเช่นข้อความอาจยาวเกินไป หรือแพ็คเก็ตข้อมูลมาถึงไม่เรียงลำดับกันทำให้ผู้รับไม่สามารถประกอบข้อมูลเข้าด้วยกันได้ ในกรณีดังกล่าว ผู้รับจะใช้ ICMP เพื่อส่งข้อความแสดงข้อผิดพลาดแจ้งไปยังผู้ส่ง และขอส่งข้อความใหม่อีกครั้ง
กรณีการใช้งาน ICMP คืออะไร?
Internet Control Message Protocol (ICMP) เป็นเครือข่ายโพรโทคอลที่สำคัญในระบบเครือข่ายคอมพิวเตอร์ มันกำหนดกลไกมาตรฐานสำหรับอุปกรณ์เครือข่ายในการสื่อสารข้อมูลที่สำคัญ เช่น การเชื่อมต่อและสถานะเครือข่าย อุปกรณ์ทั้งหมดที่เชื่อมต่อกับเครือข่าย รวมถึงเราเตอร์และอุปกรณ์ตำแหน่งข้อมูลสามารถประมวลผลข้อความ ICMP ได้ ICMP ได้ถูกดัดแปลงให้สามารถทำงานทั้งแบบ IPv4 และ IPv6 ได้
อ่านข้อมูลเกี่ยวกับระบบเครือข่ายคอมพิวเตอร์ »
ต่อไปเราจะมาอภิปรายเกี่ยวกับบางกรณีการใช้งานของ ICMP ที่พบบ่อย
การรายงานข้อผิดพลาด
ข้อความแสดงข้อผิดพลาด ICMP รายงานข้อผิดพลาดของระบบเครือข่าย—เช่น ปลายทางที่ไม่สามารถเข้าถึงได้ การหมดเวลา หรือปัญหาการแตกกระจาย (Fragmentation) ข้อความที่สำคัญโดยเฉพาะอย่างยิ่งสำหรับ User Datagram Protocol (UDP) ซึ่งมีรูปแบบการสื่อสารแบบที่ไม่มีการเชื่อมต่อ
UDP ไม่ใช่การจัดส่งแพ็คเก็ตที่เชื่อถือได้หรือเรียงตามลำดับ เมื่อมีแพ็คเก็ต UDP ถูกส่งออกไป มีความเป็นไปได้ว่าแพ็คเก็ตอาจสูญหาย หรืออาจมีความผิดพลาดในการจัดส่ง เช่น ข้อผิดพลาดเกี่ยวกับ checksum หากเกิดเหตุการณ์นี้ขึ้น ตัวรับจะส่งข้อความรายงานข้อผิดพลาด ICMP กลับไปยังผู้ส่งเพื่อแจ้งให้ทราบถึงปัญหา
การวินิจฉัย
คุณสามารถใช้ ICMP สำหรับการวินิจฉัยข้อมูลเกี่ยวกับเครือข่าย เป็นวิธีที่ใช้กันมากที่สุดสำหรับคำสั่ง ping และ traceroute
คำสั่ง ping ทดสอบการเข้าถึงของอุปกรณ์เครือข่ายโดยส่งแพ็คเก็ตคำขอ ICMP แบบ echo ไปยังอุปกรณ์เป้าหมาย ถ้าสามารถเข้าถึงอุปกรณ์ได้ อุปกรณ์ก็จะส่งการตอบกลับเป็น ICMP echo กลับมา ตรวจสอบเวลาเครือข่ายแฝงได้อย่างน่าเชื่อถือและมั่นใจได้ว่าอุปกรณ์นั้นพร้อมใช้งาน
คำสั่ง traceroute ตามรอยเส้นทางที่แพ็คเก็ตใช้ตั้งแต่แหล่งที่มาไปจนปลายทาง เพื่อดำเนินการดังกล่าว คำสั่งจะส่งข้อความคำขอแบบ echo และข้อความตอบกลับแบบ echo ไปยังปลายทางที่กำหนดไว้
คำขอแบบ Echo มีค่า time-to-live (TTL) ซึ่งจะลดลงทีละหนึ่งในแต่ละครั้งที่แพ็คเก็ตส่งผ่านเราเตอร์ เมื่อแพ็คเก็ตถึงเราเตอร์ที่มี TTL เป็นศูนย์ เราเตอร์จะส่งข้อความ ICMP กลับไปยังแหล่งที่มา
ข้อความประกอบด้วยข้อมูลเกี่ยวกับเส้นทางที่แพ็คเก็ตใช้ Traceroute เผยเส้นทางที่แน่นอนของแพ็คเก็ต ซึ่งช่วยให้คุณได้เห็นข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพของเครือข่าย
ความปลอดภัยของเครือข่าย
คุณสามารถใช้ ICMP เพื่อตรวจหาการรับส่งข้อมูลเครือข่ายที่ไม่ได้รับอนุญาต และอนุญาตเฉพาะการรับส่งข้อมูลที่ถูกต้องผ่านเครือข่าย ไฟร์วอลล์ใช้ ICMP เพื่ออนุญาตหรือบล็อกการรับส่งข้อมูลบางประเภท ผู้ดูแลระบบเครือข่ายยังใช้เครื่องมือตรวจสอบ ICMP เพื่อติดตามสถานะและการเชื่อมต่อของอุปกรณ์เครือข่ายและตรวจหาอุปกรณ์ที่ไม่รู้จักได้อีกด้วย
นอกจากนี้คุณยังสามารถใช้เครื่องมือนี้เพื่อระบุรูปแบบการรับส่งข้อมูลที่ผิดปกติซึ่งอาจชี้ให้เห็นถึงกิจกรรมที่ไม่ได้รับอนุญาต
ICMP ทำงานอย่างไร?
Internet Control Message Protocol (ICMP) มักจะทำงานควบคู่ไปกับเครือข่ายโพรโทคอลอื่น ๆ เช่น TCP/IP หรือ User Datagram Protocol (UDP) โฮสต์และเราเตอร์แลกเปลี่ยนข้อความ ICMP หรือแพคเก็ต ICMP เมื่อมีเหตุการณ์ในเครือข่ายบางอย่างเกิดขึ้น
แพ็คเก็ต ICMP ประกอบด้วยส่วนหัวของแพ็คเก็ต ICMP และส่วนของข้อมูล ICMP
ส่วนหัวของแพ็คเก็ต ICMP
ส่วนหัวของ ICMP ประกอบด้วยข้อมูลเกี่ยวกับประเภทแพ็คเก็ต รหัส checksum และตัวระบุ เมื่อมีการส่งแพ็คเก็ต ICMP ตัวรับข้อความจะอ่านข้อมูลส่วนหัว อิงจากชนิดของแพ็คเก็ต ตัวอ่านจะเลือกวิธีดำเนินการที่เหมาะสม
ตัวอย่างเช่นถ้าชนิดแพ็คเก็ตเป็นคำขอแบบ echo ตัวรับจะตอบกลับแบบ echo ด้วยข้อมูลเดียวกัน ถ้าชนิดแพ็คเก็ตเป็นปลายทางที่ไม่สามารถเข้าถึงได้ ตัวรับจะตอบกลับด้วยข้อความปลายทางที่ไม่สามารถเข้าถึงได้เช่นกัน
ส่วนข้อมูล ICMP
ส่วนข้อมูลในข้อความ ICMP มีข้อมูลเช่นที่อยู่ IP ของปลายทางหรือสาเหตุของความล้มเหลว นอกจากนี้ยังมีรหัสข้อผิดพลาดหรือรหัสตัวเลขที่ระบุข้อผิดพลาดด้วย
ดังตัวอย่างต่อไปนี้
- รหัสปลายทางที่ไม่สามารถเข้าถึง (ชนิดที่ 3) บ่งชี้ว่า ไม่ปรากฏอุปกรณ์รับสัญญาณในเครือข่าย
- รหัสการเปลี่ยนเส้นทาง (ชนิดที่ 5) ส่งข้อความไปยังอีกเราเตอร์เพื่อระบุเส้นทางไปยังปลายทางที่ดีกว่า
- รหัสคำขอแบบ Echo และการตอบกลับแบบ Echo (ชนิดที่ 8 และ 10) ทดสอบการเชื่อมต่อระหว่างอุปกรณ์
- ข้อความแจ้งเกินเวลาแสดงว่าแพ็คเก็ตได้ใช้เวลานานเกินเวลาสูงสุดที่จะไปถึงปลายทาง
- ข้อความแจ้งปัญหาพารามิเตอร์แจ้งเวลาที่เราเตอร์พบปัญหาเกี่ยวกับส่วนหัวของฟิลด์ IP
- ข้อความแจ้งระงับหรือชะลอการส่งของต้นทาง (Source Quench) จะส่งออกมาเมื่อเราเตอร์ประสบปัญหาความแออัดของข้อมูลและจำเป็นต้องจำกัดจำนวนแพ็คเก็ตที่ได้รับ
ความแตกต่างระหว่าง ICMP และ TCP คืออะไร?
TCP เป็นโปรโตคอลเกี่ยวกับการเชื่อมต่อที่มุ่งเน้นด้านความน่าเชื่อถือ การส่งข้อมูลที่ตรวจสอบข้อผิดพลาดแล้ว โดยทั่วไปจะใช้สำหรับการเรียกดูเว็บ อีเมล การเข้าสู่ระบบระยะไกล และแอปพลิเคชันการถ่ายโอนไฟล์ TCP ต้องการวิธีส่งข้อมูลแบบ handshaking ชุดของข้อความที่สร้างความน่าเชื่อถือและการยืนยันตัวตนระหว่างผู้ส่งและผู้รับ TCP รับประกันการส่งข้อความ
ในทางตรงกันข้าม Internet Control Message Protocol (ICMP) เป็นโพรโทคอลที่ไม่มีการเชื่อมต่อ ไม่รับประกันการส่งข้อความ เนื่องจาก ICMP ใช้สำหรับการรายงานข้อผิดพลาดเท่านั้น ข้อความ ICMP มีขนาดเล็กกว่าแพคเก็ต TCP ด้วย
ICMP และ TCP ถูกใช้ร่วมกันเพื่อหาสาเหตุที่การจัดส่งแบบ TCP ล้มเหลว
ICMP ping flood คืออะไร?
การทำ ping flood ใน Internet Control Message Protocol (ICMP) เป็นเหตุการณ์การโจมตีโดยปฏิเสธการให้บริการ ( denial of service - DoS) ที่ผู้ใช้ที่ไม่ได้รับอนุญาตทำการส่งคำขอ ICMP echo หลายคำขอในช่วงเวลาสั้น ๆ แต่ละคำขอ ICMP ประกอบด้วยตัวระบุที่ไม่ซ้ำกันและข้อมูล Payload ที่ต้องใช้ตัวรับเพื่อการตอบสนองที่แตกต่างกันออกไป เซิร์ฟเวอร์รับพยายามที่จะตอบสนองต่อคำขอที่ไม่ได้รับอนุญาตแต่ละรายการซึ่งจะทำให้การตอบสนองไปยังแหล่งที่ได้รับอนุญาตล่าช้าหรือช้าลง
เพื่อป้องกันเหตุ ICMP ping flood คุณควรตรวจสอบให้แน่ใจว่าอุปกรณ์เครือข่ายของคุณได้รับการกำหนดค่าเพื่อจำกัดปริมาณการรับส่งข้อมูล ICMP ที่อุปกรณ์สามารถรับได้เอาไว้ การตรวจสอบเครือข่ายของคุณสำหรับกิจกรรมที่ไม่ได้รับอนุญาตและการนำมาตรการรักษาความปลอดภัยที่จำเป็นมาใช้เป็นเรื่องสำคัญเช่นกัน เช่น ไฟร์วอลล์และระบบตรวจจับการบุกรุก (IDS)
AWS สามารถเสริมความแข็งแกร่งให้การป้องกันเหตุการณ์ DDoS ได้อย่างไร
Amazon Web Services (AWS) นำเสนอ AWS Shield เพื่อจะช่วยให้คุณสามารถป้องกันเหตุการณ์ Distributed Denial of Service (DDoS) ได้ดีขึ้น
AWS Shield คือ บริการป้องกัน DDoS ที่ได้รับการจัดการซึ่งจะปกป้องแอปพลิเคชันที่ทำงานบน AWS มีการตรวจจับแบบไดนามิกและการลดการโจมตีแบบอินไลน์โดยอัตโนมัติที่ลดเวลาหยุดทำงานและเวลาแฝงของแอปพลิเคชันให้น้อยที่สุด AWS Shield มีเทคนิคการบรรเทาสถานการณ์โดยอัตโนมัติเพื่อป้องกันการเกิดเหตุการณ์ด้านความปลอดภัยในเครือข่ายทุกประเภท
คุณจะได้รับประโยชน์จากคุณสมบัติมากมายจาก AWS Shield:
- การขจัดการรับส่งข้อมูลที่ไม่ได้รับอนุญาตโดยอัตโนมัติที่ชั้นเฉพาะ
- ลดเวลาหยุดทำงานและเวลาแฝงของแอพพลิเคชั่น
- การติดตามและการป้องกันทรัพยากรสูงสุด 1,000 ประเภท
- การตรวจจับที่ปรับแต่งตามรูปแบบการรับส่งข้อมูลของแอปพลิเคชัน
เริ่มต้นใช้งานการป้องกัน DDoS โดยการสร้างบัญชี ในวันนี้