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

Számítógép hálózatok

Jan 24, 2016

Download

Documents

latham

Számítógép hálózatok. 7/1 Bilicki Vilmos. Az előadók:. Dr. Bohus Mihály [email protected] Bilicki Vilmos [email protected]. 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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Számítógép hálózatok

Számítógép hálózatok

7/1

Bilicki Vilmos

Page 2: Számítógép hálózatok

Az előadók:

Dr. Bohus Mihály [email protected] Bilicki Vilmos [email protected]

Page 3: Számítógép hálózatok

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

Page 4: Számítógép hálózatok

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

Page 5: Számítógép hálózatok

Ajánlott irodalom:

Könyv: 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

Page 6: Számítógép hálózatok

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)

Page 7: Számítógép hálózatok

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)

Page 8: Számítógép hálózatok

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

Page 9: Számítógép hálózatok

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

Page 10: Számítógép hálózatok

2 millió lappal növekszik naponta

Forrás: The Standard

Page 11: Számítógép hálózatok

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

Page 12: Számítógép hálózatok

Titkosítás Problémák:

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)

Page 13: Számítógép hálózatok

Hagyományos titkosítás

plaintext

Visszafejtő függvény

^˘°&^˘°&

ciphertextHelló

Kulcs (key)

DK(EK(P))=P

P EK(P)

EK()

K

Helló

Titkosító függvény

Kulcs (key)

DK()

P

K

Page 14: Számítógép hálózatok

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)

Page 15: Számítógép hálózatok

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

Page 16: Számítógép hálózatok

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,

Page 17: Számítógép hálózatok

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)

Page 18: Számítógép hálózatok

DES

Page 19: Számítógép hálózatok

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

Page 20: Számítógép hálózatok

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:1. D(E(P))=P

2. D előállítása E alapján rendkívül nehéz feladat legyen

3. E feltörhetetlen legyen választott nyílt szöveg alapú támadással

Page 21: Számítógép hálózatok

Működése

Page 22: Számítógép hálózatok

RSA algoritmus 1978 MIT: Rivest Shamir Adleman Az algoritmus lépései:1. Válasszunk két nagy prím számot, p, q (lehetőleg

nagyobbak mint 10100)2. Számoljuk ki n = p x q és a z = (p-1)x(q-1)3. Válasszunk z-hez relatív prímet d4. Keressünk egy olyan e számot melyre:

e x d = 1 (mod z).5. P < n szegmensekre osztás6. Kódolt üzenet C = Pe (mod n)7. Visszafejtés P = Cd (mod n)

Page 23: Számítógép hálózatok

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)

Page 24: Számítógép hálózatok

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

Page 25: Számítógép hálózatok

Diffie-Hellman

Aliz X Bob Y

n, g, gx mod n

gy mod n

(gy mod n)x=gXY mod n (gx mod n)y=gxy mod n

Page 26: Számítógép hálózatok

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)

Page 27: Számítógép hálózatok

KTGS(A,KS), B, KS(t)

Kerberos működésA

liz

AS

TG

S

Bob

A1

KA(KS,KTGS(A,KS))2

3

KS(B,KAB), KB(A, KAB)4

KB(A,KAB), KAB(t)5

KAB(t+1)6

Page 28: Számítógép hálózatok

Nyilvános kulcsú hitelességvizsgálat

Aliz Bob

EB(A,RA)

EA(RA,RB,KS)

KS(RB)

1

2

3

Page 29: Számítógép hálózatok

Digitális aláírás

Feladata: 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)

Page 30: Számítógép hálózatok

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

Aliz

Big

Bro

ther

Bob

A,KA(B,RA,t,P)

KB(A,RA,t,P,KBB(A,t,P))

Page 31: Számítógép hálózatok

Nyilvános kulcsú aláírások

Feltételezi :

D(E(P))=P, E(D(P))=P

Page 32: Számítógép hálózatok

Kivonatoló (Digest)

Gyakran csak hitelességvizsgálatra van szükség, titkosításra nem

Feltételek:1. Adott P-hez könyen számítható MD(P)2. Adott MD(P)-hez gyakorlatilag lehetetlen P-t

