IN2210/IN2220: Computernetwerken: Applicatielaag



Vergelijkbare documenten
7. De applicatielaag. Applicatielaag introductie

IN3001: Datacommunicatie en Netwerken: Applicatielaag

7. De applicatielaag. Applicatielaag introductie

Aan de slag met DNS Jeroen van Herwaarden, Robbert-Jan van Nugteren en Yannick Geerlings

The OSI Reference Model

Zelftest Internet concepten en technieken

1 Wat is Dns? 2 Logische Structuur van DNS. 3 Fysische structuur van DNS. 4 Records. 5 Hoe werkt nu DNS. 6 DNS in windows 2008

Bij rekenvragen de berekening opschrijven. Bij beredeneringsvragen de motivering geven.

Web building basis: HTML. Karel Nijs 2008/09

Zelftest Internet concepten en technieken

SIP analyse. Handleiding

Computernetwerken Deel 2

Gegevens. Doelstellingen Elektronica. verwerven. opslaan. bewerken doorsturen. weergeven. Analoog signaal : snelheidsmeting. KHLim - dep.

In de meeste netwerkomgevingen staan de firewalls het browsen of surfen op internet toe.

OSI model. Networking Fundamentals. Roland Sellis

Zelftest Informatica-terminologie

Internet. Wat is het internet? initiatie. Senioren K.U.Leuven. Computers die met elkaar verbonden zijn, elkaar kunnen verstaan, dezelfde taal spreken,

NAT (Network Address Translation)

Thinking of development

API...1 Identificatie...1 Opties...2 Acties...3 Webserver...6 Heartbeat...6 Buffer groottes...8

Veel gebruikte open standaarden in onderzoek

Part 17-A INTERNET: basisbegrippen techniek & beveiliging

HTML. Media. Hans Roeyen V 3.0

1. Proloog webtechno, rauwkost

Computernetwerken! SMTP Simple Mail Transfer Protocol, POP Post Ofice Procotol

Maximo Tips and Tricks

NVU work shop. Kees Moerman November Overzicht van een web site. Wat is een web site HTML files

NGN. Wageningen, 30 oktober Iljitsch van Beijnum

Aandachtspunten voor installatie suse in vmware server

Tentamen Telematica Systemen en Toepassingen ( /1) 9 november 2011,

Dynamische Websites. Week 2

Revisie geschiedenis. [XXTER & KNX via IP]

Dienstbeschrijving mshield. Een dienst in KPN ÉÉN

Van start met Hosted Exchange 2010 (versie 0.5)

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

HAN4.x technisch document

Instellingen Microsoft ISA server

xxter Mobotix T24 configuratie

Tweede deeltentamen Netwerken (INFONW) 29 juni 2009

Security web services

Handleiding Domeinnaam Online Versie maart 2014

Video. Multimedia Rein van den Boomgaard Universiteit van Amsterdam

Presentatie TCP/IP voor LPCB Nederland 20 en 28 juni 2011

AVCHD. AVCHD Workshop Hans Dorland

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop

Cybercrime. How to start? 11/05/2015. Deel 1. Netwerken Internet - Mail. Netwerken - Internet. Netwerken - Internet. Netwerken - Internet

