File transfer. Internet Applications (FTP,WWW, ) Connections. Data connections

Similar documents
Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Mohammad Hossein Manshaei 1393

Multimedia in the Internet

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

Streaming (Multi)media

Multimedia Networking

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

Chapter 7 Multimedia Networking

Digital Asset Management 5. Streaming multimedia

Latency and Loss Requirements! Receiver-side Buffering! Dealing with Loss! Loss Recovery!

The Transport Layer: User Datagram Protocol

Service/company landscape include 1-1

RTP/RTCP protocols. Introduction: What are RTP and RTCP?

Computer Networks. Wenzhong Li. Nanjing University

MULTIMEDIA I CSC 249 APRIL 26, Multimedia Classes of Applications Services Evolution of protocols

ITTC Communication Networks The University of Kansas EECS 780 Multimedia and Session Control

The Application Layer: SMTP, FTP

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

Transporting Voice by Using IP

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

Video Streaming and Media Session Protocols

4 rd class Department of Network College of IT- University of Babylon

Multimedia Applications: Streaming. Hamid R. Rabiee Mostafa Salehi, Fatemeh Dabiran, Hoda Ayatollahi Spring 2011

13. Internet Applications 최양희서울대학교컴퓨터공학부

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

Real-time Services BUPT/QMUL

RTP: A Transport Protocol for Real-Time Applications

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Application Layer Protocols

Multimedia Applications. Classification of Applications. Transport and Network Layer

CS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Multimedia Networking

Real-time Services BUPT/QMUL

Networking Applications

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

Kommunikationssysteme [KS]

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

Lecture 14: Multimedia Communications

Multimedia Networking

Multimedia Protocols. Foreleser: Carsten Griwodz Mai INF-3190: Multimedia Protocols

Popular protocols for serving media

Transport protocols Introduction

The Application Layer: & SMTP

Multimedia networking: outline

Telematics 2 & Performance Evaluation

Overview. Slide. Special Module on Media Processing and Communication

Applications real time/non-real time

RTP Profile for TCP Friendly Rate Control draft-ietf-avt-tfrc-profile-03.txt

Real Time Protocols. Overview. Introduction. Tarik Cicic University of Oslo December IETF-suite of real-time protocols data transport:

Internet Technologies for Multimedia Applications

Internet Streaming Media

Chapter 7 Multimedia Networking

Internet Streaming Media

Using RTSP with Firewalls, Proxies, and Other Intermediary Network Devices

Lecture 6: Internet Streaming Media

Chapter 7 Multimedia Networking

EDA095 Audio and Video Streaming

On the Scalability of RTCP Based Network Tomography for IPTV Services. Ali C. Begen Colin Perkins Joerg Ott

Lecture 9: Media over IP

Chapter 7 Multimedia Networking

Chapter 7 Multimedia Networking

Prof. Dr. Abdulmotaleb El Saddik. site.uottawa.ca mcrlab.uottawa.ca

TSIN02 - Internetworking

TSIN02 - Internetworking

MISB EG Motion Imagery Standards Board Engineering Guideline. 24 April Delivery of Low Bandwidth Motion Imagery. 1 Scope.

Data Communications & Networks. Session 10 Main Theme Multimedia Networking. Dr. Jean-Claude Franchitti

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

Quality of Service. Qos Mechanisms. EECS 122: Lecture 15

Today. March 7, 2006 EECS122 Lecture 15 (AKP) 4. D(t) Scheduling Discipline. March 7, 2006 EECS122 Lecture 15 (AKP) 5

Multimedia networking: outline

Transporting Voice by Using IP

Chapter 28. Multimedia

Chapter 7 Multimedia Networking. Chapter 7 outline. Chapter 7: goals. Multimedia and Quality of Service: What is it? QoS

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

The Session Initiation Protocol

3. WWW and HTTP. Fig.3.1 Architecture of WWW

Real-Time Transport Protocol (RTP)

Application Level Protocols

