The Peer-to-Peer Architecture Av Ingunn Lund og Anja Lønningen
Distribuerte applikasjoner Flere s/w-moduler på ulike maskiner Kommunikasjonsnettverk Sender meldinger Discovery-problemet Faste portnummer, la alle vite om portnummer og IP-adresse til alle andre Ha denne infoen som konfig.parametre
Klient-Server arkitektur Server (en instans) Klienter (flere instanser) Kun kommunikasjon mellom klient og server, ikke mellom klientene Server kjører på en port og nettverksadresse kjent for klienten Klienten kobler seg på -> kommunisere
Klient-Server arkitektur
Peer-to-Peer arkitektur Mange identiske s/w-moduler som kjører på ulike maskiner Kommunikasjon mellom modulene +: Kombinerer regnekraften til alle maskinene - : Opprette kommunikasjon - : Endring av s/w-moduler
Peer-to-Peer arkitektur
Peer-to-Peer arkitektur - lag Base overlay layer Oppdage andre deltakere, kommunikasjon Minste krav til funksjonalitet Funksjoner som Discovery Overlay formation Application level multicast
Peer-to-Peer arkitektur - lag Middleware layer Flere s/w-komponenter Funksjoner som brukes i høyere lag Funksjoner som Security Distributed Indexing Directory Services Publish-Subscribe Systems
Peer-to-Peer arkitektur - lag Application layer Menneskelige brukere For eksempel fildelingsapplikasjoner: Man finner filer fra andre maskiner i nettverket og laster de ned lokalt
Sammenlikning av arkitekturer Klient-serverPeer-to-peer mange eksisterende applikasjoner som letter utviklingen noen eksisterende pakker forholdsvis nye -> ikke så gjennomprøvd Utvikling
Sammenlikning av arkitekturer Klient-serverPeer-to-peer mange oppgaver enklere å utføre på en sentralisert applikasjon (backup, oppgradering etc.) server: én plattform å ta hensyn til klient: lite behov for vedlikehold utfordringer ved at ulike komponenter kjører på forskjellige plattformer plattformuavhengige språk har forenklet noe Administrasjon/vedlikehold
Sammenlikning av arkitekturer Klient-serverPeer-to-peer vanlig: én maskin (server) løser én oppgave kan utvikles til å bruke flere maskiner med en load balancer/dispatcher flere dedikerte servere må skaffes -> større kostnad mange maskiner løser én oppgave -> bedre skalerbarhet utnytter maskiner som ikke er tungt belastet Skalerbarhet
Sammenlikning av arkitekturer Klient-serverPeer-to-peer server maskinene må være innenfor ett administrativt domene p2p systemer kan ofte lages ved å bruke maskiner fra forskjellige administrative domener Administrative domener
Sammenlikning av arkitekturer Klient-serverPeer-to-peer safeguards mot de mest vanlige sikkerhetsangrep eksisterer allerede sikkerhetstiltak generelt enklere enn for p2p sikkerhetsmekanismer må repliseres på flere steder flere steder -> flere angrepspunkt -> større sårbarhet Sikkerhet
Sammenlikning av arkitekturer Klient-serverPeer-to-peer redundante servere -> større pålitelighet, men høyere kostnad multiple maskiner utfører identiske oppgaver -> systemet forblir operativt og tilgjengelig selv om en maskin går ned Pålitelighet
Sammenlikning av arkitekturer Klient-serverPeer-to-peer sikkerhet administrasjon/vedlikehold utvikling pålitelighet skalerbarhet multiple administrative domener Generelle fordeler