n Korte afstanden (max 1 à 2 km) n Grote snelheden tegen lage kosten (10- n Grote betrouwbaarheid n Meestal broadcast netwerk, dus geen

Deel 4 Active Directory inleiding

Webrelais IPIO-32R-M-v8.0 Compacte modul met 32 Relais Outputs.

Communications and Networking: An Introduction

Interactief, real time security management

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database

IC Mail Gateway Gebruikershandleiding

computernetwerken - antwoorden

Modem en Codec. Telematica. Amplitude-modulatie. Frequentie-modulatie. Soorten modems. Fase-modulatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Aanleveren van te verzenden sms berichten aan SMS Via

Inhoud. Packet Tracer x. Labs xi

Datasheet SMS Comfort URL

Vlaams Communicatie Assistentie Bureau voor Doven, vzw

Referentie Handleiding

Met 32 ingangen potentiaal vrij Input 1 t/m Input 32

Dynamische Websites. Week 3. donderdag 3 oktober 13

De facto standaarden (consensus aangetoond)

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Webrelais IPIO-4A8I-M

Je website (nog beter) beveiligen met HTTP-Security Headers

4IP = Internet Protocol 4Protocol gebruikt op netwerk laag in het internet 4Geen betrouwbaarheid

Nederlands WMS - SLD Profiel. Versie 1.0

HTTP SMS API Technische Specificatie messagebird.com versie mei 2014

CBizz Dienstbeschrijving Cogas Footprint

Central Station. Handleiding configuratie Exchange / Central Station

INHOUDSOPGAVE Het Boekenwinkeltje Registreer.aspx Opgaven... 97

Zelftest Java concepten

TEST JE WEBKENNIS: Smarty or dummy >vakken> informatiekunde> test je webkennis

Tentamen Telematica Systemen en Toepassingen (261000) 3 november 2010,

Ricardo Krikke. Agenda. Wat is Kenniswijk? Ontwikkelingen in Internet. De rol van Kenniswijk hierin. Welke mogelijkheden biedt het u?

Chapter 4. eenvoudige webserver opzetten

Handleiding Plesk. Oxilion Internet.Obvious! -1- Handleiding Plesk

Mobiele technologie zorgt ervoor dat je met een smartphone en tablet en draadloos op een laptop of computer kunt werken.

Configureren van de Wireless Breedband Router.

Thuisnetwerk. Ger Stok Maart 2017

VoIP Netwerking Configuratie Gids. Vox Davo VoIP Netwerking Configuratie Gids

Goedkope DSL aansluitingen hebben voor de bewaking op afstand een belangrijk nadeel:

Network Services Location Manager. Handleiding voor netwerkbeheerders

B3 Programmeren - PHP

HOWTO: Named, a Domain Name Server. geschreven door Johan Huysmans

ipact Installatiehandleiding CopperJet 816-2P / P Router

SuperOffice Systeemvereisten

Hier kunt u alle schijven en mappen afscannen op audio bestanden die ondersteund worden door de MP (mp3 en wma).

Datum 15 juni 2006 Versie Exchange Online. Handleiding voor gebruiker Release 1.0

Transcriptie:

Applicatielaag introductie 7. De applicatielaag standaards t.b.v. ondersteuning van applicaties, b.v. Name en Directory servers (b.v DNS en X.500) Netwerkmanagement (SNMP) Standaard toepassingen, b.v. (SMTP en X.400) WWW multimedia File Transfer (b.v. FTP) in2210/2220 Computernetwerken: Applicatielaag 7-1 in2210/2220 Computernetwerken: Applicatielaag 7-2 Name services DNS (Domain Naming System) Name service = Directory service Basis functie: Het leveren van een adres bij een gegeven naam Standaards: CCITT: X.500 Directory Services Internet: DNS (Domain name System) Internet: LDAP (Lightweight Directory Access Protocol) DNS (vanaf 1987) is name service van Internet beschreven in RFC1034 en RFC 1035 Voor 1987 één centrale masterfile met host-namen en adressen, te downloaden door iedere host. problemen: niet scalable te centraal DNS bevat voornamelijk host-namen en IP-adressen in principe ieder object mogelijk in2210/2220 Computernetwerken: Applicatielaag 7-3 in2210/2220 Computernetwerken: Applicatielaag 7-4 Client naam DNS werkwijze Applicatie Resolver DNS server IP adres gethostbyname UDP naam IP adres Server in2210/2220 Computernetwerken: Applicatielaag 7-5 DNS domeinen DNS hierarchisch gepartioneerd domeinnaam: labels gescheiden door '.' hoogste level rechts, voorbeeld: dutikos.twi.tudelft.nl domeinnamen, toplevel in twee soorten generiek (voornamelijk in US), b.v. com, edu, gov,... etc. nu ook: biz, info, pro, aero, coop museum land (buiten de US), (volgens ISO3166) domeinnamen zijn: absoluut (eindigt met.) of relatief DNS servers kennen geen relatieve namen. Client-software vult eventueel namen aan binnen een domein mag 'domein autoriteit zelf de subdomein-indeling en namen kiezen max 63 tekens per component, 255 per domein in2210/2220 Computernetwerken: Applicatielaag 7-6 7-1

DNS database Per domain een set Resource Records (RR s) format: domain-name, time-to-live, type, class, value Resource Record (RR) kent verschillende recordtypen voor verschillende object typen, b.v. type betekenis A computeradres NS gezaghebbende name server CNAME alias naam MX mail host etc... Root server adressen in systeem configuratie file. Deze worden in cache geplaatst tijdens het starten van DNS in2210/2220 Computernetwerken: Applicatielaag 7-7 DNS queries queries ten behoeve van eenvoudige host-naam resolutie b.v. ftp geeft host-naam, wenst IP-adres vinden van een E-mail server (Er is één E-mail server per domein) omgekeerde resolutie (zoekt host-naam bij IP-adres) informatie over de host ( gevaarlijk?) vinden van well-known services, b.v. telnet, ftp in2210/2220 Computernetwerken: Applicatielaag 7-8 DNS name servers (1) scaling probleem opgelost door partitionering replication en caching in de buurt waar gegevens nodig zijn DNS name space opgedeeld in zones, per zone te registreren: gegevens voor namen in een domein, uitgezonderd de subdomeinen met eigen beheer namen en adressen van gezaghebbende (authorative) services namen en adressen van servers in subzones zone management parameters in2210/2220 Computernetwerken: Applicatielaag 7-9 DNS name servers (2) Iedere zone bevat: Eén primaire server heeft (authorative) informatie in database) Eén of meer secundaire servers, (krijgen informatie van primaire server) (secundaire servers kunnen zich ook buiten de zone bevinden) caching mag door iedere server gegevens krijgen een time-to-live waarde mee in2210/2220 Computernetwerken: Applicatielaag 7-10 DNS navigatie en query processing navigatie en query processing d.m.v resolver en server DNS-architectuur voorziet in recursieve navigatie iteratieve navigatie resolver kiest methode (maar: niet alle servers kennen de recursieve techniek) meer queries in 1 query-bericht toegestaan Standaards CCITT: X.400 (versie 1984) OSI : MOTIS CCITT: X.400 (versie 1988) MOTIS en X.400 zijn nagenoeg hetzelfde Internet: RFC822 (+ rfc821) = defacto standaard Internet en X.400 gebruiken verschillende soorten adressen. in2210/2220 Computernetwerken: Applicatielaag 7-11 in2210/2220 Computernetwerken: Applicatielaag 7-12 7-2

