Advertisement
ในปัจจุบันนี้เราปฎิเสธไม่ได
SNMP คืออะไรSNMP เป็นคำย่อมาจาก
Simple Network Management Protocol เป็นโปรโตคอลที่ใช้รวบรวมจัดเรียงข้อมูลเกี่ยวกับอุปกรณ์เครือข่าย เมื่อมีการเปลี่ยนแปลงข้อมูลไปจากเดิมโดยผ่าน
IP Address ขอซึ่ง อาทิเช่น Router, Modems, Switch, Server, Workstations, Printer ฯลฯSNMP มีการใช้งานกันอย่างแพร่หลายสำหรับทำ network management หรือระบบการ monitoring โดน SNMP จะเก็บข้อมูลในรูปแบบตัวแปรและจัดการโดย management information base (MIB) ซึ่งเป็นที่เก็บข้อมูลหรือ database สำหรับการจัดการหรือเปลี่ยนแปลงค่าต่างๆบนอุปกรณ์ใน networkณ
ในปัจจุบัน
SNMP ได้มีการพัฒนาเพื่อเพิ่มขีดความสามารถ และความยืดหยุ่นในการใช้งานแบ่งออกได้เป็น 3 เวอร์ชั่น คือ SNMPv1, SNMPv2, SNMPv3 ตามลำดับ
หลักการทำงานของ SNMPเมื่อทราบแล้วว่า
SNMP คืออะไร มาดูกันต่อว่าแล้ว
SNMP ทำงานอย่างไร โดยส่วนมากแล้วเราใช้
SNMP สำหรับการบริหารจัดการระบบ computer จำนวนมาก ซึ่งมีความสามารถในการ monitor หรือจัดการกลุ่ม host หรือ อุปกรณ์ใน network โดยอุปกรณ์ในระบบจะ agent ที่คอยทำงานเพื่อตรวจสอบตอดลเวลา และก็จะส่ง report กลับไปหาตัว manger ที่เป็นฝั่ง server
SNMP จะมีส่วนประกอบด้วยกัน 3 ตัวหลักคือ
- ตัวอุปกรณ์ที่อยู่ใน network
- Agent — เป็น software ที่ต้องติดตั้งอยุ่บนอุปกรณ์เพื่อทำการตรวจสอบและ report สิ่งผิดปกติ
- Network management station (NMS) — เป็น software ของฝั่ง SNMP server หรือที่เรียกว่า manger คอยรับและเก็บรวบรวมข้อมูลจาก agent
โครงสร้างของ Protocol SNMPSNMP ทำงานในระดับ Application Layer ในรูปแบบ Internet Protocol Suit ซึ่ง SNMP agent จะรับคำสั่งผ่านทาง UDP port 161 โดยตัว manager จะส่งคำสั่งไปยัง port 161 บนอุปกรณ์ฝั่ง agent จากนั้น agent จะส่งข้อมูลกลับไปยัง manager ตามที่ร้องขอมา ส่วนฝั่ง manager จะมีการรับ notification หรือที่เรียกกันว่า Traps (SNMP Traps) ที่ port 162 โดยฝั่ง agent จะเป็นคนส่ง notification เมื่อพบสิ่งผิดปกติตามที่ตั้ง rule เอาไว้ เพื่อส่งข้อมูลดังกล่าวไปยัง manager port 162 แต่ถ้าใช้เป็น secure port หรือ Transport Layer Security (TLS) สำหรับ agent จะเป็น port 10161 และ ฝั่ง manager trap จะเป็น port 10162
PDU 8 ชนิด1. GetRequest (manager to agent)เป็นการที่ฝั่ง manger ส่งคำขอดูข้อมูลไปยัง agent โดยจะกำหนดข้อมูลที่ต้องการไปใน object ภายใน message หรือที่เรียกว่า object identifier เช่น 1.3.6.1.2.1.1.1.0 หมายถึงต้องการทราบข้อมูล sysDescr หรือ ข้อมูลรายละเอียดของอุปกรณ์ที่ agent ติดตั้งอยู่ ซึ่งทาง agent เองก็จะตอบข้อมูลรายละเอียดดังกล่าวกลับไป
2. GetNextRequest (manager to agent)เป็น PDU ที่ทาง manager ส่งไปหา agent เพื่อเอาข้อมูลตัวแปร โดยค่าของ object ตัวต่อจาก object ID ที่กำหนดใน MIB ส่วนใหญ่จะใช้ในการเอาค่าเข้าสู่ตาราง เพราะถ้า Manager ไม่ทราบ index ที่จะดึงก็จะไม่สามารถดึงค่าออกมาได้ แต่สำหรับ GetNextRequest จะกำหนด Object ID ในตารางของตัวถัดไปเรื่อยๆเอง
3. SetRequest (manager to agent)เป็นฝั่ง manager ส่งคำสังไปยัง agent เพื่อกำหนด set ค่าของตัวแปร หรือเปลี่ยนแปลงค่าที่ configure ไว้ใน MIB ของอุปรณ์นั้นๆ
4. Response (agent to manager)เป็นฝั่ง agent ส่งหา manager เพื่อตอบกลับข้อมูลจากคำสั่ง PDU GetRequest หรือ GetNextRequest โดยจะส่งข้อมูลของตัวแปรที่ร้องขอกลับไปหา manager
5. Trap (agent to manager)เป็นฝั่ง agent ส่งหา manager เพื่อแจ้งหรือ notify เหตุการณ์ที่เกิดขึ้นบนฝั่ง agent เอง เช่นเกิดการ reboot server หรือมีค่าบางอย่างที่สูงถึง trigger ที่กำหนด
6. GetbulkRequest (manager to agent)ถูกเพิ่มเข้ามาหลังจากพัฒนา Version 2 เป็นการที่ manager ส่งคำสั่งไปหา agent เพื่อเอาชุดข้อมูลขนาดใหญ่ แทนการ GetRequest หรือ GetNextRequest หลายๆครั้ง
7. InFormRequest (manager to manager)ถูกเพิ่มเข้ามาหลังจากพัฒนา Version 2 เช่นเดียวกันเป็นฝั่ง manager ส่งหา manager กันเอง เพื่อรับค่าตัวแปรบางอย่างจาก agent ที่อยู่ภายใต้การควบคุมของ manger อีกตัวซึ่งจะต้องต้อบกลับด้วย Response PDU เช่นกัน
8. Report (manager to manager)เป็นการส่งรายงานข้อผิดพลาดในระบบระหว่าง manager ด้วยกันเอง เป็นส่วนที่เพิ่มขึ้นมาเมื่อพัฒนาเป็น Version 3