Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. IP Multicast <ul><li>A convention to identify a multicast address </li></ul><ul><li>Each node must translate between an IP multicast address and a list of networks that contain members of this group </li></ul><ul><li>A router must translate between an IP multicast address and a subnetwork multicast address to deliver a multicast IP datagram on the destination network </li></ul><ul><li>A mechanism for an individual host to inform routers (on the same network as itself ) of its inclusion or exclusion from a multicast group </li></ul>
  2. 2. IP Multicast (Contd.) <ul><li>Routers need to know which subnetworks include members of a given multicast group. </li></ul><ul><li>Routers need sufficient information to calculate the shortest path to each network containing group members. </li></ul><ul><li>A routing algorithm is needed to calculate shortest paths to all group members. </li></ul><ul><li>Each router must determine multicast routing paths on the basis of both source and destination addresses. </li></ul>
  3. 3. IP Multicast (Contd.) <ul><li>IGMP (Internet Group Management Protocol) or ICMPv6 (Internet Control Message Protocol) is used by hosts and routers to exchange multicast group membership information </li></ul><ul><li>MOSPF (Multicast Extension to Open Shortest Path First) enables routing of IP multicast datagrams </li></ul><ul><li>Each router attached to a LAN uses IGMP to maintain a current picture of local group membership. Periodically each router floods group membership information to all other routers in its area. </li></ul><ul><li>Using Dijkstra’s algorithm, each router constructs the shortest-path spanning tree from source network to all networks containing members of multicast group (done only on demand). </li></ul><ul><li>Unique spanning tree for a given source node </li></ul><ul><li>Interarea multicasting </li></ul>
  4. 4. Streaming on the Web <ul><li>The contents of a compressed audio and/or video file are played out as they are being received. A playout buffer helps to smooth the variations in the time between each received packet in the stream (delay jitter). </li></ul><ul><li>Media player acts as the interface between the incoming compressed media bitstream and the related sound and/or video output cards. </li></ul><ul><ul><li>For video, the browser first creates a window in the web page and passes the coordinates of the window to the selected video media player. </li></ul></ul><ul><ul><li>Video media player initializes the video card with the assigned coordinates and decompresses the video bitstream from the playout buffer and passes it to the video card for rendering </li></ul></ul><ul><li>Media player consists of two parts : playout functions and control functions for interactivity </li></ul>
  5. 5. Sequence <ul><li>Browser sends a HTTP GET request to the web server </li></ul><ul><li>Web server responds by returning the contents of the meta file to the browser </li></ul><ul><li>Browser determines the media player to invoke from the “content type” field and passes the contents of the meta file to the selected media player </li></ul><ul><li>Control part of the media player requests control part of the streaming server to start a new session by sending RTSP SETUP request message (including the port number allocated to RTP). In response the control part of the server returns an RTSP accept message (with a unique session identifier) </li></ul><ul><li>Control part of the media player sends a RTSP PLAY request message; the control part on the server side initiates the access and transmission of the packet stream using the allocated port number of RTP in the header of each UDP datagram </li></ul><ul><li>RTSP TEARDOWN request message is used when the user activates the quit/end button </li></ul>
  6. 6. RTP <ul><li>The timing information required by the receiver to output the received packet stream at the required rate is provided by RTP </li></ul><ul><li>RTCP is used to synchronize the two media streams prior to carrying out the decoding the decoding operation </li></ul><ul><li>RTP functions: (1) detecting missing packets and compensating for lost packets as well as delay variations (2) reconstructing bitstream (reordering the packets) </li></ul>
  7. 7. RTP Packet Format <ul><li>CSRC -- contributing source used in a multicast call/session; each source is uniquely identified by means of a 32-bit identifier (which is typically the IP address of the source) </li></ul><ul><ul><li>During a multicast session, the packet stream from multiple sources may be multiplexed together for transmission purposes by a device known as a Mixer. </li></ul></ul><ul><ul><li>Resulting RTP packet may contain blocks/frames of digitized information from multiple sources </li></ul></ul><ul><ul><li>To enable the receiver to relate each block/frame to the appropriate participant, the CSRC identifier for each block/frame is included in the header of the new packet </li></ul></ul><ul><ul><li>CC field (4 bits) indicates the number of CSRC identifiers present in the packet </li></ul></ul>
  8. 8. RTP Packet Format (Contd.) <ul><li>Payload type field indicates the type of encoder that has been used to encode the data in the packet. Since each packet contains this field, the encoder type used can be changed from packet to packet during a call depending on n/w load. </li></ul><ul><li>Each packet contains a sequence number which is used to detect lost or out-of-sequence packets. </li></ul><ul><ul><li>In the case of a lost packet, the contents of the last correctly received packet are used in its place. </li></ul></ul><ul><ul><li>The effect of out of sequence packets is overcome by buffering a number of packets before playout of the data they contain starts. </li></ul></ul>
  9. 9. RTP Packet Format (Contd.) <ul><li>The value of the time stamp field indicates the time reference when the packet was created. </li></ul><ul><ul><li>It is used to determine the current mean transmission delay time and the level of jitter that is being experienced. </li></ul></ul><ul><ul><li>Along with the delay information, the number of lost packets forms part of the current QoS of the path through the n/w. </li></ul></ul><ul><ul><li>RTCP periodically sends this info to the sending RTP source so that the sending RTP may modify the resolution of the compression algorithm if the n/w load changes. Level of jitter is used to determine the size of the playout buffer. </li></ul></ul><ul><li>Synchronization source (SSRC) identifier identifies the source device that produced the packet contents. Receiving RTP uses the SSRC to relay the reconstructed bitstream to the related output device interface. </li></ul>
  10. 10. RTCP <ul><li>RTCP operates along side of RTP and shares information with it </li></ul><ul><li>Each RTCP has a different (UDP) port number associated with it so that it can operate independently of RTP </li></ul><ul><li>Periodic messages (RTCP packet) exchanged with the RTP hosts/clients </li></ul><ul><ul><li>common system time clock for media synchronization </li></ul></ul><ul><ul><li>QoS reports computed by the receiving RTPs </li></ul></ul><ul><ul><li>participation reports </li></ul></ul><ul><ul><li>participation details </li></ul></ul>
  11. 11. RTCP Messages <ul><li>RTCP from all call participants periodically exchange messages with one another. Each message is sent in a RTCP packet to the same network address as the RTP to which the message relates. </li></ul><ul><ul><li>For applications that involve separate audio and video streams, a common system time clock is used for synchronization purposes. </li></ul></ul><ul><ul><li>The number of lost packets, the level of jitter, and the mean transmission delay are continuously computed by each RTP for the packet streams they receive from all other contributing sources. RTCP passes this information to all other RTCPs. </li></ul></ul><ul><ul><li>Participation reports used when a participant leaves the call. </li></ul></ul><ul><ul><li>Participation details includes information such as the name, email address, phone number and so on of each participant. </li></ul></ul>
  12. 12. Internet Telephony <ul><li>When a PC connected to the Internet needs to make a call to a telephone that is connected to a PSTN/ISDN, an internetworking unit known as telephony gateway is used. </li></ul><ul><ul><li>PC user sends a request to make a telephone call to the preallocated telephony gateway using the g/w’s Internet address. </li></ul></ul><ul><ul><li>The g/w requests the source PC for the phone number of the called party. </li></ul></ul><ul><ul><li>Then the source g/w initiates a session w/ the telephone g/w nearest to the called party using the IP address of the g/w. </li></ul></ul><ul><ul><li>Called g/w initiates a call to the recipient telephone using its phone number and standard call setup procedure of the PSTN/ISDN. </li></ul></ul><ul><ul><li>Assuming the called party answers, the called g/w then signals back to the PC user -- through source g/w -- that the call can commence. </li></ul></ul><ul><li>PC to PC : h/w and s/w to convert speech signal from the microphone to packets on input and back again prior to output to the speakers. </li></ul>
  13. 13. Session Initiation Protocol (SIP) <ul><li>Provides services for user location, call/session establishment, and call participation management </li></ul><ul><li>A simple request-response protocol -- both the request and response are made through an application program called the user agent (UA) which maps the request and its response into the standard message format used by SIP </li></ul><ul><li>Each UA comprises two parts, a UA Client (UAC), which enables the user to send request messages (to initiate the setting up of a call/session) and a UA server (UAS) which generates the response message </li></ul>
  14. 14. Call/Session Set Up <ul><li>SIP name/address is similar to an email name/address. A single user may have a number of alternative locations/addresses </li></ul><ul><li>Calling host sends an INVITE request message to the local proxy server (PS -A); the proxy server (PS-A) obtains the IP address of the proxy server (PS-B) for the called host and the SIP in the proxy server (PS-A) sends the INVITE request message to PS-B. PS -B determines that the user is currently logged in (gets name/address from the SIP message) and the IP address of the called host. If the called host can accept the call, an INVITE response message is returned over the same path. Receiving this the SIP in the calling host returns an ACK and the two users/hosts start exchanging the info. </li></ul>
  15. 15. Session Description Protocol (SDP) <ul><li>To describe the different media streams involved in a call/session </li></ul><ul><li>Described in each SIP message body in text format: </li></ul><ul><ul><li>media streams (list of media types and format in each SIP INVITE request message and a modified version of that in the INVITE response message) </li></ul></ul><ul><ul><li>stream addresses (destination address and UDP port number for sending and/or receiving each stream) </li></ul></ul><ul><ul><li>start and stop times (for broadcast sessions) </li></ul></ul>