Számítógép hálózatok 7/1 Bilicki Vilmos.

Slides:



Advertisements
Hasonló előadás
A számítógépes hálózatok és az Internet
Advertisements

4. alkalom – Hálózat Kezelés
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Készítette: Nagy Márton
Hálózati és Internet ismeretek
Elektronikus aláírás Balogh Zsolt György egyetemi docens
Tempus S_JEP Számítógép hálózatok Összefoglalás Összefoglalás Összeállította: Broczkó Péter (BMF)
1 Internet. 2 WWW  World Wide Web  Hivatkozásokkal összekötött hipermédia dokumentumok rendszere  Dokumentumok -> Weboldalak  A weboldalak hipertext.
Az internet és a web A HTML alapjai.  „Úgy gondoljuk, hogy a világpiacon talán öt darab számítógépet tudnánk eladni.” (Thomas Watson, az IBM elnöke,
IPSec.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Készítette: Bátori Béla 12.k
Hálózati alapfogalmak, topológiák
Számítógép hálózatok.
HÁLÓZATOK.
Az Exchange/Outlook rendszer n Ebben a részben az olvasó megismerkedik – Az Exchange serverrel – Az Outlook 97 csoportmunka szoftverrel.
Hálózati architektúrák
Többfelhasználós és internetes térkép kezelés, megjelenítés.
Az elektronikus kereskedelem biztonsági kérdései és válaszai
Titkosítás Digitális aláírás Szabványosított tanúsítványok
Bevezetés a Java programozásba
1 Hálózati Operációs Rendszerek gyakorlat Bevezető Előadó: Bilicki Vilmos
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Digitális Aláírás ● A rejtjelező algoritmusokon alapuló protokollok közé tartozik a digitális aláírás is. ● Itt is rejtjelezés történik, de nem az üzenet.
Osztott alkalmazások kezelése. VIR elosztott architektúra indítékai: - meglévő komponensek integrációja - WEB / Internet elterjedése (nemzetköziség) -
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
Számítógépes hálózatok világa Készítette: Orbán Judit ORJPAAI.ELTE.
Szombathely Dinamikus WEB programozás: PHP és JSP.
HÁLÓZAT INTERNET. Weblap címek xikon/index.html xikon/index.html.
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
WEB MES (webes gyártásirányító rendszer)
XML támogatás adatbázis-kezelő rendszerekben
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
…az ISA Server 2006 segítségével Gál Tamás Microsoft Magyarország.
Hálózatkezelési újdonságok Windows 7 / R2
Microsoft BI technológiák az eszközmenedzsment szolgálatában
Exchange Server 2007 Client Access Role
Domain Name System – DNS keresése az interneten.
OAIS. Megőrzés feladatai Viability –Meg kell őrizni a bitfüzér változatlanságát és olvashatóságát a tároló eszközön Rendbebility –Meg kell őrizni a bitfüzér.
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
, levelezés … kérdések - válaszok Takács Béla 2008.
Flash és PHP? De még mennyire! Kiss-Tóth Marcell
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hálózati alapismeretek
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Illés Zoltán ELTE Informatikai Kar
Az Internet alkalmazásai
Eszköz és identitás kezelés Korlátlan fájl szerver kapacitás Másodlagos adatközpont Korlátlanul skálázódó infrastruktúra Biztonságos DMZ Hibrid adat-
Topológiák Hálózati eszközök
Illés Zoltán ELTE Informatikai Kar
Számítógép hálózatok.
DNS Domain Name System. DNS - WINS WINSDNS Barátságos NetBIOS nevek LAN-okonBarátságos DNS nevek WAN-okonSík névtér, 15 karakteres névHierarchikus névtér,
DNS. Az interneten használt osztott név adatbázis, a DNS (Domain Name Service) folyton használatos: –minden web lap letöltésnél, –levél közvetítésnél.
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép- hálózatok dr. Herdon.
A PKI project célja Digitális kulccsal elérhető szerver Hamisíthatatlan naplózás Új kulcsok dinamikus létrehozása Felhasználók letiltása.
Bevezetés az informatikába 11. előadás Internet. Egyetlen nagy egységes elveken működő világhálózat hálózatok összekapcsolása nagy világhálóvá csomagkapcsolt.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Nyilvános kulcsú titkosítás Digitális aláírás Üzenet pecsétek.
Hálózatos programok készítése
MIB Dokumentáció.
Hálózati Operációs Rendszerek
Hálózati architektúrák
Internet és kommunikáció
Internet és kommunikáció
Információtechnológiai alapismeretek
IT hálózat biztonság Összeállította: Huszár István
IT hálózat biztonság Összeállította: Huszár István
Előadás másolata:

Számítógép hálózatok 7/1 Bilicki Vilmos

Az előadók: Dr. Bohus Mihály bohus@inf.u-szeged.hu Bilicki Vilmos bilickiv@inf.u-szeged.hu

A tantárgy célja Számítógép hálózatok bemutatása, megismerése: alkalmazások szolgáltatások a hálózat felépítése a hálózat elemei hálózat tervezéssel, működtetéssel kapcsolatos problémák megoldások bemutatása

Az tananyag felépítése Top – down megközelítés alkalmazások, magas szintű szolgáltatások . . . alacsonyabb szintű szolgáltatások fizikai összeköttetés

Ajánlott irodalom: Könyv: Online: Andrew Tanebaum: Számítógép Hálózatok Árpád tér 2. I-em 52. 1 hét múlva Online: http://www.inf.u-szeged.hu/informatika/OKTATAS/BM/SZG1.rtf www.ietf.org

A mai előadás tartalma Internet (DNS, SMTP,SNMP, HTTP, SHTTP, HTML, XML, Java, e-business) Elosztott Információs Rendszerek: Alapok Címtárak (X500, NIS, AD) Csoportmunka (Groupware)

A számítógépes hálózatok osztályozása Méret szerint: Lokális hálózatok (LAN, helyi hálózatok) Városi hálózatok (MAN) Nagy kiterjedésű hálózatok (WAN) Technológia szerint: vezetékes (Wired) vezetékmentes (Wireless)

Megközelítés Az alkalmazási réteggel foglalkozunk Feltételezzük egy olyan hálózat meglétét mely transzparens adatátvitelt biztosit

Hálózatok hálózata Internet A világ legnagyobb kliens/szerver alkalmazása A legnagyobb háttértároló A legnagyobb hiper-hivatkozásos dokumentum

2 millió lappal növekszik naponta Forrás: The Standard

Története Kezdetben kutató intézetek közötti kapcsolat Szolgáltatások: E-mail, telnet, ftp Robosztus rendszer megalkotása volt a cél (katonai irányítási hálózat) Nem foglakoztak a biztonsággal

Titkosítás Problémák: Típusok: Titkosság – információ védelme illetéktelen felhasználóktól (konkurencia) Hitelesség – a társ valóban az akinek mondja magát (csaló) Letagadhatatlanság – aláírások (társ) Sértetlenség - Az üzenet nem lett módosítva (rosszindulatú „jóakaró”) Típusok: gyenge titkosítás (a szomszéd nem tudja elolvasni a tartalmát) erős titkosítás (a legtöbb hivatalos szerv sem tudja elolvasni)

Hagyományos titkosítás DK(EK(P))=P Visszafejtő függvény Titkosító függvény plaintext ciphertext Helló ^˘°& Helló EK() DK() EK(P) P P Kulcs (key) Kulcs (key) K K

Hagyományos Titkosítás Az algoritmus nyilvános A kulcs titkos A feltörés munkaideje: munkatényező (work factor) Kódfejtési módszerek: titkosított szöveg alapú (chipertext only) (nyelvi jelleg) ismert szöveg alapú (known plaintext) (login) választott nyílt szöveg alapú (chosen plaintext)

Titkosítási módok Helyettesítő kódoló (substitution chiper) minden betű vagy betűcsoport egy másik betűvel vagy betűcsoportal helyettesítődik (nyelvi jellegzetességek alapján viszonylag könnyen megfejthető betűkettősök, betűhármasok) Keverő kódoló (transposition chiper) átalakítják az eredeti sorrendet

Mai algoritmusok Titkos kulcsú algoritmusok (secret key) (szimmetrikus titkosítás) DES, IDEA, BLOWFISH Nyilvános kulcsú algoritmusok (public key) (aszimmetrikus titkosítás) RSA, DSS, . . . Kluccsere algoritmusok: Diffie-Hellman, Kerberos, . . . Kivonatoló függvények (hash) MD5, SHA1, . . . Összetett titkosítás, azonosítás: PGP, PEM,

Szimmetrikus Titkosítás helyettesítés + keverés P – doboz (keverő) S – doboz (helyettesítő) DES (Data Encryption Standard) 1977 IBM ma már nem tekinthető biztonságosnak (56 bites kulcs) IDEA (International Data Encryption Algorithm) 1990 Lai, Massey biztonságosnak tekinthető (128 bites kulcs)

DES

Probléma a kulcs eljuttatása a másik félhez, közös kulcs előállítása megoldás nyilvános kulcsú titkosítás

Nyilvános kulcsú titkosítás A kódoló és dekódoló kulcsok különböznek egymástól és egyikből a másikat nem lehet előállítani Három követelmény: D(E(P))=P D előállítása E alapján rendkívül nehéz feladat legyen E feltörhetetlen legyen választott nyílt szöveg alapú támadással

Működése

RSA algoritmus 1978 MIT: Rivest Shamir Adleman Az algoritmus lépései: Válasszunk két nagy prím számot, p, q (lehetőleg nagyobbak mint 10100) Számoljuk ki n = p x q és a z = (p-1)x(q-1) Válasszunk z-hez relatív prímet d Keressünk egy olyan e számot melyre: e x d = 1 (mod z). P < n szegmensekre osztás Kódolt üzenet C = Pe (mod n) Visszafejtés P = Cd (mod n)

RSA A titkosító és a visszafejtő algoritmus egymás inverzei. Titkos kulcs (e,n), nyilvános kulcs (d,n) Hátrány 100-1000 –szer lassabb mint a szimmetrikus titkosítás Mai tudásunk szerint biztonságos (egy 200 számjegyű szám faktorizálása 4 millárd év)

Hitelesség vizsgálat A hitelesség vizsgálat (authetication) egy olyan módszer mely segítségével egy folyamat ellenőrizheti, hogy kommunikációs partnere valóban az akinek mondja magát. Diffie-Hellman féle kulcscsere algoritmus Kerberos Hitelesség vizsgálat nyilvános kulcsú titkosítással

Diffie-Hellman Bob Y Aliz X n, g, gx mod n gy mod n (gx mod n)y=gxy mod n (gy mod n)x=gXY mod n

Kerberos 1988, MIT Segítségével a munkaállomások felhasználói biztonságosan hozzáférhetnek a hálózati erőforrásokoz (Windows 2000 native mode) A jelszó sohasem kerül a hálózaton átvitelre ! Részei: Hitelesség vizsgáló szerver (Authentication Server AS) Jegyadó szerver (Ticket-Granting Server TGS) Bob a szerver (elvégzi az Aliz által kért munkát)

Kerberos működés A AS KA(KS,KTGS(A,KS)) Aliz KTGS(A,KS), B, KS(t) TGS 1 AS A 2 KA(KS,KTGS(A,KS)) KTGS(A,KS), B, KS(t) TGS 3 4 KS(B,KAB), KB(A, KAB) 5 KB(A,KAB), KAB(t) Bob 6 KAB(t+1)

Nyilvános kulcsú hitelességvizsgálat 1 Bob Aliz EB(A,RA) 2 EA(RA,RB,KS) 3 KS(RB)

Digitális aláírás Feladata: Típusai: A fogadó ellenőrizhesse a feladó valódiságát A küldő később ne tagadhassa le az üzenet tartalmát A fogadó saját maga ne rakhassa össze az üzenetet Típusai: Titkos kulcsú aláírások Nyilvános Kulcsú aláírások Üzenet Pecsétek (Message Digest)

Titkos kulcsú aláírások Szereplők: Big Brother, Aliz, Bob RA – nagy véletlen szám a visszajátszások elkerülésére Bob A,KA(B,RA,t,P) Big Brother Aliz KB(A,RA,t,P,KBB(A,t,P))

Nyilvános kulcsú aláírások Feltételezi : D(E(P))=P, E(D(P))=P

Kivonatoló (Digest) Gyakran csak hitelességvizsgálatra van szükség, titkosításra nem Feltételek: Adott P-hez könyen számítható MD(P) Adott MD(P)-hez gyakorlatilag lehetetlen P-t megtalálni Senki sem képes két különböző üzenetet generálni, melyekhez ugyanaz az üzenet pecsét tartozik (legalább 128 bites pecsét) Típusai: MD5, SHA1

Működése Aliz Bob P,DA(MD(P))

Pretty Good Privacy Kombinálja a hagyományos és a nyilvános kulcsú titkosítás jó tulajdonságait Négy fajta RSA kulcs (348,512,1024,2048) IDEA 128 bites kulcs Bob nyilvános kulcsa Aliz titkos kulcsa KM RSA MD5 RSA ZIP IDEA Base64 P

Az Internet alapvető szolgáltatásai DNS (Domain Name System) WWW (World Wide Web) HTTP, SHTTP HTML XML DTD XSLT FTP (File Transfer Protocol) TELNET (Terminal Emulation …) E-MAIL (Electronic Mail) SNMP (Simple Network Management Protocol)

DNS Feladata: ASCII karakterláncok hálózati címekre és vissza konvertálása (max 255,63) IP cím <-> Névtér leképezés Hierarchikus körzetalapú osztott adatbázisrendszer Elsődleges Körzetek Általános Országok Alkörzetek Országos Általános … int com edu jp hu bme sun u-szeged fortre java

DNS erőforrás nyilvántartás Minden körzethez tartozhatnak erőforrás bejegyzések (resource record) Az erőforrás bejegyzések binárisan tárolódnak Típusok: SOA – lista kezdete (ehhez a zónához tartozó paraméterek) A – Egy hoszt IP címe MX – levél csere NS – name server CNAME – körzet név HINFO – host leírás TXT - szöveg

DNS bejegyzés minta

Név szerverek A DNS névtér egymást nem fedő zónákra van osztva Minden zóna tartalmazza a fa egy részét Zónánként egy elsődleges név szerver Egy vagy több másodlagos név szerver Hiteles bejegyzés – authorative record(eredeti) Gyorsító táras bejegyzés u-szeged Edu Yale Yale CS 1 2 3 4 cab.u-szeged.hu u-szeged.hu edu-server.net yale.edu cs.yale.edu 5 8 7 6

World Wide Web Az Internet legnépszerűbb szolgáltatása Átviteli protokoll: HTTP, HTTPS, SHTTP Megjelenítés definiáló nyelv: HTML, CSS Adatleíró nyelv: XML Dinamikus weboldalak: Szerver oldali programok (CGI, PHP, JSP, ASP, XSP) Kliens oldali programok (JavaScript, VisualBasic, JavaApplet)

WWW

HTTP (Hyper Text Transfer Protocol) Kliens-szerver modell Állapotmentes Megbízható átviteli közegre épül Új fogalmak: Webszerver Proxy szerver Kapcsolatorientált Részletes proxy specifikáció URI (Universal Resource Identifier) <protokol>:<protokol specifikus rész> <protokol>://<azonosítás><elérési-útvonal>?<Lekérdezés> US-ASCII Más karaterek: %

HTTP üzenetek Kérés (request) (GET, OPTIONS, POST, HEAD, TRACE) Válasz (response) kezdő sor fejléc sorok üres sor az üzenet tartalma

Példa GET / HTTP/1.1 Host: sirius.cab.u-szeged.hu HTTP/1.1 200 OK Date: Thu, 13 Dec 2001 16:55:37 GMT Server: Apache/1.3.20 (Unix) PHP/4.0.6 Transfer-Encoding: chunked Content-Type: text/html <HTML> <HEAD> <TITLE>Irinyi Kabinet</TITLE> </HEAD> <body... </ADDRESS> </BODY> </HTML>

Adatátvitel URL - ben kódolva: POST segítségével: GET valami.html?h=12 POST /teszt/ HTTP/1.1 Host: wiliam.u-szeged.hu adat: research

Fejléc mezők Kérés: Válasz: Host If-Modified-Since User-Agent Adat: research … Válasz: WWW-Authenticate Age Cache-Control Expires Content-Type

HTTP és a biztonság Nincs titkosítás ! Azonosítás: Basic Authentication: UID Password Realm HTTP/1.1 401 Authorization Required Használata mellőzendő, veszélyes Ha mégis akkor: Csak generált jelszavakkal szabad Digest Authentication: MD5, nonce biztonságos

HTTPS, SHTTP Titkosítás, azonosítás, adatbiztonság SHTTP: Új réteg a HTTP alatt TLS (Transport Layer Security) A HTTP kibővítése új utasításokkal melyek segítségével becsomagoljuk az eredeti HTTP csomagot.

HyperText Markup Language Megjelenítésre koncentrál ASCII alapú Gépek számára nehezen értelmezhető Tag-ek segítségével épül fel a dokumentum (<elem>) Böngésző elrejti a kódot Jelenleg HTML 4.01 Lehetséges nem lineárisan navigálni (hyperlink)

Felépítése információ a HTML verziójáról fejrész (header) törzs (body) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <head> <TITLE>Ez a fejléc</TITLE> <META http-equiv="Cache-Control" content="no-cache"> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"> </head> <body> <p>Hello világ! </body> </html>

Fontosabb utasítások

Adatbevitel <form> action method get post name <input> <select> <textarea>

CSS Cascading Style Sheets Tartalom, formázás egyveleg HTML formázó készlet szegényes HTML a dokumentum szerkezetét adja A böngészőre volt bízva a megjelenítés Netscape, IE, új elemek Egységes megoldás CSS Tartalom, formázás elkülönül Nyílt szabvány Sok böngésző támogatja Stílust definiál Megkönnyíti a munkát

Példa p.jobb {text-align: right} p.kozep {text-align: center} … <p class=”jobb”>Ez a bekezdés jobbra lesz igazítva<p> <p class=”bal”>Ez a bekezdés jobbra lesz igazítva<p>

eXtensible Markup Language Problémák: SGML (bonyolult) HTML Előre definiált elemkészlet Csak megjelenítés Hibakezelés (<li>, 30%) Megoldás XML Nincs nyelvtana Nincs elemkészlete Tetszőleges nyelvtan Tetszőleges elemkészlet Nagyon rugalmas

7 indok XML használatára Meta nyelv Szöveg alapú Ideális struktúrált dokumentumaink számára Megjelenítés semleges Többnyelvű Segít az üzleti alkalmazások integrálásában Nyitott szabvány

Feladatok melyeket XML-el érdemes megoldani Adatok elosztása cégen belül Konfigurációs állományok Ideiglenes adatok átvitele (EDI, B2B) Adatgyűjtés, feldolgozás Kliensfüggő kimenet

Feladatok melyekre nem az XML a legalkalmasabb Nagy mennyiségű adat tárolása a merevlemezen Olyan adatok kezelése egy alkalmazáson belül melyek nem kerülnek ki Függvény hívásnál paraméterként

XML Feladata az adatok strukturált leírása. XML az ASCII a 21. század számára Minimális formai követelmények XML feldolgozás: DOM (Document Object Modell) alapú Memóriában tárolt fa SAX (Simple API for XML) alapú elemzők Csak az aktuális elemet látjuk Események generálódnak Eseménykezelő metódusok

Példa: <Feladat sorszam="14"> <vegrahajto>Kardos Katalin</vegrahajto> <megbizo>Nagy Emese</megbizo> <hatarido>2002.05.01</hatarido> </Feladat>

DTD Document Type Definition Definiálja a dokumentum: Szintaktikáját Szemantikáját Öndokumentálás Nyelvtan Elemkészlet Hibadetektálás (B2B) <!ELEMENT ul (li)+> <!ELEMENT ol (li)+> <!ELEMENT li (#PCDATA)>

XML Shema XML szintaxist használ A legismertebb adattípusokat támogatja Saját adattípusokat definiálhatunk XML névteret használ

XML Shema példa <?xml version = "1.0" ?> <schema xmlns = "http://www.w3.org/2001/XMLSchema">    <element name = "Customer">       <complexType>          <sequence>             <element name = "FirstName" type = "string" />             <element name = "MiddleInitial" type = "string" />             <element name = "LastName" type = "string" />          </sequence>       </complexType>    </element> </schema>

WWW - XSLT

Példa XSLT <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="oldal"> <html> <head> <title><xsl:value-of select="cim" /></title> </head> <body> <xsl:apply-templates /> </body> </html> </xsl:template> </xsl:stylesheet>

Kliens Oldali Programozás Feladata a webszerver tehermentesítése A felhasználói akciók lekezelése A helyszínen ellenőrizni a bevitelt Szervert nem igénylő megoldások (pl.: számológép) Design eszköz Dinamikus weboldal (pl.: óra az oldalon) JavaScript VBScript Java Applet

JavaScript A Netscape és a SUN fejlesztette ki Java-nál egyszerűbb, Netscape böngésző használja Közös tulajdonság a Java-val 4 betű Szintakszisát a C nyelvtől örökölte Objektum alapú -> lehetőség van objektumok létrehozására de osztályokat típusokat nem definiálhatunk A program szövege kerül interpretálásra (lassú, a kódot nem lehet elrejteni) A váltózók típusa változó Integráns része a HTML lapnak A leggyakrabban használt kliens oldali szkriptnyelv

JavaScript és a HTML A JavaScript kód helye: HTML törzs HTML fejléc Külső fájl A kódban vegyesen szerepelhet függvény definíció és egyszerű utasítás Célszerű a függvényeket a HTML fejrészébe definiálni Futása: Eseményre, függvényhívás (függvények esetén) Betöltéskor (ha nem függvényt írtunk)

Példa JavaScript <html><head><title>Teszt</title> <script language="JavaScript"> function Hivlak() { Ujablak = window.open("fájl2.htm","masik","width=300,height=200,scrollbars"); this.blur(); Ujablak.focus(); } </script> </head><body> <a href="javascript:Hivlak()">Új ablak</a> </body></html>

Szerver oldali programozás Adatbázisok integrálása (JTS, JDBC, ODBC, EJavaBeans) Transaction Processing monitor Háttérrendszerek integrálása (LDAP, NDS, …) Elosztott, hibatűrő rendszerek (RMI, JMS, Servlet) Skálázhatóság (Többszálú, komponensekből áll, RMI, JMS,) A munkafolyamatok leképezése (EJavaBeans) Csoportmunka támogatás (struktúrálatlan adat, hosszú folyamatok, szabályok, utak, feladatok) Adatbányászat

Szerver oldali programozás Szkript nyelvek: Python Perl Web orientált szkript nyelvek: PHP ASP XSP JSP

CGI (Common Gateway Interface) HTTP (GET/POST) 1 HTTP (GET/POST) Új process 2 Új process CGI 2 CGI 1 Szabványos bemenet Szabványos bemenet Feldolgozás Feldolgozás Szabványos kimenet Szabványos kimenet

CGI Szabványos felület Gyakorlatilag bármely programozási nyelvet használhatjuk Minden szkript saját környezeti változókkal rendelkezik A környezeti változókon keresztül történik a kommunikáció Érdemes a webszerverek nyújtotta lehetőségeket kihasználni : mod_perl

CGI Előnyei: Hátrányai: egyszerű nyelv független a process-ek izolálva vannak nyitott szabvány architektúra független Hátrányai: erőforrás igény nagy állapotmentes

FastCGI a process-ek állandóak egy vagy több process, több szál socket-en keresztül kommunikál a web szerverrel egyedi azonosítók az egyes kéréseknek

Java nyelv Egyszerű Magasszintű Objetum orientált a kezdők is könnyen boldogulnak vele (C,C++) Magasszintű komplex feladatok egyszerűen megoldhatóak vele (hálózat kezelés, grafika) Objetum orientált az alapoktól kezdve (a primitív adattípusok kivételével minden objektum) elosztott rendszerek (komponens alapú fejlesztés, újrafelhasználhatóság) Biztonságos, robosztus fordításkor ellenőrzés nincs pointer (NULL pointerre hivatkozás, levegőbe lógó mutatók) nincs automatikus konverzió dinamikus szemétgyűjtés (memory leak)

Java nyelv Platform független Interpretált, dinamikus Többszálú nem tartalmaz architektúra függő elemeket (az int, mérete … nyelvi szinten definiált) Interpretált, dinamikus gyors fejlesztési ciklus (nincs szükség make-re) class loader (package) virtuális gép byte kód (a hivatkozások csak futás időben oldódnak fel) 10-20-szor lassabb mint gépi kódú megfelelője Többszálú Elosztott (a class loader képes hálózatról betölteni az osztályt, RMI, …)

Hogyan működik? JVM Java API .java fájl javac osztaly.java osztaly.class java osztaly

Hello World! /** * A HelloWorldApp osztály mely a szabványos kimenetre kiírja a Hello World üdvözletet. */ class HelloWorldApp { public static void main(String[] args) System.out.println("Hello World!"); //Kiírja a szöveget. }

Java Servlet Java technológiára épülő web komponens platform független, bytecode dinamikusan betölthető dinamikus tartalom előállítására alkalmas egy tároló menedzseli (servlet engine) a web szerver vagy az alkalmazásszerver része, vagy önálló alkalmazás saját web szerverrel (Tomcat) biztosítja azt a környezetet amelyen keresztül a kérések és a válaszok (requset, response) lekezelhetőek tartalmazza és menedzseli a servlet-eket egész életfolyamatuk alatt

Példa import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWWW extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String docType = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; out.println(docType +"<HTML>\n<HEAD><TITLE>Hello</TITLE></HEAD>\n" + "<BODY>\n<H1>Hello WWW</H1>\n</BODY></HTML>"); }

Szerver oldalak ASP -> ASP.NET JSP PHP HTML váz + Szkript sorok HTML oldal Kliens oldal (HTML, JavaScrip, VBS, Flash, …)

ASP példa <%@ language="vbscript" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>Untitled</title></head><body> <ul> <%for i=1 to 30%> <li>Ez a <%=i%>. sor <%next%> </ul> <%for i=1 to 30 response.write (”<li>Ez a”&i&”. sor”) next%> </body> </html>

E-MAIL Felhasználói ügynök (user agent) Üzenetkézbesítő ügynök (message transfer agent) Üzenetkézbesítés: SMTP (Simple Mail Trasfer Protocol) E-mail átjáró POP3 (Post Office Protocol) IMAP (Interactive Mail Access Protocol) DMSP (Distributed Mail System Protocol)

SMTP Egyszerű levéltovábbító protokoll Forrásgép - célgép, e-mail daemon, smtp nyelv Problémák: nem minden program tud 64 KBájtnál hosszabb üzenetet kezelni Ezek kiküszöbölése: (RFC 1541) ESMTP-EXTENDED SMTP. A parancs EHLO a HELO helyett. Visszautasítás esetén: csak a HELO mehet. Ha az EHLO elfogadva, akkor az új parancsok és paraméterek lépnek életbe.

E-mail átjáró POP3 IMAP DMSP kilépés /belépés levél lehozás/törlés átmásolja a levelet ASCII szövegből áll az SMTP re hasonlít IMAP Tulajdonság szerinti megjelenítés Levél marad a kiszolgálón DMSP a leveleket szétkapcsolt állapotban lehet elolvasni

Elosztott információs rendszerek Segítségével: Elosztott szolgáltatások Helyfüggetlenség Elosztott erőforrások Nyílt rendszerek Alkalmazás elosztás Előnyei: Skálázható Olcsó Üzembiztos Típusai: 1 rétegű 2 rétegű 3 rétegű

Egyrétegű (1 tier) A megjelnitési réteg, az alkalmazási logika és az erőforrás menedzselés monolitikus Vékony kliensek Minden központosított

Két rétegű (2 - tier) A kliensek függetlenek egymástól A megjelenítési réteg a kliensen van A kliensek kötve vannak a prezentációs réteghez Bonyolult a tervezés és nehéz más platformra alkalmazni

Probléma: A kliens kettő vagy több rendszert szeretne elérni A rendszerek nem tudnak egymásról A kliensre hárul a különböző rendszerek lekezlése A Konzisztencia fenntartása !! Megoldás: Középső réteg (MIDDLEWARE)

Három rétegű (3 - tier) Bevezeti az üzleti logika réteget Egyszerűsíti a tervezést Transzparens hozzáférés az alatta lévő rendszerekhez Elősegíti a rendszerközi együttműködést Vékony kliens Skálázható Biztonságos

Távoli eljárásivás (SUN RPC) Az egyik számítógépről programot szeretnénk futtatni egy másikon A kommunikáció üzenetekre korlátozódik (nincs közös memória, ...) A különböző gépek különböző módon ábrázolhatják az adatokat Hogyan találjuk meg a szolgáltatást a másik gépen? Hibák kezelése (a szerver nem működik, …) XDR (External Data Representation) Nem objektumorientált

Címtárak A vállalatokban az információ több formában van tárolva Egy információt több helyen több formában is tárolnak Inkonzisztens állapot léphet fel (Nagy J. Lajos – Nagy János Lajos) A különböző formátumokhoz különböző elérési protokollok tartoznak Megoldás címtár

Címtár

X.500 Globális Címtár Szolgáltatás ISO/ITU-T szabványok 1993-ból Nem mond semmit sem a belső működésről A kommunikációra és az információ ábrázolásra koncentrál Komlex, Nehézsúlyú

X.500 Hierarchikus névtér Információs modell Funkcionális modell Hogyan van az információ rendezve és hivatkozva Információs modell Felépítés és forma Funkcionális modell Hozzáférés és műveletek Azonosítási modell Az információ védelme Elosztott működési modell Az információ karbantartása és szinkronizálása szerverek ezrein keresztül

X.500 Könyvtár Információs Fa

X.500 nem megoldás A szerver szoftver komplex és túltervezett Nehéz együttműködni egyszerű címtárakkal Kevés X.500 megvalósítás Nagy, komplex, erőforrás-igényes egy PC-hez Erősen kötődik az OSI modellhez Megoldás: LDAP

LDAP – zsírmentes X.500 Működő kód (jobb mint a rideg szabványok) Több éve fejlesztik (RFC 1487 (1993): LDAPv1; RFC 1777 (1995): LDAPv2; RFC 2251 (1997): LDAPv3) Csak könyvtár-hozzáférési protokoll nem teljes címtár Csak azt specifikálja hogyan társalogjon a kliens és a szerver Nem specifikálja a címtár működését

LDAP általános hozzáférési protokoll

LDAP tulajdonságok X.500 mintát használja Példa: URL-szerű szintakszis cn = Common Name mail = email o = Organization ou = Organization Unit c = Country objectclass = type of entry Példa: objectclass = employee, dn = Dmitry Dimov, o = BEA Systems, ou = E-Commerce, c = US URL-szerű szintakszis ldap://ldap.bea.com /c = US, ou = E-Commerce

NIS (Network Information Services) problémát okozott a közös felhasználói adatbázis karbantartása (kié a jó verzió) 1985 SUN -> Yellow Pages -> NIS RPC hívások UDP felett a rendszerhívásokat átirányítja a szerverre DBM fájlokat használ az információ tárolására (indexelt fájlok) kulcs alapján könnyen kereshető az információ probléma a DBM fájlok binárisak -> nehezen érthető  megoldás ASCII fájlokból időnként átkonvertáljuk DBM-be az adatokat

NIS elemei NIS domain név Master Slave Client egy lehet belőle működhetnek szerverként azonban az információt a master-től kapják Client egy IP álhálózatban kell lennie a szerverrel a kliensek üzenetszórással keresik a szervert

A NIS előnyei, hátrányai egyszerűen karbantartható, egyszerű szöveges fájlokat kell módosítgatnunk sok felhasználó és számítógép könnyen menedzselhető időnként nagy a sávszélesség igénye nem biztonságos (véletlen domain név)!

NIS+ adattitkosítás RPC hitelesítés névmodell: fa struktúra minden levél egy NIS+ objektum könyvtár bejegyzés csoport hivatkozás tábla privát org_dir – adminisztrációs táblák groups_dir – hozzáférés vezérlés táblák

Active Directory Egy hálózati objektumtár amely kiszolgálja a klienseket és azok csoportjait a jogosultságaik alapján Információt tárol minden hálózati objektumról Egy biztonsági csatorna az ACL és a Domain kapcsolatok számára A rendszer adminisztráció központja Egy rendszer az objektumok replikálására

Felépítés

Adattárolás és partíciók Schema data – Az objektumok leírását tartalmazza Configuration data – A tartomány logikai felépítését tartalmazza Domain data – A fa alatt lévő összes adat itt van eltárolva. Nincs replikálva. A GC segítségével férhetnek hozzá mások is.

Strukturális komponensek Logikai felépítés: tartomány egy logikai biztonsági egység saját biztonsági szabályok saját biztonsági viszonyok más tartományokkal olyan egységek szerint célszerű tartományokat létrehozni melyeket együtt kell menedzselni a következő információkkal rendelkezik: adat minden objektumról és a tároló objektumról az adott tartományban adat a többi tartományról, fáról… a GC szerver helye

Strukturális komponensek (logikai felépítés) tartomány fa amikor több tartomány közös sémát, biztonsági viszonyokat és GC-t használ akkor fát képeznek. Egy közös névér alá tartoznak (ceg.com-> t1.ceg.com) az elsőként létrehozott tartomány a gyökér tartomány ő tárolja a fának a sémáját, és a konfigurációs adatait. a fa struktúra gyermek tartományok hozzáadásával alakul ki.

Strukturális komponensek (logikai felépítés) Szervezeti Egységek (Organizational Units) a tartományokat és a gyermek tartományokat szervezeti egységekre oszthatjuk a szervezeti egységek egymást tartalmazhatják egy tartomány általában egy vagy több szervezeti egységet tartalmaz

NDS - Novell Directory Service hálózati objektumok kezelője fizikailag adatbázis fájlok a szerveren az NDS replikálható a szerverek között egyszerű rugalmas erőforráskezelés LDAP felület, azonosítás fa struktúra az objektumok tárolására (szerver környezettől független UNIX, Windows, NetWare) konténer objektumok – objektum csoportokat menedzselhatünk root organization organiztaional unit

NDS Tartalmazás NWAdmin Egyszerű azonosítás Replikák használata A különböző beállítások örklődhetnek a fa struktúrában NWAdmin Egyszerű azonosítás Replikák használata master – az első NDS szerver read-write - előléptethető read only – nem a kliensektől kapják a frissítést subordinate - névfeloldás

NDS névtér az objektum fában elfoglalt helyétől függ CN, O, OU, C név feloldás

NDS Wan kapcsolatok ha több mint 1000 objektumunk van egy fában , vagy lassú megbízhatatlan kapcsolatunk van akkor több részre kell osztanunk (partition) a particiók az NDS adatbázis logikai felosztását teszi lehetővé alapesetben egy partició van a partició az általa tartalmazott legfelső konténer nevét kapja meg a particiók külön szervereken tárolásával a terhelés elosztható minden változás után 10s szinkronizáció (lassú 30 sec) replika gyűrű

NDS Wan

Csoportmunka (Groupware) Olyan technikák gyűjteménye melyek támogatják a csoportmunkát Komponensek: Dokumentum tár Munkamenet E-mail Konferencia Csoport ütemezés Definició: Groupware = Lotus Notes A WEB újradefiniálta a csoportmunka rendszereket SMTP, USENET, chat, Web konferencia B2B együttműködés weben keresztül elosztott munkafolyamattal

Csoportmunka vs. SQL SQL – strukturált adat Csoportmunka – strukturálatlan adathalmaz (dokumentumok, képek, üzenőfalak, …) Csoportmunka – hosszú lefutási idejű tarnzakciók, dokumentum verziók, kevés, komplex művelet

Dokumentum kezelés Az Elektronikus képfeldolgozásból származik (tervrajzok, röntgenek szkennelése, …)

Dokumentum kezelés Inkább dokumentumot mint képet kezel A dokumentum menedzselő rendszer a dokumentumok leírását általában SQL adatbázisban tárolja magát a dokumentumot pedig a fájlrendszerben A mai adatbázisokban már dokumentumokat is tárolhatunk BLOB Segítségével egymással együttműködve lehet a dokumentumot szerkeszteni, publikálni Dokumentum tár + munkafolyamat Több szabály: szerző, jóváhagyás, javítás

Munkafolyamat (Workflow) Támogatja az általános munkafolyamatokat Feladat orientált (lehet ad hoc is) Integrálva van az egyéb alkalmazásokkal Sok kommunikációs technológiát támogat (e-mail, MOM, ORB, RPC, RMI, JMS, …) Vizuális munkafolyamat definiáló eszköz Integráció LDAP címtárral

Munkafolyamat