Download 17.Networks.Chapman

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Lag wikipedia , lookup

IEEE 1355 wikipedia , lookup

Technological convergence wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Real-Time Messaging Protocol wikipedia , lookup

Hypertext Transfer Protocol wikipedia , lookup

Transcript
Multimedia and
Networks
Digital Multimedia, 2nd edition
Nigel Chapman & Jenny Chapman
Chapter 17
This presentation © 2004, MacAvon Media Productions
17
591
Protocols
•
•
Rules governing the exchange of data over
networks
Conceptually organized into stacked layers
•
•
•
Application-oriented services (e.g. file
transfer, Web browsing)
Transfer of raw data
Physical signals over wires, optical fibres,
etc.
© 2004, MacAvon Media Productions
17
591
Packets
•
TCP/IP networks, including the Internet, are
packet-switched networks
•
•
•
Messages split into small pieces called
packets, sent separately
Messages are multiplexed
Enables network bandwidth to be shared
efficiently between many messages
© 2004, MacAvon Media Productions
17
592–593
IP
•
Internet Protocol, defines
•
•
•
Basic unit of transfer, datagram
Mechanism for getting datagrams from
source to destination host through a
network of networks, via routers
Hosts are identified by IP addresses
•
Set of four numbers, uniquely identifying
the network and host
© 2004, MacAvon Media Productions
17
593
IP
•
•
Attempts to deliver each datagram individually
from source to destination host
Datagrams not delivered after specified time
are discarded
•
•
Message may arrive with some packets
missing
Routes calculated dynamically
•
Packets may arrive in the wrong order
© 2004, MacAvon Media Productions
17
593–594
TCP
•
•
Transmission Control Protocol
Provides reliable delivery of sequenced packets
•
•
•
Requests retransmission of missing packets
Puts packets back into correct order
Based on acknowledgements, using a sliding
window of unacknowledged packets
•
May lead to some packets being sent more
than once
© 2004, MacAvon Media Productions
17
595
Transport Addresses
•
Packets must be sent to the right application
(e.g. Web browser, not email client)
•
•
•
IP address only identifies right host
IP address extended with a port number,
identifying an application running on the host
IP address + port number = transport address
© 2004, MacAvon Media Productions
17
595–596
UDP
•
•
User Datagram Protocol
Ensures packets are delivered to right
application
•
•
Uses transport addresses
Does not guarantee delivery
•
Suitable for networked multimedia where
lost packets more acceptable than overhead
of TCP
© 2004, MacAvon Media Productions
17
596–597
RTP
•
•
•
Real-Time Transport Protocol
Runs on top of UDP, adds extra features for
sequencing etc
Header identifies the type of payload (video,
audio, etc)
•
•
Format of payload optimized for the type of
data
Sequence numbers and timestamps used to
reorder packets and synchronize separately
transmitted streams
© 2004, MacAvon Media Productions
17
597–599
Multicasting
•
Unicast – server sends a copy of e.g. video
data stream to every client
•
•
Many copies of the data sent over network
Multicast – server sends a single copy, which is
only duplicated when necessary, when routes
to different clients diverge
•
•
Hosts must be assigned to host groups,
using a range of reserved IP addresses
Needs enhanced routers
© 2004, MacAvon Media Productions
17
598
Unicasting and Multicasting
© 2004, MacAvon Media Productions
17
600–601
HTTP
•
•
HyperText Transport Protocol
Client opens TCP connection to the server
•
•
Server's name is usually extracted from a
URL, mapped to an IP address via DNS
Client sends a request and receives a response
•
Requests and responses are both messages
© 2004, MacAvon Media Productions
17
601
HTTP Messages
•
•
•
•
•
String of 8-bit characters
Request line (request) or status line (response)
One or more headers
Blank line
Body (optional)
© 2004, MacAvon Media Productions
17
601
HTTP Requests
•
Request line
•
•
•
•
Method – name of service being requested
•
e.g. GET
Identifier – resource being requested
•
e.g. path name of a file
Version
•
e.g. HTTP/1.1
e.g. GET DMM2/links/index.html HTTP/1.1
© 2004, MacAvon Media Productions
17
601–602
Headers
•
•
•
•
Header name : arguments
Host: www.digitalmultimedia.org
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS
X; en-us) AppleWebKit/85 (KHTML, like Gecko) Safari/85
•
•
Accept: */*
Accept-Language: en-us, ja;q=0.33, en;q=0.67
• etc
© 2004, MacAvon Media Productions
17
602–603
HTTP Responses
•
Status line
•
•
Protocol version
Numerical status code
•
•
•
200 = OK, 400 = bad request, 404 = not
found, etc
Status description
e.g. HTTP/1.1 200 OK
© 2004, MacAvon Media Productions
17
602
HTTP Responses
•
Headers – same format as for requests
•
•
e.g. Server: Apache/1.3.27 (Darwin)
Body contains data, e.g. HTML code of a
requested page
© 2004, MacAvon Media Productions
17
604–605
Caching
•
Copies of pages that have been retrieved are
kept in a cache on user's machine or proxy
•
•
•
How to tell if version on server is newer
than version in the cache?
If-Modified-Since header in conditional request
Status = 304, Not Modified
•
Browser displays page from cache
© 2004, MacAvon Media Productions
17
606
RTSP
•
•
Real Time Streaming Protocol
'Internet VCR remote control'
•
•
•
•
•
Start, stop, pause media stream
Go to point identified by timecode
Schedule time to start display
Messages syntactically similar to HTTP
Data stream transmitted separately (using
RTP)
© 2004, MacAvon Media Productions
17
609–611
Quality of Service (QoS)
•
Quantifies the amount of
•
•
•
•
•
Delay
Jitter
Packet loss
an application can tolerate
ATM (Asynchronous Transfer Mode) networks
can offer QoS guarantees
© 2004, MacAvon Media Productions
17
611–614
Server-side Computation
•
•
Allows an HTTP server to communicate with
other resources (e.g. databases) to generate
Web pages dynamically
CGI (Common Gateway Interface)
•
•
•
Receives data from HTTP request (e.g. form
data)
Returns HTTP response
PHP, ASP, JSP, ColdFusion, etc
© 2004, MacAvon Media Productions