You are on page 1of 35

|  


 
@ 

    


@    

  @      

The multimedia application consists of multiple audio, video, text, and


possibly other streams. These are fed into the RTP library, which is in user
space along with the application. This library then multiplexes the streams
and encodes them in RTP packets, which it then stuffs into a socket. At the
other end of the socket UDP packets are generated and embedded in IP
packets.
The basic function of RTP is to multiplex several
real-time data streams onto a single stream of UDP
packets.

The UDP stream can be sent to a single destination


(unicasting) or to multiple destinations (multicasting).
@  

first word contains the Version field


The Ô  indicates that the packet has been padded to a multiple of 4 bytes. The
last padding byte tells how many bytes were added.
The   indicates that an extension header is present.
The   tells how many contributing sources are present, from 0 to 15
The
 is an application-specific marker bit. It can be used to mark the start of a
video frame, the start of a word in an audio channel,
The Ô    field tells which encoding algorithm has been used (e.g.,
uncompressed 8-bit audio, MP3, etc.).
The —  is just a counter that is incremented on each RTP
packet sent. It is used to detect lost packets.

   is produced by the stream's source to note when the first
sample in the packet was made. This value can help reduce jitter at the
receiver by decoupling the playback from the packet arrival time.
—       identifier tells which stream the packet belongs to. It is
the method used to multiplex and demultiplex multiple data streams onto a single
stream of UDP packets.

The      , if any, are used when mixers are present
in the studio
@  

@  @    

It handles feedback, synchronization, and the user interface


but does not transport any data.

The first function can be used to provide feedback on delay,


jitter, bandwidth, congestion, and other network properties to
the sources. This information can be used by the encoding
process to increase the data rate

RTCP also handles interstream synchronization


|      

UDP is a simple protocol, such as client-server interactions


and multimedia, but for most Internet applications, reliable,
sequenced delivery is needed. UDP cannot provide this, so
another protocol is required. It is called TCP

TCP was designed to dynamically adapt to


properties of the internetwork and to be robust in the
face of many kinds of failures.
   !

  
"# $ $ 
"%   @
"& ! '
() $  $   
*) $  + 
,- . ///
##- 0 % @
##) 11 '1'  2

 
   !"
A TCP connection is a byte stream, not a message stream. Message boundaries
are not preserved end to end.

 $&#"3  | 


 "-4,3     
@'5
5++
   .

The —    and      fields identify the local end points of the
connection.
The —  and     fields perform their usual
functions.
The Ô    tells how many 32-bit words are contained in the TCP header.

Next comes a 6-bit field that is not used.


 is set to 1 if the Urgent pointer is in use. The Urgent pointer is used to
indicate a byte offset from the current sequence number at which   
    !
The " bit is set to 1 to indicate that the      #  !
The ԗ  indicates PUSHed data. The receiver is hereby kindly requested to
#          #       until a full buffer
has been received
The —  is used to reset a connection that has become confused due to a host
crash or some other reason.
The —  is used to establish connections. The connection request has — $ %
 " $ &

The connection reply does bear an acknowledgement, so it has — $ %  " $ %!


The r   is used to release a connection. It specifies that the
sender has no more data to transmit.
The '   field tells how many bytes may be sent
starting at the byte acknowledged.
A  is also provided for extra reliability.
   '  

(%#

         


  

To establish a connection, one side, say, the server, passively


waits for an incoming connection by executing the LISTEN
and ACCEPT primitives, it specifying a specific source
   '  

(%#

The CONNECT primitive sends a TCP segment with the SYN


bit on and ACK bit off and waits for a response.
If some process is listening to the port, that process is given the
incoming TCP segment. It can then either accept or reject the
connection. If it accepts, an acknowledgement segment is sent
back.
   '  

(%#

In the event that two hosts simultaneously attempt to establish


a connection between the same two sockets,
The result of these events is that just one connection is
established, not two because connections are identified by
their end points.
   @

TCP connections are full duplex

To release a connection, either party can send a TCP segment


with the FIN bit set, which means that it has no more data to
transmit. When the FIN is acknowledged, that direction is shut
down for new data. Data may continue to flow indefinitely in the
other direction, however. When both directions have been shut
down, the connection is released.
5 !53     !
ATM was designed in the early 1990s
ATM networks are connection-oriented, sending data requires
first sending a packet to set up the connection. Connections
are often called virtual circuits
ATM networks also support permanent virtual circuits, which
are permanent connections between two (distant) hosts.

ATM Virtual Circuits


5 5 !
Once a connection has been established, either side can begin
transmitting data.

The basic idea behind ATM is to transmit all information in


small, fixed-size packets called cells.
5 !@ !
It consists of three layers, the physical, ATM, and ATM
adaptation layers, plus whatever users want to put on top of
that.
The      deals with the physical medium: voltages,
bit timing, and various other issues.
The 
  deals with cells and cell transport. It defines
the layout of a cell and tells what the header fields mean. It
also deals with establishment and release of virtual circuits.
Congestion control is also located here.

A layer above the ATM layer has been defined to allow users
to send packets larger than a cell. The ATM interface
segments these packets, transmits the cells individually, and
reassembles them at the other end. This layer is the AAL
(
    ( ).
The user plane deals with data transport, flow control, error
correction, and other user functions.

In contrast, the control plane is concerned with connection


management.

The layer and plane management functions relate to resource


management and interlayer coordination.
5 !3 36    

PMD (Physical Medium Dependent) TC (Transmission Convergence)


SAR (Segmentation And Reassembly)
CS (Convergence Sublayer).
 
  
Internet hosts:
IP address (32 bit) - used for addressing datagrams
³name´, e.g., ww.yahoo.com - used by humans

DNS: provides translation between host name and IP


address
Domain names [1987]
Name space is partitioned both
organizationally and according to
geography
    
Com ± Commercial organizations
Us ± united States
Edu ± Universities and other
Uk ± United
educational institutions
Kingdom
Gov ± US governmental agencies
Cn - China
Mil ± US military organizations
Net ± Major network support
centres
Org ± Organizations not
mentioned above
Int ± International organizations

To map a name onto an IP address, an application program calls a library


procedure called the resolver
   
The Internet is divided into over 200 top-level domains, where each domain covers
many hosts.
Each domain is partitioned into subdomains, and these are further partitioned, and
so on. All these domains can be represented by a tree
The leaves of the tree represent domains that have no subdomains

A leaf domain may contain a single host, or it may represent a company and
contain thousands of hosts.
   

1   7 
 7 
 |     6 3
 
 52   8 
 .    
 '   87 
 78      
â )  

% 

* 

+ 

, 
— # r — 
        

— 


— 


 ! ! ! -. . +*.


 â!)     â.)   
#.
       
    ! 


 ! ! 
/     ! 
Yale has a server for yale.edu that handles eng.yale.edu but not cs.yale.edu,
which is a separate zone with its own name servers.
  #          !

A resolver on flits.cs.vu.nl wants to know the IP address of the host


linda.cs.yale.edu.
@ @

You might also like