6107 Operativsystem og nettverk

Like dokumenter
6107 Operativsystem og nettverk

6105 Windows Server og datanett

6105 Windows Server og datanett

6105 Windows Server og datanett

6105 Windows Server og datanett

6107 Operativsystemer og nettverk

Kap 3: Anvendelser av Internett

Introduksjon til nettverksteknologi

6107 Operativsystemer og nettverk

Tjenester i Internett. E-post, HTTP, FTP, Telnet

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk

6105 Windows Server og datanett

6105 Windows Server og datanett

Installasjon av webtjener

Forelesning Oppsummering

6105 Windows Server og datanett

6105 Windows Server og datanett

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

6105 Windows Server og datanett

1. Informasjonskapsler og pakkefangst. 2. Grunnleggende datakommunikasjon

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Forelesning 4: Kommunikasjonssikkerhet

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Kapittel 4: Transportlaget

6105 Operativsystem og nettverk

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

6105 Operativsystem og nettverk

6105 Operativsystem og nettverk

6105 Windows Server og datanett Jon Kvisli, HSN Skriveradministrasjon - 1. Utskrift i nettverk

Prosjektrapport HTTPS for offentlige webtjenester

BEDRE KRYPTERING AV WEB-TRAFIKK OG E-POST (TLS)

6105N Windows Server og datanett

Grunnleggende datakommunikasjon sikker datakommunikasjon fra offentlige nettsteder

6105 Windows Server og datanett

Teori om sikkerhetsteknologier

6105 Operativsystem og nettverk

6105N Windows Server og datanett

6105 Windows Server og datanett

Lagene spiller sammen

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

Vurdering av standarder fra NOSIP. Oktober 2010

1. Sikkerhet i nettverk

6105 Windows Server og datanett

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

6107 Operativsystemer og nettverk

Nasjonal sikkerhetsmyndighet

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

6105 Windows Server og datanett

Nettverkstilgang - problemstilling

6105 Windows Server og datanett

Vurdering av standarder fra NOSIP. Beslutningssak i det 25. standardiseringsrådsmøte

6105 Windows Server og datanett

6105 Windows Server og datanett

Obligatorisk oppgave nr 2 i datakommunikasjon. Høsten Innleveringsfrist: 04. november 2002 Gjennomgås: 7. november 2002

E-post Basis 500MB Hosted Exchange Mailvask Masseutsendelse e-post

Tjenestebeskrivelse Webhotelltjenester

Datateknikk TELE1004-A 13H HiST-AFT-EDT. Oppgåve: Protokollanalysatoren Wireshark. Delemne digitalteknikk og datakommunikasjon Øving 7; løysing

6105 Windows Server og datanett

6105 Windows Server og datanett

Forsendelse i Zirius

IT for medisinsk sekretær Fredrikstad Kai Hagali

6105 Windows Server og datanett

6105 Windows Server og datanett

HUB = multiport repeater

Lek 01 Grunnprinsipper

Tomcat på Eple. Bjarte Kileng. 19. mars, HiB. Bjarte Kileng (HiB) Tomcat på Eple 19. mars, / 11

Til IT-ansvarlige på skolen

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

6105 Windows Server og datanett

Nasjonal sikkerhetsmyndighet

Innhold. Epostprogrammer og webmail.

UNIVERSITETET I OSLO

Applikasjonslaget. Applikasjoner og applikasjonslagsprotokoller. Mål: Flere mål Spesifike protokoller: Programmeringsgrensesnitt

Blant de mest omtalte Internett tilpassningene i dag er brannmurer og virtuelle private nett (VPN).

Generelt om permanent lagring og filsystemer

Det samme som World Wide Web Et lokalnett (LAN) Et verdensomspennende nettverk Startsiden til et nettsted. Hva betyr forkortelsen HTML?

Slå på eller av webdiskusjoner

Som en del av denne prosessen, når verten har startet og nøkkelfilene ikke er å finne, lages et nytt sett automatisk.

Install av VPN klient

6105 Windows Server og datanett

Universitetet i Oslo Institutt for informatikk. avmystifisert i INF102. Kvile

Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL databasesystem.

Teknisk informasjon om bruk av BankID - Ansattes bruk av nettbank fra arbeidsplassen

