12 MỞ ðẦU Cùng với sự phát triển nhanh chóng của các công nghệ mạng truyền tải dữ liệu và tín hiệu thoại, các thiết bị tham gia thực hiện truyền tải cũng ngày càng ñược phát triển cả về
Trang 11
ðẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ðẠI HỌC KHOA HỌC TỰ NHIÊN
-
NGUYỄN KHƯƠNG DUY
GIAO THỨC QUẢN LÝ MẠNG VÀ CÔNG NGHỆ DỊCH
VỤ WEB THỰC HIỆN KHAI THÁC ðƯỜNG DÂY
THUÊ BAO
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội – 2011
Trang 22
ðẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ðẠI HỌC KHOA HỌC TỰ NHIÊN
-
NGUYỄN KHƯƠNG DUY
GIAO THỨC QUẢN LÝ MẠNG VÀ CÔNG NGHỆ DỊCH
VỤ WEB THỰC HIỆN KHAI THÁC ðƯỜNG DÂY THUÊ
Trang 34
Mục lục
Danh mục các bảng biểu 7
Danh mục hình ảnh 8
CÁC TỪ VIẾT TẮT 10
MỞ ðẦU 12
CHƯƠNG 1 14
GIAO THỨC QUẢN LÝ MẠNG ðƠN GIẢN 14
1.1 Tổng quan giao thức 14
1.1.1 Lịch sử 14
1.1.2 Khái niệm SNMP 14
1.1.3 RFC và các phiên bản SNMP 15
1.2 Mô hình giao thức 16
1.2.1 Manager và Agent 16
1.2.2 Hoạt ñộng của SNMP 17
1.2.3 Bảo mật trong SNMP 18
1.2.4 Cấu trúc thông tin quản lý (SMI) 19
1.2.4.1 SMIv1 20
1.2.4.2 MIB-II (RFC1213) 24
1.2.4.3 SMIv2 29
1.3 ðị nh dạng thông ñiệp và các phương thức vận hành 33
1.3.1 ðịnh dạng thông ñiệp của SNMPv1 và 2 33
1.3.1.1 ðịnh dạng tổng quát 33
1.3.1.2 ðịnh dạng PDU 34
1.3.1.2.1 ðịnh dạng PDU chung cho các phương thức 34
1.3.1.2.2 Kiểu PDU và trạng thái lỗi 35
1.3.1.2.3 ðịnh dạng Trap-PDU 37
1.3.1.2.4 ðịnh dạng GetBulkRequest-PDU SNMPv2c 38
1.3.1.3 ðịnh dạng thông ñiệp SNMP Version 3 (SNMPv3) 39
1.3.2 Các phương thức 42
1.3.2.1 Phương thức Get (GetRequest): 43
1.3.2.2 GetNextRequest: 43
1.3.2.3 SetRequest: 44
1.3.2.4 GetResponse: 44
1.3.2.5 GetBulkRequest: 44
1.3.2.6 Trap 45
1.3.2.7 SNMP Notification 46
1.3.2.8 SNMP Inform 47
Trang 45
1.3.2.9 SNMP Report 47
1.4 Sử dụng SNMP4J API xây dựng Một số phương thức SNMP 47
CHƯƠNG 2 48
CÔNG NGHỆ DỊCH VỤ WEB 48
2.1 Khái niệm và kiến trúc dịch vụ Web 48
2.1.1 Khái niệm 48
2.1.2 Kiến trúc 48
2.1.2.1 Roles 48
2.1.2.2 Chồng giao thức 49
2.2 Các dạng thông ñiệp XML 50
2.2.1 SOAP 50
2.2.2 ðặc tả SOAP 51
2.2.3 SOAP Request 52
2.2.4 SOAP Response 53
2.3 Thông ñiệp SOAP 53
2.3.1 Envelope 53
2.3.2 Header 54
2.3.3 Body 54
2.3.4 Fault 55
2.3.5 SOAP Encoding 56
2.3.5.1 Kiểu vô hướng 56
2.3.5.2 Kiểu phức hợp 58
2.3.6 Literal Encoding 59
2.3.7 Truyền tải SOAP qua HTTP 60
2.4 Service Description: WSDL 62
2.4.1 Các thành phần trong file WSDL 64
2.4.2 Kiểu dữ liệu XML Schema 65
2.5 Service Discovery: UDDI 68
2.5.1 Hoạt ñộng của UDDI 69
2.5.2 Mô hình dữ liệu UDDI 71
2.6 Bảo mật dịch vụ Web 74
2.6.1 WS-Security 74
2.6.2 Thông ñiệp bảo mật SOAP 74
2.6.3 Thẻ bài bảo mật và ñịnh danh 75
2.6.4 Thẻ bài bảo mật và xác thực 76
2.6.5 WS-Federation 76
2.6.6 WS-SecureConversation 76
Trang 56
CHƯƠNG 3 78
THIẾT KẾ HT KHAI THÁC ðƯỜNG DÂY THUÊ BAO 78
3.1 Một số khai niệm 78
3.1.1 DSLAM, xDSL 78
3.1.2 Mạng cung cấp dịch vụ ñiện thoại cố ñịnh(PSTN) 78
3.2 Thuê bao Internet 80
3.2.1 Chức năng hệ thống 80
3.2.2 Thiết kế hệ thống 81
3.2.2.1Mô hình và kiến trúc hệ thống 81
3.2.2.1.1 Mô hình hệ thống 81
3.2.2.1.2 Kiến trúc hệ thống 81
3.2.2.2 Biểu ñồ ca sử dụng 82
3.2.2.2.1 Danh sách các tác nhân 82
3.2.2.2.2 ðặc tả các Use Case 82
3.2.2.3 Biểu ñồ lớp 84
3.2.2.4 Biểu ñồ tuần tự 87
3.2.2.5 Kết quả triển khai sử dụng 87
3.3 Thuê bao ñiện thoại cố ñịnh 89
3.3.1 Chức năng hệ thống 89
3.3.2 Thiết kế hệ thống 90
3.3.2.1 Mô hình và kiến trúc hệ thống 90
3.3.2.1.1 Mô hình hệ thống 90
3.3.2.1.2 Kiến trúc hệ thống 90
3.3.2.2 Biểu ñồ ca sử dụng 92
3.3.2.2.1 Các tác nhân 92
3.3.2.2.2 Các ca sử dụng 92
3.3.2.3 Biểu ñồ lớp 94
3.3.2.4 Biểu ñồ tuần tự 97
3.3.2.5 Kết quả triển khai sử dụng 98
KẾT LUẬN 100
TÀI LIỆU THAM KHẢO 102
Trang 67
Danh mục các bảng biểu
CHƯƠNG 1: GIAO THỨC QUẢN LÝ MẠNG ðƠN GIẢN
1.2.4.1 - Các kiểu dữ liệu SMIv1 24
1.2.4.2 - Mô tả MIB-II trong RFC1213 28
1.2.4.3.1 – ðịnh nghĩa một số kiểu dữ liệu mới trong SMIv2 30
1.2.4.3.2 -Những cải tiến ñịnh nghĩa ñối tượng trong SMIv2 31
1.2.4.3.3 - Các quy ước về văn bản cho SMIv2 33
1.3.1.1 - ðịnh dạng thông ñiệp[4] 34
1.3.1.2.1 - ðịnh dạng chung PDU 35
1.3.1.2.2.1 - Kiểu PDU 35
1.3.1.2.2.2 - Các giá trị trường Error Status trong PDU SNMP 37
1.3.1.2.3.1 - ðịnh dạng Trap PDU 38
1.3.1.2.3.2 - Mô tả các Generic trap 38
1.3.1.2.4 - ðịnh dạng GetBulkRequest-PDU [4] 39
1.3.1.3.1 - ðịnh dạng tổng quát thông ñiệp SNMPv3 41
1.3.1.3.2 - Msg Flags 42
1.3.1.3.3 Scoped PDU 42
CHƯƠNG 2: CÔNG NGHỆ DỊCH VỤ WEB 2.3.4.1 - Mô tả các phần tử con trong phần tử fault 55
2.3.4.2 - Mô tả các giá trị trong phần tử faultCode 56
2.3.5.1 - Các kiểu dựng sẵn 57
2.4.2 - Danh sách các kiểu dữ liệu dựng sẵn trong XML Schema 66
Trang 78
Danh mục hình ảnh
CHƯƠNG 1: GIAO THỨC QUẢN LÝ MẠNG ðƠN GIẢN
1.2.1 - Mối quan hệ giữa NMS và agent 17
1.2.2 - Mô hình hoạt ñộng SNMP 17
1.2.4.1 - ðặc tả MIB theo dạng cây 22
1.2.4.3 - Cấu trúc SMIv2 30
1.3.1.1 - ðịnh dạng tổng quát [5] 33
1.3.1.2.1 - ðịnh dạng chung PDU 34
1.3.1.2.3 - ðịnh dạng Trap PDU [4] 37
1.3.1.2.4 - ðịnh dạng GetBulkRequest-PDU [4] 38
1.3.1.3 - ðịnh dạng tổng quát thông ñiệp SNMP Version 3 (SNMPv3) 40
1.3.2.1 - Mô hình truyền thông ñiệp của phương thức get 43
1.3.2.5 - Mô hình truyền thông ñiệp của phương thức get-bull 45
1.3.2.6 - Mô hình biểu diễn sự phát sinh trap 46
CHƯƠNG 2: CÔNG NGHỆ DỊCH VỤ WEB 2.1.2.1 - Mô tả các Role trong kiến trúc một Dịch vụ Web 49
2.1.2.2 - Mô tả chồng giao thức của Dịch vụ Web 49
2.2.2 - Mô tả mô hình SOAP 52
2.3 - Khuôn dạng thông ñiệp SOAP 53
2.4.1 - ðặc tả WSDL 65
2.5.1.1 - Luồng thông ñiệp trong hệ thống giữa máy trạm và nút ñăng ký UDDI 69
2.5.1.2 - Lược ñồ tác nghiệp của UDDI 70
2.5.2 - Mô hình dữ liệu UDDI 71
2.6.2 - Cấu trúc một thông ñiệp 74
2.6.4 - Mô hình xác thực 76
2.6.5 - Mô hình WS-Federation 76
CHƯƠNG 3: THIẾT KẾ HT KHAI THÁC ðƯỜNG DÂY THUÊ BAO 3.2.2.1.1 - Mô hình hệ thống mở rộng khai thác thuê bao Internet 81
3.2.2.1.2 – Kiến trúc hệ thống 81
3.2.2.2 - Biểu ñồ ca sử dụng 82
3.2.2.3 - Biểu ñồ lớp 84
3.2.2.4 - Biểu ñồ tuần tự 87
3.2.2.5.1 - Giao diện ño thử chất lượng 88
3.2.2.5.2 -Giao diện ñổi tốc ñộ cổng 88
3.2.2.5.3 -Giao diện xem trạng thái và reset cổng 88
3.2.2.5.4 -Giao diện kiểm tra khả năng phát triển dịch vụ 88
3.3.2.1.1 – Mô hình triển khai dịch vụ Web(webservice) 90
3.3.2.1.2.1 - Thông ñiệp ñi qua các hàng ñợi tương ứng với các tổng ñài(Host) 91
3.3.2.1.2.2 - Kiến trúc hệ thống tổng quát 91
3.3.2.2 - Biểu ñồ ca sử dụng 92
3.3.2.3 - Biểu ñồ lớp 94
Trang 89
33.3.2.4.1 - Biểu ñồ tuần tự gửi yêu cầu 97
3.3.3.2.4.2 -Biểu ñồ tuần tự thực hiện yêu cầu 97
3.3.2.4.3 - Biểu ñồ tuần tự nhận kết quả 98
3.3.2.5.1 - Giao diện ño thử chất lượng 98
3.3.2.5.2 - Giao diện truy vấn thông tin thuê bao 98
3.3.2.5.3 - Giao diện báo cáo trạng thái thực hiện treo/khôi phục nợ cước 99
Trang 910
CÁC TỪ VIẾT TẮT
ADSL Asymmetric Digital Subscriber Line
ATM Asynchronous Transfer Mode
ASN.1 Abstract Syntax Notation 1
BEEP Blocks Extensible Exchange Protocol
BER Basic Encoding Rules
BGP Border Gateway Protocol
DSLAM Digital Subscriber Line Access Multiplexer
CCITT International Telegraph and Telephone Consultative Comittee
FTP File Tranfer Protocol
HMMP HyperMedia Management Protocol
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IAB Internet Architecture Board
IANA Internet Assigned Numbers Authority
IETF Intemet Engineering Task Force
IOS Internetwork Operating System
IP Internet Protocol
ITU-T International Telecommunication Union - Telecommunication
Standardization Sector MIB Managerment Information Base
MTU Maxium Transfer Unit
NMS Network Management System
OID Object Identifier
OMG Object Management Group
PDU Protocol Data Unit
PTTB Phát triển thuê bao
PSTN Public Switched Telephone Network
Trang 1011
RADIUS Remote Authentication Dial In User Service RDBMS Relational Database Management System
RFC Request For Comment
RPC Remote Procedure Call
SAML Security Assertion Markup Language
SHDSL Symmetric High-speed Digital Subscriber Line SMI Structure of Management Information
SMTP Simple Mail Tranfer Protocol
SNMP Simple Network Management Protocol
SOAP Simple Object Access Protocol
TDM Time-division multiplexing
TCP Transmission Control Protocol
UDDI Universal Description, Discovery and Integration UDP User Datagram Protocol
URL Uniform Resource Locator
USM User-based Security Model
VDSL Very high bit-rate DSL
XML Extention Markup Language
WSDL Web Service Definition Language
WWW World Wide Webservice
W3C World Wide Web Consortium
Trang 1112
MỞ ðẦU
Cùng với sự phát triển nhanh chóng của các công nghệ mạng truyền tải dữ liệu và tín hiệu thoại, các thiết bị tham gia thực hiện truyền tải cũng ngày càng ñược phát triển cả về số lượng, chất lượng và công nghệ, bên cạnh ñó các hệ thống phần mềm quản lý khai thác theo mô hình quản lý tập trung ñể quản lý ñược số lượng lớn node mạng cũng ñóng vai trò rất quan trọng, các hệ thống phần mềm chuyên dụng
ñó ñã ñáp ứng tốt những yêu cầu quản lý, khai thác của nhà cung cấp dịch vụ Tuy nhiên do tính ña dạng chủng loại thiết bị, mỗi thiết bị có một phần mềm và phương thức quản lý khai thác khác nhau, dẫn ñến khó khăn khi tập trung hóa giao diện sửa dụng, mở rộng và tích hợp với các hệ thống quản lý và khai thác của nhà cung cấp dịch vụ, ñây là vấn ñề rất quan trọng ñối với các nhà cung cấp dịch vụ thoại và dịch
vụ Internet cần phải giải quyết nhằm nâng cao chất lượng dịch vụ của mình Dựa trên những ưu ñiểm của công nghệ dịch vụ Web như khả năng sử dụng ñược ở mọi nơi, mọi lúc, vào mọi thời ñiểm mà không phụ thuộc vào hệ thống nền tảng hay khoảng cách ñịa lý, không phải triển khai cài ñặt phía máy trạm chỉ sử dụng trình duyệt Web, dựa trên phương thức giao tiếp giữa NMS và thiết cung cấp dịch vụ Internet bằng SNMP, dựa trên ñặc thù kết nối của các tổng ñài ñiện thoại thông qua RS232 với các phần mềm quản lý và khai thác, nhằm khắc phục những khó khăn nêu trên, chúng tôi ñề xuất thiết kế hệ thống phần mềm sử dụng công nghệ dịch vụ Web cho phép mở rộng giao tiếp với các hệ thống tác nghiệp bên ngoài, cho phép kết nối bằng SNMP với các thiết bị cung cấp dịch vụ Internet, sử dụng thiết bị chuyển ñổi giao diện RS232 sang giao diện IP, cho phép thực hiện các lệnh của tổng ñài bằng trình Telnet client Từ ý tưởng thiết kế như trên chúng tôi ñã tiến hành xây dựng hệ thống phần mềm trên nền WEB phục vụ công tác cung cấp và quản lý chất lượng dịch vụ internet và ñiện thoại cố ñịnh hiện ñang ñược áp dụng tại VNPT Hà nội
Về phương diện lý thuyết, luận văn này sẽ ñi sâu vào tìm hiểu giao thức quản
lý mạng SNMP và mô hình quản trị mạng dựa trên giao thức này, kiến trúc và ñịnh dạng thông ñiệp của dịch vụ Web cũng sẽ ñược giới thiệu ở các khía cạnh chính, có
Trang 1213
liên quan ñến việc xây dựng hệ thống trên
Luận văn ñược trình bày trong 3 chương với các nội dung như sau:
- Chương 1: Giao thức quản lý mạng ñơn giản
- Chương 2: Công nghệ dịch vụ Web
- Chương 3: Thiết kế hệ thống khai thác ñường dây thuê bao
Tuy ñã hết sức cố gằng trình bày những nội dung ngắn gọn, dễ hiểu và chủ yếu ñi sâu vào những khái niệm cơ bản, nhưng vẫn không thể tránh ñược nhiều sai sót Rất mong bạn ñọc thông cảm và góp ý ñể luận văn ñược hoàn thiện hơn
Trân trọng cảm ơn!
Nguyễn Khương Duy
Trang 13Trước sự phát triển không ngừng gia tăng và phức tạp của mạng internet tháng 4 năm 1993, SNMPv2 trở thành tiêu chuẩn quản lí mạng ñơn giản thay thế SNMPv1 SNMPv2 bổ sung một số vấn ñề mà SNMPv1còn thiếu như nhận thực và bảo mật Tuy nhiên, SNMPv2 khá phức tạp và khó tương thích với SNMPv1[4]
Năm 1997, SNMPv3 ra ñời nhằm tương thích với các giao thức ña phương tiện trong quản lí mạng, phát triển trên nền java và ñưa ra kiến trúc và giao thức mới như giao thức quản lí ña phương tiện HMMP
1.1.2 Khái niệm SNMP
SNMP là giao thức quản lý mạng ñơn giản dịch từ cụm từ “Simple Network Management Protocol” Giao thức này ñược sử dụng rất phổ biến ñể giám sát và ñiều khiển các thiết bị mạng IP SNMP là một thành phần của tập hợp các giao thức truyền thông phù hợp với Internet và các mạng tương tự ñược ñịnh nghĩa bởi IETF
Nó bao gồm một tập hợp các tiêu chuẩn quản lý mạng, giao thức tầng ứng dụng, lược ñồ cơ sở dữ liệu và tập hợp các ñối tượng dữ liệu[13]
SNMP là giao thức ñơn giản, do nó ñược thiết kế ñơn giản trong cấu trúc thông ñiệp và thủ tục hoạt ñộng, và còn ñơn giản trong bảo mật (ngoại trừ SNMP version 3)
Trang 1415
Giao thức SNMP cung cấp một phương thức ñơn giản nhằm quản lý tập trung mạng TCP/IP Người quản trị có thể thông qua giao thức này ñể quản lý các hoạt ñộng hay thay ñổi các trạng thái hệ thống mạng
Giao thức SNMP ñược sử dụng ñể quản lý các hệ thống Unix, Window…, các thiết bị mạng như router, gateway, firewall, switch…, thông qua một số phần mềm cho phép quản trị với SNMP[6]
Ví dụ cho việc sử dụng hệ thống quản trị SNMP với giao thức SNMP trên phần mềm với các ứng dụng trong hệ thống mạng:
Theo dõi tốc ñộ ñường truyền của một router, biết ñược tổng số byte truyền/nhận
Lấy thông tin máy chủ có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao nhiêu
Tự ñộng nhận cảnh báo khi thiết bị switch có 1 cổng bị down
ðiều khiển tắt các cổng trên switch
1.1.3 RFC và các phiên bản SNMP
IETF là tổ chức ñã ñưa ra chuẩn SNMP thông qua các RFC
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 mật khẩu, 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 chuỗi này ñể có thể truy cập vào các thiết bị quản lý Có 3 quyền tiêu biểu: read-only, read-write và trap[6]
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[6]
SNMP version 3: Là phiên bản tiếp theo ñược IETF ñưa ra Nó ñược khuyến nghị làm bản chuẩn, ñược ñịnh nghĩa trong RFC1905, RFC1906, RFC1907, RFC2571, RFC2572, RFC2573, RFC2574 vàRFC 2575 Nó hỗ trợ các kiểu truyền thông riêng tư và có xác nhận giữa các thực thể[6]
Trang 1516
1.2 Mô hình giao thức
1.2.1 Manager và Agent
Trong SNMP có 3 vấn ñề cần quan tâm: Manager, Agent và MIB
MIB là cơ sở dữ liệu dùng phục vụ cho Manager và Agent
Manager:
Manager là một máy tính có chạy các chương trình có thể thực hiện một số chức năng quản lý mạng Manager có thể xem như là NMS 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 quản lý mạng
là cách ñặt ra các câu truy vấn ñến các Agent ñể có ñược thông tin về thiết bị mạng
mà agent ñang thường chú 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 như là lưu lại thông tin
ñó, giúp ta có thể biết việc gì ñã xảy ra với thiết bị Các hành ñộng này của NMS phải ñược cài ñặt trước[6]
Agent:
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 tích 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 trong mạng 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 ñộng 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 cho phép xác ñịnh khi nào thì một sự cố ñược giải quyết[6]
Trang 16nó sử dụng cổng 161 ñể gửi và nhận thông ñiệp, cổng 162 ñể nhận trap từ thiết bị ñang theo dõi[6]
Trang 1718
1.2.3 Bảo mật trong SNMP
SNMPv1 và SNMPv2 sử dụng khái niệm của Community ñể thiết lập xác thực giữa Manager và Agent Một Agent ñược cấu hình với 3 Community: read-only, read-write, và trap Giống như tên của nó, read-only cho phép chỉ ñọc giá trị
dữ liệu nhưng không cho phép sửa và khởi tạo dữ liệu Ví dụ cho phép ta ñọc số gói ñược truyền qua cổng của router nhưng không cho phép ta khởi tạo lại giá trị của bộ ñếm này Read-write cho phép chúng ta ñọc và sửa giá trị dữ liệu, với Community này ta có thể ñọc số gói truyền qua cổng và khởi tạo lại bộ ñếm như trong ví dụ trên, và sự kiện khởi tạo lại hoặc làm một số hành ñộng khác là sự thay ñổi cấu hình của router Cuối cùng, chuỗi community trap cho phép ta nhận các trap(thông báo không ñồng bộ) từ agent[6]
Do sử dụng community như là mật khẩu nên SNMPv1 là giao thức rất yếu về bảo mật Các gói tin ñược gửi ñi dưới dạng thuần văn bản nên không phòng chống ñược kiểu tấn công bằng cách nghe lén(sniffer)
SNMPv2 cố gắng giải quyết vấn ñề này dựa trên các cách tiết cận chặt chẽ hơn Một phiên bản gọi là SNMPv2 party-based tiếp cận theo hướng: Tùy từng yêu cầu về xác thực và tính bảo mật mà có thể sử dụng các kênh khác nhau ñể trao ñổi thông tin Tuy nhiên, với nhiều nỗ lực ñể tăng cường bảo mật trong SNMP ñã dẫn tới ba phiên bản không tương thích với nhau là: SNMPv2p hay SNMPv2 party-based, SNMPv2u hay SNMPv2 user-based và SNMPv2* Các phiên bản này ñã thất bại trong việc tìm ñược sử hỗ trợ của các nhà sản xuất và dừng lại ở bản thảo, rồi chuyển sang quá khứ Cuối cùng, một sự thỏa hiệp ñược thực hiện và kết quà là chuẩn SNMPv2c hay SNMP community-string-based ðây là một bước tụt lùi khi quay lại sử dụng community như SNMPv1, tuy nhiên chuẩn này lại ñược hỗ trợ của IETF cũng như cách nhà sản xuất Trong tài liệu này, khi nói ñến SNMPv2 là ám chỉ SNMPv2c Vấn ñề về bảo mật chỉ ñược giải quyết triệt ñể chỉ khi xuất hiện phiên bản SNMPv3[2]
SMNPv3 ra ñời chủ yếu ñể giải quyết vấn ñề còn hạn chế về bảo mật trong hai phiên bản trước Phiên bản này không có sự thay ñổi về giao thức, không có
Trang 1819
thêm PDU mới, chỉ có một vài quy chuẩn mới, khái niệm và thuật ngữ mới, cũng không nằm ngoài việc làm tăng tính chính xác Thay ñổi quan trọng nhất trong SNMPv3 này là sử dụng khái niệm SNMP entity thay cho cả manager và agent Mỗi SNMP entity gồm một SNMP engine và một hoặc nhiều SNMP application Sự thay ñổi về khái niệm này quan trọng ở chỗ thay ñổi về kiến trúc, tách biệt hai phần của hệ thống SNMP, giúp cho việc thực hiện các chính sách bảo mật ðiểm quan trọng là SNMPv3 vẫn tương thích ngược với các phiên bản trước[2]
1.2.4 Cấu trúc thông tin quản lý (SMI)
SMI cung cấp một phương pháp ñể ñịnh nghĩa các ñối tượng bị quản lý và cách ñối xử với chúng Một Agent sở hữu một danh sách các ñối tượng mà nó theo dõi Một trong những ñối tượng là trạng thái của một Cổng(Interface) của một router(ví dụ up, down, testing) Danh sách chung này ñịnh nghĩa các thông tin mà NMS có thể sử dụng ñể xác ñịnh sức khỏe của toàn thiết bị có agent hỗ trợ[6]
MIB có thể xem như một cơ sở dữ liệu quản lý các ñối tượng mà Agent theo dõi Bất kỳ kiểu trạng thái hoặc thống kê thông tin có thể truy nhập bởi NMS ñều ñược ñịnh nghĩa trong MIB SMI cung cấp phương pháp quản lý ñối tượng trong khi MIB thì ñịnh nghĩa(sử dụng cú pháp SMI) chính các ñối tượng ñó Giống như một từ ñiển trình diễn cách ñánh vần một từ và ñưa ra ý nghĩa hoặc ñịnh nghĩa của
nó, một MIB ñịnh nghĩa một tên dưới dạng văn bản cho một ñối tượng bị quản lý và giải thích ý nghĩa của nó[6]
Một Agent có thể thực thi rất nhiều MIB, nhưng tất cả các Agent thực thi một MIB ñặc biệt ñược gọi là MIB-II(RFC 1213, MIB-I là phiên bản gốc của MIB-II) Chuẩn này ñịnh nghĩa các biến cho những thông tin kiểu như các số liệu thống
kê về một cổng(tốc ñộ, MTU, octet(Một octet là 8 bit, nó là một ñơn vị cơ sở truyền trong mạng IP ) gửi, octet nhận, ) cũng như nhiều thứ khác liên quan ñến chính hệ thống ñang cài ñặt Agent.[6]
Những loại thông tin gì khác có thể có ích ñể thu thập? Thứ nhất, nhiều dự thảo và các tiêu chuẩn ñề xuất ñã ñược phát triển ñể giúp quản lý những thứ như
Trang 19RADIUS Authentication Server MIB (RFC 2619)
Mail Monitoring MIB (RFC 2789)
dữ liệu như : BOOLEAN, INTEGER, ENUMERATED, OCTET STRING, CHOICE, OBJECT IDENTIFIER, NULL, SEQUENCE, … [6]
RFC1155 mô tả mỗi ñối tượng bao gồm 3 phần : Name, Syntax và Encoding Name hay OID(Object identifier)
Name hoặc OID là ñịnh nghĩa một ñối tượng quản lý, có kiểu OBJECT IDENTIFIER Name thường là một chuỗi thứ tự các số nguyên hoặc chuỗi ký tự biểu diễn các nút (node) của một cây từ gốc ñến ngọn[6]
Gốc (root node) trong MIB không có Name Dưới root là 3 node con :
Trang 20- joint-iso-ccitt(2) : do cả ISO và CCITT quản lý
- Dưới node iso(1), tổ chức ISO thiết kế 1 node dành cho các tổ chức khác là org(3)
- Dưới org(3) có nhiều node con, một node ñược dành riêng cho US Department of Defense, dod(6) Bộ Quốc phòng Mỹ ñược coi là nơi sáng lập
có Name) RFC1155 ñịnh nghĩa các cây con như sau [6]:
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 }
- directory : dành riêng cho tương lai nếu dịch vụ OSI Directory ñược sử dụng
trên internet
- mgmt (management) : tất cả các MIB chính thức của internet ñều nằm dưới
mgmt Mỗi khi một RFC mới về MIB ra ñời thì tổ chức IANA (Internet Assigned Numbers Authority) sẽ cấp cho MIB ñó một object-identifier nằm dưới mgmt
- experimental : dùng cho các ñối tượng ñang trong quá trình thử nghiệm,
ñược IANA cấp phát
- private : dùng cho các ñối tượng do người dùng tự ñịnh nghĩa, tuy nhiên các
Trang 2122
chỉ số cũng do IANA cấp Tất cả các ñơn vị cung cấp hệ thống mạng có thể ñăng ký object-identifier cho sản phẩm của họ, chúng ñược cấp phát dưới node private.enterprises
enterprises OBJECT IDENTIFIER ::= { private 1 }
Hình 1.2.4.1 - ðặc tả MIB theo dạng cây
Ví dụ: chỉ số enterprises private của Cisco là 9 và OID là
Cú pháp ñược lấy từ chuẩn ASN.1 nhưng không phải tất cả các kiểu ñều
Trang 2223
ñược hỗ trợ SMIv1 chỉ hỗ trợ 5 kiểu nguyên thủy (primitive types) lấy từ ASN.1 và
6 kiểu ñịnh nghĩa thêm (defined types)[6]
INTEGER Một số 32 bit ñược sử dụng ñể xác ñịnh các kiểu liệt kê trong
ngữ cảnh của một ñối tượng quản lý VD: trạng thái của một cổng trên router có thể có các giá trị interger: 1(up), 2(down), 3(testing) Theo RFC1155
OCTET STRING Một chuỗi số không hoặc nhiều octet (thường ñược gọi là byte)
thường ñược sử dụng ñể biểu diễn cho các chuỗi văn bản, nhưng cũng ñôi khi ñược sử dụng ñể biểu diễn cho ñịa chỉ vật
lý Counter Một số 32-bit với giá trị nhỏ nhất là 0 và giá trị lớn nhất 232 - 1
(4294967295) Khi ñạt ñược giá trị lơn nhất, nó quay lại bắt ñầu
từ 0 Nó chủ yếu ñược sử dụng ñể theo dõi các thông tin như số lượng octet gửi và nhận hoặc số lượng các lỗi trên một cổng mạng
OBJECT
IDENTIFIER
Một chuỗi dấu chấm thập phân biểu diễn một ñối tượng quản lý trong cây ñối tượng Ví dụ, 1.3.6.1.4.1.9 biểu diễn OID enterprises riêng của Cisco System
NULL Không ñược sử dụng trong SNMP
SEQUENCE ðịnh nghĩa danh sách chứa 0 hoặc các kiểu dữ liệu ASN.1
khác
SEQUENCE OF ðịnh nghĩa một ñối tượng quản lý ñược tạo ra từ kiểu
SEQUENCE IpAddress Kiểu ñịa chỉ internet 32-bit (ipv4), gồm 4 octet liên tục
NetworkAddress Giống như ñịa chỉ ip, nhưng có thể biểu diễn các kiểu ñịa chỉ
mạng khác
Gauge Kiểu số nguyên không âm 32-bit, có thể tăng hoặc giảm nhưng
không tăng quá giá trị tối ña 232 - 1 Tốc ñộ cổng mạng trên
Trang 2324
router ñược ño bằng giá trị Gause
TimeTicks kiểu số nguyên từ 0- 232 - 1, chỉ khoảng thời gian trôi qua kể từ
một thời ñiểm nào ñó, tính bằng phần trăm giây VD từ khi hệ thống khởi ñộng ñến hiện tại là 1000 giây thì giá trị sysUpTime=100000
Opaque Cho phép bất kỳ một giá trị có kiểu bất kỳ, mã hóa theo quy
cách ASN.1 ñược ñóng thành từng OCTET-STRING
Bảng 1.2.4.1 - Các kiểu dữ liệu SMIv1 Encoding
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
1.2.4.2 MIB-II (RFC1213)
RFC1155 mô tả cách trình bày một tệp MIB như thế nào chứ không ñịnh nghĩa các ñối tượng RFC1213 là một chuẩn ñịnh nghĩa nhánh MIB nằm dưới iso.org.dod.internet.mgmt.mib-2 (tất nhiên phải theo cấu trúc mà RFC1155 quy ñịnh)[6]
RFC1156 là ñặc tả MIB chuẩn cho các thiết bị TCP/IP, ñược coi là Standard Mib (MIB-I) RFC1213 là ñặc tả MIB chuẩn version 2, thường gọi là MIB-II Chú ý phân biệt MIB-I và MIB-II là các chuẩn ñặc tả ñịnh nghĩa của các ñối tượng, còn SMIv1 và SMIv2 là ñặc tả cấu trúc của tập tin MIB MIB-I và MIB-
Internet-II sử dụng cấu trúc của SMIv1[6]
MIB-II là một trong những MIB ñược hỗ trợ rộng rãi nhất Nếu một thiết bị ñược tuyên bố là có hỗ trợ SNMP thì hãng sản xuất phải chỉ ra nó hỗ trợ các RFC nào, và thường là RFC1213 Nhiều người chỉ biết thiết bị của mình “có hỗ trợ SNMP” nhưng không rõ hỗ trợ các RFC nào, khi dùng phần mềm giám sát SNMP
hỗ trợ RFC1213 ñể giám sát thiết bị nhưng không thu ñược kết quả Lý do là phần mềm thì hỗ trợ RFC1213 nhưng thiết bị thì không Vị trí của MIB-II trong MIB như trong hình 3[6]:
Trang 2425
Các kiểu dữ liệu mới ñược ñịnh nghĩa trong MIB-II gồm :
Display String: kế thừa từ kiểu OCTET STRING nhưng chỉ bao gồm các ký
tự in ñược (printable characters) và dài không quá 255 ký tự
Physical Address : giống kiểu OCTET STRING, ñược dùng ñể biểu diễn ñịa chỉ vật lý của thiết bị
ring
Dòng văn bản mô tả node hiện ñang hỗ trợ mib này, có thể bao gồm tên, version, kiểu phần cứng, hệ ñiều hành, …
sysObjectID(2)
Object identifier
ðịnh danh ñã ñược ñăng ký của hảng sản xuất hệ thống Giá trị này phải khó nhầm lẫn và miêu tả ñược ñây là loại thiết bị gì
s
Thời gian tính từ khi module quản trị mạng của hệ thống khởi ñộng lại (kiểu TimeTicks tính bằng phần trăm giây)
Trang 2526
sysServices(7) Integer Chỉ ra node có thể hoạt ñộng ở các layer
nào của OSI Giá trị của nó là tổng tất cả các 2(Layer-1) với Layer là số lớp OSI VD một router hoạt ñộng ở lớp 3 thì giá trị này
sẽ là 2(3-1)=4 interfaces(2)
ifNumber(1) Integer Tổng số giao tiếp mạng hiện có trong hệ
thống ifTable(2) Sequence Danh sách các thông tin của từng interface ifEntry(1) ifEntry Một entry chứa các object mang thông tin
của một interace trong danh sách ifIndex(1) integer Giá trị duy nhất của mỗi interface, giá trị
này chạy từ 1 ñến ifNumber, và không thay ñổi ít nhất cho ñến khi hệ thống khởi ñộng lại
ifDescr(2) DisplaySt
ring
Dòng text mang thông tin của một interface
fType(3) Integer Kiểu interface, dựa vào giao thức lớp
physical/link của interface VD : ethernetCsmacd(6), fddi(15), e1(19), atm(37), sonet(39), v35(45)
ifMtu(4) Integer Kích thước của datagram lớn nhất có thể
truyền/nhận trên interface ifSpeed(5) Gauge Băng thông hiện tại của interface, tính bằng
bit per second ifPhysAddress(6) Physical
Address
ðịa chỉ vật lý của interface
ifAdminStatus(7) Integer Trạng thái mong muốn của interface
ifOperStatus(8) Integer Trạng thái hoạt ñộng thực tế của interface
Trang 26ifInOctets(10) Counter Tổng số octet ñã nhận trên interface
Counter Số gói nonunicast ñược ñưa ñến giao thức
lớpcao hơn (broadcast, multicast)
ifInDiscards(13) Counter Số gói tin nhận ñược bị hủy (kể cả các
gói không bị lỗi) ñể ngăn không cho chúng ñến tầng xử lý cao hơn, vd khi tràn bộ ñệm nhận
ifInErrors(14) Counter Số gói tin nhận ñược có chứa lỗi
ifInUnknownPro
tos(15)
Counter Số gói tin nhận ñược từ interface nhưng bị
discard vì nó thuộc giao thức không ñược
hỗ trợ ifOutOctets(16) Counter Tổng số octet ñã truyền ra interface
ifOutUcastPkts(1
7)
Counter Tổng số gói tin unicast mà tầng giao thức
cao hơn yêu cầu truyền ra (kể cả các gói sẽ
bị discard) ifOutNUcastPkts
(18)
Counter Tổng số gói tin non-unicast mà tầng giao
thức cao hơn yêu cầu truyền ra (kể cả các gói sẽ bị discard)
ifOutDiscards(19
)
Counter Số gói tin cần truyền ra bị hủy (kể cả các
gói không bị lỗi) ñể ngăn không cho chúng ñến tầng xử lý cao hơn, vd khi tràn bộ ñệm phát
Trang 2728
ifOutErrors(20) Counter Số gói tin không thể truyền ra do có lỗi ifOutQLen(21) Gauge ðộ dài của hàng ñợi thông ñiệp truyền ñi ifSpecific(22) Object
identifier
Tham chiếu ñến ñịnh nghĩa mib dành riêng cho loại media của interface VD nếu interface thuộc
ethernet thì giá trị này chỉ ra tài liệu mô tả
cá object của riêng ethernet Nếu node không cung
cấp ñược thông tin này thì giá trị của ifSpecific phải là 0.0
Bảng 1.2.4.2 - Mô tả MIB-II trong RFC1213 Sau khi các OID ñược ñịnh nghĩa, chúng ta mới thực sự ñịnh nghĩa ñối tượng mọi ñịnh nghĩa ñối tượng ñều có ñịnh dạng ñược mô tả trong RFC1212[6]
Trang 28- DESCRIPTION : dòng giải thích cho ý nghĩa của ñối tượng
Cấu trúc của MIB là dạng cây, ñể xác ñịnh OID của một ñối tượng ta phải ñi từ gốc ñến ñối tượng ñó[6]
Ví dụ 1: bandwidth của interface thứ 3 trên thiết bị thì có OID là
.1.3.6.1.2.1.2.2.1.5 tương ñương
.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifSpeed.3
Chú ý: mặc dù MIB-II ñã quy ñịnh index của từng interface phải liên tục và chạy từ
1 ñến ifNumber, nhưng trong thực tế nhiều thiết bị không ñặt index liên tục mà ñặt theo cách riêng ñể dễ quản lý Do ñó ñối với C2950 thì interface thứ 3 có index là 3, nhưng ñối với thiết bị khác thì interface thứ 3 có thể có index khác 3, thậm chí là số rất lớn Chẳng hạn một switch có nhiều card, mỗi card có 12 port thì port1-card1 có index là 101, port12-card1 có index là 112, port1-card2 có index là 201[6]
1.2.4.3 SMIv2
SMIv2 mở rộng cây ñối tượng SMI bằng cách bổ sung nhánh snmpv2 vào cây con internet, bổ sung một vài kiểu dữ liệu mới và tạo ra một số thay ñổi khác Hình 4 biểu diễn cách các ñối tượng snmpv2 tạo thành nhánh mới với OID là 1.3.6.1.6.3.1.1, hoặc
iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.[6]
Trang 2930
Hình 1.2.4.3 - Cấu trúc SMIv2
Kiểu dữ liệu Mô tả
Integer32 Giống như INTEGER
Counter32 Giống như Counter
Gauge32 Giống như Gauge
Unsigned32 Biểu diễn giá trị thập phân trong khoảng 0 tới 232 – 1
Counter64 Tương tự Counter32, nhưng giá trị tối thiểu là
18,446,744,073,709,551,615 Counter64 là ý tưởng khắc phục tình huống khi một Counter32 có thể trở về 0 quá nhanh
BITS Một dãy các bit không âm
Bảng 1.2.4.3.1 – ðịnh nghĩa một số kiểu dữ liệu mới trong SMIv2 ðịnh nghĩa một ñối tượng trong SMIv2 ñược thay ñổi sáng sủa hơn SMIv1
Có một số tùy chọn các lĩnh vực mới, ñem lại cho ta kiểm soát nhiều hơn cách ñối tượng ñược truy cập như thế nào, cho phép bạn gia tăng thêm bảng bằng cách thêm các cột, và cho phép ta mô tả tốt hơn Sau ñây là cú pháp của một ñịnh nghĩa một ñối tượng trong SMIv2 Nhưng thay ñổi ñược tô ñậm[6]:
Trang 3031
<name> OBJECT-TYPE SYNTAX <datatype>
UnitsParts <Optional, see below>
MAX-ACCESS <See below>
STATUS <See below>
DESCRIPTION "Textual description describing this particular managed object."
AUGMENTS { <name of table> } ::= { <Unique OID that defines this object> }
ðịnh nghĩa
Cải tiến
Mô tả
UnitsParts Một mô tả dạng văn bản của các ñơn vị(giây, mini giây, …) ñược
sử dụng ñể biểu diễn ñối tượng
MAX-ACCESS
Một kiểu truy nhập của OBJECT-TYPE có thể là MAX-ACCESS trong SNMPv2 Các tùy chọn hợp lệ cho MAX-ACCESS là read-only, read-write, read-create, not-accessible, và accessible-for-notify
STATUS Mệnh ñề này ñược mở rộng ñể cho phép các từ khóa current,
obsolete, và deprecated current trong SNMPv2 thì giống như mandatory trong SNMPv1 MIB
AUGMENTS Trong một số trường hợp, nó rất hữu ích ñể thêm một cột vào một
bảng hiện có Mệnh ñề AUGMENTS cho phép bạn mở rộng một bảng bằng cách thêm một hoặc nhiều cột, ñược biểu diễn bằng một
số ñối tượng khác mệnh ñề này yêu cầu tên của bảng ñối tượng sẽ tăng thêm
Bảng 1.2.4.3.2 -Những cải tiến ñịnh nghĩa ñối tượng trong SMIv2
SMIv2 ñịnh nghĩa một kiểu trap mới ñược gọi là NOTIFICATION-TYPE (sẽ ñược mô tả mục sau) SMIv2 cũng giới thiệu các quy ước mới về dạng văn bản
Trang 3132
cho phép các ñối tượng quản lý ñược tạo ra bằng cách trừu tượng hơn RFC2579 ñịnh nghĩa quy ước về văn bản ñược sử dụng trong SNMPv2, ñược liệt kê trong bảng 0.3 dưới ñây[6]:
DisplayString Một chuỗi các ký tự NVT ASCII Một DisplayString có thể có
TruthValue ðịnh nghĩa hai giá trị true và false
TestAndIncr ðược sử dụng ñể theo dõi hai trạm quản lý cùng sửa một ñối
tượng quản lý tại cùng một thời ñiểm
AutonomousType Một OID ñược sử dụng ñể ñịnh nghĩa một cây con với bổ sung
các ñịnh nghĩa MIB liên quan VariablePointer Một con trỏ trỏ tới một ñại diện ñối tượng ñặc biệt, giả sử
ifDescr với cổng 3 Trong trường hợp này, VariablePointer có OID là ifDescr.3
RowPointer Một con trỏ trỏ tới một dòng trong một bảng Ví dụ, ifIndex.3
trỏ tới dòng thứ 3 trong bảng ifTable
RowStatus ðược sử dụng ñể quản lý việc tạo và xóa các dòng trong một
bảng, vì bản thân SNMP không có cách làm các thao tác trên RowStatus có thể theo dõi trạng thái của một dòng trong một bảng cũng như nhận các lệnh ñể tạo và xóa các dòng Quy ước văn bản này ñược thiết kế ñể cải tiến tính toàn vẹn khi có nhiều
bộ phận quản lý cùng cập nhật dòng Các kiểu ñược liệt kê sau
Trang 3233
ñây ñịnh nghĩa các lệnh và các biến trạng thái: active(1), notInService(2), notReady(3), createAndGo(4), createAndWait(5), và anddestroy(6)
TimeStamp ðo lượng thời gian trôi qua giữa thời gian hoạt ñộng hệ thống
của thiết bị và một số sự kiện
TimeInterval Giai ñoạn thời gian biểu diễn dưới dạng % giây Nó có thể nhận
giá trị trong khoảng 0-2147483647
DateAndTime Một OCTET STRING ñược sử dụng ñể biểu diễn thông tin thời
gian
StorageType ðịnh nghĩa kiểu bộ nhớ mà một agent sử dụng Các giá trị có
thể là other(1), volatile(2), nonVolatile(3), permanent(4), và readOnly(5)
Tdomain Ký hiệu một loại dịch vụ truyền tải
Taddress Ký hiệu ñịa chỉ dịch vụ truyền tải Taddress ñược ñịnh nghĩa từ
1-255 octet
Bảng 1.2.4.3.3 - Các quy ước về văn bản cho SMIv2
1.3 ðịnh dạng thông ñiệp và các phương thức vận hành
Các phiên bản SNMP khác nhau một chút ở ñịnh dạng thông ñiệp và phương thức hoạt ñộng Hiện nay SNMPv1 và 2 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm hỗ trợ nhất Trong khi ñó chỉ có một số thiết bị và phần mềm hỗ trợ SNMPv3
1.3.1 ðịnh dạng thông ñiệp của SNMPv1 và 2
Mô tả
Version Integer 4 Version Number: Mô tả phiên bản SNMP của
thông ñiệp; với SNMPv1 thì giá trị này là 0,
Trang 3334
với SNMPv2 là 1
Community Octet
String
Variable Community String: Mật khẩu sử dụng ñể xác
thực giữa người gửi và người nhận thông ñiệp này
PDU — Variable Protocol Data Unit: Giao thức ðơn vị dữ
liệu ñược sử dụng ñể giao tiếp, nội dung của thông ñiệp
Bảng 1.3.1.1 - ðịnh dạng thông ñiệp[4]
1.3.1.2 ðịnh dạng PDU
Tất cả các PDU trong SNMP V1,2 ñều có ñịnh dạng giống nhau, riêng PDU của thông ñiệp Trap thì khác Ngữ nghĩa chính xác trong mỗi trường của PDU dựa trên thông ñiệp cụ thể Ví dụ, trường ErrorStatus chỉ có nghĩa trong thông ñiệp trả lời không có trong thông ñiệp yêu cầu, và các giá trị ñối tượng sử dụng cũng khác nhau trong các thông ñiệp yêu cầu và thông ñiệp trả lời [4]
1.3.1.2.1 ðịnh dạng PDU chung cho các phương thức
Các bảng và hình dưới biểu diễn ñịnh dạng chung cho hầu hết các PDU SNMPv1,2: GetRequest-PDU, GetNextRequest-PDU, SetRequest-PDU và GetResponse-PDU[4]
PDU type RequestID ErrorStatus Errorindex Variable
Integer 4 Request Identifier: Một số ñược sử dụng
ñể khớp nối giữa ñịnh danh yêu cầu và trả lời Nó ñược sinh ra bới thiết bị gửi yêu cầu và coppy vào trong trường này trong
Trang 34Integer 4 Error Index: Khi Error Status khác 0,
trương này chứa một con trỏ chỉ rõ ñối tượng sinh ra lỗi, luôn luôn =0 trong thông ñiệp yêu cầu
có chứa các giá trị của chúng
Bảng 1.3.1.2.1 - ðịnh dạng chung PDU
1.3.1.2.2 Kiểu PDU và trạng thái lỗi
PDU[4] (các giá trị kiểu PDU của version 1 tương ứng từ 0-3):
Trang 351 tooBig Kích thước của Response-PDU có thể quá lớn ñể
truyền qua mạng
2 noSuchName Không tìm thấy tên ñối tượng yêu cầu
3 badValue Một giá trị trong yêu cầu không phù Ví dụ, một ñối
tượng trong yêu cầu ñược quy ñịnh với chiều dài hoặc kiểu không chính xác
4 readOnly Xuất hiện khi cố gắng gán giá trị cho một biến chỉ cho
phép ñọc giá trị
5 genErr Xuất hiện khi một lỗi xảy ra không ñược ñịnh nghĩa
trước trong bảng này
6 noAccess Truy nhập bị từ chối vì nguyên nhân bảo mật
7 wrongType Không ñúng kiểu ñối tượng
8 wrongLength ðộ dài không phù hợp với ñối tượng trong biến
9 wrongEncoding Mã hóa không phù hợp với ñổi tượng trong biến
10 wrongValue Giá trị truyền vào trong biến không thể gán cho ñối
Tài nguyên không có sẵn
14 commitFailed Thiết lập một biến cụ thể không thành công
Trang 36Tên biến không tốn tại
Bảng 1.3.1.2.2.2 - Các giá trị trường Error Status trong PDU SNMP
Specific trap
Time stamp Variable
4 PDU Type: Xác ñịnh kiểu PDU, luôn là
4 cho thông ñiệp Trap PDU
Enterprise Sequence of
Integer
Variable Enterprise: ðịnh danh ñối tượng của
một nhóm, nó chỉ ra kiểu ñối tượng sinh
ra trap
Agent
Addr
NetworkAddress 4 Agent Address: ðịa chỉ IP của agent
sinh ra trap Nó cúng bao gồm trong IP header ở tầng thấp hơn nhưng cũng bao gôm trong ñịnh dạng thông ñiệp SNMP
ñể dễ dàng ghi log trong SNMP, ñồng thời có thể phân biệt ñược trong trường
có nhiều host
Generic
Trap
Integer (Enumerated)
4 Generic Trap Code: Giá trị mã xác ñịnh
một trong các một số kiểu trap “chung chung” ("generic") hoặc ñã ñược xác
Trang 3738
ñịnh trước
Specific
Trap
Integer 4 Specific Trap Code: Một giá trị mã xác
ñịnh một loại trap thực hiện cụ thể Time
Stamp
TimeTicks 4 Time Stamp: Lượng thời gian kể từ khi
thực thể SNMP ñang gửi thông ñiệp này khởi tạo hoặc khởi tạo lại lần cuối ðược sử dụng ñể ghi log thời gian Variable
Bindings
Variable Variable Variable Bindings: Tập hợp các cặp
tên-giá trị xác ñịnh các ñối tượng MIB trong PDU
Bảng 1.3.1.2.3.1 - ðịnh dạng Trap PDU
Tên và số Generic
trap
Mô tả
coldStart (0) Chỉ ra rằng một agent ñã bị khởi ñộng lại
warmStart (1) Chỉ ra rằng agent tự khởi tạo lại
linkDown (2) ðược gửi khi một interface trên thiết bị bị lỗi
linkUp (3) ðược gửi khi một interface hoạt ñộng trở lại
authenticationFailure
(4)
Chỉ ra rằng một người nào ñó ñã cỗ gắng truy vấn agent
mà không ñúng chuỗi community, dùng ñể phát hiện các truy nhập bất hợp phát
egpNeighborLoss (5) Chỉ ra rằng EGP bên cạnh bị lỗi
enterpriseSpecific (6) Chỉ ra trap cụ thể ñược nhà cung cấp thiết bị ñịnh nghĩa
Bảng 1.3.1.2.3.2 - Mô tả các Generic trap
1.3.1.2.4 ðịnh dạng GetBulkRequest-PDU SNMPv2c
PDU type Request
Identify
Non Repeaters
Max Repeaters PDU variable
Bindings
Hình 1.3.1.2.4 - ðịnh dạng GetBulkRequest-PDU [4]
Trang 384 PDU Type: Một gái trị nguyên xác ñịnh
kiểu PDU, với bản GetBulkRequest-PDU
thì giá trị là 5
Request ID Integer 4 Request Identifier: Một số ñược sử dụng
ñể so khớp các thông ñiệp yêu cầu với các thông ñiệp trả lời Nó ñược sinh ra bởi thiết bị gửi yêu cầu và ñược copy vào
trường này trong Response-PDU
Non
Repeaters
Integer 4 Non Repeaters: Chỉ ñịnh số ñối tượng
ñầu tiên không lặp lại lệnh getnext
Max
Repetitions
Integer 4 Max Repetitions: Số lần lặp lại lệnh
getnext với các ñối tượng còn lại
Variable
Bindings
Variable Variable Variable Bindings: Một tập hợp các cặp
ten-gái trị ñịnh danh các ñối tượng MIB trong PDU
Bảng 1.3.1.2.4 - ðịnh dạng GetBulkRequest-PDU [4]
1.3.1.3 ðịnh dạng thông ñiệp SNMP Version 3 (SNMPv3)
ðịnh dạng tổng quát của SNMPv3 vẫn sử dụng ý tưởng thông ñiệp tổng thể
“mở rộng” của SNMPv2 Tuy nhiên, trong v3 khái niệm này ñược ñịnh nghĩa lại Các trường header tự chia thành những vùng có hoặc không xử lý bảo mật Các trường “non- security” là chung cho tất cả các triển khai SNMP v3, trong khi việc
sử dụng các trường bảo mật có thể ñược thiết kế riêng cho từng mô hình bảo mật SNMPv3, và ñược xử lý bởi module trong thực thể xử lý bảo mật SNMP Giải pháp này cung cấp sự linh hoạt ñáng kể trong khi tránh những vấn ñề SNMPv2 bị hạn chế Tất cả ñịnh dạng thông ñiệp SNMP v3 ñược mô tả trong RFC3412 Những ñặc ñiểm bảo mật cung cấp trong SNMPv3 là[4]:
- Tính toàn vẹn thông tin : ðảm bảo các gói tin không bị sửa trong khi truyền
Trang 3940
- Sự xác nhận: Xác nhận nguồn của thông tin gửi ñến
- Mã khoá: ðảo nội dung của gói tin, ngăn cản việc gửi thông báo từ nguồn không ñược xác nhận
Tuy nhiên việc sử dụng SNMPv3 rất phức tạp và cồng kềnh dù nó là sự lựa chọn tốt nhất cho vấn ñề bảo mật của mạng Việc sử dụng sẽ tốn rất nhiều tài nguyên do trong mỗi thông ñiệp truyền ñi sẽ có phần mã hóa BER Phần mã hóa này sẽ chiếm một phần băng thông ñường truyền do ñó làm tăng chi phí Mặc dù ñược coi là phiên bản ñề nghị cuối cùng và ñược coi là ñầy ñủ nhất nhưng SNMPv3 vẫn chỉ là tiêu chuẩn dự thảo và vẫn ñang ñược nghiên cứu hoàn thiện[4]
Hình 1.3.1.3 - ðịnh dạng tổng quát thông ñiệp SNMP Version 3 (SNMPv3)
Tên trường Kiểu DL Kích cỡ
(bytes)
Mô tả
Msg
Version
Integer 4 Message Version Number: Mô tả số phiên bản
SNMP của thông ñiệp, với SNMPv3 là 3
Msg ID Integer 4 Message Identifier: Một số ñược sử dụng ñể
Trang 4041
xác ñịnh một thông ñiệp SNMPv3 và ñể so khớp với thông ñiệp trả lời với thông ñiệp yêu cầu Sử dụng của trường này là tương tự như
của trường Request ID trong các ñịnh dạng
PDU, nhưng chúng không giống nhau Trường này ñược tạo ra ñể cho phép kết hợp ở mức ñộ
xử lý thông ñiệp không phân biệt nội dung của PDU, ñể bảo vệ chống lại các cuộc tấn công
bảo mật Như vậy, Msg ID và Request ID
ñược sử dụng ñộc lập
Msg Max
Size
Integer 4 Maximum Message Size: Kích thước tối ña của
một thông ñiệp Tối thiểu là 484
Msg Flags Octet
String
1
Msg
Security
Model
Integer 4 Message Security Model: Một giá trị nguyên
xác ñịnh mô hình bảo mật nào ñược sử dụng cho thông ñiệp, với user-based(mặc ñịnh của SNMP v3) thì giá trị là 3
Msg
Security
Parameters
— Variable Message Security Parameters: Một tập hợp
các trường chứa các tham sô yêu cầu ñể thực hiện mô hình bảo mật cụ thể ñược sử dụng cho thông ñiệp Nội dung của trường này ñược chỉ ñịnh trong mỗi văn bản mô tả một mô hình bảo mật SNMP v3 ví dụ, các tham số của mo hình user-based ñược mô tả trong RFC3414
Scoped
PDU
Bảng Bảng 1.3.1.3.1 - ðịnh dạng tổng quát thông ñiệp SNMPv3