Gyakorlati alapok III.

Hálózati alapfogalmak

 

Csomag (packet)

Protokoll

OSI-modell

TCP-modell és protokoll

UDP

A portok

HTML

WWW

 

Az alábbiakban egyszerű magyarázatokkal csakis azon fogalmakat dolgozzuk ki, amelyek megértése feltétlenül szükséges a Java hálózati algoritmusainak megértéséhez.


Csomag (packet)


A régi időkben a vonalas telefonösszeköttetés azt jelentette, hogy 2 telefon között fizikailag kapcsoltak össze vonalakat, azokon pedig váltakozó jelszintek (feszültségértékek) száguldoztak egyik készüléktől a másikig. A telefon voltaképpen nem tett mást, mint ezen különböző feszültségértékeket alakította át beszéddé, hasonlóan a hangszóróhoz és a mikrofonhoz. A vonalbontás pedig pontosan az ellenkezőjét jelentette: a vonalak fizikailag kerültek szétkapcsolásra. Vegyük észre azt is, hogy a hívás a 2 telefon közötti kapcsolatot alapjában véve teljesen lefoglalta.


A mai modern időkben a hálózatban lévő számítógépek már folyamatos fizikai kapcsolatban állnak egymással. Az első kérdés, hogy be vannak-e kapcsolva. Ha igen, akkor végeredményben indulhat a kommunikáció. A modern hálózati vezetékekben is feszültség van, ám ennek értéke viszonylag állandó: az információ átviteli jellege nem analóg, hanem rendkívül gyors, digitális (bináris) jelsorozatok formájában történik.

 

www.informatika-programozas.hu - Bitek

 

A hálózaton ezek a jelsorozatok úgynevezett csomagokat (packets) alkotnak. A csomagok rengeteg fontos és intelligens információt hordoznak magukban, például a kötelezően szállított információn felül a küldő és a vevő címét.

 

www.informatika-programozas.hu - Csomag

 

Forrás - Source: dummies.com

 

Emiatt és más tényezők miatt a csomagokat irányítani lehet, azaz akár többféle útvonalon is képesek elérni a vevőt. Az irányítást a célirányosan erre a feladatra tervezett számítógépek, útválasztók, a router-ek végzik:

 

www.informatika-programozas.hu - Router

 

(Tartalmilag-formailag nézve sokféle router létezik, a fenti kép egy kis teljesítményű, polgári használatra tervezett gépet mutat.)

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

A vonal egy szegmense csakis addig foglalt, amíg a csomag átszáguld rajta (elméletileg közelítő fénysebességgel), sőt, ha szakadt, akkor a router képes azt egy másik útvonalra is átirányítani.

 

Érzékelhetjük tehát behozhatatlan előnyeit:

Protokoll


Hálózatba kötött számítógépek jól meghatározott, szabványos lépésekben kommunikálnak egymással. A kommunikációs szándék sokféle lehet, például az egyik számítógép csak adatokat akar letölteni a másikról, de lehet, hogy fel is szeretne valamit tölteni. Meglehet, még ennél is egyszerűbb kérdése van, például milyen IP-címen érhető el az informatika-programozas.hu weboldal?


Ebből következően, feladattól függően sokféle protokoll létezik.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

A protokollt, mint előre jól meghatározott (szabványos) kommunikációs sorozatot leginkább úgy tudjuk elképzelni, amint a főnök úr kiadja titkárnőjének, hogy rendeljen hétvégére 2 bécsi koncertjegyet. Egyenesen a szándéktól kezdve a rendelési lépéssorozat kis eltérések kivételével viszonylag determinált, azaz jól meghatározott és pontosan nyomon követhető, egyúttal reprodukálható.

 

Vegyük észre, hogy az is a protokoll része: maga a Főnök nagy valószínűséggel sohasem fog saját maga koncertjegyrendeléssel foglalkozni, hanem mindig ki fogja adni a feladatot a titkárnőjének. Valójában a kérés végig fog futni egy fentről lefelé induló hierarchián, amelynek éppúgy része a felhasználó, mint a számítógép szoftver-, és hardverrétegei, egészen le a hardver szintjéig, ahol digitális jelek formájában átvágtat a másik oldalra, majd mindez lentről felfelé folytatódik. Ha mindezt megértettük, valójában megértettük a következő címszó jelentését is:


OSI-modell


www.informatika-programozas.hu - OSI-modell

Forrás - Source: hu.wikipedia.org/wiki/OSI-modell

 

Az Open Systems Interconnection Reference Model, azaz a Nyílt Rendszerek Összekapcsolásának Referenciamodellje reprezentálja elvi szinten a fenti hierarchikus protokollfolyamatot. Belőle a végfelhasználó természetesen ki van hagyva, hiszen jelenléte nem lényeges a protokollfolyamat elvi felépítéséhez, azonban a protokollért felelős összes szoftver-, és hardverkomponenst tartalmazza.

 

Mit jelent ez a gyakorlatban?


