Tải bản đầy đủ (.doc) (38 trang)

Đồ án tìm hiểu giao thức SNMP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (511.88 KB, 38 trang )

Tìm hiểu giao thức SNMP
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
Hưng Yên, ngày…… tháng 5 năm 2014
Giáo viên hướng dẫn
1
Tìm hiểu giao thức SNMP
LỜI NÓI ĐẦU
Cùng với sự đi lên và phát triển của xã hội ngày càng đạt nhiều thành tựu trong
khoa học kỹ thuật đời sống. Con người đã có nhiều nghiên cứu, sáng tạo và tiến bộ
mạnh mẽ về công nghệ thông tin, từ một tiềm năng thông tin đã trở thành một tài
nguyên thực sự, trở thành sản phẩm hàng hóa trong xã hội, tạo ra sự thay đổi lớn trong
lực lượng sản xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cách thức
quản lý trong các lĩnh vực của xã hội.
Công nghệ Thông tin đang ngày càng trở nên gần gũi và thiết thực đối với
không chỉ các cơ quan, tổ chức mà ngay cả với mỗi cá nhân, mỗi gia đình và mỗi


người tiêu dùng. Đồng hành cùng đó là các công nghệ phát triển các hệ thống mạng,
các thiết bị càng ngày càng tân tiến hỗ trợ tối đa cho người dùng.
Khi đó lại phát sinh những vấn đề là làm sao để ta có thể quản lý được hệ thống
mạng cũng như các thiết bị để có thể vận hành tốt một hệ thống mạng. Chính vì vậy
nhóm em đã hướng tới tìm hiểu về giao thức SNMP (Giao thức quản lý mạng đơn
giản) để giúp người quản trị có thể tiện lợi hơn trong công việc của mình
Tuy nhiên trong quá trình tìm hiểu và xây dựng đồ án do kinh nghiệm của chúng
em còn hạn chế nên khó tránh khỏi những thiếu sót nhất định. Em rất mong các bạn và
thầy cô đóng góp ý kiến cho đồ án của em được hoàn thiện hơn nữa.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Đỗ Ngọc Khiên
2
Tìm hiểu giao thức SNMP
LỜI CẢM ƠN
Sau quá trình tìm hiểu, nghiên cứu và thực hiện đến nay, đề tài “Tìm Hiểu Giao
Thức SNMP” của nhóm làm đề tài đã hoàn thành.
Nhóm làm đề tài xin chân thành cảm ơn các thầy cô đã trang bị những kiến thức
quý báu cho nhóm làm đề tài trong suốt quá trình thực hiện đề tài.
Nhóm làm đề tài cũng xin chân thành cảm ơn thầy Vũ Xuân Thắng đã tận tình
giảng dạy và hướng dẫn nhóm hoàn thành tốt đề tài này.
Em xin chân thành cảm ơn!
3
Tìm hiểu giao thức SNMP
MỤC LỤC
LỜI NÓI ĐẦU 2
LỜI CẢM ƠN 3
MỤC LỤC 4
DANH MỤC CÁC TỪ, KÍ TỰ VIẾT TẮT 5
DANH MỤC HÌNH VẼ 6

3.1 Kết quả đạt được của đề tài 38
3.2 Hạn chế 38
3.3 Hướng phát triển 38
4
Tìm hiểu giao thức SNMP
DANH MỤC CÁC TỪ, KÍ TỰ VIẾT TẮT
NMSs Network Management Stations Trạm Quản Lý Mạng
MIBs Management Information Base Cơ Sở Dữ Liệu Quản Lý
RMON Remote Monitoring Giám Sát Từ Xa
RFC Request For Comment Duyệt Thảo Trong Lĩnh Vực
Internet
SNMP Simple Network Management Protocol Giao Thức Quản Lý Mạng Đơn
Giản
SMI The Structure of Management Information Cấu trúc của thông tin quản lý
5
Tìm hiểu giao thức SNMP
DANH MỤC HÌNH VẼ
Hình 1. Quan hệ giữa NMS và Agent 10
Hinh 2: Mô Hình Định Nghĩa SMI 15
Hình 3: Mô Hình Định Nghĩa SMI (MIB-II) 17
Hình 4: Cấu trúc bản tin SNMP 21
Hình 5: Hoạt động của SNMP 22
Giao Thức SNMP sử dụng các phương thức sau: 22
Hình 6: Mô Tả Hoạt Động Tập Lệnh “Get” 23
Hình 8: Mô Tả Hoạt Động Tập Lệnh “Set” 27
Hình 9: Mô Tả Hoạt Động SNMP Trap 30
Hình 10: Mô hình quản lý mạng nội bộ 33
Hình 11: Giao Diện quản lý SNMP trên NMS 36
Hình 12: Thiết lập thông số quản lý 36
Hình 13: Quản lý các thông tin 37

