MMT261 Publisering av digitale medier Uke 18: Klient- /tjenerinteraksjon.

Slides:



Advertisements
Liknende presentasjoner
Generisk nettstruktur inklusive CT-iq Offentlig Nett (ON) Bedriftsinternt Nett (BiN) CTI(opsjon)CT-iq Bedrifts LAN IN lev. LAN InnringerINleverandør(IN)Mobiloperatør(MO)
Advertisements

TCP/IP-modellen.
Hvordan etablere nettbutikk med GoOnline Commerce
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
HVA ER ?.
DaTaTing Hva er internett? •Verdensomspennende nettverk av nettverk. •I likhet med mennesker, kan ikke datamaskiner kommunisere med hverandre gjennom et.
Kapittel 2 Grunnprinsipper
LO130A - Webpublisering - Kirsten Ribu - HiO 2004
Kapittel 8: Nettverk i praksis
Presentasjon av tjenesten
D A T A - N E T T V E R K. D A T A - N E T T V E R K.
Unix Amir Maqbool Ahmed
Datakom. Gruppeundervisning 21. november. Prøveeksamen •Gjennomgang onsdag 27. november.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Operativsystemer for multiple prosessorer
Datakommunikasjon Fagnr.: ITF20205
Klient - server nettverk Et nettverk består (ofte) av en (eller flere) server(e), og mange klienter. Klientene bruker tjenester levert av servere(ne).
Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk.
Oppkobling VPN.
IPSec og VPN.
Sikkerhetssystemer UIO-cert
2 Kommunikasjonsnett Radionett Off. telenett Mobil- telefonnett
3 Kommunikasjonsmodeller
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Hva er ?. Facebook er et av de mest kjente sosiale medier eller nettsamfunn. Det er en gruppe mennesker som ved hjelp av data (internett) kommuniserer.
Kommunikasjon og Nettverk
Pakkesvitsjing prinsipp
In115 kommunikasjon. internt i maskin mellom prosessor, minne og andre busser: hovedbus, systembus mellom hovedbus og ytre enheter: SCSI- bus, IDE-bus.
Fjernstyring av PCer med NTRconnect Svein/ALEPH brukermøte 2007.
Publisering på verdensveven Kursdag 1 VÅFF, våren 2002.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
Kapittel 7: Nettverksteknologier
Kap 3: Anvendelser av Internett
The Peer-to-Peer Architecture Av Ingunn Lund og Anja Lønningen.
Sette opp Gmail i Outlook
DRI1002-V04 Fforelesning uke 17,19 Arild Jansen, AFIN DRI IKT og informasjonssøking Forelesning uke 17 og 18 Hovedpunktene i forelesningen Litt om.
TEAMC M Richard Nilsen TEAMC M Agenda Hvorfor IP og Ethernet Hva påvirker våre valg Hvordan henger applikasjon og valg av teknologi sammen.
Bakgrunn hadde vi et møte skoler med IKT-servicefag i Vestfold, Buskerud og Telemark Ingen lager Læremidler for IKT-servicefag VG2 Arena-IKT beslutter.
Sanntids værdata på mobiltelefon
Hovedprosjekt Konfigurering av Virtuelle Private Nettverk (VPN) Veileder: Olav Skundberg Tom A. Trosterud og Lars Reidar Andersen.
FS i UHAD Anders Lefébure-Henriksen, TD/GAD Windows-forum,
Lagdelt modell A B Tema Tema Språk Språk Telefon Telefon Telefonnett.
Digital postkasse: Få med innbyggerne! Felles innbyggerrettet kommunikasjon fra offentlige avsendere Februar 2015.
Datakommunikasjon Fagnr.: ITF20205 Fagsider:
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
DRI1002-V04 1. forelesning Arild Jansen, AFIN DRI IKT og informasjonssøking 1. Forelesning og seminar uke3 Hovedpunktene i forelesningen Oversikt.
UiO Programkiosk: Ny portal og tilgang fra Mac og Linux
Application-Layer Multicast  Unicast: En maskin sender meldinger adressert til kun en annen maskin  Multicast: En maskin sender meldinger adressert til.
Digital postkasse: Få med innbyggerne! Felles innbyggerrettet kommunikasjon fra offentlige avsendere Desember 2014.
Trafikantens mobile sanntidssystem Presentasjon INF5261.
DRI1002-V04 1. forelesning Arild Jansen, AFIN DRI IKT og informasjonssøking 1. Forelesning og seminar uke 2 Hovedpunktene i forelesningen Oversikt.
Erfaringer fra 5+1 norske kommuner ● Sentralisert drift av fri programvare – Skolelinux på 9-10 skoler med klienter – Novell-integrasjon ● Teknologi.
DRI 2020 Arild Jansen, AFIN Grunnleggende om Internett DRI 2020 – Høsten 2015 Temaer Hva er Internet(t) noen ulike perspektiver Hva er kommunikasjon Kort.
Strukturerende elementer i UML
Velg digital postkasse på Norge.no
Data- og informasjonssikkerhet
Brukerveiledning til programmering av LEGO Mindstorm NXT-roboter
Detaljerte funksjoner i datanett
Digitalisering av tjenester på byggesaksområdet
Lær å oppdatere kontaktinformasjonen din i kontaktregisteret
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Oppgave 46 - Automatisering av overvåkningsrutiner
Sentrale deler av pensum i INF3190
Internett som elektronisk kommunikasjonsmiddel
GDPR – fra teori til virkelighet
Utskrift av presentasjonen:

