Hálózatkezelés Java-ban

Slides:



Advertisements
Hasonló előadás
4. alkalom – Hálózat Kezelés
Advertisements

A hálózat működése 1. A DHCP és az APIPA
Hálózati és Internet ismeretek
Programozás III HÁLÓZAT.
ISO International Standards Organisation OSI Open System Interconnection ISO International Standards Organisation OSI Open System Interconnection Ez a.
Virtuális méréstechnika Hálózati kommunikáció 1 Mingesz Róbert V
Bevezetés a VoIP technológiába
Bl á zsovics Martin Soós G á bor 9024 Győr, Bisinger sét á ny 32. De á k Ferenc Közgazdas á gi és Informatikai Szakközépiskola Az Internet Által Biztosított.
BEVEZETÉS A WEB VILÁGÁBA
Rétegzett hálózati architektúrák
A TCP/IP hivatkozási modell
Számítógép hálózatok.
A Blown-up rendszer Biczók Gergely Rónai Miklós Aurél BME Számítástudományi és Információelméleti Tanszék Turányi Zoltán Richárd Ericsson Traffic Lab Valkó.
Rétegelt hálózati architektúra
Hálózati alapismeretek
ZigBee alapú adatgyűjtő hálózat tervezése
Hálózati alkalmazások
13.a CAD-CAM informatikus
OSI Modell.
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
Hálózatkezelés, java.net Elek Tibor
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
HÁLÓZAT INTERNET. Weblap címek xikon/index.html xikon/index.html.
Kivételkezelés.
Hálózati és Internet ismeretek
A protokollok határozzák meg a kapcsolattartás módját.
Hálózati eszközök.
Hálózati alapismeretek előadásvázlat
1 Többszörös címek D osztályú IP címek
Létező hálózatok Kapcsolat-orientált csomagkapcsolt adathálózat: X.25.
UDP protokollok User datagram protocol- Felhasználói datagrammprotokoll.
DDoS támadások veszélyei és az ellenük való védekezés lehetséges módszerei Gyányi Sándor.
Hálózati réteg.
Hálózati architektúrák
Tóth Gergely, október 27. HISEC’04, október , Budapest Keretrendszer anonimitási módszerek integrálására Tóth Gergely Budapesti Műszaki.
Tóth Gergely, február BME-MIT Miniszimpózium, Általános célú biztonságos anonimitási architektúra Tóth Gergely Konzulensek: Hornák Zoltán.
Számítógép-hálózatok
Hálózati alapismeretek
Java programozási nyelv Filekezelés
Java programozási nyelv Adatbekérés konzolról
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
Illés Zoltán ELTE Informatikai Kar
A hálózati elemek együttműködése
Hálózat menedzsment Óravázlat Készítette: Toldi Miklós.
Logikai programozás 8.. KIINDULÓ PÉLDÁK
Kommunikáció a hálózaton Kommunikáció a hálózaton.
Mérés és adatgyűjtés laboratóriumi gyakorlat Hálózati kommunikáció 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
Számítógép hálózatok.
Webes MES keretrendszer fejlesztése Kiss Miklós Dániel G-5S8 Tervezésvezető: Dr. Hornyák Olivér.
Hálózatok II. Alapfogalamak.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
"Free phone" Kozellné Szabó Csilla Ozeki Informatikai Kft.
Tűzfal (firewall).
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Óbudai Egyetem Neumann János Informatikai Kar.NET Gadgeteer – Hálózati programozás.
Szállítási réteg II.. Mogyoróhéjban A szállítási réteg az OSI modell egyik legbonyolultabb rétege Fő célja, hogy megbízható, gazdaságos szolgálatot nyújtson.
A szállítási réteg az OSI modell 4. rétege. Feladata megbízható adatátvitel megvalósítása két hoszt között. Ezt úgy kell megoldani, hogy az független.
A TCP/IP protokoll. Az ARPANET eredeti protokollja: Network Control Protocol. 1974: Vinton G. Cerf és Robert E. Kahn: új protokollstruktúra fejlesztése.
Hálózatos programok készítése
Logikai programozás 10..
Számítógépes hálózati alapismeretek - vázlat
Kommunikáció a hálózaton
HTE előadás BME TMIT I. 210 Az internet szolgáltatás mérése az NMHH gyakorlatában – a szolgáltatásminőség EU-s dimenziója Előadók: Torma Zsolt (NMHH)
1 Többszörös címek D osztályú IP címek
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
Válasz a hálózatra, biztonságra, meg mindenre: 7
1 Többszörös címek D osztályú IP címek
Előadás másolata:

Hálózatkezelés Java-ban

TCP-IP hálózatkezelés Alkalmazási réteg: - alkalmazói programok, kiszolgálók, ügyfelek stb. - Alkalmazás programozható felület (API) OS-Kernel réteg - Transport (átviteli) réteg - Hálózatkezelési réteg - Adatkapcsolati réteg

Szállítási réteg: (TCP Fej+(TCPÜzi:Fej+Üzi)) Alkalmazási réteg: Alkalmazásfüggő protokollok (pl. HTTP) Üzenet+fejrész összeállítása (Fej+Üzi) Szállítási réteg: (TCP Fej+(TCPÜzi:Fej+Üzi)) Két gép közötti kommunikáció Kétféle szolgáltatás (TCP, UDP) Hálózati réteg: (IP Fej+(TCPFej+TcpÜzi)) A csomagok hálózaton keresztüli eljuttatása a célig Routing (üzenet átirányítás) stb. Alsóbb rétegek: Adatkapcsolati réteg Fizikai réteg: bitenkénti átvitel