Introduction to LAN/WAN. Application Layer 4

SCS3004 Networking Technologies Application Layer Protocols

Chapter 7 + ATM/VC networks (3, 4, 5): Multimedia networking, QoS, Congestion control Course on Computer Communication and Networks, CTH/GU

Chapter 4: Networking and the Internet

AIMD (additive-increase, multiplicative-decrease),

Protocols. Networking CS 3470, Section 1 Sarah Diesburg

ETSF10 Internet Protocols Transport Layer Protocols

Review of Previous Lecture

Congestion Manager. Nick Feamster Computer Networks. M.I.T. Laboratory for Computer Science. October 24, 2001

Introduction to Networking

4. The transport layer

WWW: the http protocol

Protocols for Multimedia on the Internet

Chapter 2 Application Layer

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Real-Time Protocol (RTP)

EDA095 Audio and Video Streaming

Voice in Packets: RTP, RTCP, Header Compression, Playout Algorithms, Terminal Requirements and Implementations

Notes beforehand... For more details: See the (online) presentation program.

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Transcription:

File transfer Internet Applications (FTP,WWW, Email) File transfer protocol (FTP) is used to transfer files from one host to another Handles all sorts of data files Handles different conventions used in file systems Based on TCP connections FTP uses two TCP connections Control connection on port 21, data connection port 20 Connections Data connections 21 1245 21 port 1542 1245 21 1245 21 Data 1542 20 Data

FTP commands File transfer FTP user commands are sent on the channel Access commands User, passwd, account, quit File management commands CWD, LIST, DEL, CDUP, PWD, RMD Data formatting commands TYPE ( ASCII, Binary, Image) File transfer commands Get, put, Append Misc commands PORT, HELP Occurs over the data connection File copied from the server File copied to the server A list of directory or file names sent from the server to the client World Wide Web Overview Networked hypertext Client/server application Client side: Browser: views web pages Pages contain hyperlinks to other pages Pages are retrieved from web servers Pages are encoded in a language known as the HyperText Markup Language (HTML) Pages may also contain graphical content or input forms Pages may be static, or they may be dynamically generated by server programs and scripts Pages are named by Uniform Resource Locators (URLs)

World Wide Web Overview HTTP Server side: Accepts URL requests from clients (browsers) and returns the corresponding page and its graphical content Communication between client and server uses a protocol called the HyperText Transfer Protocol (HTTP) If a URL refers to a script or a program instead of a static web page, the server runs a program locally and outputs the results in the form of a web page Example: my.yahoo.com Protocol consists of two general types of messages: Browser requests Method URL Server responses Status code Headers Body Most common browser requests (called methods): Simple GET request Complete GET request Web page header (HEAD) request (info about the document) Web page append (POST) request Put Method ( send a document to the server) Simple GET Requests Complete GET Requests Request a page without supplying a request header Only the raw HTML content of the requested web page is returned GET /index.html <HTML> <HEAD><TITLE>Home page!</title></head> <BODY> This is my home page! </BODY> </HTML> Requests include protocol name and possibly header information Responses include header information GET /index.html HTTP/1.0 If-Modified-Since: Fri, 30 Oct 1998 14:19:41 GMT HTTP/1.1 200 OK Date: Mon, 26 Apr 1999 16:28:37 GMT Last-Modified: Thu, 11 Mar 1999 06:02:18 GMT Content-Length: 2059 Content-Type: text/html <HTML> <HEAD><TITLE>Home page!</title></head> etc.

MIME Headers POST Requests Responses from servers to complete GET requests contain MIME information MIME = Multipurpose Internet Mail Extensions MIME allows media types other than simple ASCII text to be encoded into a message The Content-Type: line in the MIME header indicates what type of data (type/subtype) is contained in the message Examples: Content-Type: text/html Content-Type: Image/GIF Most commonly used by browsers to send large form responses to servers Forms are web pages that contain fields that the browser user can edit or change POST Requests (cont d) Referencing a Web Page POST /index.html HTTP/1.1 language=any&message=this+is+a+message+to +the+server+being+sent+by+the+browser+with +a+post+request Uniform Resource Locators (URLs) Consists of three parts: The protocol http, ftp, news, file, gopher, etc. The server host name DNS host name or IP address The file path /~user/home.html protocol://server-name/file-path Example: http://www.cs.rutgers.edu/index.html When the file-path is empty, the server returns the default web page