6
Tìm hiểu giao thức SNMP
CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ ĐỀ TÀI
1.1 Mục đích của tài liệu
Công nghệ thông tin nói chung đang ngày càng trở nên gần gũi và thiết thực đối
với không chỉ các cơ quan, tổ chức mà ngay cả với mỗi cá nhân, mỗi gia đình và mỗi
người tiêu dùng. Đồng hành cùng đó là các công nghệ phát triển các hệ thống mạng,
các thiết bị càng ngày càng tân tiến hỗ trợ tối đa cho người dung.
Vậy làm sao để ta có thể quản lý được hệ thống mạng cũng như các thiết bị để có
thể vận hành tốt một hệ thống mạng. Chính vì vậy nhóm em đã hướng tới tìm hiểu về
giao thức SNMP (Simple Network Management Protocol) để giúp người quản trị có
thể tiện lợi hơn trong công việc của mình
1.2 Tài liệu tham khảo
Essential_snmp_2nd_edition của Douglas R. Mauro and Kevin J. Schmidt.
1.3 Phương pháp nghiên cứu
Tiến hành thu thập và phân tích những thông tin, tài liệu liên quan đến đề tài để
hình thành nên những ý tưởng tổng quan.
Dịch tài liệu, tìm hiểu sơ bộ, đề ra kế hoạch cho các lần tới thực hiện.
CHƯƠNG 2: MÔ TẢ CHI TIẾT
2.1 Tổng quan về giao thức SNMP
SNMP (viết tắt từ tiếng Anh: Simple Network Management Protocol) là một tập
hợp các giao thức không chỉ cho phép kiểm tra nhằm đảm bảo các thiết bị mạng
7
Tìm hiểu giao thức SNMP
như router, switch hay server đang vận hành mà còn vận hành một cách tối ưu, ngoài
ra SNMP còn cho phép quản lý các thiết bị mạng từ xa.
Nói cách khác cốt lõi của SNMP là một tập hợp đơn giản của hoạt động cung cấp
cho các quản trị viên có khả năng thay đổi trạng thái của một số thiết bị dựa trên
SNMP. Ví dụ, bạn có thể sử dụng SNMP để tắt một interface trên router của bạn hoặc
kiểm tra tốc độ mà tại đó giao thức Ethernet của bạn đang hoạt động. SNMP thậm chí

có thể theo dõi nhiệt độ trên switch của bạn và cảnh báo bạn khi nó là quá cao.
SNMP thường được kết hợp với quản lý thiết bị định tuyến, nhưng điều quan
trọng là phải hiểu rằng nó có thể được sử dụng để quản lý nhiều loại thiết bị. Trong
khi người tiền nhiệm của SNMP, (SGMP), được phát triển để quản lý các bộ định
tuyến Internet, SNMP có thể được sử dụng để quản lý các hệ thống Unix, hệ thống
Windows, máy in, modem, nguồn điện, và nhiều hơn nữa.Bất kỳ các thiết bị nào được
nhà sản xuất hộ trợ giao thức SNMP đều có thể được quản lý. Điều này không chỉ bao
gồm các thiết bị vật lý mà còn phần mềm, chẳng hạn như máy chủ web và cơ sở dữ
liệu.
Một khía cạnh khác của quản lý mạng là mạng lưới giám sát, đó là giám sát toàn
bộ mạng trái ngược với theo dõi các router cá nhân, máy chủ và các thiết bị khác.
Giám sát mạng từ xa (RMON) được phát triển để giúp chúng ta hiểu làm sao 1 mạng
có thể tự hoạt động, cũng như cách các thiết bị riêng lẻ trong mạng có thể hoạt động
đồng bộ trong mạng đó. Nó có thể được sử dụng để giám sát không chỉ lưu lượng truy
cập mạng LAN, mà WAN interface cũng rất tốt.
2.2 RFC và các phiên bản SNMP
Internet Engineering Task Force (IETF) là tổ chức đã đưa ra chuẩn giao thức
SNMP thông qua các RFC, không chỉ có SNMP mà còn rất nhiều giao thức tồn tại
trên nền IP. Tài liệu vào các tiêu chuẩn theo dõi đầu tiên là tiêu chuẩn đề xuất sau đó
chuyển sang trạng thái soạn thảo. Khi một dự thảo cuối cùng đã được phê duyệt, các
8
Tìm hiểu giao thức SNMP
RFC được đưa ra tiêu chuẩn trạng thái mặc dù có những tiêu chuẩn ít hơn hoàn toàn
được chấp thuận hơn bạn nghĩ. Hai chỉ định các tiêu chuẩn theo dõi khác, lịch sử và
thực nghiệm, xác định (tương ứng) một tài liệu đã được thay thế bằng một RFC mới
hơn và một tài liệu đó không phải là chưa sẵn sàng để trở thành một tiêu chuẩn. Danh
sách sau đây bao gồm tất cả các phiên bản SNMP hiện tại và tình trạng của mỗi IETF:
• SNMP version 1 chuẩn của giao thức SNMP được định nghĩa trong RFC 1157 và
là một chuẩn đầy đủ của IETF. Vấn đề bảo mật của SNMP v1 dựa trên nguyên tắc
cộng đồng, không có nhiều password, chuổi văn bản thuần và cho phép bất kỳ một