6105 Windows Server og datanett

6105 Windows Server og datanett

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

INF329,HØST

Brannmurer. fire wall (noun): A fireproof wall used as a barrier to prevent spread of fire.

6105 Windows Server og datanett

6107 Operativsystem og nettverk

DDS-CAD. Oppsett av student-/demolisens

Viktig informasjon til nye brukere av Mac-klient fra UiB

Utredning av behov for HTTPS i offentlig sektor. Tillit, tilgjengelighet, brukervennlighet og effektivisering

Transkript:

6107 Operativsystem og nettverk Leksjon 3a Web og http-protokollen Applikasjonslaget (litt repetisjon fra 6105) Webtjenesten HTTP-protokollen, HTTP/2, HTTPS og TLS/SSL Internet Media Types (MIME) Filoverføring med FTP og SSH File Transfer Protocol Pensum [Hallsteinsen] Kap. 3.2 Web [Grigorik] Kap 12 HTTP/S Relevante lenker: http://en.wikipedia.org/wiki/http https://en.wikipedia.org/wiki/http/2 http://en.wikipedia.org/wiki/mime https://en.wikipedia.org/wiki/ssh_file_transfer_protocol 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 1 Applikasjonslaget i Internett OSI modell TCP/IP modellen Lag 5-7 Applikasjonslag HTTP web DNS IMAP, SMTP e-post FTP og mange flere Lag 4 Transportlag TCP / UDP Lag 3 Nettverkslag (Internetlag) IP Lag 1 og 2 Link/linjelag Fysisk lag Nettverk 1 f.eks. Ethernet Nettverk 2 f.eks. WLAN 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 2 Page 1

Applikasjonslaget i Internett Applikasjonsprotokoll Tjenerapplikasjon Klientapplikasjon Melding / forspørsel Svar fra tjener Socket med kjent portnr http = 80 Transportlag Nettlag Lenkelag Fysisk lag Transportlag Nettlag Lenkelag Fysisk lag IP-adresse, f.eks. 128.39.198.44 Klientmaskin Tjenermaskin Eksempel URL en: http:\\www.hit.no = socketadresse: 128.39.198.44:80 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 3 Applikasjonslaget i Internett Applikasjonslaget benytter klient / tjener prinsippet Tjenerapplikasjoner - kjører hele tiden» Lytter etter henvendelser på en socket med kjent (fast) portnummer» Socket = kontaktpunkt mellom applikasjon og transportlaget» Hver tjenerapplikasjon har sitt eget (unike) portnummer» Socketadresse = IP-adresse:portnr, eks. 128.39.198.50:80 Klientapplikasjoner - startes av brukeren ved behov» kontakter tjenerapplikasjon ved hjelp av IP adresse og kjent portnummer (dvs. socketadressen)» Bruker oppgir vanligvis lesbart maskinnavn oversettes av DNS. Standardiserte applikasjonsprotokoller Protokollene definerer format og innhold i meldingene Meldingene består av høynivå "kommandoer og svar, ofte i lesbar tekst! På applikasjonslaget kan meldingene være lange bytestrømmer (flere kb/mb) 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 4 Page 2

HTTP protokollen ressursnavn kan være mappe- og / eller filnavn HTML = HyperText Markup Language - et sidebeskrivelsesspråk HTTP = HyperText Transfer Protocol - regler for å overføre websider URL-format: protokoll://maskinnavn.domenenavn:portnummer/ressursnavn Eksempel: http://home.hit.no:80/~kvisli/index.htm (http og port 80 er standard i nettleseren og kan derfor droppes) HTTP forespørsel (HTTP-request) HTTP svar (HTTP-response) NETTLESER (KLIENT) WEBTJENER home.hit.no:80 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 5 URL-formatet HTTP protokollen Protokoll vil alltid være http:// når vi snakker om websider.» Weblesere kan bruke andre protokoller for andre oppgaver f.eks. ftp:// Portnummer angir hvilken TCP-port webtjeneren er koblet til og lytter på. Default er 80. Ressursnavn er navnet til en ressurs på den aktuelle webtjeneren. F.eks. en html-fil, en bildefil, et php-program osv. 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 6 Page 3

