Co to jest warstwa sesji?
Warstwa sesji jest piątą warstwą modelu Open Systems Interconnection (OSI) opracowanego przez Międzynarodową Organizację Normalizacyjną (IOS). Odpowiada za nawiązywanie, zarządzanie i zamykanie połączeń typu end-to-end, zwanych sesjami, między aplikacjami znajdującymi się w różnych punktach końcowych sieci. Zarządzanie kontrolą dialogu zapewniane przez warstwę sesji obejmuje komunikację w trybie pełnego dupleksu, półdupleksu i simpleksu. Zarządzanie warstwą sesji pomaga również zapewnić synchronizację wielu strumieni danych, tak jak w przypadku aplikacji multimedialnych, takich jak wideokonferencje, i pomaga zapobiegać błędom danych związanych z aplikacją. Warstwa sesji jest również odpowiedzialna za zapewnienie właściwej komunikacji danych podczas zdalnych wywołań procedur (RPC).
Istnieje siedem odrębnych jednostek funkcjonalnych, zwanych warstwami, które model OSI dzieli lub modularyzuje na różne zadania, za które odpowiedzialne jest oprogramowanie sieciowe i sprzęt. Warstwy poniżej warstwy sesji dotyczą głównie przesyłania danych w sieci. Warstwa sesji, która jest również powszechnie nazywana warstwą 5 w sieci komputerowej, i warstwy powyżej koncentrują się przede wszystkim na interakcji z aplikacjami w systemie komputerowym i zapewnianiu ich funkcjonalności. Interfejs łączy się z warstwą transportową, zwaną także warstwą 4, dzięki czemu strumienie danych z aplikacji mogą być segmentowane i bezproblemowo przesyłane do sieci. Warstwa 5 przekazuje również przychodzące dane do warstwy prezentacji, znanej jako warstwa 6, w celu dalszego przetwarzania przed przekazaniem do aplikacji.
Kiedy pierwotnie opracowano model OSI, debata dotyczyła tego, czy protokoły warstwy sesji byłyby korzystne. Udało się opracować wiele różnych usług sieciowych, protokołów zastrzeżonych i protokołów OSI, które pokazują znaczenie tej warstwy. Należą do nich RPC, Structured Query Language (SQL), X Windows System i X Terminal, Network File Services (NFS), Apple Talk Session Protocol (ASP) oraz Apple Talk Zone Information Protocol (ZIP). Bez warstwy sesji byłoby znacznie trudniej kontrolować informacje aplikacji komputerowej przesyłane przez sieci.
Te usługi i protokoły wykonują różne funkcje. SQL jest językiem komputerowym używanym do tworzenia żądań, które są wysyłane do baz danych w celu uzyskania określonych informacji ustrukturyzowanych w pożądany sposób. X Windows System i X Terminal pozwalają komputerom w sieci, niektóre z ograniczonymi możliwościami, łączyć się z komputerami serwerowymi, dzięki czemu komputery klienckie mają możliwości graficzne i interfejsowe z urządzeniami takimi jak monitory, myszy i klawiatury. Protokół NFS emuluje lokalny dostęp do plików znajdujących się na zdalnych serwerach plików w sieci. Protokoły ASP i ZIP Apple Talk były używane we wczesnych wersjach systemów operacyjnych Macintosh, ale zostały zastąpione protokołami opartymi na protokole IP po wydaniu systemu operacyjnego Mac OS X.