Application Layer Week 4 – Lecture 1. Internet Architecture Transport layer – TCP, UDP Network...

31
Application Layer Week 4 – Lecture 1
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    226
  • download

    3

Transcript of Application Layer Week 4 – Lecture 1. Internet Architecture Transport layer – TCP, UDP Network...

Application Layer

Week 4 – Lecture 1

Internet Architecture

Transport layer – TCP, UDP

Network layer - IP

Data link & Physical layers – the territory of the LANs/Telcos/ISPs

IETF

ITUIEEE

Application layer – HTTP, SMTP etcW3C

Variables in Internet service

• Bandwidth

• Latency – delay sensitivity

• Error free – loss tolerance

Application requirements

Application Loss

Tolerant

Delay

Sensitive

Band-

Width

Web No No Medium

E-Mail No No Low

Video streaming Some Some High

Telephone calls Some Yes Low

Video conferencing Some Yes Medium/high

Quality of Service

• One drawback with the Internet is that it is democratic, and all packets are treated as important as any other.

• It provides “best effort” service• IPv4 has no mechanism to provide priority• This is needed for time critical applications such

as telephony, real time conferencing and high performance transaction processing

• QoS aims for a predictable and specifiable bandwidth and latency

QoS the key to one network

• When packet switched networks can offer the QoS of switched circuits, then all major users will stop having two networks

• Service providers are aware of this

• The network must be able to differentiate between delay sensitive and delay insensitive applications

QoS approaches:

• The ability to request and receive resource reservation (Buffers & Bandwidth)

• Prioritisation where network traffic is classified and priority given according to bandwidth management policy

• These features could be applied to:• An individual data stream

• In aggregate, to flows of a particular type

IETF is working on:

• Developing QoS protocols• Integrated Services – IntServ - Resource

Reservation Protocol (RSVP)– Guaranteed Quality of Service

– Controlled load network service

• Differentiated Services (DiffServ) Coarse grained and simple way to prioritise services

• Defining classes of service – similar to ATM traffic classes

World Wide WEB

Data link and Physical layers – Ethernet, Frame Relay, ATM, PPP

Transport and Network layers – TCP/IP

Application Layer – The Web – HTTP The Application layerHTML The document mark-up languageBrowser – Netscape Navigator, Internet ExplorerWeb server – Apache, Microsoft Internet Information server

Netscape server

The Web is an application

• To many people The Internet and The Web are synonymous

• The Web is an application that sits at the application level of the Internet

• But is is the biggest, and therefore the most important to most people

• But theoretically it could run over different Transport & Network protocols

A little History

• Tim Berners-Lees from CERN in Switzerland is credited with the invention of the Web in 1989

• He and his colleagues developed the first versions of a Browser, Web server, HTML and HTTP

• Using Hyper-Text work done by Ted Neilson

• Marc Andreeson at the National Center for Supercomputing Applications at the University of Illinois developed the first GUI browser, known as Mosaic. If you look at the “about” Internet Explorer you will see that this work is still acknowledged

• Andreeson and a colleague then started Netscape in 1994

Some definitions

• HTML HyperText Mark-up Language describes how the document is structured with tags or meta-data imbedded in the document. The Browser then uses that meta-data to format the document

• HTTP is the application level protocol or service, for establishing connections and transmitting messages, between the Browser client and the Web server

HTTP message contains

• Request or Response statement

• Header containing information about the client or server

• Data

Data formats

• The header contains a field specifying the MIME type (Multipurpose Internet Mail Extension). This was a mail standard that has been adopted by the Web.

• Browsers can interpret some MIME types natively HTML, ASCII, GIF, JPEG etc

• For others a plug-in or helper application is required

• The browser checks the registry to find the application registered for that type

HTTP Version

• HTTP Version 1.0 had been used until 1999

• The problem was that if a document contained 10 embedded graphics then a separate connection and exchange was required for each.

• Version 1.1 introduced in 1999 allowed the connection to remain open until all were sent

• This version has been implemented in current versions of IE and Netscape browsers.

• There are still problems in 1.1 but little active work is underway

TCP Connections

• HTTP/1.0 uses non-persistent connections but objects can be requested in parallel

• Each connection has a cost – handshaking, allocation of buffers and variable, slow start

• HTTP/1.1 uses persistent connections with pipelining as the default

• Persistent connections are dropped on a time out

Statelessness in HTTP

• HTTP is a stateless protocol – designed to be quick

• When a resource has been sent, the server keeps no record of the exchange, so that if a second request is made by the same client, it is as if this was first contact with that client

• This is not satisfactory for – complex transactions, say completing a multi-page

form– Access requiring identification & authentication

Approaches to keeping track of state in HTTP

• Cookies – small strings of text held in the clients memory or on disk and communicated invisibly between the client and the server

• Hidden fields in an HTML form which are not visible but move back and forward with the form and enabling the server to know the state of the transaction

• Writing complex URLs containing various parameters – used by search engines, allowing the user to request the nest block of data

Cookies – some concerns

• Look in the cookies directory under windows and you will find hundreds of them

• They are associated with a particular version of a browser so will be of no use when the browser is upgraded

• Some security & privacy concerns• You do not know what is being stored

• Can be used to track your behaviour over a number of sites and then be associated with your identity

Application Programming Interfaces

• Programming can be invoked at both the server and client side.

• Servers can invoke programs and pass the results back in an HTML page

• They can be simple scripts or complex programs.

Server APIs

• Server side APIs include:• CGI Common Gateway Interface) often in UNIX• Microsoft’s Internet Server API (ISAPI)• Netscape’s Netscape Server API (NSAPI)

• Server side languages include:• Java• Perl• Active Server Pages• Microsoft’s Visual Basic Scripting Language• Oracle’s Request Broker

Client side languages

• In addition to browsers using plug-ins or helper applications, Web browsers can also execute interpreted programs usually called scripts

• These scripts are theoretically platform independent but the browser must have a virtual machine with which to run the language. Together they provide Dynamic HTML

• Examples of scripting languages are

• JavaScript

• Microsoft’s Jscript

• Java Applets

• Active X objects

Techniques for improving Web performance

• Caching

• Load balancing

• Content Distribution Networks

Caching

• Initially implemented near the client in a proxy server operated by the organisation – all requests are first directed at the proxy server. If it cannot supply, then the request is passed on to the target server.

• Works on the basis that similar users frequently access the same pages – between 20-70% of requests can be satisfied this way, reducing bandwidth on the WAN

Caching Cont.

• Dynamically created pages cannot be cached

• The risk of out-of-date information is reduced by time stamping the page with an expiry time when it must be refreshed

Caching Services

• Caching now provided by service providers that maintain an array of cache servers

• Akamii has 2000 servers in 40 countries. The site owners decide which pages to be cached

• NLANR is another with a hierachy of backbone and regional caches

• One cache can obtain an object from another cache using ICP (Internet Caching Protocol)

• Large ISPs serving low bandwidth clients provide this service

• Caches are being developed to handle streaming video and audio – eventually supplying on demand music, TV and movies over the Internet

Load Balancing

• This enables groups of servers to service incoming requests

• The request is sent to the server with the lowest load

• Cookies can be used to identify high priority clients and route their request accordingly

• We saw earlier how DNS can be used to provide simple load balancing

Content Distribution Networks

• This takes load balancing one stage further by distributing the servers geographically closer to the users.

• This • Reduces network hops

• Increases overall resilience

• Increases scalability