Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks...
-
Upload
chester-hampton -
Category
Documents
-
view
215 -
download
0
Transcript of Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks...
• Multimedia and Networks
Protocols (rules)• 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.
• 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
Packets
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
network
internet
• 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
IP
• 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
TCP
• 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
Transport Addresses
• 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
UDP
• 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
RTP
• 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
Unicasting & Multicasting
Unicasting and Multicasting
• 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
HTTP
• 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
Caching
• 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)
RTSP
• Quantifies the amount of– Delay– Jitter– Packet loss– an application can tolerate
• ATM (Asynchronous Transfer Mode) networks can offer QoS guarantees
Quality of Service (QoS)
• 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
Server-side Computation