Users K J Mail systeem UA UA Architectuur Mail Transfer Systeem MTA MTA UA MTA MTA UA UA UA (User Agent): interface tussen gebruiker en mail-systeem MTA (Message Transfer Agent) zorgt (in samenwerking met andere MTA's) voor overdracht van mail. in2210/2220 Computernetwerken: Applicatielaag 7-13 J L Functies Basisfuncties: compositie overbrengen rapportage tonen afhandelen (opbergen of weggooien) Extra functies, o.a. doorsturen creëren en opheffen van mailboxes copieën privacy alternatieve ontvanger in2210/2220 Computernetwerken: Applicatielaag 7-14 Componenten van een brief User Agent Envelop bevat informatie ten behoeve van MTA's: i.h.a. informatie nodig voor het op de juiste wijze overbrengen van de brief Inhoud, bestaat uit: briefhoofd (vergelijk normale brief) het eigenlijke bericht (de 'message body') User Agent (mail reader) is interface tussen gebruiker en mail-systeem Voor verzending nodig: het bericht (b.v. aanmaken met editor) E-mail adress (Bij Internet in DNS-formaat, bij X.400 anders) parameters, b.v. prioriteit, security,... Lezen en verwerken van mail: overzicht nodig per brief te beslissen over acties, b.v. forward, reply, delete, undelete, save, print in2210/2220 Computernetwerken: Applicatielaag 7-15 in2210/2220 Computernetwerken: Applicatielaag 7-16 RFC 822 Enige details: header bevat zowel envelop als briefhoofd Ieder headerveld bestaat uit één regel, met: <veldnaam> : <waarde> velden t.b.v. MTA, b.v. to : <bestemming> from: <creator> sender: <afzender> velden t.b.v UA, b.v. In-Reply-To: <antwoord op brief...>, Subject: <het onderwerp> body iedere inhoud mag (dus niet alleen printbare tekst) MIME (1) MIME (Multipurpose Internet Mail Extension), structureert de message body maakt het mogelijk verschillende delen van de body verschillend te behandelen. b.v. ander alfabet gebruiken beeld verwerken geluid verwerken zendende en ontvangende programma's moeten hiervoor worden aangepast (uitgebreid). in2210/2220 Computernetwerken: Applicatielaag 7-17 in2210/2220 Computernetwerken: Applicatielaag 7-18 7-3

MIME (2) MIME (3) Nieuwe header velden t.b.v. MIME, o.a. Content-Type: b.v. text/plain image/gif video/mpeg Content-Transfer-Encoding, b.v. ASCII (max 1000 tekens per regel) base64 encoding : 24 bits in 4 groepen van 6, een groep van 6 bits wordt voorgesteld door een alfabetisch teken, een cijfer of + en / quoted-printable encoding ( unprintable wordt =XX ; = wordt =3D ) Zeven typen: b.v. text/html Web page image/gif plaatje video/mpeg filmpje application/octet-stream willekeurige reeks bytes application/postscript postscript 'programma' message external body body elders te halen multipart/mixed verschillende onderdelen multipart/alternative b.v. verschillende talen multipart/parallel b.v. video clip multipart/digest reeks berichten verzameld in één in2210/2220 Computernetwerken: Applicatielaag 7-19 in2210/2220 Computernetwerken: Applicatielaag 7-20 transfer Van server naar gebruiker Brieven worden doorgegeven van MTA naar MTA (store and forward) Steeds transportverbinding van MTA naar MTA nodig In eenvoudigste geval (Internet): transportverbinding van bron-mta naar doel-mta Internet gebruikt SMTP-protocol (boven TCP, server luistert op poort 25) Bij verschillende mailsystemen b.v. Internet en X.400 gateways nodig (op applicatie niveau) Als gebruikersmachine geen mailserver bevat is er een protocol nodig voor communicatie tussen gebruiker en mailbox in mailserver. Verschillende standaards: POP3 : Haalt mail uit mailbox, plaatst deze in machine van gebruiker. IMAP : mail blijft in mailbox: gebruiker kan deze vanaf verschillende machines raadplegen en manipuleren andere faciliteiten: filters vacation daemon in2210/2220 Computernetwerken: Applicatielaag 7-21 in2210/2220 Computernetwerken: Applicatielaag 7-22 Belangrijke verschillen POP3 en IMAP WWW World Wide Web POP3 IMAP Waar bewaren? op gebruikers PC op Server Hoe lezen? offline online verbindingstijd kort lang gebruik server resources weinig veel meerdere mailboxes? nee ja voor mobiele gebruikers? nee ja kiezen wat te downloaden? nee ja eenvoudige imlementatie? ja nee veel gebruikt? ja groeiend Web bestaat uit door links met elkaar verbonden documenten, verspreid over Internetmachines (servers) documenten te bekijken d.m.v. browsers(clients): grafisch b.v. Mosaic, Netscape, Internet Explorer text-only: b.v. Lynx documenten worden meestal pages genoemd client/server relatie tussen browser en server oorspronkelijk gebaseerd op hypertext nu ook hypermedia soms external viewers ( helper applications ) nodig in2210/2220 Computernetwerken: Applicatielaag 7-23 in2210/2220 Computernetwerken: Applicatielaag 7-24 7-4

WWW het opvragen van pages pages worden geïdentificeerd d.m.v. URL ( Universal resource Locator ), URL bevat o.a. hostnaam en filenaam procedure voor opvragen van een page : browser (de client)... vraagt via DNS het IP-adres dat hoort bij de hostnaam maakt TCP-verbinding met poort 80 op het gevonden IP-adres geeft request, krijgt reply heft TCP-verbinding op ( tenzij... ) toont tekst haalt en toont bijbehorende files (b.v. plaatjes), zonodig via aparte TCP-verbindingen maakt gebruik van plug-in s worden geladen in browser helper applicaties (aparte processen) in2210/2220 Computernetwerken: Applicatielaag 7-25 WWW de server (1) Basisproces: de server luistert naar (TCP) poort 80 ontvangt een request, met daarin de filenaam zoekt file (de web page) zendt de inhoud naar de client Bij grote aantallen requests: performance probleem oplossingen: caching multithreading (een thread per disk) Bij een nog grotere load: server farm model groot aantal (gespecialiseerde servers) eventueel een front-end voor het verdelen van de requests eventueel antwoord van server door middel van TCP handoff in2210/2220 Computernetwerken: Applicatielaag 7-26 WWW de server (2) (a) Normal request-reply message sequence. (b) Sequence when TCP handoff is used. in2210/2220 Computernetwerken: Applicatielaag 7-27 WWW cookies Servers bewaren geen toestand soms nodig toestand te bewaren (b.v. boodschappenwagentje) oplossing: cookies server zendt toestandsinformatie d.m.v. cookie naar de client client bewaard deze in cookie directory client geeft cookie mee bij iedere request naar het domein waar de cookie vandaan kwam max 5 velden: domein, pad, inhoud, expiration, security cookies zijn gevoelig voor misbruik klant kan een cookie veranderen server kan m.b.v. cookies informatie over de klant verzamelen in2210/2220 Computernetwerken: Applicatielaag 7-28 WWW web documents overzicht statische documenten oorspronkelijk gebaseerd op HTML XML en SML bieden betere mogelijkheden voor structurering XHTML opvolger van HTML 4, is stricter dan HTML 4 dynamische documenten genereren dynamsich web pages ( on the fly ), verschillende mogelijkheden: Server-side web page generatie: CGI Interface PHP (of JSP of ASP) client side web page generatie Java script applets (of ActiveX controls) in2210/2220 Computernetwerken: Applicatielaag 7-29 HTML (1) HTML (Hypertext Markup Language) wordt gebruikt om de inhoud van de pages te definiëren hyperlinks komen in de page voor in de vorm van URL 's : format: <protocol>://<machinenaam>/<filenaam> <protocol> meestal http, maar ook gopher, ftp,... <machine> geeft naam zoals bekend in DNS <filename> is volledige filename, of een afkorting, b.v. ~userx/ betekent default web directory onder de home directory van userx, waarin de default filenaam index.html verwacht wordt. in2210/2220 Computernetwerken: Applicatielaag 7-30 7-5

HTML (2) HTML (3) HTML aanpassing van SGML (ISO) maakt gebruik van Markup Commands (tags), b.v. <HEAD> en </HEAD> (is begin en einde van een kop) <B> en </B> (begin en einde van boldface) browser interpreteert tags bij het weergeven van de page, houdt hierbij rekening met de locale situatie. (kleur/geen kleur, groot/klein window etc.) HTML kent ook logische stijlen, b.v. <EM> voor emphasis <STRONG> voor strong emphasis weergave van de logische stijlen wordt bepaald door style sheet. in2210/2220 Computernetwerken: Applicatielaag 7-31 HTML kent mogelijkheid voor het definiëren van invulformulieren: forms, hierin aangegeven: De URL van het programma dat dit moet verwerken de namen en de grootte van de velden de manier waarop de gegevens worden overgedragen voorbeeld: <form action= http://~usery/cgi-bin/order method= GET > <p> Naam <input name= naam size=20> <p> Plaats <input name= woonplaats size=16> </form> in2210/2220 Computernetwerken: Applicatielaag 7-32 Javascript XML extra code in HTML file wordt uitgevoerd door de client Javascript code begrensd door tags: voorbeeld: <script language= javascript type= text/javascript > document.writeln( Hello there ); //en nog veel meer en nog slimmere code </script> HTML bevat informatie over inhoud en formatting gewenst: scheiding tussen inhoud en formatting b.v bij het doorzoeken van web pages XML (Extensible Markup Language) beschrijft de inhoud XSL (Extensible Style Language) beschrijft de formatting XML te tonen d.m.v. XSL in2210/2220 Computernetwerken: Applicatielaag 7-33 in2210/2220 Computernetwerken: Applicatielaag 7-34 CGI (1) CGI (2) Common gateway Interface (CGI) Door client ingevulde velden van een form worden door het cgi interface doorgegeven aan een cgi-programma of cgi-script. Het programma of script wordt uitgevoerd in de server waarden worden doorgegeven in de vorm van een string, b.v. naam=jansen&adres=brink+6+ons+dorp cgi-programma maakt een html page, met daarin de uitkomst (b.v. het resultaat van een database aanroep) de page wordt vi het cgi-interfcae teruggestuurd naar de client. in2210/2220 Computernetwerken: Applicatielaag 7-35 in2210/2220 Computernetwerken: Applicatielaag 7-36 7-6

PHP (1) PHP (3) PHP: Hypertext Preprocessor (PHP) page source bevat code van php script php script wordt uitgevoerd in de server filenaam moet eindigen met.php werkt alleen met php enabled server voordeel van php zeer eenvoudige parameter overdracht, voorbeeld: <html><body> <?php echo $naam?> </body></html> dit plaatst de waarde van het veld naam in de page in2210/2220 Computernetwerken: Applicatielaag 7-37 a. situatie bij PHP b. situatie bijjavascript Ook combinaties van PHP en JavaScript zijn mogelijk in2210/2220 Computernetwerken: Applicatielaag 7-38 HTTP protocol (1) HTTP (2) HHTP (HyperText Transfer Protocol) HTTP is een ASCII protocol (d.w.z. er worden printbare tekens uitgewisseld) HTTP kent verschillende request methods, b.v. GET vraagt een page HEAD vraagt een header PUT geeft opdracht een page op te slaan POST voegt iets toe aan, b.v. aan nieuwsgroep OPTIONS vraagt eigenschappen van server of van een file in2210/2220 Computernetwerken: Applicatielaag 7-39 Message headers, zijn de parameters van de request en reply methods. voorbeelden; request headers: User-Agent informatie over browser en platform Accept-Charset informatie over acceptabele charcacter sets Host de naam van de server Cookie geeft een cookie mee response headers Content-Type het MIME type van de page Location verwijst naar een andere bestemming Last-Modified Tijdstempel van de laatste wijziging Set-Cookie opdracht tot het bewaren van een cookie in2210/2220 Computernetwerken: Applicatielaag 7-40 HTTP protocol (3) Op iedere request volgt een reply, bestaande uit een status regel 3 cijferige statuscode (5 groepen, 1xx t/m 5xx) andere informatie (b.v. de gevraagde page) Web Performance Drie manieren om te performance te verhogen: caching server replication Content Delivery Networks in2210/2220 Computernetwerken: Applicatielaag 7-41 in2210/2220 Computernetwerken: Applicatielaag 7-42 7-7

performance: caching performance: Server replication caching door middel van een proxy in gebruikers PC in een locale server in de ISP server hierarchisch cachen Vraag: hoe lang cachen? methode 1: gebruik Last-Modified header: lang niet gewijzigd, betekent zal waarschijnlijk ook in de toekomst niet snel wijzigen. methode 2: (RFC 2616) GET met If-Modified-Since request header methode 3: een combinatie van 1 en 2: gebruik gedurende een periode T methode 1, daarna methode 2. T hangt af van hoe lang geleden de laatste wijziging van die page was in2210/2220 Computernetwerken: Applicatielaag 7-43 Drukke servers kunnen mirroring gebruiken, d.w.z één of meer copieën elders op de wereld. probleem: flash crowds (plotseling grote belangstelling) mogelijke oplossing: automatisch klonen van server. van tevoren overeenstemming nodig met nieuwe gastheren dynamische replica s van veel gevraagde pages in2210/2220 Computernetwerken: Applicatielaag 7-44 performance: Content Delivery Networks (1) Performance: Content Delivery Networks (2) Content providers (b.v. kranten) maken gebruik van diensten van CDN CDN (Content Delivery Network) plaatst servers bij ISP s gebruiker komt via oorspronkelijk adres (URL) van Content Provider bij CDN, CDN kiest gunstigste server en stuurt request door. in2210/2220 Computernetwerken: Applicatielaag 7-45 in2210/2220 Computernetwerken: Applicatielaag 7-46 Wireless Web: WAP 1.0 WAP (Wireless Application Protocol) WAP 1.0 toegang tot Web via mobiele telefoon ( was niet erg succcesvol) gebruikte 6 lagen en WML (Wireless Markup Language) in2210/2220 Computernetwerken: Applicatielaag 7-47 Wireless Web: i-mode Succesvol in Japan: 35 miljoen abonnees, 40000 servers nieuw transmissiesysteem: circuit switching: mobiele telefoon (voor voice), betalen per minuut packet switching: voor Internet (altijd aanwezig, vergelijk ADSL), betalen per pakket nieuwe toestellen nieuwe specificatietaal voor pages chtml (compact HTML) is beperkte HTML 1.0 (o.a. geen Javascript) uitbreidingen b.v.: align om doorsnijden van woorden te voorkomen kiezen van hyper links met toetsen (muisloze computer!) 166 emoji ( japanse smileys ) in2210/2220 Computernetwerken: Applicatielaag 7-48 7-8

Wireless Web: WAP 2 gebruik van packet switching (b.v. GPRS) Nieuw: pull model en push model geïntegreerde telefoon en applacaties multimedia berichten 264 pictogrammen storage devices (flash cards) plug ins technisch: moet werken met 384 kb/s WAP 1.0 protocol stack en TCP met aanpassingen XHTML Basic voor page specificaties (ook nieuwe i-node versie gebruikt dit) concurrent: 802.11 (11 Mbp/s of 54 Mbps) in2210/2220 Computernetwerken: Applicatielaag 7-49 Multimedia formeel meerdere media liever continue media (b.v. audio, video) nog beter streaming media alleen audio wordt ook onder multimedia gerekend in2210/2220 Computernetwerken: Applicatielaag 7-50 sampling Frequentie bereik telefoon (PCM) aantal aantal bandbreedte samples/s bits/sample 8000 8 64 kb/s CD 20 Hz 22050 Hz Audio CD 44100 16 705.6 kb/s (mono) 1411 kb/s (stereo) telefoon lijn 20 Hz 4000 Hz stem 600 Hz 6000 Hz Sampling rate bepaalt de maximale frequentie (Nyquist): sampling rate is maximaal 2 maal de frequentie menselijk oor 20 Hz 20000 Hz in2210/2220 Computernetwerken: Applicatielaag 7-51 in2210/2220 Computernetwerken: Applicatielaag 7-52 Audio compressie waveform coding: Fourier componenten bepalen amplitudes op minimale manier coderen perceptual coding: zodanig coderen dat het resulterende signaal voor het menselijk oor bijna hetzelfde klinkt als het oorspronkelijke signaal psycho akoestiek frequentie maskering tijdelijke maskering in2210/2220 Computernetwerken: Applicatielaag 7-53 Drempels en maskering sterk geluid maskeert een minder sterk geluid van ongeveer dezelfde frequentie tijdelijke maskering: de maskering gaat een tijdje door nadat het maskerende signaal is gestopt in2210/2220 Computernetwerken: Applicatielaag 7-54 7-9

MP3 principe: bepaal Fourier getransformeerde, alleen die frequenties doorgeven die niet onder de drempel vallen niet gemaskeerd worden procedure: kies output bit rate (b.v. 96 kb/s, 128 kb/s) bewerk het sample in groepen van 1152 bits iedere groep door 32 filters om frequentieband te bepalen psycho-akoestisch model voor bepalen van gemaskeerde frequenties beschikbare bits verdelen over de banden: meer bits naar ongemaskeerde banden met veel vermogen minder bits naar ongemaskeerde banden met weinig vermogen geen bits naar gemaskeerde banden in2210/2220 Computernetwerken: Applicatielaag 7-55 streaming audio (1) music on demand, b.v. MIME type audio/mp3 eenvoudigste oplossing, eerst volledige mp3 file ophalen met http, afspelen door helper applicatie (media player). probleem: lange download tijd in2210/2220 Computernetwerken: Applicatielaag 7-56 streaming audio (2) streaming audio (3) Oplossing: URL wijst niet naar de mp3 file, maar naar een metafile. Deze bevat de URL van de mp3 file. media player communiceert niet met de http server, maar met media server. gebruikt RSTP en RTP (via UDP) taken van de media player: user interface error handling (geen TCP!) datacompressie jitter elimineren werkwijze: pull server: player blijft nieuwe blokken vragen push server: server blijft sturen zolang hij kan in2210/2220 Computernetwerken: Applicatielaag 7-57 in2210/2220 Computernetwerken: Applicatielaag 7-58 Internet Radio Twee benaderingen: prerecorded (file op disk) zelfde als streaming audio live, verschillen met prerecorded: streaming audio kan met grotere snelheid dan live bij live mogelijk vele luisteraars simultaan, kan in principe met multiccast (RTP, RTSP) in de praktijk vaak nog individuele TCP verbindingen. verschillende concurrerende formats: RealAudio, Windows Media audio, MP3, Vorbis probleem: firewalls Internet telefonie: H.323 H.323 is architectuur overzicht van Internet telefonie, omvat een groot aantal protocollen in2210/2220 Computernetwerken: Applicatielaag 7-59 in2210/2220 Computernetwerken: Applicatielaag 7-60 7-10

Internet telefonie H.323 (2) Internet telefonie H.323 (3) PC gatekeeper gateway eindcentrale H.225 (RAS) via UDP telefoon Q.931 via TCP H.225 Q.931 via TCP H.245 RTP, RTCP in2210/2220 Computernetwerken: Applicatielaag 7-61 in2210/2220 Computernetwerken: Applicatielaag 7-62 Internet telefonie: SIP Session Initiation Protocol (SIP) voor opzetten, managen en afsluiten van telefoonsessies highlights: kent: 2-party, multiparty of multicast ondersteunt: audio, video, data telefoonnumers in de vorm van URL s sessie maken d.m.v INVITE method (over TCP of UDP) headers geven informatie over mogelijkheden van de aanroeper three-way handshake location server voor als de gebruiker niet op zijn home locatie is. melden via REGISTER te vinden via proxy in2210/2220 Computernetwerken: Applicatielaag 7-63 Belangrijkste verschillen H.323 en SIP H.323 komt uit de telefoonwereld, specificeert volledige protocol stack, ondersteunt verschillende bestaande telefoonsystemen, complex SIP komt uit Internet wereld, bevat alleen sessie management past goed bij de Internet standaards, minder goed bij bestaande telefoonsystemen eenvoudig in2210/2220 Computernetwerken: Applicatielaag 7-64 Video - analoog (1) Zwart-Wit TV, termen: frame scan, b.v. 625 lijnen, 4:3 beeldverhouding, 25 frames/s flikkering veld interlacing/noninterlacing (progressief) Kleuren TV composite signal = lineaire combinatie van luminantie (helderheid) en 2 chrominanties (kleur) luminantie is belangrijker dan chrominantie standaarden: NTSC, SECAM, PAL HDTV (High Definition Television) aantal scanlijnen plm 1000 beeldverhouding 16:9 in2210/2220 Computernetwerken: Applicatielaag 7-65 Video - analoog (2) in2210/2220 Computernetwerken: Applicatielaag 7-66 7-11

Digitale video pixels per pixel, b.v. 8 bits (256 grijswaarden) b.v. 24 bits (8 bits per kleur RGB) refresh rate b.v. 75 refreshen vanuit locaal geheugen grote bandbreedte nodig, b.v. 472 Mb/s ( bij 1024*768, 24 bits/pixel, 25 frames/s ) compressie nodig Video compressie Compressie systeem bevat: compressie algoritme (voor het coderen ) decompressie algoritme (voor het decoderen) assymetrie: coderen vaak eenmaal (b.v film voor opslag), mag duur zijn decoderen vele malen (bij iedere vertoning), moet goedkoop zijn codeerproces niet altijd omkeerbaar (d.w.z. resultaat na decodering kan een beetje afwijken van het origineel) compressie is lossy / lossles in2210/2220 Computernetwerken: Applicatielaag 7-67 in2210/2220 Computernetwerken: Applicatielaag 7-68 JPEG (1) JPEG (2) JPEG = Joint Photographic Experts Group, Voor het coderen van stilstaande beelden, b.v. foto s Verschillende modes en opties 1 2 3 4 5 6 Aanname in voorbeeld: 640* 480 pixels, RGB, NTSC 1. Block preparation luminantie (Y) en chrominanties (I en Q) uitrekenen voor iedere pixel (waarden 0...255) matrix vullen voor Y, I en Q. (Bij I en Q 4 elementen middelen tot 1) van deze alle waarden 128 afterkekn mrix opdelen in blokken van 8 bij 8 blokschema: JPEG in lossy sequential mode in2210/2220 Computernetwerken: Applicatielaag 7-69 in2210/2220 Computernetwerken: Applicatielaag 7-70 JPEG (3) JPEG (4) 2. DCT (Discrete Cosine Transform) toepassen op ieder 8 bij 8 blok. geeft in blok(0,0) de gemiddelde waarde aanvullende informatie in elementen rond (0,0) verderweg gelegen elementen vaak 0 3. Quantization De waarde in ieder veld delen door een gewichtsfactor (uit qauntizatietabel) resultaat gequantiseerde coëfficienten in2210/2220 Computernetwerken: Applicatielaag 7-71 in2210/2220 Computernetwerken: Applicatielaag 7-72 7-12

JPEG (5) JPEG (6) 4. Differential quantization In ieder blok element(0,0) vervangen door verschil met vorige blok andere elementen niet wijzigen 5. lineariseren gebruikt run-length encoding b.v. een reeks van N nullen voor te stellen door 0, gevolgd door getal N door de structuur van de inhoud van een blok, geeft dit het beste resultaat wanneer het blok diagonaal wordt doorlopen in2210/2220 Computernetwerken: Applicatielaag 7-73 in2210/2220 Computernetwerken: Applicatielaag 7-74 JPEG (7) JPEG (8) 6. Statistical output coding: Huffman codering Huffman coding is een code van varierende lengte, gebruikt korte code voor veel voorkomende waarden gebruikt langere code voor minder vaak voorkomende code in2210/2220 Computernetwerken: Applicatielaag 7-75 in2210/2220 Computernetwerken: Applicatielaag 7-76 MPEG (1) MPEG (Motion Picture Experts Group) MPEG-1 video-recorder output kwaliteit 1.2 Mb/s compressiefactor plm 40 MPEG-2 omroep kwaliteit 4 tot 6 Mb/s Support ook HDTV, basis voor DVD en digitale sateliet TV principes MPEG-1 en MPEG-2 dezelfde, details verschillen MPEG (2) Synchronizatie tussen Audio en Video Signaal in2210/2220 Computernetwerken: Applicatielaag 7-77 in2210/2220 Computernetwerken: Applicatielaag 7-78 7-13

MPEG (3) MPEG (4) MPEG-1 maakt gebruik van redundantie in de ruimte (binnen een frame; JPEG) redundantie in de tijd (weinig verschil tussen opvolgende frames) MPEG-1 kent 4 soorten frames: I (Intracode) JPEG gecodeerd, nodig als checkpoints P (Predictive) bevat per macroblok (16 bij 16), de verschillen met overeenkomstig macroblok uit vorige frame B (Bidirectional) Als P, maar bovendien verschillen met overeenkomstig macroblok uit volgend frame D (DC coded) Voor het vertonen van lage-resolutie beeld bij Fast Forward in2210/2220 Computernetwerken: Applicatielaag 7-79 MPEG-2 als MPEG-1 Met I, P en B frames (geen D) DCT met 10 bij 10 in plaats van 8 bij 8, geeft betere kwaliteit support ook interlaced (t.b.v. omroep TV) 4 resolutie levels in2210/2220 Computernetwerken: Applicatielaag 7-80 Video Server Distributie netwerk omvang: MPEG-2 film is plm 4GB 65000 films is dan 260TB organisatie van opslag bepaald door prijs/prestatie van de opslagmedia hierarchie: tape - DVD - hard disk - RAM laag in de hierarchie is traag en goedkoop hoog in de hierachie is snel en duur typische server bestaat uit: processoren voor: user interface data transmissie opslag media netwerk interface in2210/2220 Computernetwerken: Applicatielaag 7-81 Backbone belangrijkst: grote bandbreedte jitter op te vangen door buffering bij de klanten locale distributie: concurrende mogelijkheden ADSL : benut local loop (twisted pair) van centrale tot abonnee FTTC (Fiber To The Curb): glasvezel tot in de buurt van de abonnee, laatste deel twisted pair FTTH (Fiber To The Home): glasvezel tot in de woning HFC (Hybrid Fiber Coax): Fiber tot in de buurt, laatste deel gemeenschappelijke coax kabel. (verschil met FTTC: HFC deelt het medium, encryptie nodig) in2210/2220 Computernetwerken: Applicatielaag 7-82 Mbone (Multicast Backbone) Mbone voor uitzenden van live video operationeel sinds 1992 bestaat uit een netwerk bovenop Internet, bestaande uit multicast-capable eilanden verbonden door tunnels routering door mrouters (multicast routers) mrouters bevatten tabellen waarin eilanden en tunnels bij deelname van een nieuw eiland, worden de mrouter tabellen aangepast in2210/2220 Computernetwerken: Applicatielaag 7-83 7-14