MMT261 Publisering av digitale medier Uke 18: Klient- /tjenerinteraksjon

2 Agenda Klient/tjener-konseptet Hvordan klienter kommuniserer med tjenere Hvordan tjenere holder styr på klienter Koblingsorientert og koblingsfri kommunikasjon Socket-grensesnittet

3 Lokalnettverk vs. internettverk Lokalnettverk –LAN (Local Area Network) –Hub/svitsj –nettverksrammer Internettkommunikasjon –TCP/IP-stakken –IP-datagram –IP-ruting –TCP/UDP

4 Lokal datakommunikasjon: Point- to-point vs. delt medium Point-to-point-kommunikasjon –to datamaskiner koblet sammen via en datalinje –noen fordeler: stor fleksibilitet i forhold til overføringsprotokoll/hastighet, høy sikkerhet,... –noen ulemper: lite egnet ved behov for kommunikasjon mellom flere enn to datamaskiner Delt kommunikasjonskanal: –flere datamaskiner kobler seg til en felles datalinje (alle tilkoblede datamaskiner mottar samme data) –datamaskinene bruker den felles datalinjen etter tur for å sende fra seg datarammer (en sekvens med digitale bits)

5 Alle til alle? Direkte forbindelse mellom n punkter krever (n-1)n/2 koblinger

6 Problemstilling: Hvordan få to datamaskiner knyttet til et større felles nettverk til å kommunisere, uten å tvinge alle datamaskinene knyttet til nettverket til å motta og behandle hver eneste melding som passerer via det felles mediet? Løsning: Maskinvare adressering

7 Spesifisere en mottaker De fleste LAN-teknologier bruker et adresseringsskjema til å realisere direkte kommunikasjon –Hardware adressering (fysisk adresse, også kalt MAC adresse) –Fast i header på ramme (fields = felt): MAC adresse for mottaker og sender Destination address field Source address field –Grensesnittet mot lokalnettet (i praksis nettverkskortet) er i stand til å avgjøre om en ramme er ment for ens egen datamaskin

8 Pakkefiltrering med LAN-hardware (1) Nettverksgrensesnittet –Håndterer alle detaljer omkring sending/mottak av rammer på felles medium. Størrelse på innkommende rammer. CRC – feilsjekk Detektering av hvorvidt en ramme er ment til ens egen datamaskin. Sending av rammer til andre datamaskiner i nettverket. –Jobber uavhengig av CPU, slik at datamaskinen kan fortsette uavhengig av ”ventetid” mot nettverket.

