7. De applicatielaag. Applicatielaag introductie

Vergelijkbare documenten
7. De applicatielaag. Applicatielaag introductie

IN3001: Datacommunicatie en Netwerken: Applicatielaag

IN2210/IN2220: Computernetwerken: Applicatielaag

IN2210/IN2220: Computernetwerken: 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

Web building basis: HTML. Karel Nijs 2008/09

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.

SIP analyse. Handleiding

Computernetwerken Deel 2

Zelftest Internet concepten en technieken

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

Zelftest Informatica-terminologie

OSI model. Networking Fundamentals. Roland Sellis

De 3 bovenstaande worden onderhouden door mensen beheerd Dus meer kwaliteit dan machine

NAT (Network Address Translation)

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

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

Outline. EEC-484/584 Computer Networks. Architectural Overview. The World Wide Web. Review of last lecture. Lecture 21. Today s topics.

Part 17-A INTERNET: basisbegrippen techniek & beveiliging

Dynamische Websites. Week 2

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

HTML. Media. Hans Roeyen V 3.0

Instellingen Microsoft ISA server

Dienstbeschrijving mshield. Een dienst in KPN ÉÉN

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

Video. Multimedia Rein van den Boomgaard Universiteit van Amsterdam

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

Aandachtspunten voor installatie suse in vmware server

NGN. Wageningen, 30 oktober Iljitsch van Beijnum

Veel gebruikte open standaarden in onderzoek

Interactief, real time security management

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

xxter Mobotix T24 configuratie

Inhoud. Packet Tracer x. Labs xi

Maximo Tips and Tricks

Van start met Hosted Exchange 2010 (versie 0.5)

Revisie geschiedenis. [XXTER & KNX via IP]

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

AVCHD. AVCHD Workshop Hans Dorland

HAN4.x technisch document

Referentie Handleiding

Communications and Networking: An Introduction

computernetwerken - antwoorden

emaxx Systeem eisen ManagementPortaal voor de ZakenMagazijn database

1. Proloog webtechno, rauwkost

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

Handleiding Domeinnaam Online Versie maart 2014

Tweede deeltentamen Netwerken (INFONW) 29 juni 2009

ERAP-GSOB Internet #1

Security web services

Thinking of development

Deel 4 Active Directory inleiding

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

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

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

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

IC Mail Gateway Gebruikershandleiding

Datasheet SMS Comfort URL

Vlaams Communicatie Assistentie Bureau voor Doven, vzw

Thuisnetwerk. Ger Stok Maart 2017

Exercise assistant on-line

Nederlands WMS - SLD Profiel. Versie 1.0

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

SuperOffice Systeemvereisten

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

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

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

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

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

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

Basis Netwerkconfiguratie. Ing. Tijl Deneut Lector Toegepaste Informatica Howest Onderzoeker XiaK, UGent

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

Deel II Introductie Webdesign. Hoorcollege IUW Thema Webdesign 10 november 2014 Christof van Nimwegen

Webrelais IPIO-4A8I-M

Communicatienetwerken

Tentamen Telematica Systemen en Toepassingen (261000) 7 november 2007,

Uitzenden Multichannel Audio Concert Zender Surround Radio

Zelftest Java concepten

ICU Handleiding voor browser en app

Forum Standaardisatie. Expertadvies: Opname MIME op lijst met gangbare standaarden. Datum 4 februari 2011

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

mpix VPN Dienstbeschrijving Copyright The Voip Company 2011 Pagina 1 van 8

De volgende MTA s installeren in een groepje van 4 studenten: Onderzoek van vorig jaar naar gebruikte mail software evalueren.

Temperatuur logger synchronisatie

De facto standaarden (consensus aangetoond)

NVU-Workshop. Websites bouwen met Nvu. Henk Stoop - Docent Website design - HkeyDesigns - HCC WG Website design - KBO WG ICT-Adviseur

1945, eerste DC. Eigen logo

Samenvatting Informatica Hoofdstuk 1, 2, 3 (Instruct)

Overzicht instellingen versturen

Chapter 4. eenvoudige webserver opzetten

Summerschool Mobiele Apps augustus 2012 Herman van Dompseler. HTML 5 App

Dynamische Websites. Week 3. donderdag 3 oktober 13

Multimedia op een website

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

VoIP Netwerking Configuratie Gids. Vox Davo VoIP Netwerking Configuratie Gids

Transcriptie:

7. De applicatielaag in2210/2220 Computernetwerken: Applicatielaag 7-1 Applicatielaag introductie 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. Email (SMTP en X.400) WWW multimedia File Transfer (b.v. FTP) in2210/2220 Computernetwerken: Applicatielaag 7-2 7-1

Name services 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) in2210/2220 Computernetwerken: Applicatielaag 7-3 DNS (Domain Naming System) 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-4 7-2

