Laboratorium 1. Wprowadzenie do protokołu SNMP i kodowanie BER (ASN.1)

Podobne dokumenty
Zarządzanie sieciami komputerowymi - wprowadzenie

Zarządzanie sieciami komputerowymi

Protokół zarządzania siecią SNMP

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI)

Paweł Kurzawa, Delfina Kongo

Systemy sygnalizacji i zarządzania EiT

2017/2018 WGGiOS AGH. LibreOffice Base

Systemy sygnalizacji i zarządzania TI

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

KODOWANIE ZNAKÓW I PROTOKOŁÓW

Simple Network Management Protocol

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Przykładowy dokument XML

UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Programowanie współbieżne i rozproszone

Załącznik nr 2 do Umowy Nr. o korzystanie z usługi Identyfikacji Przychodzących Płatności Masowych z dnia.

Signalling Systems and Management E&T

Formalne modele protokołów i usług

Opis usługi płatności masowych aktualnie zaimplementowanej u Zamawiającego

Wybrane Zagadnienia Administrowania Sieciami. Dr inż. Robert Banasiak

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Uniwersalna aplikacja biblioteczna na Elektronicznej Legitymacji Studenckiej

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Pracownia Komputerowa wyk ad VII

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

Algorytmy i struktury danych. wykład 1

PODSTAWOWE POJĘCIA BAZ DANYCH

extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Język SQL, zajęcia nr 1

asix4 Podręcznik użytkownika Drajwer protokołu ADAM Podręcznik użytkownika

Środowisko XML (Extensible Markup Language).

Krzysztof Kadowski. PL-E3579, PL-EA0312,

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

DIAGRAM KLAS. Kamila Vestergaard. materiał dydaktyczny

1. Wprowadzenie do języka PHP

Schematy aplikacyjne UML i GML dla mapy zasadniczej oraz Modelu Podstawowego. Rozdział 1 Założenia podstawowe

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Kodowanie informacji. Przygotował: Ryszard Kijanka

Na podstawie artykułu:

2 Przygotował: mgr inż. Maciej Lasota

AGENT SNMP DLA URZĄDZENIA NetmasterLE

Laboratorium nr 5. Bazy danych OpenOffice Base.

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Oczywiście plik musi mieć rozszerzenie *.php

Załącznik nr 3 WZÓR ELEKTRONICZNEJ LEGITYMACJI STUDENCKIEJ

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

MODELOWANIE ZAPOTRZEBOWANIA NA ZASOBY SIECIOWE

EGZAMIN MATURALNY Z INFORMATYKI

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Symbole mapy numerycznej jako bloki rysunkowe. Elżbieta Lewandowicz Katedra Geodezji Szczególowej

Formaty obrazów rastrowych biblioteki PBM

Interfejs DXI dostępu do sieci szerokopasmowej opartej na technice ATM

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

WTYCZKA FARA-TCM Dane techniczne dla twórców zewnętrznych aplikacji do obsługi map cmentarza

Podstawy programowania skrót z wykładów:

Protokół wymiany sentencji, wersja 1

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Wykład 4. SQL praca z tabelami 1

Techniki multimedialne

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

PRZEKAZ INFORMACJI MIĘDZY SIECIĄ LOKALNĄ (LAN), A SIECIĄ SZEROKOPASMOWĄ OPARTĄ NA TECHNICE ATM. mgr inż. Zbigniew Zakrzewski, mgr inż.

Języki programowania zasady ich tworzenia

29. Poprawność składniowa i strukturalna dokumentu XML

PODSTAWOWE ZASADY PROGRAMOWANIA OBIEKTOWEGO NA BAZIE PAKIETU ROOT

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Etykieta logistyczna GS1

Programowanie obiektowe

GML w praktyce geodezyjnej

Temat projektu: mpk-database

Poczta Polska S.A. Opis struktury pliku z danymi przekazów pocztowych lub Ekspresów Pieniężnych. Wersja 2.1

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Autor: dr inż. Katarzyna Rudnik

Laboratorium Wykorzystanie kalkulatora Windows do obliczania adresów sieciowych

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Komunikacja między sterownikami przez protokół ADS

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Bazy Danych i Usługi Sieciowe

XML Schema. Typy proste, wyprowadzanie typów, modularyzacja schematu. Patryk Czarnik. Instytut Informatyki UW

Programowanie Niskopoziomowe

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Procesowa specyfikacja systemów IT