9 Pakkefiltrering med LAN-hardware (2)

10 Repetisjon: Internettkommunikasjon Datakommunikasjon vha. IP-teknologi: R R R R R FRATILDATA IP-datagram:

11 TCP/IP-stakken

12 UDP-pakker (Layer 4) Port: heltall som identifiserer hvilket av tjenerprogrammene på tjenermaskinen som skal ha datapakken Eksempel på data: DNS-spørring, videostream Koblingsfri

13 TCP-segmenter (Layer 4) SEQ/ACK-number: holder styr på at alle segmenter kommer fram og settes sammen i riktig rekkefølge Eksempel på data: HTTP-spørring, FTP, SMTP, POP, … ”progressive download” Koblingsorientert

14 IP-datagram (Layer 3) ”Address”: IP-adresser Eksempel på data: TCP-segment eller UDP-pakke

15 Nettverksrammer på felles medium (Layer 2) Eksempel på rammeformat: Ethernet ”Address”: MAC-adresser på nettverkskort Eksempel på ”Payload”: IP-datagram

16 TCP/IP-ruting IP-datagram Nettverksrammer Rutere

17 IP-adresser Klasse A-nettverk –128 nett, adresser pr. nett –IP-adresser: – Klasse B-nettverk – nett, adresser pr. nett –IP-adresser: – Klasse C-nettverk – nett, 256 adresser pr. nett –IP-adresser: – Klasse D-nettverk –Multicast-adresser –IP-adresser: – Klasse E-nettverk –Ikke i bruk –IP-adresser: –

18 Spesielle IP-adresser Loopback-adresser: – – Broadcast-adressen: –Siste adresse i nettverket –For eksempel IANA har dessuten reservert enkelte adresser for private nett (er ikke i bruk som offisielle Internettadresser): – (1 A-klasse) – (15 B-klasser) – (255 C-klasser)

19 Multicast-adresser Unicast: en-til-en Broadcast: en-til-alle Multicast: en-til-mange Multicast-adresser: – – Reservert for ”well-known” multicast-adresser – – Globale (”normale”) multicast-adresser (Internett) – – Lokale multicast-adresser

20 Layer 5, application Her finner vi kjente protokoller som HTTP, FTP, SMTP, POP, RTSP og RTMP Kan også lage oss egne klienter og tjenere, med egne protokoller klient transport internett nettverk tjener transport internett nettverk internett HTTP

21 Hva forbinder du med … Tjener Klient Klient/tjener-interaksjon Grensesnittet mellom klienten og tjeneren

22 Klienter Klienter – initierer kommunikasjon aktivt Karakteristika: Programmer blir klienter når de trenger informasjon som ligger på en annen datamaskin Startes direkte av brukerer og kjører én sesjon Kjøres lokalt på brukerens maskin Initierer kontakt med tjeneren aktivt Kan kontakte flere ulike tjenester om dette trengs, men en om gangen Trenger ingen spesiell maskinvare eller et avansert OS

23 Tjenere Tjenere – venter passivt på kontakt Karakteristika: Spesialisert og privilegert program som tilbyr én tjeneste, gjerne til flere klienter samtidig Startes automatisk ved systemstart (boot) og jobber med mange ulike sesjoner Kjører på en delt datamaskin (ikke en arbeidsstasjon) Venter passivt på å kontaktes av klienter Kan kontaktes av ulike klienter, men tilbyr én tjeneste Trenger kraftig maskinvare og spesialisert OS

24 Tjenere og tjenermaskiner Begrepsforvirring? Tjener – programvare som tilbyr tjenester i et nettverk Tjenermaskin – datamaskin som kjører en eller flere tjenere ”Server-class computer” – kraftig datamaskin; spesielt designet for å kjøre tjenere

