Jeżeli wykryliśmy problem w naszej sieci to musimy przystąpić do jego analizy w sposób zaplanowany i przemyślany. Z jednej strony musimy dokładnie wyselekcjonować dane, które będziemy analizowali, z drugiej zaś nie możemy przeoczyć ważnych szczegółów. Musimy także dobrze pamiętać o tym, w jaki sposób poszczególne technologie czy protokoły ze sobą współpracują i od siebie często zależą. Dlatego rekomendowanym sposobem jest posługiwanie się modelem ISO/OSI lub TCP/IP. Dlaczego? Już wyjaśniam.

Czym jest model ISO/OSI?

Pełna nazwa to ISO Open Systems Interconnection Reference Model. Model ten został zdefiniowany przez organizację ISO, czyli międzynarodową organizację normalizacyjną. Opisuje on komunikację ze sobą systemów telekomunikacyjnych dzieląc cały proces na 7 warstw. Każda z tych warstw ma swoje określone zadanie oraz przypisane konkretne protokoły. Lista protokołów czy standardów w ramach konkretnej warstwy nie jest oczywiście zamknięta, niektóre działają też w kilku warstwach. Ze względu jednak na to, że każda warstwa ma określone do wykonania zadania pozwala to w prosty sposób umiejscowić protokół w danej warstwie oraz określić jego zależności względem protokołów i standardów warstw wyższych i niższych.

Uproszczonym modelem ISO/OSI jest model TCP/IP. Autorzy tego modelu skupili się na aspektach transmisyjnych, łącząc warstwy aplikacyjne w jedną.

Źródło: https://edu.pjwstk.edu.pl/wyklady/sko/scb/w2.html

Jak wykorzystać model ISO/OSI w diagnostyce?

Zastanówmy się nad przykładowym problemem. Użytkownik zgłasza, że nie może podłączyć się do bazy danych znajdującej się w naszej sieci lokalnej. Pamiętajmy, że zgłaszający nie musi mieć wiedzy informatycznej. Co więcej, często nie ma nawet podstawowej wiedzy. Zgłoszenie „nie działa mi Internet” może zarówno oznaczać, że występuje całkowity brak komunikacji z siecią, ale też, że po prostu strona Google się nie otwiera. Dlatego, aby uporządkować proces diagnostyczny, powinniśmy po kolei sprawdzać czy poprawnie realizowana jest komunikacja każdej z warstw, zaczynając od tej najniższej, czyli warstwy fizycznej. Następnie, krok po kroku, gdy jesteśmy pewni, że wszystkie mechanizmy w konkretnej warstwy funkcjonują prawidłowo, przechodzimy do analizy mechanizmów warstwy wyższej.

Tak mógłby wyglądać przykładowy scenariusz prowadzenia diagnostyki i rozmowy z użytkownikiem z wykorzystaniem modelu TCP/IP:

  1. Warstwa fizyczna:
    • Czy kabel jest podpięty do karty sieciowej?
    • Czy interfejs sieciowy jest podniesiony?
  2. Warstwa łącza danych:
    • Czy adres MAC jest widoczny na porcie przełącznika, gdzie podłączona jest jego stacja robocza?
    • Czy użytkownik przypisany jest do właściwego VLANu?
    • Czy nie ma częstych zmian w Spanning Tree?
    • Czy port z jakiegoś powodu nie jest blokowany?
  3. Warstwa sieciowa:
    • Czy użytkownik ma poprawny adres IP i maskę podsieci?
    • Czy użytkownik ma ustawiony adres domyślnej bramy?
    • Czy domyślna brama się „pinguje”?
    • Jeżeli nie ma domyślnej bramy, to czy w tablicy routingu urządzenia użytkownika jest trasa do podsieci z bazą danych i czy wpis jest poprawny?
  4. Warstwa transportowa:
    • Czy użytkownik jest w stanie nawiązać połączenie TCP z portem, na którym nasłuchuje baza danych?
    • Czy połączenie TCP jest poprawnie otwierane (3-way handshake)?
  5. Warstwa aplikacji:
    • Czy użytkownik jest w stanie się uwierzytelnić?
    • Czy poprawnie otwierane jest połączenie szyfrowane?
    • Czy aplikacja nie zamyka połączenia zaraz po jego nawiązaniu z komunikatem błędu?

To oczywiście tylko niektóre z pytań, które musimy sobie zadać analizując problem. Wykorzystanie modelu ISO/OSI lub TCP/IP, jak widać, pozwala nam opracować kompletny i przejrzysty plan diagnostyki. Takie scenariusze bardzo często wykorzystywane są przy budowaniu szablonów rozmów czy diagnostyki błędów dla pierwszej linii wsparcia. Pozwala też na zebranie danych w sposób usystematyzowany celem przekazania ich do drugiej linii wsparcia – w razie konieczności.