Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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