SNMP ทำงานในระดับ 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