ứng dụng nào đó dựa trên SNMP có thể hiểu các hiểu các chuổi này để có thể truy
cập vào các thiết bị quản lý. Có 3 tiêu chuẩn trong: read-only, read-write và trap
• SNMP version 2: phiên bản này dựa trên các chuỗi “community”. Do đó phiên bản
này được gọi là SNMPv2c, được định nghĩa trong RFC 1905, 1906, 1907, và đây
chỉ là bản thử nghiệm của IETF. Mặc dù chỉ là thử nghiệm nhưng nhiều nhà sản
xuất đã đưa nó vào thực nghiệm.
• SNMP version 3: là phiên bản tiếp theo được IETF đưa ra bản đầy đủ. Nó được
khuyến nghị làm bản chuẩn, được định nghĩa trong RFC 1905, RFC 1906, RFC
1907, RFC 2571, RFC 2572, RFC 2573, RFC 2574 và RFC 2575. Nó hỗ trợ các
loại truyền thông riêng tư và có xác nhận giữa các thực thể. 1 số nhà sản xuất thiết
bị như cisco đã áp dụng v3 vào các thiết bị của họ đề cao độ an toàn trong mạng.
Trong SNMP có 3 vấn đề cần quan tâm: Manager, Agent và MIB (Management
Information Base). MIB là cơ sở dữ liệu dùng phục vụ cho Manager và Agent.
2.3 Manager And Agent
Trong các phần trước, chúng tôi đã mơ hồ gọi các thiết bị hỗ trợ SNMP và các
trạm quản lý mạng (network management station). Bây giờ là lúc để mô tả những gì
hai điều này thực sự là. Trong SNMP, có hai loại của các đơn vị:
Managers and Agents.
9
Tìm hiểu giao thức SNMP
• Manager là một máy chủ đang chạy một số loại phần mềm hệ thống có thể xử lý
các nhiệm vụ cho một mạng. Các manager thường được gọi là các trạm quản lý
network management stations (NMSs). NMS có khả năng thăm dò và thu thập các
cảnh báo từ các Agent trong mạng. Thăm dò trong việc quản lý mạng là “nghệ
thuật” đặt ra các câu truy vấn đến các agent (router, switch, Unix server, etc.) để có
được một phần nào đó của thông tin. Các cảnh báo của agent là cách mà agent báo
với NMS khi có sự cố xảy ra. Cảnh bảo của agent được gửi một cách không đồng
bộ, không nằm trong việc trả lời truy vấn của NMS. NMS dựa trên các thông tin
trả lời của agent để có các phương án giúp mạng hoạt động hiệu quả hơn. Ví dụ khi
đường dây T1 kết nối tới Internet bị giảm băng thông nghiêm trọng, router sẽ gửi