Amikor a felhasználó ráklikkel a programban egy olyan gombra, amelynek működése valamilyen formában hálózatot igényel (például a CSATLAKOZOM feliratúra), akkor a felhasználó kiad egy parancsot az alkalmazásnak (a legfelső szinten lévő programnak - alkalmazási réteg). Az alkalmazásnak ekkor csak egy feladata van: a parancsot értelmezhető formátumban továbbadni a hierarchiában alatta lévőnek. (Vegyük észre, az alkalmazás alatt lévő réteg nem tudja értelmezni a klikkelés által kiadott parancsot, ám az alkalmazási rétegnek sem feladata a hálózati kommunikáció kiépítése.) A lánc így fog lefutni a küldő oldalon egészen a hardverig (fizikai réteg), ahol csomagok formájában végigrohan a hálózaton (miközben routerek irányítják őket), majd megérkezvén a vevőhöz, a lánc felfut egészen a vevő alkalmazási rétegéig.


Vegyünk egy másik példát: szeretnénk tervezni egy hálózati kártyát.

 

www.informatika-programozas.hu - Hálózati kártya

 

Egy ilyen eszköznek egyetlen funkciója van: számítógépek közötti biztonságos hálózati kapcsolat létrehozása. Azonban ezen funkcióért nem a felső rétegek felelősek, hanem csakis az adatkapcsolati réteg. Ezt és sok mást a szabvány specifikációjában olvashatjuk el, amelynek szempontjait, szabványos követelményeit a tervezés során -jól felfogott érdekünkben-, lépésről-lépésre kell követnünk, másként nem fog megfelelően működni hálózati kártyánk.


TCP-modell és protokoll

 

www.informatika-programozas.hu - Modellek

Forrás - Source: searchnetworking.techtarget.com


A Transmission Controll Protocol a fenti, elméleti OSI-modell konkrét megvalósítása, egy olyan megbízható kommunikációs protokoll, amely garantálja, hogy a küldőtől a csomagok helyes sorrendben érkezzenek a vevőhöz. Ennek meghiúsulása esetén hibajelzést ad. Jónéhány alkalmazás igényli ezt a fajta kapcsolatot, például:

UDP


A User Datagram Protocol nem biztosít megbízható kapcsolatot az alkalmazások között, csupán egymástól független csomagokat képes küldeni. A csomagok szállítása tehát nem garantált, sorrendjük sem fontos, valamint mindegyik üzenet különbözik a másiktól. Következésképpen a rövid, inkább tájékoztató jellegű információk szállítási módja, például:

A portok


Felvetődik a kérdés: ha egyidőben rengetegféle kommunikációs (hálózati) alkalmazás működik, akkor a számítógép miképpen tudja azonosítani a beérkezett csomagok vevőit?

 

A rendszertervezők természetesen erre is gondoltak: a 32 bites IP-cím mellé még egy 16 bites szám is hozzá lett rendelve, amely a minden programnak egyedi azonosítási lehetőséget biztosít. Ezek az úgynevezett portok, számuk 0 és 65536 között lehetséges. Mivel vannak standard, folyamatosan használt, ezért tartalmilag szinte szabványos hálózati alkalmazások, szolgáltatások (böngésző, FTP-kliens, video-, és chat-alkalmazások, stb.), a legismertebbek fix lekötésű portszámot kaptak. Nézzünk meg néhányat közülük:

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Általánosságban kijelenthetjük, hogy az első 1000 port foglalt, vagy tekintsük mindegyiket annak, a többivel gazdálkodhatunk tetszésünk szerint (ám előtte azért ellenőrizzük le foglaltsági státuszukat).
 

HTML


A Hyper Text Markup Language egy olyan szabványba gyömöszölt leírónyelv, amely szöveg és sok más vizuális tartalom (viszonylag) egységes megjelenítésére képes.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Alapelgondolása az volt, hogy a szöveg-, és vizuális tartalom minden számítógépen ugyanúgy nézzen ki, amely jogos elvárás a rengetegféle számítógéptípus és operációs rendszer esetén.

 

Ezen követelménynek a szabvány alapértelmezésben megfelel, azonban gyakran felmerülő probléma, hogy főként a böngészőket készítő programozó cégek a szabványt a maguk elképzelései szerint alakítják, formálják, implementálják és a szabványtól való egyedi eltérés előbb-utóbb bonyodalmakhoz, valamint veszekedésekhez vezet. Nézzünk meg egy egyszerű HTML-oldalkódot:

 

<!DOCTYPE html>
    <html>
        <head>
            <title>Az oldal címe</title>
            <!--esetleges további fejléc-információk-->
        </head>
    <body>
        <p>első bekezdés</p>
        <p>második bekezdés</p>
    </body>
</html>


Jegyezzük még meg, hogy a tartalommegjelenítés manapság már olyan bonyolult folyamategyüttessé vált, hogy már egyszerű tartalom megjelenítéséhez is egyszerre több platform és programozási nyelv összehangolt munkája szükséges.

 

WWW

 

A World Wide Web Consortium (W3C) egy konzorcium (ebben az esetben egyfajta szabadalmi és felügyeleti társulást jelent), amely az Internetet működtető alaptechnológiákat felügyeli, szabványosítja, valamint új szabványokra tesz ajánlásokat. Vezetője az a Tim Berners Lee, aki még CERN-tudósként a világ első honlapját alkotta meg.

 

www.informatika-programozas.hu

Forrás - Source: www.businessinsider.com