megtalálni3. 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

Page 33: Számítógép hálózatok

MűködéseA

liz

BobP,DA(MD(P))

Page 34: Számítógép hálózatok

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

MD5 RSA ZIP IDEA

RSA

Base64

KM

P

Aliz titkos kulcsa

Bob nyilvános kulcsa

Page 35: Számítógép hálózatok

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)

Page 36: Számítógép hálózatok

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

DNS

int com edu jp hu

sun

java fortreu-szeged

bme

Általános Országos

Page 37: Számítógép hálózatok

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

Page 38: Számítógép hálózatok

DNS bejegyzés minta

Page 39: Számítógép hálózatok

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

cab.u-szeged.hu u-szeged.hu edu-server.net yale.edu cs.yale.edu

1 2 3 4

5678

u-szeged Edu Yale Yale CS

Page 40: Számítógép hálózatok

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)

Page 41: Számítógép hálózatok

WWW

Page 42: Számítógép hálózatok

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: %

Page 43: Számítógép hálózatok

HTTP üzenetek

Kérés (request) (GET, OPTIONS, POST, HEAD, TRACE)

Válasz (response) kezdő sor fejléc sorok üres sor az üzenet tartalma

Page 44: Számítógép hálózatok

PéldaGET / HTTP/1.1 Host: sirius.cab.u-szeged.hu HTTP/1.1 200 OKDate: Thu, 13 Dec 2001 16:55:37 GMTServer: Apache/1.3.20 (Unix) PHP/4.0.6Transfer-Encoding: chunkedContent-Type: text/html<HTML><HEAD> <TITLE>Irinyi Kabinet</TITLE></HEAD><body...</ADDRESS></BODY></HTML>

Page 45: Számítógép hálózatok

Adatátvitel

URL - ben kódolva: GET valami.html?h=12

POST segítségével:POST /teszt/ HTTP/1.1

Host: wiliam.u-szeged.hu

adat: research

Page 46: Számítógép hálózatok

Fejléc mezők

Kérés: Host If-Modified-Since User-Agent Adat: research …

Válasz: WWW-Authenticate Age Cache-Control Expires Content-Type

Page 47: Számítógép hálózatok

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

Page 48: Számítógép hálózatok

HTTPS, SHTTP

Titkosítás, azonosítás, adatbiztonság SHTTP:

Új réteg a HTTP alatt TLS (Transport Layer Security)

SHTTP: A HTTP kibővítése új utasításokkal melyek

segítségével becsomagoljuk az eredeti HTTP csomagot.

Page 49: Számítógép hálózatok

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)

Page 50: Számítógép hálózatok

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>

Page 51: Számítógép hálózatok

Fontosabb utasítások

Page 52: Számítógép hálózatok

Adatbevitel

<form> action method

getpost

name <input> <select> <textarea>

Page 53: Számítógép hálózatok

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

Page 54: Számítógép hálózatok

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>

Page 55: Számítógép hálózatok

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

Page 56: Számítógép hálózatok

7 indok XML használatára

1. Meta nyelv

2. Szöveg alapú

3. Ideális struktúrált dokumentumaink számára

4. Megjelenítés semleges

5. Többnyelvű

6. Segít az üzleti alkalmazások integrálásában

7. Nyitott szabvány

Page 57: Számítógép hálózatok

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

Page 58: Számítógép hálózatok

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

Page 59: Számítógép hálózatok

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

Page 60: Számítógép hálózatok

Példa:

<Feladat sorszam="14">

<vegrahajto>Kardos Katalin</vegrahajto>

<megbizo>Nagy Emese</megbizo>

<hatarido>2002.05.01</hatarido>

</Feladat>

Page 61: Számítógép hálózatok

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)>

Page 62: Számítógép hálózatok

XML Shema

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

Page 63: Számítógép hálózatok

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>

Page 64: Számítógép hálózatok

WWW - XSLT

Page 65: Számítógép hálózatok

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>

Page 66: Számítógép hálózatok

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

Page 67: Számítógép hálózatok

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

Page 68: Számítógép hálózatok

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)