một thông tin cảnh báo tới NMS. NMS sẽ có một số hành động, ít nhất là lưu lại
giúp ta có thể biết việc gì đã xảy ra. Các hành động này của NMS phải được cài
đặt trước.
• Agent là một phần trong các chương trình chạy trên các thiết bị mạng cần quản lý.
Nó có thể là một chương trình độc lập như các deamon trong Unix, hoặc được tich
hợp vào hệ điều hành như IOS của Cisco trên router. Ngày nay, đa số các thiết bị
hoạt động tới lớp IP được cài đặt SMNP agent. Các nhà sản xuất ngày càng muốn
phát triển các agent trong các sản phẩm của họ công việc của người quản lý hệ
thống hay quản trị mang đơn giản hơn. Các agent cung cấp thông tin cho NMS
bằng cách lưu trữ các hoạt độn khác nhau của thiết bị. Một số thiết bị thường gửi
một thông báo “tất cả đều bình thường” khi nó chuyển từ một trạng thái xấu sang
một trạng thái tốt. Điều này giúp xác định khi nào một tình trạng có vấn đề được
giải quyết.
Hình 1. Quan hệ giữa NMS và Agent
Lưu ý: khi poll và strap xảy ra cùng 1 lúc thì không có hạn chế nào giữa truy vấn
10
Tìm hiểu giao thức SNMP
của NMS và gửi của Agent
2.4 Cấu trúc của thông tin quản lý và MIBs
Cấu trúc của thông tin quản lý (SMI) cung cấp một cách để xác định đối tượng
quản lý và hành vi của chúng. Một Agent có trong sở hữu của nó một danh sách các
đối tượng mà nó theo dõi. Một trong những đối tượng là tình trạng hoạt động của của
interface (ví dụ, up down testing). Danh sách này định nghĩa chúng những thông tin
mà NMS có thể sử dụng để xác định tình trạng tổng thể của thiết bị.
Thông tin cơ sở quản lý (MIB) có thể được coi như là một cơ sở dữ liệu của các
đối tượng quản lý mà các Agent theo dõi. Bất kỳ thông tin có thể được truy cập bởi
NMS đều được định nghĩa trong một MIB. SMI cung cấp cách thức để xác định đối
tượng cần quản lý, trong khi MIB là định nghĩa (bằng cách sử dụng cú pháp SMI) của
các đối tượng tự. Như một cuốn từ điển, trong đó cho thấy làm thế nào để đánh vần
một từ và sau đó mang lại ý nghĩa hoặc định nghĩa của nó, một MIB định nghĩa một

tên cho một đối tượng quản lý và giải thích ý nghĩa của nó.
Một Agent có thể có nhiều MIBs, nhưng tất cả các Agent đều có một MIB đặc biệt
được gọi là MIB-II * (RFC 1213). Tiêu chuẩn này định nghĩa các tham số cho những
thứ như tình trạng của interface (tốc độ của interface, MTU, các octet gửi, các octet
nhận ) hoặc các tham số gắn liền với hệ thống (định vị hệ thống, thông tin liên lạc
với hệ thống, ). Mục đích chính của MIB-II là cung cấp các thông tin quản lý theo
TCP/IP. Có nhiều kiểu MIB giúp quản lý cho các mục đích khác nhau:
• ATM MIB (RFC 2515)
• Frame Relay DTE Interface Type MIB (RFC 2115)
• BGP Version 4 MIB (RFC 1657)
• RDBMS MIB (RFC 1697)
• RADIUS Authentication Server MIB (RFC 2619)
• Mail Monitoring MIB (RFC 2249)
• DNS Server MIB (RFC 1611)
Nhưng đó là xa toàn bộ câu chuyện, đó là lý do tại sao các nhà cung cấp, và các cá
nhân, được phép xác định các tham số MIB để sử dụng riêng của họ.
Ví dụ, hãy xem xét một nhà cung cấp đưa một router ra thị trường. Các Agent
11
Tìm hiểu giao thức SNMP
được xây dựng trong các router sẽ đáp ứng yêu cầu NMS (hoặc gửi thông báo đển
NMS) cho các tham số được xác định bởi các tiêu chuẩn MIB-II, nó có thể cũng có
nhiều MIB cho các loại interface nó cung cấp (ví dụ, RFC 2515 và RFC cho ATM
2115 cho Frame Relay). Ngoài ra, các router có thể có một số tính năng quan trọng
mới có tham số cần theo dõi nhưng không được có trong bất kỳ chuẩn MIB nào. Vì
vậy, các nhà cung cấp tự định nghĩa MIB riêng cho mình (đôi khi được gọi là một
MIB độc quyền) mà thực hiện đối tượng quản lý tình trạng cho router mới.
Đơn giản chỉ cần nạp MIB mới vào NMS của bạn không nhất thiết phải cho phép
bạn lấy lại dữ liệu / giá trị / đối tượng, vv, được định nghĩa trong MIB đó. Bạn cần
phải nạp chỉ nạp những MIB hỗ trợ bởi các Agent mà từ những cái bạn đang yêu cầu
truy vấn (ví dụ, snmpget, snmpwalk). Bạn có thể tự nạpnhững MIB bổ sung cho thiết