Diagramy klas. dr Jarosław Skaruz

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Dr Michał Tanaś(

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Zadanie 1. Suma silni (11 pkt)

Test przykładowy 2 PAI WSB Wrocław /06/2018

Transkrypt:

Laboratorium 1. Wprowadzenie do protokołu SNMP i kodowanie BER (ASN.1) Celem laboratorium jest poznanie przez studenta podstawowego sposobu kodowania (BER), który jest wykorzystywany przez protokół SNMP. Na zajęciach zostaną przedstawione podstawowe typy danych oraz zasady kodowania informacji. 1. Wstęp do protokołu SNMP Rozwój protokołów do zarządzania sieciami rozpoczął się w 1987 roku, stworzony został wtenczas prosty protokół monitorowania bramek SGMP (Simple Gateway Management Protocol). Jednak jego funkcjonalność ograniczała się do monitorowania bramek, a potrzeby zaczęły się zwiększać i zaczęto myśleć jak monitorować wszystkie urządzenia sieciowe oraz stacje robocze. Zaczęto więc proponować inne protokoły, które w roku 1988 zostały przejrzane, a następnie Komisja Architektury Internetu (IAB) zatwierdziła niektóre z nich (między innymi prosty protokół zarządzania siecią SNMP Simple Network Management Protocol) do dalszego rozwoju. SNMP miał być jedynie krótko terminowym rozwiązaniem, które zostanie zastąpione bardziej rozbudowanym protokołem. Stało się inaczej, gdyż prostota tego protokołu spowodowała jego bardzo szybki rozwój, szybko też został zaimplementowany w większości urządzeń sieciowych oferowanych przez różnych producentów. Protokół ten został już kilkakrotnie rozbudowywany. Najnowszą wersją jest SNMPv3. Wykorzystuje on bazę informacji zarządzania (MIB Management Information Base), którą stanowią schematy baz danych (struktur informacji). Obiekty, które zostały tam zapisane zawierają informacje, które może uzyskać wykorzystując protokół SNMP. Protokół Wykorzystuje tylko dwa atrybuty danych tylko do odczytu i do odczytu i zapisu. Do definiowania informacji zarządzania w protokole SNMP jest wykorzystywana abstrakcyjna notacja składniowa 1 (ASN.1 Abstract Syntax Notation One). 2. Kodowanie BER wykorzystujące notację ASN.1 Notacja ASN.1 jest szczegółowo omówiona w książce William Stallings Protokoły SNMP i RMON. Vademecum profesjonalisty [Stallings 2003]. Dodatek zawiera tabelę typów danych, które składają się z numeru typu ASN.1 i ciągu UNIVERSAL. Typy te można podzielić na cztery kategorie: proste (simple); strukturalne (structured) posiadają składowe; etykietowane (tagged) są dziedziczone; inne (other) zawiera typy CHOICE i ANY. Typ CHOICE wykorzystywany jest gdy wartości mogą być różnego typu, ale możliwe typy są znane, natomiast typ ANY wykorzystujemy, gdy nie znamy możliwych typów wartości. Większość typów można ograniczyć, stosując wyliczenie możliwych wartości lub określenie zakresu przyjmowanych wartości. Szczegółowe informacje na ten temat zostaną przestawione na laboratorium dotyczącym biblioteki MIB. Podstawowe zasady kodowania (BER Basic Encoding Rules) zostały ustandaryzowane przez CCITT (X.209) i ISO (ISO 8825). Określają sposób kodowania wartości każdego typu ASN.1 w postaci ciągu oktetów.

W kodowaniu tym wykorzystywana jest następująca struktura: typ (identyfikator), długość, wartość (zawartość). Jest to kodowanie rekurencyjne, struktura ta może być zawarta w polu wartości. Wyróżniamy trzy metody kodowania: kodowanie proste o określonej długości, kodowanie złożone o określonej długości, kodowania złożone o nieokreślonej długości. Struktura kodowanej wartości: Identyfikator Długość Zawartość kodowanie o określonej długości Identyfikator Długość Zawartość EOC kodowanie o nieokreślonej długości EOC = 0000 16 Pole identyfikatora: a) jeden oktet: Klasa P/C Numer etykiety b) wiele oktetów: Klasa P/C 11111 1 XXXXXXX... 0 XXXXXXX pierwszy oktet drugi oktet ostatni oktet Klasa: P/C: 00 uniwersalna 01 aplikacyjna 10 kontekstowa 11 prywatna 0 kodowanie proste 1 kodowanie złożone Numer etykiety numer typu ASN.1 lub >30:XX...X dla typy etykietowanego. Pole długości: a) jeden oktet krótka forma: 0 długość b) K+1 oktetów długa forma: 1 K długość c) nieokreślona długość, zakończenie znakiem EOC: 1 0000000 K - oktetów