HTTP protokollen HTTP - applikasjonsprotokoll Webklient (webleser) HTTP-forspørsel (request) Webtjener TCP HTTP-svar (response) TCP TCP-porter med kjente portnr http = 80 https = 443 IP IP IP-adresse, f.eks. 128.39.198.44 Lenkelag Lenkelag Fysisk lag Fysisk lag Klientmaskin Tjenermaskin Eksempel URL en: http:\\www.hit.no = socketadresse: 128.39.198.44:80 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 7 HTTP-forespørsel (request) 1 Forespørselslinje 2 Hodelinjer 3 Kropp med eventuelle data (ingen data fra klienten i dette eksemplet) Olav Skundberg Innføring i datakommunikasjon 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 8 Page 4

HTTP-forespørsel (request) Flere type forespørsler: De to vanligste :» GET ber om å få hentet en webside på en URL Andre filer som skal vises i nettleseren, hentes også med GET, f.eks. bildefiler, pdf ol.l.» POST Sender data, f.eks. fra et html-skjema, fra nettleser til en URL på webtjener Mer uvanlige : HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT Forespørselen består av: 1. Forespørselslinje på formen: HTTP-metode ressursnavn HTTP/versjonsnr f.eks.:» GET ~\kvisli\jon.htm HTTP/1.1 ber tjener om å returnere filen ~\kvisli\jon.htm» POST /demo/skjema.php sender data fra klient til tjener og ber om resultat i retur 2. Hodelinjer (headerlines) = forespørselhode med tilleggsinformasjon» Hver hodelinje består av et variabelnavn og en eller flere verdier 3. Evt. en meldingskropp.» GET metoden har tom meldingskropp» POST metoden vil sende variabelverdier (data) fra et html-skjema i meldingskroppen. 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 9 HTTP-svar (response) 1 Statuslinje 2 Hodelinjer 3 Kropp med (Ingen data fra webtjeneren i dette eksemplet) eventuelle data (f.eks. html-koden) Olav Skundberg Innføring i datakommunikasjon Les mer her: http://en.wikipedia.org/wiki/list_of_http_header_fields#responses 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 10 Page 5

