W tym miejscu dociekliwy czytelnik zada pytanie jak to się dzieje ze jest możliwa praca poprzez wiele portów radiowych . Poza tym napewno nurtuje go pytanie:
Dlaczego programy użytkowe jak np przegladarka ww czy poczta potrafią przesyląc dane niezależnie jakie lącze fizyczne (ethernet, WiFi radiowe, druty telefoniczne ) zostają użyte jako nośnik danych . Dzieje się tak dlatego iż międzynarodowe organizacje standaryzujące przyjeły pewien standard normalizacyjny dla komunikacji sieciowej dla programów korzystajacych z funkcji komunikacyjnych . Inaczej mówiąc programy "muszą rozmawiać ze sobą tym samym językiem"- tak jak ludzie
Tutaj musimy zapoznac czytelnika z pewnymi podstawowymi pojęciami informatycznymi jakie powinien znać krótkofalowiec korzystający z nowoczesnych srodków komunikacyjnych
Takim standardem normalizującym zasady przesyłania danych jest standard opracowany przez Międzynarodową Organizację ds Standardów (International Standards Organisation - ISO) nazwany
Komunikacja w warstwowym modelu przesyłania danych odbywa się z góry stosu w dół w czasie nadawania i z dołu w góre w czasie odbioru danych . Poza tym istnieje full duplex tzn. warstwa może jednocześnie nadawać i odbierać.
Model odniesienia OSIskłada się z 7-miu warstw definujacych protokoły komunikacji danych (protokół to nic innego jak definicja języka i jego zasad) w jakim rozmawiają ze sobą poszczególne warstwy z warstwą niżej położoną oraz z warstwą wyzej polożoną . NpWarstwa Transportowa wg tego rysunkurozmawia z Warstwą Sesji wyzej położoną oraz zWarstwą Sieciową niżej polożoną . Po lewej stronie jest reprezentowany 1-szy komputer HOST a po prawej stronie jest 2-gi oddalony komputer HOST które komunikuja się poprzez łącze fizyczne "podlączone " z obydwu stron do Warstwy fizycznej . Prócz tego Warstwa Transportowa 1-szego HOST-a komunikuje się poprzez niżej połozone warstwy z Warstwą Transportową 2-giego oddalonego HOST-a i dlatego powinny mięc uzgodniony język (zasady) w jakim rozmawiają . Natomiast Wartwa Transportowa nic nie wie i nie obchodzi ją w jakim języku rozmawiaja niżej polożone warstwy np Warstwa Sieciowa z warstwami nizszymi (tu z Warstwą Łacza Danych) . Tak więc najwyżej polozonaWarstwa Aplikacji (reprezentująca program użytkowy) nic nie wie i ją to nie obchodzi jakie fizyczne łącze danych zostanie uzyte i tutaj mamy odpowiedz na pytanie wcześniej zadane - patrz wyżej
Dla każdej warstwy może istniec wiele protokołow realizujących inne funkcje . Np dla Wartstwy Aplikacji istnieją protokoły poczty elektronicznej (POP i SMP) , przesyłania plików (FTP) , przeglądania stron WWW (HTTP) . Pojęcie języka wspomnianego wyżej nie jest jeszcze sciśle związane z pojęciem protokół a raczejz zasadamijakich dana wartwa musi używać w celu komunikacji . Dolna Warstwa Fizyczna definuje komponenty fizyczne , takie jak kabel, łacze WiFi radiowe , modemy telefoniczne , modemy TNC (dla naszej transmisji packet radio) oraz transmisję bitów między sytemami . Następne warstwy okreslaja metody upakowania i adresowania. Wyżej znajdują się metody podtrzymywania sesji komunikacyjnej. Najwyższe warstwy opisuja sposób wykorzystania przez aplikacje systemów komunikacyjnych - do wzajemnej współpracy z aplikacjami na odległym systemie 2-giego komputera HOSTA.
Protokoły TCP/IP nie korzystają w siedmiowarstwowego modelu odniesienia OSI , Model dla TCP/IPzostanie przedstwiony później , JednakModel odniesienia OSIjest często używany do opisywania zjawisk zachodzących w komunikacji rozległej A oto opis funkcji wykonywanych przez poszczególne warstwy:
Warstwa fizyczna określa parametry urządzeń niezbednych do przenoszenia sygnału transmitującego dane.Przykładami standardów warstwy fizycznej są interfejsy RS232, V.35 lub standardy okablowania dla sieci lokalnych dla kabli typu skrętka Twisted Pair , czy kabel koncentryczny.
Warstwa łącza danych zapewnia niezawodne dostarczenie dostarczenie danych przez znajdującą się ponizej sieć fizyczną . TCP/IP rzadko tworzy protokoły dla tej warstwy .Warstwa ta czesto jest obsługiwana przez wyspecjalizowany sprzęt np karty sieciowe ethernet , karty WiFI radiowe, dla krotkofalowców TNC dla packet radio , modemy w oparciu o kartę muzyczną Niezawodne to znaczy pilnuje czy wszystkie pakiety dotarły do celu- jednak wartwa ta nie zajmuje się poprawnościa przesyłu danych . Tym zajmuje sie Warstwa Transportowa
Warstwa sieciowa zarządza połączeniem fizycznym i izoluje protooły warstw wyższych od sczegółów związanych z siecią .Warstwa ta obsluguje system adresowania w przyjętej sieci (dla sieci lokalnej to tzw MAC adresy karty ethernetowej) . Dla sieci internetowej TCP/IP warstwa ta obsługuje Internet Protocol (IP) - tj. system adresowania po numerze IP (np.83.124.101.23) .
Warstwa transportowa gwarantuje że odbiorca otrzyma dokładne dane w tej samej postaci w jakiej zostały wysłane . Odbywa się to zazwyczaj przez mechanizmy sum kontrolnych . O ile wystąpi przekłamanie takiej sumy kontrolnej wartwa ta wysyłą pakiety żądające powtórzenia partii danych . W przypadku sieci TCP/IP funkcje tej warstwy są wykorzystywane przez protokół TCP (Transmision Control Protocol) . Jednakże TCP/IP oferuje dla tej warstwy drugi protokół UDP (User Datagram Protocol) , który jest protokołem nie zapewniającym całkowitej pewności przesyłu danych . Używa się go między innymi w celu rozgłoszenia jakiś informacji do wszystkich nasłuchujących.
Warstwa sesjirozpoczyna się z chwilą nawiązania połączenia na żądanym przez warstwę aplikacji porcie i kończy się z chwilą zakończenia połaczenia na tym porcie . Pojęcie port nie ma nic wspólnego z portem fizycznym jakiegoś urządzenia hardwareowego. Pojęcie to zostanie omówione przy omawianiu warstwy aplikacji. Warstwa sesji zarządza właśnie sesjami (połączeniami) . W TCP/IP funkcja ta realizowana jest przez warstwę transportową dla modelu TCP/IP. Termin sesja nie jest tam używany a tylko pojęcie "gniazdo" (socket) .
Warstwa prezentacji . Aby współpracujące aplikacje mogły wymieniac informacje muszą uzgodnic w jaki sposób dane są reprezentowane - inaczej mówią jaki sytem kodowania zostanie użyty .W modelu OSI warstwa ta dostarcza procedur standaryzujących system kodowania . W TCP/IP jej funkcje są realizowane przez aplikacje - programy
Warstwa aplikacji to nic innego jak aplikacja - program realizujący inferfejs (graficzny lub tekstowy) dla osoby korzystającej z usług komunikacyjnych . Należą tutaj programy typu client : przeglądarki stron www, programy poczty elektronicznej , Outlook, Thunderbild , program client telnetu , client SSH . Prócz tego należa tutaj aplikacje z którymi użytkownik bezpośrednio nie uruchamia na swoim komputerze ale z usług których korzysta w sposób zdalny. Są to programu spełniające rolę serwera - np serwer Appache www , serwer poczty POP , SMTP, serwer telnetu , serwer SSH i wiele innych . Przy omawianiu warstwy aplikacji należy użytkownika zapoznac z
POJĘCIA SERWER-CLIENT :
•
SERWER . Należy zdawać sobie sprawę iż mówimy tutaj o pojęciu Serwer w sensie programu . To samo okreslenie jest stosowane do urządzenia fizycznego - zaawansowanego komputera .- nie należy go jednak mylić . Nas w tym miejscu obchodzi pojęcieserwer w sensie programowym . By w sieci rozległej można było korzystać z oferowanych usług musi istnieć w sieci Serwer tj. program który świadczy usługi oraz programClientktóry potrafi z usług takich skorzystac . Serwery które swiadczą standardowe usługi mają wyznaczony PORT na którym słuchają . Jest to port w sensie programowym i nie ma nic wspólnego z portem fizycznym. Np Serwery swiadczące usługi www słuchają na porcie nr 80,serwery poczty odbieranej POP na porcie nr .110 , serwer poczty wysyłanej SMTP na porcie nr. 25 . Wyjasniając pojęcieSERWER należy zdawać sobie sprawę żeSERWERtakże posiada pewne cechy interfejsu z administratorem serwera - ale służą one tylko do konfiguracji serwera - tak by można skorzystać z jego usług. SERWER może także współpracowac z innym SERWEREM np. w usłudze przesyłania poczty współpracują ze soba dwa SERWERY pocztowe . Także w usłudze DNS współpracujądwa serwery DNS-owe
•
CLIENT . Jest to program dzięki któremu możemy skorzystać z usług zdalnego SERWERA. Komunikacja pomiedzy CLIENT-em a SERWER-em odbywa się nie na jednym porcie ale na dwóch portach. CLIENT chcacy np skorzystac z usług www wysyła pakiet rozpoczynajacy połączenie i kieruje swoje żadanie doportu80 (www) i podaje proponowany nr.portu na którym będzie słuchać np. 1512 . Jeśli serwerowi z jakiś względow nie odpowiada ten port podaje clientowi inny proponowany port na którym serwer będzie nadawał do clienta. Procedurę powtarzają aż do uzgodnienia wzajemnego numerów portów i od tej chwili rozpoczyna się sesja połączeniowa .szerzej omówioną tutaj .
Każda warstwa dodaje swoje informacje sterujące w postaci nagłówka i umieszcza go na początku paczki danych . Nagłowek warstwy wyższej i dane traktuje jako lączne dane . Podobnie przy odbiorze paczki danych z niższej warstwy zdejmuje nagłowek dotyczący swojej warstwy i przekazuje je jako dane do warstwy wyżej polożonej.
Model odniesienia OSInie jest jedynym modelem przesyłu danych . Internet powstał w oparciu o grupęprotokołow TCP/IP, Dla niego stworzono inny warstwowy model przedstawiony poniżej
Model przesyłania danych w architekturze protokołow TCP/IP
Klikaj na obrazku
Większość opisów tego modelu definuje od 3-ch do 5-ciu funkcjonalnych warstw .. Na rysunku przedstawiono 4-warstwowy model. Podobnie jak w modelu OSI dane sa przekazywane w dół stosu podczas ich wysyłania i w górę stosu przy ich odbiorze .Przy nadawaniu danych każda warstwa dodaje swoje informacje sterujące w postaci nagłówka i umieszcza go na początku paczki danych . Nagłowek z warstwy wyższej i dane traktuje jako łączne dane . Podobnie przy odbiorze paczki danych z niższej warstwy zdejmuje nagłowek dotyczący swojej warstwy i przekazuje te dane do warstwy wyżej polożonej.
Każda warstwa ma swoje niezależne struktury danych i z założenia jest nieświadoma struktur danych używanych przez warstwy wyższą i niższą.A oto opis funkcji wykonywanych przez poszczególne warstwy:
Warstwa Dostępu do Sieci jest najniższą warstwą w hierarchi protokołów TCP/IP. Protokoły tej warstwy są narzędziem dla dostarczenia danych do innych komputerów w sieci. Paczka danych dla tej warstwy nosi nazwęframe (ramka)W odrożnieniu od protokołow wyższych warstw warstwa ta musi znac szczegóły dotyczące sieci (strukturę sieci , adresowanie w sieci i.t.p.) . Protokoły te określaja jak w sieci korzystać z datagramu IP. Warstwa ta zawiera trzy funkcje trzech najniższych poziomów modelu odniesiena OSI(sieciowej, łącza danych, i fizycznej ).Funkcje wykonywane na tym poziomie obejmuja opakowywanie datagramów , tak by stawały się one ramkami przesyłanymi przez sieć oraz zamianę fizycznego adresu IP na fizyczne adresy stosowane w sieci.. Np dla sieci opartej o ethernet jest to adres MAC karty sieciowej . W miarę powstawania nowych technologii przesyłu danych (ATM na swiatłowodzie , WiFi ) powstają nowe protokoły dla każdego fizycznego standardu sieci . W warstwie tej programy realizujące funkcje tej warstwy są osobne dla każdej technologii przesyłania danych i zazwyczaj są umieszczane w EPROM-ach urżądzeń fizycznych Możliwe są jednakże wyjątki od tej reguły i funkcje tej warstwy mogą być wykonywane przez odpowiednie programy- sterowniki w komputerze w systemieWindowslubLinux-Unix
Warstwa Internetu . Protokół Internet IPjest sercem TCP/IP i najważniejszym protokołem tej warstwy. IP umożliwia dostarczenie pakietów na bazie których zbudowane są sieci TCP/IP . Wszystkie protokoły warstw wyższych używają dla dostarczenia danych protokołu IP.Pakiety danych w tej warstwie mają nazwędatagramy. Protokół IP zajmuje sie definiowaniem adresu w nomenklaturze przyjętej w sieci Internet tj tzw adres IP . Także zajmuje sie dokonywaniem fragmentacji nadawnych paczek danych i defrafmentacją ich w czasie odbioru.
Protokół IP jest tzw protokołem bezpołączeniowym . Oznacza to iż nie wymienia on żadnych informacji ustanawiającym połączenie . Tym zajmuje się warstwa wyższa . Podobnie IP zdaje się na warstwy wyższe jeśli chodzi o wykrywanie błędów i ewentualne ich usuwanie
Pojęcie datagram definuje paczkę danych . W takim datagramie muszą sie znależć dane adresowe tj adres IP . Każdy pakiet podróżuje po sieci stosownie do adresu zawartego w nagłówku datagramu . Protokoły tej warstwy mogą być realizowane przez przez odpowiednieprogramy -sterownikizawarte w EPROM-ie hardwaru urządzenia fizycznego lub w komputerze w systemieWindows lubLinux-Unix .
Warstwa transportowa Host to Host . Najważniejsze protokoły w tej warstwie toTransmission Control Protocol TCP i User Datagram Protocol UDP . Protokół TCP gwarantuje że odbiorca otrzyma dokładne dane w tej samej postaci w jakiej zostały wysłane . Odbywa się to zazwyczaj przez mechanizmy sum kontrolnych nadawanych wraz z paczką danych. O ile wystąpi przekłamanie takiej sumy kontrolnej wartwa transportowa wysyłą pakiety żądające powtórzenia partii danych . TCP jestprotokołem polączeniowym TCP - tzn przed wysłaniem danych wysyłane jest żadanie ustanowienia połączenia SYN , które odbiorca potwierdza specjanym pakietem gotowści ACK Po zsynchronizowaniu wzajemnym ustanawiane jest tzw. gniazdo-socketktóremu nadaje się numer i które jednoznacznie definuje zestawione połączenie. Model TCP/IP oferuje dla tej warstwy także drugi protokół UDP (User Datagram Protocol) , który jest protokołem nie badającym na początku czy odbiorca jest gotowy do przyjęcia danych (bezpołączeniowy) i z tego powodu nie zapewnia całkowitej pewności przesyłu danych . Używa się go między innymi w celu rozgłoszenia jakiś informacji do wszystkich nasłuchujących- wtedy jako adres IP podaje się np 84.123.255.255 - co oznacza że informacja ma dotrzeć do wszystkich komputerów w podsieci 84.123.xxx.xxx . Oczywiście może on także slużyć takze do przesyłu danych .Jako paczka danych w tej warstwie jest używane pojęciesegmentProtokoły tej warstwy mogą być realizowane przez przez programy -sterowniki zawarte w EPROM-ie hardwaru urządzenia fizycznego lub w komputerze w systemieWindowslubLinux-Unix
Na szczycie architektury protokołów TCP/IP znajduje się warstwa aplikacji. W tej warstwie nie jest stosowane pojęcie paczki danych a raczej jest stosowane pojęciestrumień (stream) . Istnieje wiele różnych protokołów różnych aplikacji . Wiekszość dostarcza użytkowniko pewnych usług . Najbardziej znanymi są:
•
TELNET Network Terminal Protocol . Protokół terminali sieciowych - pozwala na zdalną pracę na odległym hoście. W krotkofalarstwie jest stosowany do pracy na Clusterach - DX-Spotach w programach logujących
•
FTP File Transfer Protocol- Protokół transmisji plików używany do przesyłania plików
•
SMTP Simple Mail Transfer Protocol - do wysyłania poczty elektronicznej
•
POP lub POP3do pobierania poczty elektronicznej
•
DNS (Domain Name Service) . Jest to usługa zapewniająca przetłumaczenie nazwy komputera z postaci domenowej . np www.onet.pl na adres IP np 83.212.123.8 . Podroż pakietów po swiecie odbywa się wg adresu IP a nikt nie będzie pamiętał dokładnie numeru IP konkretnego serwera. Dlatego w sieci istnieją tzw . serwery DNS które zamieniająją taką nazwę na adres IP . Wszyskie serwery DNS tworzą tzw rozproszoną bazę danych DNS . W Internecie istnieje kilka tzw serwerów głównych-root które przechowują żródłowe informacje . Zapytanie o adres IP wyzej wspomniego adresu www.onet.pl odbywa się wg schematu:
•
do serwera root zostaje najpierw wysłane zapytanie - podaj mi adres IP serwera który przechowuje adresy dla domeny .pl
•
po uzyskaniu tego adresu zostaje skierowane do nowego adresu przechowującego domenę .pl - zapytanie - podaj mi adres IP komputera gdzie jest przechowywana domena .onet.pl
•
po uzyskaniu tego adresu zostaje skierowane do nowego adresu przechowującego domenę .onet.pl - zapytanie o podanie adresu IP dla konkretnego komputerawww.onet.pl
•
DHCP - Dynamic Host Control Protocol . Protokół sluży do automatycznego przyznania adresu IP dla komputera proszącego o przyznanie takiego adresu w sposób automatyczny Przyznanie takie następuje z puli adresów posiadanej przez serwer jako dynamiczny kolejno wolny lub na podstawie tzw . adresu fizycznego MAC karty sieciowej ethenet komputera . Przykładem może być lokalna siec która na styku z Internetem posiada router-firewall a przyznanie adresu IP odbywa sie z tzw . niepublicznej klasy adresów IP 192.168.XXX.XXX
•
SAMBA - protokół do współdzielenia i udostępniania plików i katalogów w sieci . Mogą to byc pliki w systemie Linux jak i Windows . Protokół bardzo przydatny w lokalnej sieci domowej . Do udostępniania użytkownikom zdalnym z Internetu jest mocno niewskazanym . Raczej wtedy należy użyc protokołu FTP
Realizacja funkcji opisanych w modelach warstwowych
Uważny czytelnik zada w tym miejscu pytanie : Co realizuje funkcje opisane w poszczegółnych warstwach modelu odniesienia OSI lub w warstwach modelu przesyłania danych protokołów TCP/IP. Odpowiedzią jest tutaj :
•
Dla warstw oprocz warstwy aplikacji funkcje te realizują odpowiednie programy - sterowniki . Sterowniki te mogą być umieszczone w EPROM-ach urządzeń hardwareowych dla danej technologii przesyłania lub w komputerze skonfigurowanym dla potrzeb tej sieci w systemie Windows lub Linux - Unix . W systemie Windows dla komunikacji w protokole TCP/IP jest przeznaczony tzw " stos protokołów TCP/IP" nazywany często WINSOCK -et.Często zdarza się że jeden program realizuje funkcje dla dwóch lub więcej warstw .
•
Dla warstwy aplikacji funkcje wykonują omówione wyżej programy typu CLIENT lub typu SERWERomówione wyzej
Protokół AX-25- packet radio może być realizowany w warstwie fizycznej np w modemie TNC2C (dla TNC2C składanie pakietów AX-25 odbywa się w samym TNC2C) lub w przypadku modemu baycomowskiego w driverze- sterowniku w komputerze . Znak stacji razem z tzw. SSID-em np SP9AUV-5 jest odpowiednikem adresu MAC dla ethernetu ponieważ jednoznacznie definuje on fizyczny inferfejs _ 5-ty komputera stacji SP9AUV czyli tworzy unikalny w skali swiatowej adres . Jednak protokół AX25jako taki nie jest definiowany w stosie protokołów TCP/IP .Pakiet AGWPE wg. opisanych wyżej zasad jest
STEROWNIKIEM AGPWPE dla fizycznych portów radiowych .
Działa on w warstwie łącza danych, warstwie sieciowej , warstwie transportowej i warstwie sesji jesli odnosimy się do modelu odniesienia OSI , lub w warstwie Internetu , warstwie transportowej host to host jeśli odnosimy się do modelu protokołów TCP/IP . Jeśli dodatkowo zastosujemy driver- sterownik dla modemu baycomowskiego to także warstwa fizyczna będzie obsługiwana przez komputer . Nie dziwmy się że pakiet AGWPE obsługuje prawie wszystkie warstwy modelów przesyłania danych. Protokół AX.25 nie jest standardowym protokołem dla modelu TCP/IP i dlatego nie można było przy realizacji protokołu AX25 skorzystać ze stosu protokołów WINSOCK w Windowsach . Dopiero gdy się chce wykorzystywać funkcjęTCP/IP over AX.25 wtedy sterownik AGWPE może skorzystać z WINSOCK - szczególnie z protokołu TCP