25 Klienter, tjenere og tjenermaskiner KlientprogramvareTjenermaskin og tjenerprogramvare

26 Dataflyten: klient - tjener 2-veis kommunikasjon vanlig –Forespørsel fra klient medfører svar fra tjener Kontinuerlig strøm av data fra tjener –Børsinfo, værdata, Webcasts

27 Transport av data - Protokoller Klient og tjener kommuniserer via transportprotokoller (TCP/IP) klient transport internett nettverk tjener transport internett nettverk internett

28 Tjenere med flere tjenester Egne tjenerprogrammer for hver tjeneste på en enkelt tjenermaskin klient transport internett nettverk klient transport internett nettverk internett tjener transport internett nettverk tjener …

29 Hvem kommuniserer med hvem? Hvordan kjenner tjeneren og klienten hverandre? Transportprotokollen tilordner et unikt nummer til hver tjeneste (port nr.) Både klient og tjener angir identifikatoren: –Protokollprogramvaren bruker identifikatoren for å dirigere hver forespørsel til riktig tjener –Eksempler: :1250 (IP , port 1250) (IP , port 80)

30 ”Well-known ports” For å forenkle bruken av tjenerprogram benyttes ofte faste portnr. på de mest brukte tjenestene: – –Port 80: http/www –Port 443: https –Port 8080: http-alt –Port 21: ftp –Port 25: smtp –Port 110: pop3 –Port 23: telnet –Port 22: ssh –Port 553: rtsp –…

31 Samtidig utførelse Flere forespørsler til samme tjener fra flere klienter: –Hva om det etterspørres store datamengder? –Hva om det kommer veldig mange forespørsler? Løsning: –Hver enkelt forespørsel genererer en kopi av tjeneren (threads – tråder) –Kopiene kjører samtidig – concurrency

32 Koblingsorientert vs. koblingsfri Koblingsorientert transport betinger at klient og tjener blir enige om å kommunisere –TCP Koblingsfri transport gir en applikasjon anledning til å sende meldinger direkte til en hvilken som helst destinasjon på et hvilket som helst tidspunkt –UDP – User Datagram Protocol

33 Socket-grensesnittet (1) Hvordan gjøres en kobling egentlig? Hvordan er grensesnittet mellom applikasjon og protokollprogramvare?  Socket API (Application Program Interface)

34 Socket-grensesnittet (2) internett klient transport internett nettverk Socket API tjener transport internett nettverk Socket API

35 Sockets ”Sockets” ble opprinnelig utviklet som en del av I/O-systemet til operativsystemet BSD Unix Socket-API regnes for å være en ”de facto standard” som grensesnitt mellom applikasjon og kommunikasjons- protokollen De fleste operativsystemer (Windows, Mac, Linux, …) har derfor implementert sitt eget Socket(lignende) API

36 Hva Innebærer dette? Programmer ser Socket-API’et som et I/O system Åpne – Lese – Skrive – Lukke (Lage – Bruke – Ødelegge) En socket kan være koblet eller koblingsfri Socket - Stikkontakt

37 En socket-tjener og socket-klient Klient-/tjener- sekvens- diagram Tjener må kalle opp listen før klient kaller opp connect…

38 Java-Sockets (1) Programmeringsspråket Java tilbyr Socket- funksjonalitet gjennom klassene ServerSocket og Socket Leser og skriver til en socket på samme vis som man leser og skriver til en datafil! ServerSocket : accept() getInputStream() getOutputStream() close() : Socket : getInputStream() getOutputStream() close() : println() readLn() println() readLn() ServerSocket tjener = new ServerSocket(1250); Socket forbindelse = tjener.accept(); Socket forbindelse = new Socket(" ", 1250);

39 Java-Sockets (2) internett klient transport internett nettverk Socket API tjener transport internett nettverk Socket API Java (VM)