HTML HTML An Example HyperText Markup Language allows for: Organization of web page into header and body Inclusion of non-displayed web page information (titles, metatags) Display of basic text Formatting of special text (headers, boldface, italic, etc.) Inclusion of hypertext links Paragraph breaking and formatting (basic paragraph, line break, enumerated lists, itemized lists, block-quoted text, preformatted text) Inclusion of graphical content <HTML> <HEAD> <TITLE>My web page</title> <META NAME= description CONTENT= my home page! > <META NAME= keywords CONTENT= home, page > </HEAD> <BODY> <H1>My web page</h1> <P> This is my <B>web page</b>. <A HREF= http://remus.rutgers.edu/~friend/html >Click here to go to my friend s web page.</a> <P> <IMG SRC= happy-face.gif > </BODY> </HTML> Email Email is transferred from one host to another using the Simple Mail Transfer Protocol (SMTP) Like HTTP, SMTP is an ASCII protocol that transfers messages between machines SMTP transfers occur between: sending host and dedicated email server dedicated email servers They do not occur between receiving hosts and email servers SMTP Modes of Operation Direct mode: Sending email from jack@town.com to jill@hill.com town. com SMTP Messages SMTP Responses Email Server for hill.com town.com first finds IP address for hill.com email server using DNS request (type=ms) town.com opens TCP connection on SMTP port 25 and initiates SMTP protocol to transfer email message

SMTP Protocol 220 hill.com SMTP service ready HELO town.com 250 hill.com Hello town.com, pleased to meet you MAIL FROM: <jack@town.com> 250 <jack@town.com> Sender ok RCPT TO: <jill@hill.com> 250 <jill@hill.com> Recipient ok DATA 354 Enter mail, end with. on a line by itself From: jack@town.com To: jill@hill.com Subject: Please fetch me a pail of water Jill, I m not feeling up to hiking today. Will you please fetch me a pail of water?. 250 message accepted QUIT 221 hill.com closing connection SMTP Modes of Operation (cont d) Relay mode: Sending email from jack@town.com to jill@hill.com town. com Email Server for town.com Email Server for hill.com town.com is configured to send all email messages through a local email server The local email server buffers email messages and forwards them to other email servers Retrieving Email Multimedia networking Users retrieve email from their assigned email server Email retrieval does NOT use the SMTP protocol Common methods of retrieval Email server adds received messages to a file stored on a shared file system (e.g., /var/mail/jill) Email downloaded via the POP3 protocol Email accessed via the IMAP protocol New applications on the net Real-time applications Video, audio, streaming applications Delay-sensitive Loss-tolerant Voice over IP Interactive voice Voice over data networks

Multimedia Protocols Types of media RTSP - streaming RTP, RTCP - time stamps RSVP - reservations DiffServ - reservations SIP - signaling SDP - description Streaming media, play while the new content is being downloaded across the network Content stored in servers Live media, play as and when content is generated Unicast or multicast Interactive or real-time media, content is exchanged among participants in real-time VoIP, teleconferencing etc Client-Server Model Sending Streaming content Server: runs software which is waiting for requests Client: contacts the server for a particular service (e.g. web page transfer) Audio or video signal is sampled Number of samples (Digitized) Number of bits per sample (coding) Examples (PCM); 8000 Hz or samples/sec at 8 bits per sample 64 Kbits/sec CD 44 KHz at 16 bits per sample How much to put in a packet (length of the sample) or frame length For audio: let us say 40 msec length which gives 320 byte packets

