Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk.

Liknende presentasjoner


Presentasjon om: "Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk."— Utskrift av presentasjonen:

1 Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk

2 Internet og World Wide Web Dette er to forskjellige ting Internet er eit globalt nettverk som knyter saman fleire millioner datamaskiner www er ei av fleire tenester vi kan benytte Andre tenester er til dømes epost I dette kapitlet ser vi på litt av det som skjer i bakgrunnen når vi sender epost eller hentar fram ei web-side Kommunikasjonsprotokoller IP, TCP, HTTP Sockets

3 IP (Internet Protocol) Datamaskiner kan vere samankopla med mange ulike media Nettverkskabel, telefonlinje, radiosignal Signala som blir overført kan delast i to typer Applikasjonsdata, representerer det vi faktisk vil overføre Protokolldata, informasjon om avsendar og mottakar, feilsjekking m v Ein protokoll er eit sett reglar for korleis kommunikasjon skal foregå IP er utvikla for å støtte kommunikasjon mellom datamaskiner og lokalnett via Internett

4 IP (Internet Protocol) IP-adresser er talsekvensar på 4 bytes med punktum mellom 130.65.86.66 Mangel på adresser gjer at dette skal utvidast til 16 bytes DNS (Domain Naming Service) for å oversette mellom navn og adresser, sidan navn er enklare i bruk for oss Data blir delt opp i pakker, kvar pakke blir sendt for seg sjølv I ei sending som består av fleire pakker kan pakkane bli sendt via ulike ruter og komme fram i ei anna rekkefølge Mottakaren må ordne pakkane i rett rekkefølgje for å få innholdet korrekt

5 IP (Internet Protocol) IP har berre denne eine funksjonen – å prøve å levere data frå ei datamaskin til ei anna over Internett I tilfelle data blir tapt eller øydelagt under sending, vil IP sikre at mottakar blir gjort oppmerksom på dette På denne måten unngår ein at mottakar stolar på ufullstendige eller feil data IP har ingen mekanismer for å sende data på nytt i tilfelle feil Til dette bruker vi TCP (Transmission Control Protocol)

6 TCP (Transmission Control Protocol) TCP arbeider på eit høgare nivå enn IP, og sørger for påliteleg levering av data IP blir brukt for å sende pakker, TCP har tilleggstenester Sender på nytt i tilfelle feil Pakker kan bli borte eller innholdet kan bli endra Sendar får beskjed om forsøket på å sende data var vellykka eller ikkje Dei fleste Internett-program bruker TCP/IP Unntak: “Streaming media” der overføringsfart er viktigare Videokonferanse, live-overføring Feil er av mindre betydning, resulterer ofte berre i ei mindre forstyrring i bildet

7 TCP (Transmission Control Protocol) TCP treng portnummer på sendar- og mottakarmaskin i tillegg til IP-adresse På denne måten kan TCP danne ein direkte kanal mellom to program på ulike maskiner, uavhengig av eventuelle andre TCP- forbindelsar på dei same maskinene samtidig OSI-modellen for datakommunikasjon 7 lags modell, kvart lag bygger vidare på tenestene frå laget under IP opererer på lag 3 (nettverkslaget), TCP på lag 4 (transportlaget)

8 HTTP (Hypertext Transfer Protocol) HTTP er protokollen som definerer kommunikasjon mellom weblesar og webserver Lag 7 (applikasjonslaget i OSI-modellen) Kva skjer om vi skriv inn http://java.sun.com/index.html i weblesaren? Dette er ein såkalla URL (Uniform Resource Locator), ein peikar eller adresse til ein informasjonsressurs på Internett

9 HTTP 1. Weblesaren undersøker den delen av URL’en som er mellom // og / ( java.sun.com ), som identifiserer datamaskina vi vil ha kontakt med. Sidan det er bokstavar her forstår weblesaren at det er eit domenenavn, og tar kontakt med ein DNS-server for å få tak i Internettadressa til maskina 2. Av http: i URL’en forstår weblesaren at det er HTTP-protokollen som skal brukast, og standard portnummer er 80 3. Weblesaren etablere ein TCP-forbindelse med port 80 på den aktuelle Internettadressa

10 HTTP 4. Frå /index.html forstår weblesaren at det er denne fila vi vil ha tak i, og sender difor ein forespørsel, formattert som ein HTTP kommando, gjennom forbindelsen som er etablert. Kommandoen ser slik ut: GET /index.html HTTP/1.0 5. Webserveren i den andre enden dekodar kommandoen og sender fila /index.html tilbake til vår maskin 6. Weblesaren viser innholdet i fila. Html-koden blir tolka, om nødvendig blir fleire GET-forespørslar sendt for å få tak i bilder som høyrer til fila

11 HTTP HTTP er ein enkel protokoll med få kommandoar: GET – send det elementet vi ber om HEAD – be om kun header-info OPTIONS – be om kommunikasjonsalternativ for eit element POST – gi input til ein kommando på serveren og returner resultatet PUT – lagre eit element på serveren DELETE – slette eit element på serveren TRACE – spore kommunikasjon på serveren

12 Klient- og serverprogram I TCP/IP terminologien har vi ein sokkel på kvar side av forbindelsen Java-kode for å sette opp ein forbindelse med ein webserver: final int HTTP_PORT = 80; Socket s = new Socket(“java.sun.com”, HTTP_PORT); InputStream instream = s.getInputStream(); OutputStream outstream = s.getOutputStream();... s.close(); Dette er eit enkelt eksempel på eit klientprogram

13 Klient- og serverprogram På server-sida kan vi bruke klassen ServerSocket Må gi portnummer til konstruktør accept() – metoden ventar på at klientar skal ta kontakt Ein ny sokkel blir oppretta for kvar forbindelse og sendt til programmet som skal utføre service Vanlegvis vil serviceprogrammet implementere Runnable-interfacet og kjøre sin run()-metode i kvar tråd som betjener ein klientforbindelse For fleire detaljer: sjå på BankServer-eksemplet Ved hjelp av klassene URL og URLConnection kan vi operere på eit litt høgare nivå, og la desse klassene ordne soklar og forbindelsar for oss I mange samanhengar arbeider vi på eit endå høgare nivå og ser ikkje der som skjer under overflata Det kan likevel vere nyttig å vite litt om kva som skjer...


Laste ned ppt "Kapittel 24 (Big Java 2.utg) Kommunikasjon i nettverk."

Liknende presentasjoner


Annonser fra Google