Svaret består av: HTTP-svar (response) 1. En statuslinje på formen: HTTP/versjon statuskode statustekst f.eks:» HTTP/1.1 200 OK» HTTP/1.1 204 No Content» HTTP/1.1 401 Unauthorized» HTTP/1.1 404 File or directory not found» + mange flere (Se: http://en.wikipedia.org/wiki/list_of_http_status_codes ) 2. Hodelinjer (responshode)» med informasjon om bl.a. filen som sendes 3. Meldingskropp med eventuelle data» inneholder data som skal sendes tilbake fra tjeneren til klienten» F.eks. en html-fil, bildefil, pdf-fil e.l.» eller resultatet etter kjøring av et PHP / ASP / JSP program på tjeneren som også kan være html kode... 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 11 HTTP-svar (response) Eksempel på http-svar med statuskode 200 OK og html-kode i kropp 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 12 Page 6

HTTP-protokollen Hver fil som skal hentes fra server medfører: Èn http-forespørsel fra nettleser Ett http-svar fra webtjener Obs! Èn webside kan bestå av mange filer! og dermed mange http-forespørsler og -svar for å laste hele websiden! 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 13 HTTP protokollen HTTP er en tilstandsløs protokoll To forespørsler fra samme klient er uavhengige av hverandre Klienten og tjeneren "glemmer" forrige forespørsel umiddelbart "Problematisk" i webapplikasjoner (kan avhjelpes med cookies/sessions) Men: forenkler implementasjon av tjenerprogrammene HTTP 1.0 (1996) Etablerer og kobler ned en ny forbindelse til tjener for hver forespørsel/svar! Vanligvis er det tjeneren som kobler ned etter at responsen er sendt Medfører mye ekstra tidsbruk for oppkobling / nedkobling.» Som vi skal se i detalj under gjennomgang av TCP på transportlaget HTTP versjon 1.1 (1997) Mest vanlige versjon i dag. Protokollen er forbedret med effektiviseringsmekanismer Kan sende flere forespørsler på samme TCP forbindelser HTTP versjon 2.0 (2015) Mer effektiv overføring av data (komprimering, multipleksing og server push-teknologi) Støttes av de fleste webtjenere og -lesere fra slutten av 2015 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 14 Page 7

Forbindelse Forbindelse Effektivisering i HTTP 1.1 vedvarende forbindelse vedvarende forbindelse med pipelining 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 15 Effektivisering i HTTP 1.1 To metoder for å effektivisere - gir vesentlig bedre ytelse! Vedvarende (persisente) forbindelser Forbindelsen til webtjener holdes åpen, og brukes av flere HTTP forespørsler (requests) etter hverandre» Ofte inneholder en webside flere filer som skal lastes fra samme tjener» Sparer tid til opp- og nedkobling Klient hodelinje: Connection: Keep-alive Tjener hodelinje: Keep-alive: Timeout=15, max=96» Tjener kobler ned forbindelsen hvis ingen ny forspørsel innen 15 sek.» Max 96 forespørsler på én forbindelse deretter kobler tjener ned. Med HTTP pipelining Klienten kan sende flere forespørseler (vanligvis GET) til samme tjener, uten å vente på respons mellom hver forespørsel. Reduserer ventetid på klienten 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 16 Page 8

Effektivisering i nettleser Moderne nettlesere benytter flere teknikker for å effektivisere Lokal mellomlagring (caching) Sider som er vist tidligere kan hentes fra mellomlager på lokal disk Klienten sender tidspunkt filen ble opprettet med GET forespørselen If-Modified-Since: Wed, 11 Mar 2009 10:01:12 GMT+1 Hvis filen på tjener ikke er endret etter dette, sendes kun en statusmelding HTTP/1.1 304 Not Modified NB! Filer fra webapplikasjoner (eks. PHP) blir alltid sendt på nytt! Parallelle forbindelser Nettleser kan etablere to eller flere parallelle forbindelser til samme tjener Hver forbindelse er en separat HTTP sesjon Benyttes hvis mange filer skal lastes ned Dette styres helt av webleseren og er ikke en del av HTTP protokollen 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 17 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 18 Page 9

HTTP/2 Ny større revisjon av HTTP (første siden versjon 1.1) Utvikles av IETF (Internet Engineering Task Force) Godkjent som standard i februar 2015» De fleste store nettlesere støtter HTTP/2 fra slutten av 2015» Apache 2.4.17 støtter HTTP/2 med modulen mod_http2» Microsoft IIS støtter HTTP/2 i Windows 10 og Windows Server 2016. Pr. juni 2016 støtter ca 9% av verdens 10 mill. største websiter HTTP/2 [W3Techs] "Bakoverkompatibel" med http/1.1 fordi: Klient- og tjenerside "blir enige" om versjon (på forhånd eller underveis) HTTP-APIet er uendret sett fra applikasjonene Metodene GET, POST osv. er beholdt Navn og betydning på hodelinjer er uendret Likevel - èn stor endring: HTTP/2 sender data på binær form! Hode og data i meldingene kodes binært Hode og data sendes i separate "rammer" Både klient og tjener må bruke HTTP/2 Krever verktøy (som Wireshark) for å lese meldingene 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 19 Datautveksling i HTTP/2 strømid 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 20 Page 10

Datautveksling i HTTP/2 Stream (strøm) En toveis strøm av bytes over en transportforbindelse (TCP-forbindelse) Èn TCP-forbindelse kan transportere èn eller flere strømmer Hver strøm er identifisert med et unikt nummer (strømid) En strøm kan inneholde èn eller flere http-meldinger Strømmer kan gis ulik prioritet Message (melding) En sekvens av frames (rammer) som til sammen utgjøre en logisk http-melding (forespørsel eller svar) Kan betå en èn eller flere rammer Frame (ramme) Den minste kommunikasjonsenheten i HTTP/2 Kan inneholde HTTP-hode, HTTP-data (nyttelast) eller annet Rammer fra ulike strømmer kan "blandes" på samme TCP-forbindelse Mottaker vil sette sammen rammene korrekt basert på strømid'en i hver ramme 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 21 Effektiviseringsmekanismer i HTTP/2 Datakomprimering Komprimerer request- og responsehodet Reduserer datamengden som sendes Server Push Tjener kan sende mer data enn det klienten har bedt om, f.eks. CSS, JS og bilder Obs! Må sendes før "hovedresponsen" slik at ikke klienten også ber om disse. Multipleksing Erstatter vedvarende forbindelser, pipelining og parallelle forbindelser fra HTTP 1.1 Oppnås ved å blande rammer fra ulike strømmer over samme TCP-forbindelse 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 22 Page 11

Sikker HTTP - HTTPS 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 23 Sikker HTTP - HTTPS HTTPS = HTTP Secure = HTTP over TLS/SSL Alle HTTP-meldinger krypteres med TLS før de sendes» Både HTTP-hode og nyttelast krypteres! HTTPS bruker port 443 på tjenersiden TLS = Transport Layer Security Erstatter den eldre SSL (Secure Socket Layers) Krypterer data med symmetriske nøkler» Nøkler genereres for hver forbindelse» Utveksles mellom klient og tjener ved oppkobling (TLS-handshake)» Beskytter mot "avlytting" og forsøk på endring av data som sendes Kan autentisere kommunikasjonspartene med asymmetriske nøkler» Ved hjelp av private/offentlige nøkler og digitale sertifikater HTTPS krever at webtjeneren har et digitalt sertifikat som er signert av en "trusted authority"» Kan f.eks. unngå "man-in-the-middle-angrep" ved at webtjeneren sender nettstedets digitalte sertifikat med sin offentlige nøkkel til klienten. HTTP/2 bruker også TLS for sikker kommunikasjon 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 24 Page 12

Internet Media Types (MIME) Forteller webklienten hvordan en fil kan vises webtjeneren kan overføre ulike type filer med ulikt innhold webklienten må vite "hva" fila inneholder for å kunne vise den korrekt Tilsvarer filtyper i Windows, f.eks..docx,*.jpg,.pdf MIME = Multipurpose Internet Mail Extention Defineres og vedlikeholdes av IANA Se: http://www.iana.org/assignments/media-types MIME-typen består av to deler: Type, f.eks: text sier noe overordnet om innholdet Subtype, f.eks: html mer detaljert beskrivelse av kodingsformat Eksempler: text/html text/css image/jpg tekstfiler kodet med html (websider) tekstfiler kodet etter css standaren (stilark) bildefil i jpg format 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 25 Internet Media Types (MIME) Webtjenere må sende korrekt MIME-type med alle filer Dette sendes som en hodelinje i http-responsen, f.eks: 'Content-Type: image/gif' MIME-typen bestemmes fra filtypen i webtjenerens OS Webtjeneransvarlig må konfigurere / vedlikeholde MIMEtyper på webtjeneren 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 26 Page 13

Filoverføring med FTP FTP File Transfer Protocol «Gammel» klient/tjener-basert applikasjonsprotokoll for filoverføring FTP bruker TCP som transportprotokoll FTP-tjener lytter på TCP-port 21 (oppkobling/kommandoer)» Lager ny forbindelse på serverport 20 for dataoverføring Noen bruksområder Opplasting (publisering) av websider til webtjenere. Nedlasting av filer fra ftp-arkiver på Internett Verktøy Finnes både kommandobaserte og GUI-baserte klienter Weblesere kan også bruke FTP-protokollen» URL-format: ftp://user:password@host:port/path TCP port 20/21 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 27 Filoverføring med FTP Autentisering Anonym FTP» Bruk av FTP uten gyldig brukernavn» Brukernavn: anonymous (eller ftp)» Passord: e-postadressen din (eller hva som helst) Autentisert FTP» Bruker må oppgi gyldig brukernavn og passord ved tilkobling» Tilgangsettigheter styres av oppgitt brukerkonto og filsystem Ulemper med FPT Ingen kryptering av overførte data eller passord! Hvis man bruker autentisert FTP, kan passordet "tappes" i nettet. Trøblete i brannmurer og NAT fordi den bruker to tjenerporter Bedre alternativer til FTP SCP Secure Copy Protocol enkel filoverføring med SSH SFTP - Secure FTP bruker SSH, default TCP port: 22 Begge tilbyr:» Autentisering (brukernavn / passord)» Kryptert overføring av data og autentiseringsinformasjon FTPS FTP over SSL/TLS: oppkobling er ukryptert, men resten kryptert 6107 Operativsystem og nettverk Jon Kvisli, HSN Web og http - 28 Page 14