Title: SIP
1SIP
- Session Initiation Protocol
- Comes from IETF
- SIP long-term vision
- All telephone calls and video conference calls
take place over the Internet - People are identified by names or e-mail
addresses, rather than by phone numbers. - You can reach the callee, no matter where the
callee roams, no matter what IP device the callee
is currently using.
2SIP Services
- Setting up a call
- Provides mechanisms for caller to let callee know
she wants to establish a call - Provides mechanisms so that caller and callee can
agree on media type and encoding. - Provides mechanisms to end call.
- Determine current IP address of callee.
- Maps mnemonic identifier to current IP address
- Call management
- Add new media streams during call
- Change encoding during call
- Invite others
- Transfer and hold calls
3Setting up a call to a known IP address
- Alices SIP invite message indicates her port
number IP address. Indicates encoding that
Alice prefers to receive (PCM ulaw) - Bobs 200 OK message indicates his port number,
IP address preferred encoding (GSM) - SIP messages can be sent over TCP or UDP here
sent over RTP/UDP. - Default SIP port number is 5060.
4Setting up a call (more)
- Codec negotiation
- Suppose Bob doesnt have PCM ulaw encoder.
- Bob will instead reply with 606 Not Acceptable
Reply and list encoders he can use. - Alice can then send a new INVITE message,
advertising an appropriate encoder.
- Rejecting the call
- Bob can reject with replies busy, gone,
payment required, forbidden. - Media can be sent over RTP or some other protocol.
5Example of SIP message
- INVITE sipbob_at_domain.com SIP/2.0
- Via SIP/2.0/UDP 167.180.112.24
- From sipalice_at_hereway.com
- To sipbob_at_domain.com
- Call-ID a2e3a_at_pigeon.hereway.com
- Content-Type application/sdp
- Content-Length 885
- cIN IP4 167.180.112.24
- maudio 38060 RTP/AVP 0
- Notes
- HTTP message syntax
- sdp session description protocol
- Call-ID is unique for every call.
- Here we dont know
- Bobs IP address.
- Intermediate SIPservers will be necessary.
- Alice sends and receives SIP messages using
the SIP default port number 506. - Alice specifies in Viaheader that SIP client
sends and receives SIP messages over UDP
6Name translation and user locataion
- Caller wants to call callee, but only has
callees name or e-mail address. - Need to get IP address of callees current host
- user moves around
- DHCP protocol
- user has different IP devices (PC, PDA, car
device)
- Result can be based on
- time of day (work, home)
- caller (dont want boss to call you at home)
- status of callee (calls sent to voicemail when
callee is already talking to someone) - Service provided by SIP servers
- SIP registrar server
- SIP proxy server
7SIP Registrar
- When Bob starts SIP client, client sends SIP
REGISTER message to Bobs registrar server - (similar function needed by Instant Messaging)
Register Message
- REGISTER sipdomain.com SIP/2.0
- Via SIP/2.0/UDP 193.64.210.89
- From sipbob_at_domain.com
- To sipbob_at_domain.com
- Expires 3600
8SIP Proxy
- Alice sends invite message to her proxy server
- contains address sipbob_at_domain.com
- Proxy responsible for routing SIP messages to
callee - possibly through multiple proxies.
- Callee sends response back through the same set
of proxies. - Proxy returns SIP response message to Alice
- contains Bobs IP address
- Note proxy is analogous to local DNS server
9Example
Caller jim_at_umass.edu with places a call to
keith_at_upenn.edu (1) Jim sends INVITEmessage to
umass SIPproxy. (2) Proxy forwardsrequest to
upenn registrar server. (3) upenn server
returnsredirect response,indicating that it
should try keith_at_eurecom.fr
(4) umass proxy sends INVITE to eurecom
registrar. (5) eurecom regristrar forwards INVITE
to 197.87.54.21, which is running keiths SIP
client. (6-8) SIP response sent back (9) media
sent directly between clients. Note also a SIP
ack message, which is not shown.
10Comparison with H.323
- H.323 is another signaling protocol for
real-time, interactive - H.323 is a complete, vertically integrated suite
of protocols for multimedia conferencing
signaling, registration, admission control,
transport and codecs. - SIP is a single component. Works with RTP, but
does not mandate it. Can be combined with other
protocols and services.
- H.323 comes from the ITU (telephony).
- SIP comes from IETF Borrows much of its concepts
from HTTP. SIP has a Web flavor, whereas H.323
has a telephony flavor. - SIP uses the KISS principle Keep it simple
stupid.
11Improving QOS in IP Networks
- Thus far making the best of best effort
- Future next generation Internet with QoS
guarantees - RSVP signaling for resource reservations
- Differentiated Services differential guarantees
- Integrated Services firm guarantees
- simple model for sharing and congestion
studies
12Principles for QOS Guarantees
- Example 1MbpsI P phone, FTP share 1.5 Mbps
link. - bursts of FTP can congest router, cause audio
loss - want to give priority to audio over FTP
Principle 1
packet marking needed for router to distinguish
between different classes and new router policy
to treat packets accordingly
13Principles for QOS Guarantees (more)
- what if applications misbehave (audio sends
higher than declared rate) - policing force source adherence to bandwidth
allocations - marking and policing at network edge
- similar to ATM UNI (User Network Interface)
Principle 2
provide protection (isolation) for one class from
others
14Principles for QOS Guarantees (more)
- Allocating fixed (non-sharable) bandwidth to
flow inefficient use of bandwidth if flows
doesnt use its allocation
Principle 3
While providing isolation, it is desirable to use
resources as efficiently as possible
15Principles for QOS Guarantees (more)
- Basic fact of life can not support traffic
demands beyond link capacity
Principle 4
Call Admission flow declares its needs, network
may block call (e.g., busy signal) if it cannot
meet needs
16Summary of QoS Principles
Lets next look at mechanisms for achieving this
.
17Scheduling And Policing Mechanisms
- scheduling choose next packet to send on link
allocate link capacity and output queue buffers
to each connection (or connections aggregated
into classes) - FIFO (first in first out) scheduling send in
order of arrival to queue - discard policy if packet arrives to full queue
who to discard? - Tail drop drop arriving packet
- priority drop/remove on priority basis
- random drop/remove randomly
18Need for a Scheduling Discipline
- Why do we need a non-trivial scheduling
discipline? - Per-connection delay, bandwidth, and loss are
determined by the scheduling discipline - The NE can allocate different mean delays to
different connections by its choice of service
order - it can allocate different bandwidths to
connections by serving at least a certain number
of packets from a particular connection in a
given time interval - Finally, it can allocate different loss rates to
connections by giving them more or fewer buffers
19FIFO Scheduling
- Disadvantage with strict FIFO scheduling is that
the scheduler cannot differentiate among
connections -- it cannot explicitly allocate some
connections lower mean delays than others - A more sophisticated scheduling discipline can
achieve this objective (but at a cost) - The conservation law
- the sum of the mean queueing delays received by
the set of multiplexed connections, weighted by
their fair share of the links load, is
independent of the scheduling discipline
20Requirements
- A scheduling discipline must satisfy four
requirements - Ease of implementation -- pick a packet every few
microsecs a scheduler that takes O(1) and not
O(N) time - Fairness and Protection (for best-effort
connections) -- FIFO does not offer any
protection because a misbehaving connection can
increase the mean delay of all other connections.
Round-robin scheduling? - Performance bounds -- deterministic or
statistical common performance parameters
bandwidth, delay (worst-case, average),
delay-jitter, loss - Ease and efficiency of admission control -- to
decide given the current set of connections and
the descriptor for a new connection, whether it
is possible to meet the new connections
performance bounds without jeopardizing the
performance of existing connections
21Max-Min Fair Share
- Fair Resource allocation to best-effort
connections? - Fair share allocates a user with a small demand
what it wants, and evenly distributes unused
resources to the big users. - Maximize the minimum share of a source whose
demand is not fully satisfied. - Resources are allocated in order of increasing
demand - no source gets a resource share larger than its
demand - sources with unsatisfied demand s get an equal
share of resource
22Schedulable Region
23Designing a scheduling discipline
- Four principal degrees of freedom
- the number of priority levels
- whether each level is work-conserving or
non-work-conserving - the degree of aggregation of connections within a
level - service order within a level
- Each feature comes at some cost
- for a small LAN switch -- a single priority FCFS
scheduler or at most 2-priority scheduler may be
sufficient - for a heavily loaded wide-area public switch with
possibly noncooperative users, a more
sophisticated scheduling discipline may be
required.
24Priority Scheduling
- transmit highest priority queued packet
- multiple classes, with different priorities
- class may depend on marking or other header info,
e.g. IP source/dest, port numbers, etc..
25Priority Scheduling
- The scheduler serves a packet from priority level
k only if there are no packets awaiting service
in levels k1, k2, , n - at least 3 levels of priority in an integrated
services network? - Starvation? Appropriate admission control and
policing to restrict service rates from all but
the lowest priority level - Simple implementation
26Round Robin Scheduling
- multiple classes
- cyclically scan class queues, serving one from
each class (if available) - provides protection against misbehaving sources
(also guarantees a minimum bandwidth to every
connection)
27Weighted Fair Queueing
- generalized Round Robin (offers differential
service to each connection/class) - each class gets weighted amount of service in
each cycle
28Policing Mechanisms
- Goal limit traffic to not exceed declared
parameters - Three common-used criteria
- (Long term) Average Rate how many pkts can be
sent per unit time (in the long run) - crucial question what is the interval length
100 packets per sec or 6000 packets per min have
same average! - Peak Rate e.g., 6000 pkts per min. (ppm) avg.
1500 ppm peak rate - (Max.) Burst Size max. number of pkts sent
consecutively (with no intervening idle)
29Traffic Regulators
- Leaky bucket controllers
- Token bucket controllers
30Policing Mechanisms
- Token Bucket limit input to specified Burst Size
and Average Rate. - bucket can hold b tokens
- tokens generated at rate r token/sec unless
bucket full - over interval of length t number of packets
admitted less than or equal to (r t b).
31Policing Mechanisms (more)
- token bucket, WFQ combine to provide guaranteed
upper bound on delay, i.e., QoS guarantee!
32IETF Integrated Services
- architecture for providing QOS guarantees in IP
networks for individual application sessions - resource reservation routers maintain state info
(a la VC) of allocated resources, QoS reqs - admit/deny new call setup requests
Question can newly arriving flow be admitted
with performance guarantees while not violating
QoS guarantees made to already admitted flows?
33Intserv QoS guarantee scenario
- Resource reservation
- call setup, signaling (RSVP)
- traffic, QoS declaration
- per-element admission control
request/ reply
34RSVP
35Call Admission
- Arriving session must
- declare its QOS requirement
- R-spec defines the QOS being requested
- characterize traffic it will send into network
- T-spec defines traffic characteristics
- signaling protocol needed to carry R-spec and
T-spec to routers (where reservation is required) - RSVP
36Intserv QoS Service models rfc2211, rfc 2212
- Guaranteed service
- worst case traffic arrival leaky-bucket-policed
source - simple (mathematically provable) bound on delay
Parekh 1992, Cruz 1988
- Controlled load service
- "a quality of service closely approximating the
QoS that same flow would receive from an unloaded
network element."
37Chapter 6 outline
- 6.1 Multimedia Networking Applications
- 6.2 Streaming stored audio and video
- RTSP
- 6.3 Real-time, Interactivie Multimedia Internet
Phone Case Study - 6.4 Protocols for Real-Time Interactive
Applications - RTP,RTCP
- SIP
- 6.5 Beyond Best Effort
- 6.6 Scheduling and Policing Mechanisms
- 6.7 Integrated Services
- 6.8 RSVP
- 6.9 Differentiated Services
38IETF Differentiated Services
- Concerns with Intserv
- Scalability signaling, maintaining per-flow
router state difficult with large number of
flows - Flexible Service Models Intserv has only two
classes. Also want qualitative service classes - behaves like a wire
- relative service distinction Platinum, Gold,
Silver - Diffserv approach
- simple functions in network core, relatively
complex functions at edge routers (or hosts) - Dot define define service classes, provide
functional components to build service classes
39Diffserv Architecture
Edge router - per-flow traffic management -
marks packets as in-profile and out-profile
Core router - per class traffic management -
buffering and scheduling based on marking at
edge - preference given to in-profile packets -
Assured Forwarding
40Edge-router Packet Marking
- profile pre-negotiated rate A, bucket size B
- packet marking at edge based on per-flow profile
User packets
Possible usage of marking
- class-based marking packets of different classes
marked differently - intra-class marking conforming portion of flow
marked differently than non-conforming one
41Classification and Conditioning
- Packet is marked in the Type of Service (TOS) in
IPv4, and Traffic Class in IPv6 - 6 bits used for Differentiated Service Code Point
(DSCP) and determine PHB that the packet will
receive - 2 bits are currently unused
42Classification and Conditioning
- may be desirable to limit traffic injection rate
of some class - user declares traffic profile (eg, rate, burst
size) - traffic metered, shaped if non-conforming
43Forwarding (PHB)
- PHB result in a different observable (measurable)
forwarding performance behavior - PHB does not specify what mechanisms to use to
ensure required PHB performance behavior - Examples
- Class A gets x of outgoing link bandwidth over
time intervals of a specified length - Class A packets leave first before packets from
class B
44Forwarding (PHB)
- PHBs being developed
- Expedited Forwarding pkt departure rate of a
class equals or exceeds specified rate - logical link with a minimum guaranteed rate
- Assured Forwarding 4 classes of traffic
- each guaranteed minimum amount of bandwidth
- each with three drop preference partitions
45Multimedia Networking Summary
- multimedia applications and requirements
- making the best of todays best effort service
- scheduling and policing mechanisms
- next generation Internet Intserv, RSVP, Diffserv