bị hỗ trợ trong tương lai, nhưng đừng hoảng sợ khi thiết bị của bạn không trả lời (và
có thể trả về lỗi cho) vì những MIBs không hỗ trợ.
2.5 Tổ chức quản lý
Quản lý tài nguyên host (không gian đĩa, bộ nhớ sử dụng, vv) là một phần quan
trọng của quản lý mạng. Sự phân biệt giữa quản trị hệ thống truyền thống và quản trị
mạng đã được biến mất trong thập kỷ qua và hiện nay tất cả nhưng đã biến mất. Như
Sun Microsystems đã nói: "mạng là những máy tính." Nếu máy chủ web hoặc máy
chủ mail của bạn down, nó không quan trọng nếu router của bạn đang chạy bình
thường bạn vẫn sẽ nhận được cuộc gọi. Tài nguyên host MIB (RFC 2790) định nghĩa
một tập các đối tượng để giúp quản lý các khía cạnh quan trọng của các hệ thống
Unix và Windows.
Một số các đối tượng được hỗ trợ bởi các MIB Tài nguyên host bao gồm dung
lượng đĩa, số lượng người dùng hệ thống, số lượng tiến trình đang chạy, và phần mềm
được cài đặt. Ngày nay, ngày càng nhiều người đang tin dùng các trang web hướng
dịch vụ. Đảm bảo máy chủ phụ trợ của bạn đang hoạt động tốt cũng quan trọng như
giám sát router và các thiết bị thông tin liên lạc khác.
2.6 Một giới thiệu ngắn để giám sát từ xa (RMON)
12
Tìm hiểu giao thức SNMP
Remote Monitoring Version 1 (RMONv1, hoặc RMON) được định nghĩa trong
RFC 2819, một phiên bản nâng cao của bản chuẩn, gọi là RMON Phiên bản 2
(RMONv2), được định nghĩa trong RFC 2021. RMONv1 cung cấp NMS với thống kê
dạng packet về toàn bộ một mạng LAN hoặc WAN. RMONv2 xây dựng trên
RMONv1 bằng cách cung cấp số liệu thống kê mạng và ứng dụng hóa cấp. Các thống
kê này có thể được thu thập bằng nhiều cách. Một cách là đặt một thăm dò RMON
trên mỗi phân đoạn mạng mà bạn muốn theo dõi. Một số router Cisco đã giới hạn khả
năng RMON được xây dựng trong, vì vậy bạn có thể sử dụng chức năng của họ để
thực hiện nhiệm vụ nhỏ RMON. Tương tự như vậy, một số switch 3Com thực hiện
các đặc điểm kỹ thuật RMON đầy đủ và có thể được sử dụng như thiết bị thăm dò
RMON toàn diện.

Các RMON MIB được thiết kế để cho phép một RMON thăm dò thực tế để chạy
trong một chế độ offline (RMON có thể chạy khi không kết nối logic giữa NMS và
agent) cho phép thăm dò để thu thập số liệu thống kê về mạng nó theo dõi không cần
NMS truy vấn. Một thời gian sau, NMS có thể truy vấn số liệu thống RMON thu thập
được. Một đặc tính khác là ta có thể đặt ngưỡng cho một loại lỗi nào đó, và khi lỗi
vượt quá ngưỡng đặt ra, RMON gửi một cảnh báo cho NMs.
2.7 SMI
SMI (The Structure of Management Information) cung cấp cho chúng ta cách định
nghĩa, lưu trữ các đối tượng quản lý và các thuộc tính của chúng.
SMI đơn giản gồm có 3 đặc tính sau:
• Name hay OID (object identifier): định nghĩa tên của đối tượng. Tên thường ở 2
dạng: số hay các chữ có ý nghĩa nào đó về đối tượng. Trong dạng này hay dạng
kia, tên thường khó nhớ hay bất tiện
• Kiểu và cú pháp: Kiểu dữ liệu của object cần quản lý được định nghĩa trong ASN.1
(Abstract Syntax Notation One). ASN.1 chỉ ra cách dữ liệu được biểu diển và
truyền đi giữa Manager và agent. Các thông tin mà ASN.1 thông báo là độc lập với
13
Tìm hiểu giao thức SNMP
hệ điều hành. Điều này giúp một may chạy WindowNT có thể liên lạc với một máy
chạy Sun SPARC dễ dàng.
• Mã hóa: mã hóa các đối tượng quản lý thành các chuổi octet dùng BER (Basic
Encoding Rules). BER xây dựng cách mã hóa và giải mã để truyền các đối tượng
qua các môi trường truyền như Ethernet.
Tên hay OID được tổ chức theo dạng cây. Tên của một đối tượng được thành lập
từ một dãy các số nguyên hay chữ dựa theo các nút trên cây, phân cách nhau bởi dấu
chấm
14
Tìm hiểu giao thức SNMP
Hinh 2: Mô Hình Định Nghĩa SMI
15