3. Przebieg laboratorium Dokonaj analizy przedstawionych niżej przykładów. I. Przykłady, które są zapisywane do postaci ciągu bitów Przykłady mają pokazać sposób kodowania na prostych przykładach, jednak każdy przykład można rozszerzyć (powiększyć). Zrozumienie tych przykładów umożliwi zakodowanie dowolnego ciągu danych. uniwersalna INTEGER o wartości 11 (decymalnej) typ długość kodowanie proste wartość [APPLICATION 1] INTEGER o wartości 11 (decymalnej) 01 1 00001 00000110 aplikacyjna kodowanie złożone kontekstowa typ długość [APPLICATION 1] IMPLICIT INTEGER o wartości 11 (decymalnej) oznaczenie IMPLICIT określa, że dane zostaną zakodowane tylko z etykietą APPLICATION 1, ukryta zostaje etykieta INTEGER 01 0 00001 00000100 00000000 00000000 00000000 00001011 [1] INTEGER o wartości 11 (decymalnej) [1] oznacza typ kontekstowy 1 10 1 00001 00000110 II. Zadanie Zakoduj poniższe dane, wykorzystując przedstawioną poniżej składnię. Składnia: Indeks ::= [APPLICATION 0] SET { DaneOsobowe, Uczelnia, DataRozpoczecia [0] Data, Semestry [1] IMPLICIT SEQUENCE OF Semestr } DaneOsobowe ::= [APPLICATION 1] IMPLICIT SEQUENCE { imie VisibleString, nazwisko VisibleString } Uczelnia ::= [APPLICATION 2] IMPLICIT SEQUENCE { Nazwa VisibleString, Miejscowość VisibleString } Data ::= [APPLICATION 3] IMPLICIT VisibleString -- rrrrmmdd podwójny myślnik określa komentarz

Semestr ::= SET { numer INTEGER, srednia INTEGER } -- średnia * 100 Przykładowa wartość: { } { Jan, Kowalski }, { PP, Poznań }, 19991001, { { 1, 400 } { 2, 420 } { 3, 440 } { 4, 450 } } 4. Dodatek. Tabela typów obiektów Etykieta Nazwa typu Zbiór wartości Typy podstawowe UNIVERSAL 1 BOOLEAN TRUE lub FALSE UNIVERSAL 2 INTEGER liczby całkowite UNIVERSAL 3 BIT STRING sekwencja bitów UNIVERSAL 4 OCTET STRING sekwencja oktetów UNIVERSAL 9 REAL liczby rzeczywiste UNIVERSAL 10 ENUMERATED lista wartości całkowitych Typu obiektowe UNIVERSAL 6 OBJECT IDENTIFIER zbiór wartości powiązanych z obiektami informacji UNIVERSAL 7 Object descriptor tekst zawierający opis obiektu Typy łańcuchów znaków UNIVERSAL 18 NumericString cyfry i znaki spacji UNIVERSAL 19 PrintableString znaki drukowalne UNIVERSAL 20 TeletexString znaki zdefiniowane przez CCITT T.61 UNIVERSAL 21 VideotexString znaki alfabetyczne i graficzne zdefiniowane przez CCITT T.100 i T.101 UNIVERSAL 22 IA5String międzynarodowy alfabet 5 (odpowiednik ASCII) UNIVERSAL 25 GraphicString znaki zdefiniowane przez ISO 8824 UNIVERSAL 26 VisibleString znaki zdefiniowane przez ISO 646 UNIVERSAL 27 GeneralString ogólny łańcuch znaków Typy różne UNIVERSAL 5 NULL pojedyncza wartość pusta UNIVERSAL 8 EXTERNAL typ zdefiniowany w zewnętrznym dokumencie (wykluczone stosowanie typów ASN.1) UNIVERSAL 23 UTCTime data i czas oraz różnicę strefy czasowej (rr-mm-dd) (gm-s)

Etykieta Nazwa typu Zbiór wartości UNIVERSAL 24 GeneralizedTime jak wyżej (rrrr-mm-dd) (g-m-s) UNIVERSAL 9-15 Reserved zarezerwowane dla rozszerzeń ASN.1 UNIVERSAL 28- Typy strukturalne UNIVERSAL 16 SEQUENCE lista wartości jednego lub więcej typów SEQUENCE OF lista wartości jednego typu UNIVERSAL 17 SET nieuporządkowana lista jednego lub więcej typów SET OF nieuporządkowana lista jednego typu Tabela 1.Kodowanie BER. Typy obiektów. 5. Literatura William Stallings, Protokoły SNMP i RMON. Vademecum profesjonalisty