Page 69: Számítógép hálózatok

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>

Page 70: Számítógép hálózatok

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

Page 71: Számítógép hálózatok

Szerver oldali programozás

Szkript nyelvek: Python Perl

Web orientált szkript nyelvek: PHP ASP XSP JSP

Page 72: Számítógép hálózatok

CGI (Common Gateway Interface)

CGI 1Szabványos bemenet

Szabványos kimenetFeldolgozás

HTTP (GET/POST)

1

2

Új p

roce

ss

CGI 2Szabványos bemenet

Szabványos kimenetFeldolgozás

Új process

HTTP (GET/POST)

Page 73: Számítógép hálózatok

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

Page 74: Számítógép hálózatok

CGI

Előnyei: 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

Page 75: Számítógép hálózatok

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

Page 76: Számítógép hálózatok

Java nyelv Egyszerű

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)

Page 77: Számítógép hálózatok

Java nyelv

Platform független 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, …)

Page 78: Számítógép hálózatok

Hogyan működik?

JVM Java API

.java fájl javac osztaly.java osztaly.class java osztaly

Page 79: Számítógép hálózatok

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.

} }

Page 80: Számítógép hálózatok

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

Page 81: Számítógép hálózatok

Példaimport 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>");}}

Page 82: Számítógép hálózatok

Szerver oldalak

ASP -> ASP.NET JSP PHP

HTML váz + Szkript sorok

HTML oldal

Szerver oldal

Kliens oldal(HTML, JavaScrip, VBS, Flash, …)

Page 83: Számítógép hálózatok

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><ul><%for i=1 to 30response.write (”<li>Ez a”&i&”. sor”)next%></ul></body></html>

Page 84: Számítógép hálózatok

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)

Page 85: Számítógép hálózatok

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.

Page 86: Számítógép hálózatok

E-mail átjáró

POP3 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

Page 87: Számítógép hálózatok

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ű

Page 88: Számítógép hálózatok

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

Page 89: Számítógép hálózatok

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

Page 90: Számítógép hálózatok

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)

Page 91: Számítógép hálózatok

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

Page 92: Számítógép hálózatok

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

Page 93: Számítógép hálózatok

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

Page 94: Számítógép hálózatok

Címtár

Page 95: Számítógép hálózatok

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ú

Page 96: Számítógép hálózatok

X.500

Hierarchikus névtér 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

Page 97: Számítógép hálózatok

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

Page 98: Számítógép hálózatok

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

Page 99: Számítógép hálózatok

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

Page 100: Számítógép hálózatok

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

Page 101: Számítógép hálózatok

LDAP tulajdonságok

X.500 mintát használja 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

Page 102: Számítógép hálózatok

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

Page 103: Számítógép hálózatok

NIS elemei

NIS domain név Master

egy lehet belőle

Slave 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

Page 104: Számítógép hálózatok

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)!

Page 105: Számítógép hálózatok

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

Page 106: Számítógép hálózatok

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

Page 107: Számítógép hálózatok

Felépítés

Page 108: Számítógép hálózatok

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.

Page 109: Számítógép hálózatok

Strukturális komponensek

Logikai felépítés: tartomány

egy logikai biztonsági egységsaját biztonsági szabályoksaját biztonsági viszonyok más tartományokkalolyan egységek szerint célszerű tartományokat

létrehozni melyeket együtt kell menedzselnia 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

Page 110: Számítógép hálózatok

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.

Page 111: Számítógép hálózatok

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

Page 112: Számítógép hálózatok

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

Page 113: Számítógép hálózatok

NDS

Tartalmazás 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

Page 114: Számítógép hálózatok

NDS névtér

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

Page 115: Számítógép hálózatok

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ű

Page 116: Számítógép hálózatok

NDS Wan

Page 117: Számítógép hálózatok

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

Page 118: Számítógép hálózatok

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

Page 119: Számítógép hálózatok

Dokumentum kezelés

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

Page 120: Számítógép hálózatok

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

Page 121: Számítógép hálózatok

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

Page 122: Számítógép hálózatok

Munkafolyamat