Tìm hiểu giao thức SNMP
theo mô hình cây trên ta có OID của nhánh internet:
internet OBJECT IDENTIFIER::= {iso org (3) dod (6) 1}
directory OBJECT IDENTIFIER::= {internet 1}
mgmt OBJECT IDENTIFIER::= {internet 2}
experimental OBJECT IDENTIFIER::= {internet 3}
private OBJECT IDENTIFIER::= {internet 4}
Trong mô hình trên, MIB-II thuộc nhánh mgmt:
16
Tìm hiểu giao thức SNMP
Hình 3: Mô Hình Định Nghĩa SMI (MIB-II)
MIB-II có 10 nhánh con được định nghĩa trong RFC 1213, kế thừa từ MIB-I trong
RFC 1066. Mỗi nhánh có một chức năng riêng:
• system (1.3.6.1.2.1.1) Định nghĩa một danh sách các đối tượng gắn liền với hoạt
17
Tìm hiểu giao thức SNMP
động của hệ thống như: thời gian hệ thống khởi động tới bây giờ, thông tin liên lạc
của hệ thống và tên của hệ thống.
• interfaces (1.3.6.1.2.1.2) Lưu giữ trạng thái của các interface trên một thực thể
quản lý. Theo dõi một interface “up” hoặc “down”, lưu lại các octet gửi và nhận,
octet lỗi hay bị hủy bỏ.
• at (1.3.6.1.2.1.3) Nhóm at (address translation) bị phản đối, nó chỉ cung cấp khả
năng tương thích ngược. Nhóm này được bỏ từ MIB-III trở đi.
• ip (1.3.6.1.2.1.4) Lưu giữ nhiều thông tin liên quan tới giao thức IP, trong đó có
phần định tuyến IP.
• icmp (1.3.6.1.2.1.5) Lưu các thông tin như gói ICMP lỗi, hủy.
• tcp (1.3.6.1.2.1.6) Lưu các thông tin khác dành riêng cho trạng thái các kết nối
TCP như: đóng, lắng nghe, báo gửi…
• udp (1.3.6.1.2.1.7) Tập hợp các thông tin thống kê cho UDP, các datagram vào và
ra, …

• egp (1.3.6.1.2.1.8) Lưu các tham số về EGP và bảng EGP lân cận.
• Transmission (1.3.6.1.2.1.10) Không có đối tượng nào trong nhóm này, nhưng nó
định nghĩa các môi trường đặc biệt của MIB.
• snmp (1.3.6.1.2.1.11) Đo lường sự thực thi của SNMP trên các thực thể quản lý và
lưu các thông tin như số các gói SNMP nhận và gửi.
Các cơ chế bảo mật cho SNMP
Một SNMP management station có thể quản lý/giám sát nhiều SNMP element, thông
qua hoạt động gửi request và nhận trap. Tuy nhiên một SNMP element có thể được
cấu hình để chỉ cho phép các SNMP management station nào đó được phép quản
lý/giám sát mình. Các cơ chế bảo mật đơn giản này gồm có : community string, view
và SNMP access control list.
• Community string là một chuỗi ký tự được cài đặt giống nhau trên cả SNMP
manager và SNMP agent, đóng vai trò như “mật khẩu” giữa 2 bên khi trao đổi dữ
liệu.
Community string có 3 loại : Read-community, Write-Community và Trap-
Community.
 Khi manager gửi GetRequest, GetNextRequest đến agent thì trong bản tin gửi
đi có chứa Read-Community. Khi agent nhận được bản tin request thì nó sẽ so
sánh Read-community do manager gửi và Read-community mà nó được cài đặt.
18
Tìm hiểu giao thức SNMP
Nếu 2 chuỗi này giống nhau, agent sẽ trả lời; nếu 2 chuỗi này khác nhau, agent sẽ
không trả lời.
 Write-Community được dùng trong bản tin SetRequest. Agent chỉ chấp nhận
thay đổi dữ liệu khi write-community 2 bên giống nhau.
 Trap-community nằm trong bản tin trap của trap sender gửi cho trap receiver.
Trap receiver chỉ nhận và lưu trữ bản tin trap chỉ khi trap-community 2 bên giống
nhau, tuy nhiên cũng có nhiều trap receiver được cấu hình nhận tất cả bản tin trap
mà không quan tâm đến trap-community.
Community string có 3 loại như trên nhưng cùng một loại có thể có nhiều string