Hálózati programozás A szállítási rétegben definiált protokollokat implementáljuk DE ENNÉL Egyszerűbb Socket implementálása

SOCKET Foglalat, csatlakozó, lyuk, zokni Absztrakt programozástechnikai fogalom Programok kommunikációját megkönnyítő programozható felület Folyamatok, amelyek kommunikálnak Folyamatok: akár egyazon gépen, akár különböző gépen

SOCKET Kliens-szerver kommunikáció A Socketnek két vége van Kliens oldalon Szerver oldalon Összeköttetés alapú socketek (TCP) Adatfolyam (stream) socket A két fél közötti átviteli csatorna Megbízható kommunikáció Kapcsolatot fel kell építeni A csomagok sorrendje garantált Telefon hálózathoz hasonló Adatfolyam: Dedikált hálózati útvonal Cső, amelyben két irány van, az input és az output

Összeköttetés mentes Socket típusok (UDP) Adatcsomag (datagram socket) Nem eléggé megbízható a szolgáltatás Csomagok elveszhetnek vagy később érkezhetnek Csak szerencse kérdése, hogy egy elküldött csomag megtalálja-e a címzettet Hagyományos levélküldéshez hasonlít

A kommunikáció eszközei Socket (csővezeték) Kommunikáló gépek azonosítása: erre való az IP cím Gépen belül a kommunikáló folyamatok azonosítása: erre való a PORT

PORT 16 bites szám (össz. 65536 db.) „Szabványos” portok (http, ftp) Szabadon használhatók: a 2000 felettiek A hivatkozás módja: IP_CÍM:PORT Pl. 192.168.1.1:13312

Összeköttetés alapú hálózatkezelés A kiszolgáló oldaláról: TCP port lefoglalása Portra rákapcsolódás, üzenetre várakozás Csatlakozás esetén kapcsolat felépítése Üzenetek fogadása és küldése Kapcsolat lebontása Port elengedése

Összeköttetés alapú hálózatkezelés Az ügyfél lépései: Kapcsolódás az kiszolgáló gép adott portjára Ha a szerver aktív, akkor a kommunikációs csatorna felépül Adatküldés, adatfogadás (forgalmazás) Kapcsolat bontása

Összeköttetés mentes hálózatkezelés Kiszolgáló és ügyfél is: Létrehoznak egy UDP kommunikációs portot Ezen keresztül adatcsomagokat küldenek és fogadnak Minden csomagot külön meg kell címezni Lekapcsolódnak a portról

Hálózatkezelés Java-ban Csak összeköttetés alapú hálózatkezeléssel foglalkozunk (de UDP datagramok is vannak…) A java.net csomagban

Kiszolgáló programozása Port definiálása (beolvasandó értékként vagy rögzítetten) Pl. int port=13310; Kiszolgáló foglalat létrehozása: ServerSocket ss; ss=new ServerSocket(port); Ügyfél kapcsolódási kérelmének kezelése: A szerver létrehoz egy összeköttetést (TCP kapcsolatot az ügyféllel) Socket s; while (true) { s=ss.accept(); }

Kiszolgáló programozása A kommunikációs csatorna adatfolyamának lekérése: BufferedReader input=new BufferedReader( new InputStreamReader(s.getInputStream()); PrintWriter output = new PrintWriter (s.getOutputStream); Üzenetváltás a csatornában: request=input.readLine(); output.println(response); output.flush(); Kapcsolatbontás a klienssel s.close(); Hálózatkezeléses üzemmód bontása: ss.close();

Ügyfél programozása A szerver megadása: IP cím: String – névfeloldás automatikus Port: Integer String ipcim=„gamma.ttk.pte.hu” vagy String ipcim=„192.204.13.2” Kapcsolódás a kiszolgálóhoz. Foglalat létrehozása. Socket s=new Socket(ipcim,port);

Ügyfél programozása Elkérjük a kommunikációs csatorna adatfolyamait: BufferedReader input = new BufferedReader( new InputStreamReader(s.getInputStream())); PrintWriter output=new PrintWriter( s.getOutputStream()); Üzenetváltás a csatornában: request=input.readLine(); output.println(response); output.flush(); A kiszolgáló kapcsolat bontása: s.close();

Mi hiányzik még? Hibák kezelése: Kivételkezelés!!!! Megszakad a kapcsolat Foglalt a port Nem létező IP cím Kivételkezelés!!!! A Java megköveteli try-catch-finally szerkezet

Kiszolgáló példa import java.io.*; import java.net.*; public class Szerver { static int port; static ServerSocket ss; static Socket s; static online=1;

public static void main(String args[]){ try{ ss=new ServerSocket(port); }catch(Exception e){} while(online){ try{ s=ss.accept(); kiszolgal();} catch(Exception e){} finally{ try{s.close();} catch(Exception e){} }//while try{ss.close();} catch(Exception e){} }

public static void kiszolgal(){ BufferedReader input= new Bufferedreader( new InputStreamReader( s.getInputStream())); PrintWriter output = new PrintWriter( s.getOutputStream()); /*itt történik a kiszolgálás*/ String be=input.readLine(); output.println(String ki); output.flush(); }

Ügyfél (vázlat) socket s=new Socket(ip_cim,port)… BufferedReader… PrintWriter… input.readLine()… output.println() output.flush()… s.close()…