Polski Związek Krótkofalowców

 

Polski Klub Radiovideografii

;

Nawigacja:  Pakiet AGWPE dla portow radiowych packet AX.25 >

Troche informatyki dla krotkofalowcow

Print this Topic Poprzednia strona Powrót to początku rozdzału Następna strona
Rozszerz wszystkie elementy   Zwiń wszystkie elementy

Rozdział opisuje następującą tematyke:

 

 

Troche informatyki dla krótkofalowców

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

 

 

Model odniesienia OSI
Klikaj na obrazku

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 OSI skł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ą . Np Warstwa Transportowa wg tego rysunku rozmawia z Warstwą Sesji wyzej położoną oraz z Warstwą 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 polozona Warstwa 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 raczej z zasadami jakich 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/IP zostanie przedstwiony później , Jednak Model odniesienia OSI jest często używany do opisywania zjawisk zachodzących w komunikacji rozległej A oto opis funkcji wykonywanych przez poszczególne warstwy:

 

       Warstwa fizyczna

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

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

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

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 sesji

Warstwa sesji rozpoczyna 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

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

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ęcie serwer 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 program Client któ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ęcie SERWER należy zdawać sobie sprawę że SERWER takż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 do portu 80 (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 OSI nie 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 systemie Windows lub Linux-Unix

Warstwa Internetu . Protokół Internet IP jest 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 odpowiednie programy -sterowniki zawarte w EPROM-ie hardwaru urządzenia fizycznego lub w komputerze w systemie Windows lub Linux-Unix

Warstwa transportowa Host to Host . Najważniejsze protokoły w tej warstwie to Transmission 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 jest protokoł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-socket któ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ęcie segment Protokoły tej warstwy mogą być realizowane przez przez programy -sterowniki zawarte w EPROM-ie hardwaru urządzenia fizycznego lub w komputerze w systemie Windows lub Linux-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ęcie strumień (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 POP3 do 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 komputera www.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

Pojęcia PORT , SERWER , CLIENT zostały omówone wcześniej dla modelu odniesienia OSI i tutaj mają takie samo  zastosowanie

 

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 SERWER omó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ół AX25 jako 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