khác nhau. Nghĩa là một agent có thể khai báo nhiều read-community, nhiều write-
community. Trên hầu hết hệ thống, read-community mặc định là “public”, write-
community mặc định là “private” và trap-community mặc định là “public”.
Community string chỉ là chuỗi ký tự dạng cleartext, do đó hoàn toàn có thể bị nghe
lén khi truyền trên mạng. Hơn nữa, các community mặc định thường là “public” và
“private” nên nếu người quản trị không thay đổi thì chúng có thể dễ dàng bị dò ra.
Khi community string trong mạng bị lộ, một người dùng bình thường tại một máy
tính nào đó trong mạng có thể quản lý/giám sát toàn bộ các device có cùng
community mà không được sự cho phép của người quản trị.
• View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent. Tuy
nhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức là
chỉ đọc được một phần của MIB. Tập con của MIB này gọi là view, trên agent có
thể định nghĩa nhiều view. Ví dụ : agent có thể định nghĩa view interfaceView bao
gồm các OID liên quan đến interface, storageView bao gồm các OID liên quan đến
lưu trữ, hay AllView bao gồm tất cả các OID.
Một view phải gắn liền với một community string. Tùy vào community string nhận
được là gì mà agent xử lý trên view tương ứng. Ví dụ : agent định nghĩa read-
community “inf” trên view interfaceView, và “sto” trên Manager Agent Manager
storageView; khi manager gửi request lấy OID ifNumber với community là “inf”
thì sẽ được đáp ứng do ifNumber nằm trong interfaceView; nếu manager request
OID hrStorageSize với community “inf” thì agent sẽ không trả lời do
hrStorageSize không nằm trong interfaceView; nhưng nếu manager request
19
Tìm hiểu giao thức SNMP
hrStorageSize với community “sto” thì sẽ được trả lời do hrStorageSize nằm trong
storageView.
Việc định nghĩa các view như thế nào tùy thuộc vào từng SNMP agent khác nhau.
Có nhiều hệ thống không hỗ trợ tính năng view.
• SNMP access control list

Khi manager gửi không đúng community hoặc khi OID cần lấy lại không nằm
trong view cho phép thì agent sẽ không trả lời. Tuy nhiên khi community bị lộ thì
một manager nào đó vẫn request được thông tin. Để ngăn chặn hoàn toàn các
SNMP manager không được phép, người quản trị có thể dùng đến SNMP access
control list (ACL).
SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sát agent, nó
chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent. Nếu một manager
có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request
có community string là đúng.
Đa số các thiết bị tương thích SNMP đều cho phép thiết lập SNMP ACL.
20
Tìm hiểu giao thức SNMP
2.8 Cấu trúc bản tin SNMP
SNMP chạy trên nền UDP. Cấu trúc của một bản tin SNMP bao gồm : version,
community và data.
Hình 4: Cấu trúc bản tin SNMP
+ Version : v1 = 0, v2c = 1, v2u = 2, v3 = 3.
+ Phần Data trong bản tin SNMP gọi là PDU (Protocol Data Unit). SNMPv1
có 5 phương thức hoạt động
tương ứng 5 loại PDU. Tuy nhiên chỉ có 2 loại định dạng bản tin là PDU và
Trap-PDU; trong đó các bản tin
Get, GetNext, Set, GetResponse có cùng định dạng là PDU, còn bản tin Trap
có định dạng là Trap-PDU.
21
Tìm hiểu giao thức SNMP
2.9 Hoạt động của SNMP
Hoạt động của SNMP theo mô hình sau:
Hình 5: Hoạt động của SNMP
Giao Thức SNMP sử dụng các phương thức sau:
• Get

