Wpis z mikrobloga

#ccna #siecikomputerowe #cisco

Panie i Panowie, idzie mi coraz lepiej z kursem, wszystko fajnie, ale ciagle mnie nurtuje jedna sprawa. Jak to jest z ta warstwa sesji. Czy ktos moze mi jako jakos 'urzeczywistnic' ? cyz to jest tak jak z Bogiem, ze jest ale go nie widac ?Poki co materialy/instruktor mowi bardzo skrotowo. 'Warstwa 5 to warstwa sesji' , kropka...
Czy macie moze jakis dokument ktory by to opisywal w rzeczowy sposob na jakims przykladzie ?
Mam jakies mgliste wyobrazenie/swoje jakies teorie spiskowae jak to moze wygladac/ jak to rozumiec, ale nie jestem tego w ogole pewien:
To moje jakby wyobrazenie ze , powyzej L4 to juz jest warstwa generalnie aplikacji w modelu TCP/IP. Warstwa sesji to L5 w ISO/OSI.
Cale TCP i polega na komunikacji na portach, klient otwiera swoj port, do serwisu na porcie XYZ, na hoscie X.
Samo TCP nic nie otwiera w sensie jak protokol sluzy do kontroli transmisji, no i tak sobie mysle o tym ze transmisje TCP nie otwiera jakis skrzat tylko ktos to musi zainicjowac, rozpoczac, zakonczyc, i miec nad tym kontrole. I tutaj wlasnie chyba jest ta warstwa sesji, ze ona wlasnie tym zarzadza.
TCP samo z siebie nic nie umie zrobic, musi dzialac na rzadanie sesji. TCP 3way handshake ktos musi zarzadzic. Wiec Developer ma potrzebe napisania apliakcji X sieciowej , zeby splikacja kliencie rozmawiala po porcie 83 z aplikacja serwerowa na hoscie Y.
Ta warstwa sesji jest 'absraktowana?' dla developera w bibliotece do tego sluzacej. winsock, czy unix sockets.
Ta ' warstwa sesji ' nie ma nic wspolnego z sesja HTTP czy tam mechanizmami utrzymywania sesji L7 , prawda ?
Ta warstwa sieci jest w L5 i jest podlozem dla developera,
developer nie bawi sie w pisanie 'sieci' ,developer po prostu dostaje mechanizm od systemu do otiwerania polaczenia np, TCP , na porcie, do hota typu nie wiem.. connect (host1.labs,80,costam) . server ma accept(), listen() , i developera nie interesuje jakim cudem ta 'SESJA" jest zrealizowana w TCP, po prostu dziala, jak klient zrobi connect, to 3way handshake sie wykona, i dalsza komunikacja , wymiana informacji odbywa sie w oparciu o ta sesje.
Gdzie sesja to jest jakby na chlopski rozum : kanal komunikacyjny otworzony przez 3way hadnshake i zakonczony FINem.
Jeden developer napisze aplikacje ktora ma 1 polacznie TCP, inny developer napisze tak ze beda 2 lub wiecej polaczen, to zalezy tylko od niego.

a polaczenie = klient.connet(server,port)

b server.listen(ip,port) , jak serwer odbierze polaczenie to podobno te polaczenie jest jakos 'kopiowane/klonowane' i zestawia sie w te miejsce znowu wolne miejsce na kolejne polaczenie kolejnego klienta, a wczesniejszy klient ma swoj wlasny kanal rozmowy.

Po polaczeniu, developer po prostu jak chce wysylac dane do je wysyla dane

a polaczenie.wyslij(512b)

b odpalonePolaczenie.#!$%@?(xxx)
w zaleznosci co klient wyslal, server to odbiera, procesuje, i moze wyslac jakas odpowiedz spowrotem.

i caly czas ta komunikacja jest zawarta w 1 polaczeniu tcp ? , i np. ten wisock, dba o to ze np. jak sie jakis segment zgubi, to on to wykryje i ponowi wyslanie ? I po prostu dewelopera nie interesuje to ze gdzies tam jakis HOP umarl po drodze i mu sie segment zgubil, on po prostu polega na tmy protokole sesji, ktory to wykryje w tle, i zrobi co trzeba zeby cala transmisja odbyla sie w porzadku. Ew , jak nie da rady to po prostu zroci mu jakis error ze blad sieci, i program sie zamknie z kodem bledu np. ?

Zastanawia mnie co tak na 100% oznacza termin TCP Session, i TCP connection, czy to jest jedno i to samo, bo w paru zrodlach ludzie mowili ze : nie ma znaczenia czy to nazwac tcp sesison,connection to jedno i to samo. Tylko czy np. to nie jest tak ze tcp session moze zawierac w sobie wiele polaczen tcp ?

Jedyne co sam potrafilem zdzialac probojac sobie to zwizualizowac to po prostu odpalilem netcat listener i netcat client, i zobaczylem w wiresharku co tam sie dzieje. widac 3way handshake i jak wysyla msobie tekst na kliencie to dac tylko pakiety z danymi , nie otwiera sie nowe 3way handshake czy cos.
Jak zakoncze rozmowe, to widac FIN, aplikacje sie wylaczaja.

Wiec ta warstwa sesji np. tutaj to nie jest tak ze to 'aplikacja ja realizuje' tylko ze jakis developer tego netcat'a po prostu zaincludowac bilioteki winsock/sockets i te poleczenie realizuje za ich pomoca, tak ?

Czy moglby ktos mnie poprawic, wytlumaczyc lub skierowac do jakis dokumentow ktore pomoga to zrozumiec ?

Wczesniej probowalem zrozumiec warstwe sieci za pomoca przegladarki ale to chyba bylo zbyt skomplikowane, ludzie ktorzy mi tluamczyli cos mieszali mi z cookies imowili ze to sesja(nie wiem czy to prawda ale chyba nie). Plus tam ciezko zrozumiec ide tego poalczenia, bo jak sie odpali url prostej strony html, to widac np. 2 polaczenia od rauz, 1 do html + 1 do ico strony i tez tak dziwnie to troche bylo zrozumiec widziec jak jest utrzymywany ten kanal rozmowy.

Mozna tez w google wyczytac ze protokol warstwy siec ito iSCSI np. W sensie ze utrzymuje polaczenie do wymiany danych i pilnuje tej sesji, ale tez to ciezko jakos sobie wyobrazic. Oprocz tego rpc, l2tp.
Tzn ze kazdy z tych protokolow implementuje swoj sposob na utrzymanie tego polaczenia i kontroli TCP ?

Z gory dziekuje.
  • 3