Information needed to send streaming data RTP Packet # or sequence number Timestamp (receiver has an idea when to deliver the packet to output) Type of encoding/ compression used etc Source identifier left microphone, right microphone etc A new protocol for transferring multimedia data -- RTP Real-time transport protocol Lightweight, flexible Provides mechanisms for transporting multimedia No algorithms specified Scalable Works with unicast and multicast RTP RTP encapsulation Provides mechanisms for data and Data Timing, loss detection, content labeling, etc Control/ RTCP Periodic messages giving feedback about quality Payload, seq number, timestamp, SSRC

RTP header RTP header fields 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ V=2 P X CC M PT sequence number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ timestamp +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ synchronization source (SSRC) identifier +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ other fields... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Payload type (7 bits long): standardized format for encoded content (0=PCM, 14 MPEG audio, ) Sequence number field (16 bits long): increments by 1 per packet; used to resequence, detect losses etc Timestamp field (32 bits long): increments by 1 per sample, random starting value, a 20 msec sample at 8 KHz, timestamp increments by 160 per RTP packet RTP header fields Sources Synchronization source identifier (SSRC) 32 bits long. Identifies the source of the stream. A given multimedia stream can have many sources End systems: cameras, microphones Translators: Forward RTP packets after changing encoding Mixers: Receives RTP packets from multiple sources, combines them and/or changes encoding, forwards new RTP packets

Source identification RTCP Synchronization Source (SSRC): source of a stream of RTP packets globally unique, randomly generated ID can be an originating source (microphone) or a mixer Contributing Source (CSRC): actual source of data in the packet. For transmission of information Receiver statistics (Receiver report) Source statistics (Sender report) Source information (Source Description) Designed to be scalable RTP/RTCP Receiver Report Typically used with UDP as transport Used in conjunction with RTCP or RTP protocol RTCP provides feedback to sender with receiver reports and to the receiver with sender reports RTCP sender reports (SR) Total packets sent, wall clock time, etc RTCP receiver reports (RR) Packet loss, jitter etc SSRC of the source Lost packets cumulative, fraction highest sequence number received interarrival jitter last source report

Source Report RTP/RTCP SSRC of the sender wallclock time (NTP format) RTP timestamp number of packets transmitted number of bytes transmitted Provides Time stamps Sequence numbers Feedback Source/Payload identification Multicast friendly Scalable RTP/RTCP (multicast) HTTP Web browser Media player

Streaming with HTTP Streaming with Helpers Helper application external usually takes file inputs Plugin embedded into the browser can make network calls Browser (client) gets the entire file from HTTP server Hands it over to a media player (helper application) How can the Media player interact with the server? Naïve streaming Streaming with metafiles

Technical Issues with HTTP Real-time Streaming Protocol Runs over TCP slow start retransmissions Stateless Cannot be used for interactive operations not designed for it RTSP Allows client-server interaction Transport protocol can be chosen Conflicting requirements interaction - reliable media data - delay sensitive Solution: use out-of-band Streaming Architecture RTSP

Media player interaction RTSP messages <title>twister</title> <session> <group language=en lipsync> <switch> <track type=audio e="pcmu/8000/1" src = "rtsp://audio.example.com/twister/audio.en/lofi"> <track type=audio e="dvi4/16000/2" pt="90 DVI4/8000/1" src="rtsp://audio.example.com/twister/audio.en/hifi"> </switch> <track type="video/jpeg" src="rtsp://video.example.com/twister/video"> </group> </session> C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Transport: rtp/udp; compression; port=3056; mode=play S: RTSP/1.0 200 1 OK Session 4231 C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=0- C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 Range: npt=37 C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Session: 4231 S: 200 3 OK RTSP Methods RTSP Time Specification SETUP PLAY PAUSE TEARDOWN NPT SMPTE Absolute

What RTSP is not Media Player A compression scheme Encapsulation format Transport protocol Buffering scheme Decompression Jitter-removal Error correction GUI