• Get-next
• Get-bulk (cho SNMP v2 và SNMP v3)
• Set
• Get-response
• Trap (cảnh báo)
• Notification (cho SNMP v2 và SNMP v3)
• Inform (cho SNMP v2 và SNMP v3)
• Report (cho SNMP v2 và SNMP v3)
a) “Get”:
“Get” được gửi từ NMS yêu cầu tới agent. Agent nhận yêu cầu và xử lý với khả
năng tốt nhất có thể. Nếu một thiết bị nào đó đang bận tải nặng, như router, nó không
có khả năng trả lời yêu cầu nên nó sẽ hủy lời yêu cầu này. Nếu agent tập hợp đủ
22
Tìm hiểu giao thức SNMP
thông tin cần thiết cho lời yêu cầu, nó gửi lại cho NMS một ”get-response”:
Hình 6: Mô Tả Hoạt Động Tập Lệnh “Get”
Để agent hiểu được NMS cần tìm thông tin gì, nó dựa vào một mục trong ”get” là
“variable binding” hay varbind. Varbind là một danh sách các đối tượng của MIB mà
NMS muốn lấy từ agent. Agent hiểu câu hỏi theo dạng: OID=value để tìm thông tin
trả lời. Câu hỏi truy vấn cho trường hợp trong hình vẽ trên:
$ snmpget cisco.ora.com public.1.3.6.1.2.1.1.6.0
system.sysLocation.0 = ""
Đây là một câu lệnh “snmpget” trên Unix. ”cisco.ora.com” là tên của thiết bị,
”public” là chuỗi chỉ đây là yêu cầu chỉ đọc (read-only), “.1.3.6.1.2.1.1.6.0” là OID.
”.1.3.6.1.2.1.1” chỉ tới nhóm ”system” trong MIB. ”.6” chỉ tới một trường trong
”system” là ”sysLocation”. Trong câu lệnh này ta muốn hỏi Cisco router rằng việc
định vị hệ thống đã được cài đặt chưa. Câu trả lời system.sysLocation.0 = "" tức là
chưa cài đặt. Câu trả lời của “snmpget” theo dạng của varbind: OID=value. Còn phần
cuối trong OID ở “snmpget”; ”.0” nằm trong quy ước của MIB. Khi hỏi một đối
tượng trong MIB ta cần chỉ rõ 2 trường ”x.y’, ở đây là ”.6.0”. ”x” là OID thực tế của

đối tượng. Còn ”.y” được dùng trong các đối tượng có hướng như một bảng để hiểu
hàng nào của bảng, với trường hợp đối tượng vô hướng như trường hợp này ”y” =
”0”. Các hàng trong bảng được đánh số từ số 1 trở đi.
Câu lệnh ”get” hữu ích trong việc truy vấn một đối tượng riêng lẻ trong MIB. Khi
muốn biết thông tin về nhiều đối tượng thì ”get” tốn khá nhiều thời gian. Câu lệnh
“get-next” giải quyết được vấn đề này.
b) “Get-next”
23
Tìm hiểu giao thức SNMP
“Get-next” đưa ra một dãy các lệnh để lấy thông tin từ một nhóm trong MIB.
Agent sẽ lần lượt trả lời tất cả các đối tượng có trong câu truy vấn của ”get-next”
tương tự như ”get”, cho đến khi nào hết các đối tượng trong dãy. Ví dụ ta dùng lệnh
”snmpwalk”. ”snmpwalk’ tương tự như ”snmpget’ nhưng không chỉ tới một đối
tượng mà chỉ tới một nhánh nào đó:
$snmpwalk cisco.ora.com public system
system.sysDescr.0 = "Cisco Internetwork Operating System Software
IOS (tm) 2500 Software (C2500-I-L), Version 11.2 (5), RELEASE
SOFTWARE (fc1) Copyright (c) 1986-1997 by cisco Systems, Inc
Compiled Mon 31-Mar-97 19:53 by ckralik"
system.sysObjectID.0 = OID: enterprises.9.1.19
system.sysUpTime.0 = Timeticks: (27210723) 3 days, 3:35:07.23
system.sysContact.0 = ""
system.sysName.0 = "cisco.ora.com"
system.sysLocation.0 = ""
system.sysServices.0 = 6
Ở đây ta muôn lấy thông tin của nhóm ”system”, agent sẽ gửi trả toàn bộ thông tin
của ”system” theo yêu cầu. Quá trình tìm nhóm ”system” trong MIB thực hiện theo
cây từ gốc, đến một nút nếu có nhiều nhánh thì chọn nhánh tìm theo chỉ số của
nhánh từ nhỏ đến lớn:
24

Tìm hiểu giao thức SNMP
c) “Get-bulk”
Được định nghĩa trong SNMPv2. Nó cho phép lấy thông tin quản lý từ nhiều phần
trong bảng. Dùng ”get” có thể làm được điều này. Tuy nhiên, kích thước của câu hỏi
có thể bị giới hạn bởi agent. Khi đó nếu nó không thể trả lời toàn bộ yêu cầu, nó gửi
trả một thông điệp lỗi mà không có dữ liệu. Với trường hợp dùng câu lệnh ”get-bulk”,
agent sẽ gửi cang nhiều trả lời nếu nó có thể. Do đó, việc trả lời một phần của yêu cầu
là có thể xảy ra. Hai trường cần khai báo trong ”get-bulk” là: ”nonrepeaters” và
”max-repetitions”. ”nonrepeaters” báo cho agent biết N đối tượng đầu tiên có thể trả
lời lại như một câu lệnh “get” đơn. ”mã-repeaters” báo cho agent biết cần cố gắng
tăng lên tối đa M yêu cầu ”get-next” cho các đối tượng còn lại:
25

×