DNS werkwijze Client naam UDP naam Server Applicatie Resolver DNS server IP adres IP adres gethostbyname 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-3

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 7-4

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 7-5

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 in2210/2220 Computernetwerken: Applicatielaag 7-11 Email 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-12 7-6

Email Architectuur Users Mail systeem K UA Mail Transfer Systeem MTA MTA UA J MTA MTA J UA UA UA L 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 Email 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 7-7

Email Componenten van een brief 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') in2210/2220 Computernetwerken: Applicatielaag 7-15 Email User Agent 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-16 7-8

Email 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) in2210/2220 Computernetwerken: Applicatielaag 7-17 Email 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-18 7-9

Email MIME (2) 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 ) in2210/2220 Computernetwerken: Applicatielaag 7-19 Email MIME (3) 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-20 7-10

Email transfer 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) in2210/2220 Computernetwerken: Applicatielaag 7-21 Email Van server naar gebruiker 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-22 7-11

Belangrijke verschillen POP3 en IMAP POP3 IMAP Waar Email bewaren? op gebruikers PC op Server Hoe Email 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 in2210/2220 Computernetwerken: Applicatielaag 7-23 WWW World Wide Web 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-24 7-12

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 7-13

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 7-14

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-15

HTML (2) 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 (3) 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 7-16

Javascript 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> in2210/2220 Computernetwerken: Applicatielaag 7-33 XML 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-34 7-17

CGI (1) 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 CGI (2) in2210/2220 Computernetwerken: Applicatielaag 7-36 7-18

PHP (1) 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 PHP (3) a. situatie bij PHP b. situatie bijjavascript Ook combinaties van PHP en JavaScript zijn mogelijk in2210/2220 Computernetwerken: Applicatielaag 7-38 7-19

HTTP protocol (1) 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 HTTP (2) 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 7-20

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) in2210/2220 Computernetwerken: Applicatielaag 7-41 Web Performance Drie manieren om te performance te verhogen: caching server replication Content Delivery Networks in2210/2220 Computernetwerken: Applicatielaag 7-42 7-21

performance: caching 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 performance: Server replication 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 7-22

performance: Content Delivery Networks (1) 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 Performance: Content Delivery Networks (2) in2210/2220 Computernetwerken: Applicatielaag 7-46 7-23

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-24

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 7-25

sampling telefoon (PCM) aantal aantal bandbreedte samples/s bits/sample 8000 8 64 kb/s Audio CD 44100 16 705.6 kb/s (mono) 1411 kb/s (stereo) Sampling rate bepaalt de maximale frequentie (Nyquist): sampling rate is maximaal 2 maal de frequentie in2210/2220 Computernetwerken: Applicatielaag 7-51 Frequentie bereik CD 20 Hz 22050 Hz telefoon lijn 20 Hz 4000 Hz stem 600 Hz 6000 Hz menselijk oor 20 Hz 20000 Hz in2210/2220 Computernetwerken: Applicatielaag 7-52 7-26

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-27

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 7-28

streaming audio (2) 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 streaming audio (3) in2210/2220 Computernetwerken: Applicatielaag 7-58 7-29

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 in2210/2220 Computernetwerken: Applicatielaag 7-59 Internet telefonie: H.323 H.323 is architectuur overzicht van Internet telefonie, omvat een groot aantal protocollen in2210/2220 Computernetwerken: Applicatielaag 7-60 7-30

Internet telefonie H.323 (2) in2210/2220 Computernetwerken: Applicatielaag 7-61 Internet telefonie H.323 (3) PC gatekeeper gateway eindcentrale H.225 (RAS) via UDP telefoon Q.931 via TCP Q.931 via TCP H.245 H.225 RTP, RTCP in2210/2220 Computernetwerken: Applicatielaag 7-62 7-31

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 7-32

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-33

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 in2210/2220 Computernetwerken: Applicatielaag 7-67 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-68 7-34

JPEG (1) 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 blokschema: JPEG in lossy sequential mode in2210/2220 Computernetwerken: Applicatielaag 7-69 JPEG (2) 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 in2210/2220 Computernetwerken: Applicatielaag 7-70 7-35

JPEG (3) in2210/2220 Computernetwerken: Applicatielaag 7-71 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-72 7-36

JPEG (5) in2210/2220 Computernetwerken: Applicatielaag 7-73 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-74 7-37

JPEG (7) in2210/2220 Computernetwerken: Applicatielaag 7-75 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-76 7-38

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 in2210/2220 Computernetwerken: Applicatielaag 7-77 MPEG (2) Synchronizatie tussen Audio en Video Signaal in2210/2220 Computernetwerken: Applicatielaag 7-78 7-39

MPEG (3) 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 (4) 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 7-40

Video Server 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 Distributie netwerk 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 7-41

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-42