Download - Chapter 10 Advanced Network Architectures
Chapter 10 Advanced Network
ArchitecturesIntegrated Services in the Internet
RSVPDifferentiated Services
Network Interconnection ModelsMPLS
Multimedia NetworkingReal-Time Transport Protocol
Session Control Protocols
Chapter 10Advanced Network
Architectures
Integrated Services in the Internet
Integrated Services IP ModelDefines a flow as a stream of IP packets
Generated by a sender and destined to a destinationThat require the same QoS
Provides QoS to individual flows in the Internet“Better than Best Effort” for some applicationsSupport for real-time voice and video applications
Requires traffic management mechanisms to deliver appropriate QoS to each flow
Packet classification, scheduling, admission controlExplicit reservation of buffers and bandwidth resources for individual flows at every node
Resource Reservation Protocol (RSVP) provides means for making reservations
Network Service Models
Best effort serviceNo guarantees; suitable for elastic trafficAt low loading, suitable for many traffic classes
Guaranteed servicebound on maximum delayguarantee on available bandwidth
Controlled load servicedelay consistent with lightly loaded network
ClassifierInputdriver Internet
forwarder
Packet scheduler
Output driver
Routingagent
Reservationagent
Managementagent
Admissioncontrol
Routing database Traffic control database
IntServ Router ModelAccept/reject a
flow
Identify a packet’s flow
Buffering to control loss
Transmission scheduling to control delay
Traffic management mechanisms discussed in
Chapter 7
End-to-end performance for an individual flow is the result of per-switch performances
delay, jitter, loss, bandwidthPer-switch performance depends on:
per-packet processing common to all packetsspecific per-connection or per-class treatment
Resources must be allocated by RSVP at each node for each flow
Router 1 Router 2 Router 3
End-to-End Performance
Admission ControlIndividual flow negotiates admission into the networkFlow Descriptor has two parts
1. Filter specification (filterspec) provides information required by classifier to identify the packets in the flow
2. Flow specification (flowspec) describes traffic properties of flow and QoS requirements
Traffic Specification (Tspec) describes traffic in terms of a token bucketRequest Specification (Rspec) describes QoS in terms of bandwidth, delay, loss
Each node along path must decide whether a flow can be accepted
Guaranteed ServiceIntended for flows that require real-time packet deliveryProvides a firm delay bound
Each flow is shaped by (b,r) leaky bucketb token bucket sizer token rate
Police the flow to ensure complianceReserve bit rate R>r at every node (weighted fair queueing)Account for other network parameters
∑=
+−
+≤H
j jRM
RmH
RbD
1
)1(From Chapter 7:m maximum packet size in flowM max packet size in networkRj bit rate of link jH number of hops in path
Controlled Load ServiceIntended for flows that can tolerate some delay but are sensitive to traffic overload
Equivalent to “Best Effort under Light Traffic”Low delay and low loss, but no quantitative guarantees
Less complex than guaranteed serviceEach flow is shaped by (b,r) leaky bucketUse admission control to limit volume of controlled load serviceReserve bit rate for the entire class to ensure light traffic modePolice each flow to ensure compliance; Non-conforming packets accorded best effort service
Classifier
Inputdriver Internet
forwarder
Packet scheduler
Output driver
Routingagent
Reservationagent
Managementagent
Admissioncontrol
Routing database Traffic control database
IntServ involves High ComplexityNumber of (application) flows can become extremely largePer-flow treatment involves high complexityTraffic Management
Per-flow classifierPer-flow queueingPer-flow schedulingHugh table sizes & high hardware complexity
Admission ControlSet up & maintenance of individual flowsHigh processing load
IntServ is not scalable
Chapter 10Advanced Network
Architectures
RSVP
RSVP is an IP signaling protocol to setup and maintain flow-specific state in hosts and routersMulticast-oriented
Performs resource reservations for multipoint-multipoint applicationsAdapts changing group membership & routesUnicast, a special case
SimplexRequests resources from sender to receiverBidirectional flows require separate reservations
Receiver-orientedReceivers initiate and maintain resource reservations
Soft-state at intermediate routersReservation valid for specified durationReleased after timeout, unless first refreshed
ReSerVation Protocol (RSVP)
S1
S2
R1
R2
R3
Multicast distribution by
Internet
RSVP Sessions
Session: a data flow identified by destination address (unicast/multicast), transport layer protocol, & destination port # (optional)Packets flow from multiple senders to multiple receivers
RSVPprocess
Policycontrol
Admissioncontrol
Packetscheduler
Classi-fier
Appli-cation RSVP
processPolicycontrol
Admissioncontrol
Packetscheduler
Classi-fier
Routingprocess
Data Data
Data
RSVP
Host Router
RSVP
RSVP Architecture
Application requests QoS from RSVP processRSVP prepares & sends request messages to router
Policy control determines if application allowed to make requestAdmission control determines if resources available; sets up classifier & packet scheduler
RSVP Reservation Requests include:Flowspec: specifies traffic and performance requirements of a flow
RSVP carries flowspecs and installs them in switchesFlowspec invokes admission control & sets scheduler
Filterspec describes packets that can use resourcesWildcard filter: single reservation for all senders in a sessionFixed filter: distinct reservation for each senderDynamic filter: single reservation for a specified set of senders
RSVP does not interpret the flowspecs and filter specs, it only carries them
RSVP Reservations Request
Sender multicasts PATH message that describes traffic flowUses an existing routing protocolEach router stores address of previous RSVP router (PHOP) and inserts its address in last hop field and forwards message, establishing the path in the reverse direction
R1
R2
R3S RxPATH
RESV
PATH
RESVPATH
RESV
PATH
RESV?
?
?
Receiver unicasts RESV message to reserve resources (Can request confirmation from sender)Each router performs admission & policy control (Send PathErrmessage if rejected)Reservations may be modified or merged as RESV proceeds back to sender
R1
R2
R3
Rx1Path
PathPath
Path
Resv
Resv
Resv
Resv
R4 Rx3
Path
Resv
Rx2
Path
Resv
Path
Resv
S
Reservation Merging
Resources are shared among receivers up to point where paths to different receivers divergeRSVP process at nodes will merge requests at node where sufficient resources are already reservedRequest is not forwarded beyond merge point
Reservation Styles
S1, S2, S3, R1, R2, R3 belong to the same sessionCan S2 & S3 share the bandwidth reserved by S1?
Yes if application has one sender transmit at a timeNo if multiple senders transmit
How does router know which senders can access a reserved resource?
Explicit ListWildcard (Any sender in session)
Router
S1
S2,S3
R1
R1, R3
Fixed FilterSeparate reservationsExplicit list
Wildcard FilterShared reservationsWildcard (all senders)
Shared Explicit FilterShared reservationsExplicit list
Router
a
b
c
d
S1
S2, S3
R1
R2
R3
Example
WF( *{4B} )
Send Reserve Receive
WF( *{4B} )WF( *{3B} )WF( *{2B} )*{3B}
(a)
(b)
(c)
(d)
*{4B}WF( *{4B} )
Wildcard Filter
Wildcard request for 4B from R1Wildcard request for 3B & 2B from R2 and R3;Merged into 3B request
Inputs merge requests to 4B before upstreamExample: audioconferencing with different bitrates
FF( S1{3B}, S3{B} )FF( S1{B} )
Send Reserve Receive
(a)
(b)
(c)
(d)
FF( S1{4B} )S1{4B}S2{5B}
FF( S1{4B}, S2{5B} )
FF( S2{5B}, S3{B}) S1{3B} S3{B}
Fixed Filter
FF request from R1 for 4B from S1, 5B from S2FF request from R2 for 3B from S1, B from S3FF request from R3 for B from S1
Merge request to S1 for 3B Merge request to S1 for 4BExample: all-to-all videoconference
SE((S1,S2){B})
SE((S1,S3){3B})SE(S2{2B})
Send Reserve Receive
(a)
(b)
(c)
(d)
SE(S1{3B})(S1,S2){B}
SE((S2, S3){3B}) (S1,S2,S3){3B}
Shared Explicit
SE request for B for S1 & S2 from R1SE request for 3B for S1 & S3 from R2SE request for 2B for S2 from R2
Merge to union of list (S1, S2, S3) & max request, 3BExample: layered video
RSVP Soft StateReservations are valid for a timeout periodNeed to “refresh” reservation state by resending PATH & RESV messages before expiry timeReservation removed if not refreshed by timeoutRSVP runs directly over IP with type=46
message delivery is not reliableAssume 1 in 3 consecutive messages gets through
Nominal refresh rate specified by R (usually 30 sec)Refresh period for a receiver randomized from (0.5R, 1.5R) to avoid simultaneous refresh attemptsPathTear & ResvTear messages explicitly delete reservations
Version Flags Msg Type RSVP Checksum
Send_TTL Reserved RSVP Length
0 4 8 16 31
RSVP Message Header
Version: 1Flags: undefinedInternet ChecksumSend_TTL: TTL of originating IP packet
Detects non-RSVP routersLength: total RSVP message
Message TypesPathResvPathErrPathTearResvTearResvConf
RSVP Message ObjectsSESSION: IP destination address, IP protocol number, and destination port # RSVP_HOP: IP address of RSVP-capable router that sent this messageTIME_VALUES: refresh period R.STYLE: reservation style information not in flowspec or filterspec objects FLOWSPEC: desired QoS in a Resv message.FILTER-SPEC: set of packets that receive desired QoS in a Resv message.SENDER_TEMPLATE: IP address of the sender in Path message.SENDER_TSPEC: sender’s traffic characteristics in Path message.ADSPEC: carries end-to-end path information in Path message. ERROR_SPEC: specifies errors in PathErr and ResvErr; confirmation in ResvConf.POLICY_DATA: enables policy modules to determine whether request is allowed INTEGRITY: cryptographic and authentication information to verify RSVP messageSCOPE: explicit list of senders that are to receive this message. RESV_CONFIRM: receiver IP address that is to receive the confirmation.
Chapter 10Advanced Network
Architectures
Differentiated Services
Differentiated Services
Differentiated Services (DiffServ) model is designed to be scalable and to provide QoSTraffic is aggregated into a limited number of classesService is on aggregate-flow basis, not per individual flowEach class receives a well-defined service treatment at each DiffServ routerNo per-flow signaling
Forwarding Path Architecture
C = Core RouterA = Access RouterH = Host
Complexity at the EdgeUser negotiates Service Level Agreement (SLA) with service providerSLA includes a Traffic Conditioning Agreement (TCA) stipulating
service level, traffic profile, marking, shaping
Access Routerclassifies user packets and marks them in DS field of IP header as belonging to a specific classconditions packet stream so it conforms to profile
C
C
A
A
A
A
A
A
HH
H
H
H
DiffServ Domain
C
SLANotwithstanding …
TCA…
Forwarding Path Architecture
C = Core RouterA = Access RouterH = Host
Simplicity in the CoreAggregate-flow or class identified by a particular value in the DS fieldCore routers provide a limited number packet forwarding options called Per-Hop Behaviors (PHBs)Value in DS field identifies class and PHBRouter resources reserved on aggregate-flow basis, not per-flow
C
C
A
A
A
A
A
A
HH
H
H
H
DiffServ Domain
C
0 6 7DSCP CU
Differentiated Services Field
Differentiated Services Codepoint (DSCP)Six bits in the IPv4 TOS fieldDSCP value specifies PHB in core routerRouter uses DSCP as index that determines buffering & scheduling treatment for a packetA recommended set of DSCP-to-PHB mappings
But service providers free to choose their own mapping
TOS Backwards Compatibility:000000→Default (Best Effort), 11x000→Network Control
“Currently Unused”
Per-Hop BehaviorsSeveral PHBs defined by IETFDE (Default) PHB: Best effortExpedited Forwarding (EF) PHB: “Premium”
Low loss, low latency, low jitter, assured-bandwidth end-to-end transfer
Assured Forwarding (AF) PHB: “Better than Best Effort”
High assurance of delivery if traffic profile keptFour independent AF classes
Provide four levels of assuranceThree values of packet drop precedence within each levelRouter must preserve sequence of packets within same microflow (same application flow, same AF level)
PHB and Traffic ManagementPHB definition do not specify mechanism to implement behaviorEF PHB
HOL priority queueing, Weighted Fair Queueing, or combination
AF PHB: Different levels of drop-precedenceRED with IN/OUT (RIO)Maintain running averages
QIN: avg # conforming packets in bufferQT: avg # total packets in bufferIN packets dropped according to RED algorithm using QINOUT packets dropped according to RED using QTOUT packets dropped more aggressively than IN packets
High Priority
EF?
Low Priority
RIO QueueManagement
SchedulerInputPacket
OutputPacket
Y
N
• Define two basic priority classes serviced• Use RIO mechanism on the lower priority queue(s)
Possible Core Router Design
Could define several classesEach with separate queue
C
C
B
BA
A C
A
A
A
A
HH
H
H
H
Local DS domain
Transitnetwork
Contracted aggregate rate
B = Border DS router
DiffServ across Domains
SLA must be in place between domainsEgress border router must condition traffic to contracted profile
Ingress border router classifies & conditions trafficDSCP values may need to be mapped if domains use different DSCP-PHB mappings
Marker Shaper/dropper
Meter
Classifiedpackets
Conditionedpackets
Traffic Conditioner
Meter measures traffic and checks for conformance to traffic profile
Token bucket to check peak rate, sustained rate, maximum burst size
Marker sets DSCPRemark to lower class if non-conforming
Shaper/Dropper: Shape to profile; drop non-conforming packets
Bandwidth BrokerBandwidth Broker responsible for allocating and controlling bandwidth within a DS domainUsers contact BB to negotiate SLA
BB uses policy database to determine whether a user can request certain servicesBB determines whether resources are available to handle a requestBB translates flow database into TCAs to setup packet classifiers & meters in edge routers
BB allocates traffic to classes within domainBB negotiates agreements with other DS domains
Chapter 10Advanced Network
Architectures
Network Interconnection Models
Host 1 Host 2
A
B
C
F
G
EDNetwork 1
Network 2
Network 3
Network Interconnection
Server network (Network 2) provides transport service to Client networks (Network 1 & Network 3)Control Plane Issues:
Server network & client networks may use different technologiesWhat signaling is used and how are paths determined?
ATM Network
IP NetworkIP Network
SONET NetworkOptical Network
PHY
IP
PHY
Data Link
IP
TCP
Application
PHY
Data Link
IP
TCP
Application
PHY
Data Link
IP
PHY
AAL
ATM
IP
PHY
ATM
PHY
ATM
PHY
Data Link
IP
Host 1
Network 1 Network 3Network 2
Host 2
PHY
ATM
A BC ED
F G
AAL
ATM
End-to-End Protocol Stacks
Example: IP over ATMHosts run TCP/IPClient networks are IP networksServer network is ATM
Approaches to InterconnectionOverlay Model
Independent control planesClient interacts with server network through User-Network Interface (UNI)
Signal across UNI to request or release connections
No network state information passes from server network to client network
Secure & appropriate when networks run by different administrations
Addressing method in client & server networks different
Need ARPClient & server networks can evolve independently
Peer-to-Peer ModelSame control plane spans client & server networkClient network knows state of server network
e.g. OSPF information shared among networksRSVP implemented in all networks
Client network can make routing decisions involving server network
Higher efficiencySame addressing scheme in client and server networks
No need for address resolution protocol
Interdependence makes evolution more difficult
ED ED
MPS2
MPC1 MPC2
MPS1 MPS3
Host1 Host2Default path
Clientnetwork
Clientnetwork
Edge device
ATM switch
IP router
Overlay Example: IP over ATM
Multiprotocol over ATM (MPOA) uses overlay approachEdge Device (ED) interposed between IP net & ATM netED contains MPOA client (MPC) to set up & release VCsATM has MPOA servers (MPS) for IP-ATM address resolution & IP packet forwarding
ED ED
MPS2
MPC1 MPC2
MPS1 MPS3
Host1 Host2Default path
Clientnetwork
Clientnetwork
Short-cut path
Edge device
ATM switch
IP router
Overlay Example: IP over ATM
First packets from Host 1 to Host 2 are routed using MPSsIngress ED monitors packet flowsWhen “long-lived” flow detected, MPD decides to set up VC
Sends ARP request, which is routed along routed pathReply informs ingress ED of egress ED’s ATM addressVC set up & subsequent packet use ATM shortcut
Routing Scalability in Overlay Model
Routers are interconnected with ATM VCs in full meshMany router adjacencies
N2 for full meshRouting algorithm becomes unnecessarily complexMany message exchanges when topology changesRouting could be simplified if ATM nodes used IP routingMPLS addresses this problem
ATMnetwork
IPATMPHY
x x x x x
A B C D
ClientIP
ClientIP
Server network
Peer-to-Peer Example: IP + ATM
Nodes combine ATM switching & IP routingInitially packets are routed, hop by hop
Packets flow along default VCs “x”
When long-lived flow detected, node sets up shortcutClient establishes VC shortcut y1Node A establishes VC shortcut y2And so on
y1 y2y5y3 y4
Chapter 10Advanced Network
Architectures
MPLS
What is MPLS?
Multiprotocol Label Switching (MPLS)A set of protocols that enable MPLS networks
Packets are assigned labels by edge routers (which perform longest-prefix match)Packets are forwarded along a Label-Switched Path (LSP)in the MPLS network using label switchingLSPs can be created over multiple layer-2 links
ATM, Ethernet, PPP, frame relayLSPs can support multiple layer-3 protocols
IPv4, IPv6, and in others
IP L1IP L2IP L3IP IPLER LERLSRLSR
Why MPLS?Labels enable fast forwarding
But longest-prefix match is also fastCircuits are good (sometimes)
Conventional IP routing selects one path, does not provide choice of routeLabel switching enables routing flexibilityTraffic engineering: establish separate paths to meet different performance requirements of aggregated traffic flowsVirtual Private Networks: establish tunnels between user nodes
Proposals Leading to MPLSIP Switching: IP+ATM proposed by IPSILON
Traffic-driven label assignment: create & teardown shortcut paths according to flow activity
Cell-Switch Router: proposed by ToshibaTraffic-driven label assignmentTopology-driven label assignment: when node changes entries in IP routing table new ATM shortcuts are created & torn down Request-driven label assignment: signaling can request setting up of new labels to set up explicit paths
Tag Switching: proposed by CiscoMultiprotocol tag or label: over multiple layer-2 technologiesLabel stacking: generalizes ATM 2-level hierarchyTopology-driven & request-driven label assignment
ARIS (Aggregate Route-Based IP Switching): proposed by IBMLabel merging: optimization of label usage
Switchfabric
Forwardingtables
Labeledpackets
Labeledpackets
Routingtables
Routingand
signalingRouting andsignaling
Routing andsignaling
Control component
Forwarding component
Separation of Forwardng & Control
Before MPLS: forwarding & control intertwinedTransition to CIDR (control) meant forwarding had to change to longest-prefix match
With MPLS: forwarding & control are separateAll forwarding done with label switchingDifferent control schemes dictate creation of labels & label-switched pathsControl & forwarding can evolve independently
All proposals leading to MPLS separate forwarding and control
EgressLSR
MPLS domain
Ingress LSR
Ingress LSR
Ingress LSR
Ingress LSR
Ingress LSR Ingress LSR
Labels and Paths
Label-switched paths (LSPs) are unidirectionalLSPs can be:
point-to-pointtree rooted in egress node corresponds to shortest paths leading to a destination egress router
Forwarding Equivalence Class
FEC: set of packets that are forwarded in the same mannerOver the same path, with the same forwarding treatmentPackets in an FEC have same next-hop routerPackets in same FEC may have different network layer headerEach FEC requires a single entry in the forwarding tableCoarse Granularity FEC: packets for all networks whose destination address matches a given address prefixFine Granularity FEC: packets that belong to a particular application running between a pair of computers
IP2L1IP2
IP2
LER LERLSRLSRL2IP2 L3IP2
L1IP1 L2IP1 L3IP1IP1
IP1IP1
IP2
VPI/VCIATM cell
MPLSheader
Label SExp TTL
20 bits 3 bits 1 bit 8 bits
PPP or LAN frame
Layer 2header
Layer 3header
MPLS Labels
Labels can be encoded into VPI/VCI field of ATM headerShim header between layer 2 & layer 3 header (32 bits)
20-bit label + 1-bit hierarchical stack field + 8-bit TTL3-bit “experimental” field (can be used to specity 8 DiffServ PHBs)
A B F G
Push
Swap and Push Pop and Swap
Pop
C D E
Swap
3 22 27 26 8 5 4IP IP
Label Stacking
MPLS allows multiple labels to be stackedIngress LSR performs label push (S=1 in label)Egress LSR performs label popIntermediate LSRs can perform additional pushes & pops (S=0 in label) to create tunnels Above figure has tunnel between A & G; tunnel between B&FAll flows in a tunnel share the same outer MPLS label
A B
F
C D
E
285
37
6
6
5
A B
F
C D
E
65
36 8
Non-VC merging
Input cell streams In Out123
769
1 1 1
2 2 2
3 3
7676 9 76 9
Output cell stream
VC merging
Input cell streams123
777
In Out1 1 1
2 2 2
3 3
7 7 7 7 7 7 7 7
Output cell stream
Packet 1Packet 3 Packet 2
VC Merging Conserves Labels
AAL5 End-of-Packet bit can be used to reassemble packets
LSR 1 LSR 2
Label request for 10.5/16
(10.5/16, 8)
Label DistributionLabel Distribution Protocols distribute label bindings between LSRs
upstreamdownstream
Downstream-on-Demand ModeLSR1 becomes aware LSR2 is next-hop in an FECLSR1 requests a label from LSR2 for given FECLSR2 checks that it has next-hop for FEC, responds with label
LSR 1 LSR 2
(10.5/16, 8)
Label Distribution
upstreamdownstream
Downstream Unsolicited ModeLSR2 becomes aware of a next hop for an FECLSR2 creates a label for the FEC and forwards it to LSR1LSR2 can use this label if it finds that LSR2 is next-hop for that FEC
Independent vs. Order Label Distribution Control
Ordered Label Distribution Control: LSR can distribute label if
It is an egress LSRIt has received FEC-label binding for that FEC from its next hop
Independent Label Distribution Control: LSR independently binds FEC to label and distributes to its peers
LER LERLSRLSR(10.5/16, 8)(10.5/16, 9)(10.5/16, 3)(10.5/16, 6)(10.5/16, 8)(10.5/16, 7)
Label Distribution Protocol
Label Distribution Protocol (LDP), RFC 3036Topology-driven assignment (routes specified by routing protocol)Hello messages over UDPTCP connection & negotiation (session parameters & label distribution option, label ranges, valid timers)Message exchange (label request/mapping/withdraw)
LSR LSR
UDP HelloUDP Hello
InitializationTCP open
Label RequestLabel Mapping
MPLS Routing Scalability
LSRs are visible to non-MPLS routersFewer router adjacencies Routing traffic & processing load reduced
ATMnetwork MPLS
network
LSRLSR
LSR LSR
RSVP-TE
Extensions to RSVP for traffic-engineered LSPsRequest-driven label distribution to create explicit route LSPsSingle node (usually ingress) determines routeEnables traffic engineering
RSVP Path message includeslabel request object to request label bindingExplicit route object (ERO)
RSVP Resv message includes label object
3
64
8
1
2 5 7
Congestion
Underutilized
3
64
8
1
2 5 7
RSVP Path Message
RSVP Resv Message
MPLS SurvivabilityIP routing recovers from faults in seconds to minutesSONET recovers in 50 msMPLS targets in-between path recovery timesBasic approaches:
Restoration: slower, but less bandwidth overheadProtection: faster, but more protection bandwidth
Repair methods:Global repair: node that performs recovery (usually ingress node) may be far from fault, depends on failure notification messageLocal repair: local node performs recovery (usually upstream from fault); does not require failure notification
MPLS RestorationNo protection bandwidth allocated prior to faultNew paths are established after a failure occursTraffic is rerouted onto the new paths
Normal operation
1
2 43
8
5 76
1
2 43
8
5 76
1
2 43
8
5 76
Failure occurs and is detected
Alternate path is established, andtraffic is re-routed
MPLS ProtectionProtection paths are setup as backups for working paths
1+1: working path has dedicated protection path1:1: working path shares protection path
Protection paths selected so that they are disjoint from working pathFaster recovery than restoration
Traffic carried on working path
1
2 43
8
5 76
1
2 43
8
5 76
1
2 43
8
5 76
Failure on working path is detected
Traffic is switched to the protection path
Working path
Protectionpath
Generalized MPLSMPLS:
Connection-oriented Leverages IP routing protocols, with TE extensions, to provide means for selecting good pathsProvides signaling for establishing paths
With appropriate extensions, Generalized MPLS can provide the control plane for other networks:
SONET networks that provide TDM connectionsWDM networks that provide end-to-end optical wavelength connectionOptical networks that provide end-to-end optical fiber path
FEBA IGDC JH
LightpathTDM circuit
TDM circuitVirtual circuit Virtual circuit
Lambdacross-connectTDM switch LSR
Hierarchical LSPs
GMPLS allows node with multiple switching technologies to be controlled by one control componentNotion of “label” generalized:
TDM slot, WDM wavelength, optical fiber portLSP Hierarchy extended to generalized labels”
MPLS LSP over SONET circuit over wavelength path over fiber
GMPLS Associated ProtocolsOSPF Extensions
Disseminate link state for optical & SONET linksSignal quality, protection capability, link bundling, interface types available
Link BundlingDWDM causes optical fiber to appear as large number of links & hence routing adjacenciesLink bundling aggregates parallel links so single adjacency required
Link Management Protocol (LMP)New protocol that automates management of component linksProvides separate control channel so data channels can be transparent, e.g. as in a lightpath that carries only data
Chapter 10Advanced Network
Architectures
Multimedia Networking
Streaming
Storage
LocalPlayback
Interactive
Download
Continuous Playback
Remote Local
Multimedia Internet Applications
Multimedia Application TypesStorage/Download
Capturing/or downloading multimedia sequences to/from storage devices
Local playbackPlayback of multimedia sequences from a local disk
StreamingOn-line playback of multimedia sequences stored on remote serversMay pause during playback to account for network congestion
Continuous playbackContinuous on-line playback of remote multimedia sequencesNo pausing allowed
InteractiveMulti-participant interactive multimedia sessions
ApplicationType
Storage
Example Application QoS Requirements
Bandwidth Errors / LossesJitterDelay
Download
Local Playback
Streaming
ContinuousPlayback
Interactive
VideoProduction
Off-line videoediting
DVD Playback
Real Audio/ Real Video
Live Broadcast
Audio/VideoConference
High
Low - high
High
Low
Medium-Hi
N/A
Medium
High
Medium
Low
Medium-Hi
N/A
Medium
Medium
Low
Low
High
N/A
None
Medium
Medium
High
None
None
Multimedia Applications … cont’d
Components of Multimedia Applications
System componentsCapture and playback systems
Encoders and Decoders
File storage format and storage devices
Real-time transport protocol (RTP)
Real-time Streaming Protocol (RTSP)
Session Description Protocol (SDP)
Session Initiation/Announcements protocols (SIP/SAP)
H.323 Multimedia Communications
Enco
ders
Dec
oder
s
Storage
Network
StreamingprotocolFile
Format
Real-time
protocolReal-timeprotocol
CompatibleCODEC
Compatibility Requirements
Multimedia protocol stack
MGCP/Megaco
TCP UDP
IPv4, IPv6
H.323 SDP
SIP
RTSP RSVP RTCP
RTP
H.261, MPEG
PPP AAL3/4 AAL5 PPP
Sonet ATM Ethernet V.34
Signaling Quality of Service
Reservation Measurement
Media Transport Application daemon
kernel
Chapter 10Advanced Network
Architectures
Timing Recovery(from Chapter 5)
Network
Synchronous source sends periodic information blocks
Network output not periodic
Timing Recovery for Synchronous Services
Applications that involve voice, audio, or video can generate a synchronous information streamInformation carried by equally-spaced fixed-length packets Network multiplexing & switching introduces random delays
Packets experience variable transfer delayJitter (variation in interpacket arrival times) also introduced
Timing recovery re-establishes the synchronous nature of the stream
Introduce Playout Buffer
PlayoutBuffer
Packet Arrivals Packet Playout
• Delay first packet by maximum network delay• All other packets arrive with less delay• Playout packet uniformly thereafter
Packet Arrivals
Packet Playout
Tmax
Sequence numbers help order packets
Sendtimes
Playouttimes
Arrival times
Tplayout time
Time
Receiver too slow;
buffer fills and overflows
Tplayout time
TimeReceiver too fastbuffer starvation
Many latepackets
Tplayout time
TimeReceiver speedjust right
Playout clock must be synchronized to
transmitter clock
Recoveredclock
t4 t3 t2 t1Timestamps
Add Smoothingfilter
Adjustfrequency
Counter
+
-
Buffer for information blocks
Errorsignal
Playoutcommand
Clock Recovery
Counter attempts to replicate transmitter clockFrequency of counter is adjusted according to arriving timestampsJitter introduced by network causes fluctuations in buffer & in local clock
Timestamps inserted in packet payloads
indicate when info was produced
Network clock
fn
Transmitter
Network
Receiver
fs frM M
Synchronization to a Common Clock
Clock recovery simple if a common clock is available to transmitter & receiver
E.g. SONET network clock; Global Positioning System (GPS)Transmitter sends Δf of its frequency & network frequencyReceiver adjusts network frequency by ΔfPacket delay jitter can be removed completely
fr=fn-Δf
M = # ticks in local clockIn time that net clock does
N ticksN ticks N ticksfn/fs=N/M
Δf=fn-fs=fn-(M/N)fn
Chapter 10Advanced Network
Architectures
Real-Time Transport ProtocolRTCPRTSP
Real-Time Protocol
RTP (RFC 1889) designed to support real-time applications such as voice, audio, videoRTP provides means to carry:
Type of information sourceSequence numbersTimestamps
Actual timing recovery must be done by higher layer protocol
MPEG2 for video, MP3 for audio
RTP Scenarios & TerminologyChair of conference obtains IP multicast address & pair of consecutive UDP port #sEven port #: audioOdd port # for RTCP streamEach media sent on a separate RTP sessionFixed-length RTP PDUs sent during sessionEach RTP multicasts periodic receiver reports on RTCP portMixers and Translators
Time Stamp
CSRC Identifier
V P X CC M Payload Type Sequence Number
SSRC Identifier
0 8 16 31
RTP Packet Format
Version (2)Padding flagExtension Header FlagContributing Source Count (# CSRC IDs)Marker (significant events, e.g. frame boundaries)
Time Stamp
CSRC Identifier
V P X CC M Payload Type Sequence Number
SSRC Identifier
0 8 16 31
RTP Packet Format
Payload Type: e.g. PCM, MPEG2, …Sequence Number: detect packet lossTimestamp: sampling instant of first byteSynchronization Source: ID for synch source CSRC List: contributing sources to payload
RTP Packet
RTP Control Protocol (RTCP)RTP companion protocolMonitors quality of service at receiversConveys monitored info to sendersCanonical Name CNAME for each participantRTCP Packets
Sender Report PacketReceiver Report PacketSource Description (SDES)BYE: end of participation by senderAPP: application specific functions
RTCP Packet
Real Time Streaming Protocol (RTSP)
RFC 2326VCR-like user control of display: play, rewind, fast forward, pause, resume, etc…One connection for control messages One connection for media streamTCP or UDP can be used for the control channel
Web browser
Web server
Media player
Media server
ServerClient
HTTP GET
Presentation desc.
Media stream
PLAY
TEARDOWN
PAUSE
SETUP
RTSP Operations
Chapter 10Advanced Network
Architectures
Session Control ProtocolsSIP
Session Initiation Protocol
Session: association involving exchange of data between Internet end systems
Internet telephone call; multimedia videoconference; instant messaging; event notification
Session Initiation ProtocolSetting up, maintaining, terminating sessionPeople & media devicesMulticast or mesh of unicast connectionsSupport for user mobilityOver UDP or TCP
SIP Protocol
Text-based client-server protocol with syntax similar to HTTPTransaction: client request /server(s) response(s)Basic signaling through transactionsSIP Request: method invoked
INVITE, ACK, OPTIONS, BYE, CANCEL, REGISTERINVITE & ACK used to initiate calls
(1)
INVITE sip: [email protected]= IN IPv4 192.168.12.5m=audio 35092 RTP/AVP 0
INVITE sip: [email protected]= IN IPv4 192.168.12.5m=audio 35092 RTP/AVP 0(2) (3)
(4)
(5) ringing
(6)SIP/2.0 200 OK
SIP/2.0 200 OK
(7)
ACK(8)
Media flow
(9)
proxy
registrar
SIP System ComponentsUser Agents: software in end system that acts on behalf of a human user
User Agent Client: to initiate a callUser Agent Server: to answer a call
Network Servers: call routing to establish a callProxy Server: receives request, determines server to send it to, and forwards request; Response flows in reverse directionRedirect Server: returns message telling client address of next serverRegistrar: registrations on current user locations
INVITE REQUESTINVITE request to UAS of desired user
Use name, e.g. email address, telephone #Usually IP address or hostname not known
As message passes a SIP device, IP address of device attached to VIA header
Used for reverse pathCommand Sequence header
Request method and sequence numberContent type: default Session Description Protocol (SDP)
Response
UAC sends INVITE request to network serverRequest proxied/redirected until server found that knows IP address of userResponse message contains:
Same Call ID; CSeq; To/FromReach address to send transactions directly to UASInformation about media content
SIP Ethereal Capture
user1 calls user2 using Helmsman User AgentThis User Agent is available at
www.sipcenter.com
Description of Invite Packet:
User1 sending out Invite Request for User2
Header contains information about the call. E.g.. To, From, Via.
INVITE:
Header Description of Trying Packet:
User1 trying to connect to User2
TRYING:
Connection has been established with User2, waiting for User2 to answer the call.
Packet Description:
RINGING:
Connection has been established and user1 sends out a “OK” packet User1 sends an “ACK” packet to user2
Packet Description for “OK”:
OK and ACK :
Packet Description for “ACK”:
User2 wants to disconnect, sends a BYE packet
User2 is trying to disconnect and hence sends “Trying” Packet
“OK” is sent by User2 once call is successfully disconnected
Packet Description for BYE:
BYE:
Chapter 10Advanced Network
Architectures
Session Control ProtocolsH.323 Communications
Systems
H.323 SystemsSupport for real-time multimedia communications on LANs & packet networksH.323 provides call control, multimedia management, bandwidth management, interfaces to other networksH.323 terminals carry voice, audio, video, data, or combinationGateways handle signaling messages between packet network & other networksGatekeeper handles call control inside H.323 netMultipoint control unit combine media streams
IP network Public TelephoneNetwork
Gatekeeper
Gateway
H.323 Terminal H.323 Terminal
Telephone
MCU
AudioCodec
VideoCodec
H.245 Control
Call Control
RAS Control
H.225Layer
Scope of H.323
MicrophoneSpeakers
Camera,Display
DataEquipment
SystemControl
UserI/F
System Control
LANI/F
ReceivePathDelay
H.323 Protocols
H.225: call control within H.323 netRTP/RTCP used for audio/video streamsH.245: control channel to set up logical channelsRAS: registration, admission control, bandwidth managementRSVP – Resource Reservation Protocol: allows user to request a specific amount of bandwidth
Typical H.323 Stack
H.323
IP
UDP
RTP
RTCP
TCP/UDP TCP UDPUDP TCP
AudioCodecsG.711
G.723.1G.729
..
VideoCodecsH.261H.263H.264
..V.150 T.120
TCP/UDP
T.38H.225.0
CallSignaling
H.245H.225.0
RAS
Terminal Control and ManagementDataApplications Media Control
Multimedia Applications, User Interface
GWGW
Setup
Call Proceeding
Progress
Alerting
Connect
CONNECTED
Optional
Release Complete
Basic Call Setup Signaling H.225.0
Call Setup Capture
No. Time Source Destination Protocol Info6 18.904189 192.168.0.149 192.168.0.143 TCP 1748 > 1720 [SYN] Seq=1739645016 Ack=0 Win=16384 Len=07 18.905196 192.168.0.143 192.168.0.149 TCP 1720 > 1748 [SYN, ACK] Seq=4252100644 Ack=1739645017 Win=17520 Len=08 18.905366 192.168.0.149 192.168.0.143 TCP 1748 > 1720 [ACK] Seq=1739645017 Ack=4252100645 Win=17520 Len=0
11 19.497846 192.168.0.149 192.168.0.143 H.225.0 CS: Setup-UUIE12 19.769449 192.168.0.143 192.168.0.149 TCP [Desegmented TCP]13 20.099818 192.168.0.149 192.168.0.143 TCP 1748 > 1720 [ACK] Seq=1739645217 Ack=4252100649 Win=17516 Len=014 20.101044 192.168.0.143 192.168.0.149 H.225.0 CS: Alerting-UUIE16 20.501086 192.168.0.149 192.168.0.143 TCP 1748 > 1720 [ACK] Seq=1739645217 Ack=4252100688 Win=17477 Len=020 29.091030 192.168.0.143 192.168.0.149 TCP [Desegmented TCP]21 29.329256 192.168.0.149 192.168.0.143 TCP 1748 > 1720 [ACK] Seq=1739645217 Ack=4252100692 Win=17473 Len=022 29.330385 192.168.0.143 192.168.0.149 H.225.0 CS: Connect-UUIE23 29.400799 192.168.0.149 192.168.0.143 TCP 1749 > 1862 [SYN] Seq=1740980379 Ack=0 Win=16384 Len=024 29.401781 192.168.0.143 192.168.0.149 TCP 1862 > 1749 [SYN, ACK] Seq=4253464033 Ack=1740980380 Win=17520 Len=025 29.401944 192.168.0.149 192.168.0.143 TCP 1749 > 1862 [ACK] Seq=1740980380 Ack=4253464034 Win=17520 Len=026 29.405685 192.168.0.149 192.168.0.143 TCP [Desegmented TCP]27 29.453530 192.168.0.143 192.168.0.149 TCP [Desegmented TCP]28 29.453752 192.168.0.149 192.168.0.143 H.245 TerminalCapabilitySet MasterSlaveDetermination29 29.455958 192.168.0.143 192.168.0.149 H.245 TerminalCapabilitySet MasterSlaveDetermination30 29.465312 192.168.0.149 192.168.0.143 TCP [Desegmented TCP]31 29.471165 192.168.0.143 192.168.0.149 TCP [Desegmented TCP]32 29.471402 192.168.0.149 192.168.0.143 H.245 TerminalCapabilitySetAck MasterSlaveDeterminationAck33 29.472271 192.168.0.143 192.168.0.149 H.245 TerminalCapabilitySetAck MasterSlaveDeterminationAck34 29.678682 192.168.0.149 192.168.0.143 TCP [Desegmented TCP]35 29.679868 192.168.0.143 192.168.0.149 H.245 OpenLogicalChannel OpenLogicalChannel OpenLogicalChannel43 30.532924 192.168.0.149 192.168.0.143 TCP 1749 > 1862 [ACK] Seq=1740980892 Ack=4253464654 Win=16900 Len=045 35.545028 192.168.0.143 192.168.0.149 RTCP Receiver Report48 35.546773 192.168.0.149 192.168.0.143 RTCP Receiver Report50 1239.290373 192.168.0.149 192.168.0.143 RSVP PATH Message. SESSION: IPv4, Destination 192.168.0.143, Protocol 17, Port 49608. SENDER
TEMPLATE: IPv4, Sender 192.168.0.149, Port 49608. 51 1239.322672 192.168.0.143 192.168.0.149 RSVP RESV Message. SESSION: IPv4, Destination 192.168.0.143, Protocol 17, Port 49608.
TCPControl Packets
H.225.0 setup
Alerting
Connecting
NegotiatingChannel Usage
RequestingBandwidth
Data Transfer Capture
No. Time Source Destination Protocol Info62 1240.429251 192.168.0.143 192.168.0.149 TCP 1862 > 1749 [ACK] Seq=4253464654 Ack=1740980896 Win=17004 Len=063 1240.429470 192.168.0.149 192.168.0.143 H.245 OpenLogicalChannelReject OpenLogicalChannelAck OpenLogicalChannelAck MiscellaneousCommand
MiscellaneousCommand OpenLogicalChannelConfirm65 1240.622962 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12977, Time=301725066 1240.623218 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12978, Time=301725071 1240.854456 192.168.0.143 192.168.0.149 TCP 1862 > 1749 [ACK] Seq=4253464654 Ack=1740980980 Win=16920 Len=072 1240.854730 192.168.0.143 192.168.0.149 TCP 1503 > 1752 [ACK] Seq=4255085782 Ack=1742545885 Win=17315 Len=074 1240.915746 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12980, Time=303075075 1240.916004 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12981, Time=303075076 1240.916239 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12982, Time=3030750, Mark87 1240.977683 192.168.0.149 192.168.0.143 TCP 1753 > 1503 [PSH, ACK] Seq=1742695460 Ack=4255248829 Win=17520 Len=2588 1240.979358 192.168.0.143 192.168.0.149 TCP 1503 > 1753 [PSH, ACK] Seq=4255248829 Ack=1742695485 Win=17495 Len=2189 1241.212546 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12983, Time=304407090 1241.212801 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12984, Time=3044070, Mark91 1241.231672 192.168.0.149 192.168.0.143 TCP 1753 > 1503 [ACK] Seq=1742695485 Ack=4255248850 Win=17499 Len=092 1241.231775 192.168.0.149 192.168.0.143 TCP 1749 > 1862 [ACK] Seq=1740980980 Ack=4253464658 Win=16896 Len=093 1241.232617 192.168.0.143 192.168.0.149 H.245 MiscellaneousCommand97 1241.364228 192.168.0.143 192.168.0.149 RTP Payload type=ITU-T H.263, SSRC=4062428632, Seq=32093, Time=1885770, Mark98 1241.366210 192.168.0.149 192.168.0.143 TCP [Desegmented TCP]99 1241.380190 192.168.0.149 192.168.0.143 TCP 1753 > 1503 [PSH, ACK] Seq=1742695485 Ack=4255248850 Win=17499 Len=268100 1241.384497 192.168.0.143 192.168.0.149 TCP 1503 > 1753 [PSH, ACK] Seq=4255248850 Ack=1742695753 Win=17227 Len=106 Time=51984, Mark163 1242.823618 192.168.0.143 192.168.0.149 RTP Payload type=ITU-T G.723, SSRC=756814963, Seq=32091, Time=52704164 1242.836785 192.168.0.149 192.168.0.143 TCP 1753 > 1503 [ACK] Seq=1742695794 Ack=4255249018 Win=17331 Len=0165 1242.836872 192.168.0.149 192.168.0.143 TCP 1754 > 1503 [ACK] Seq=1742808026 Ack=4255332966 Win=17168 Len=0166 1242.897739 192.168.0.143 192.168.0.149 RTP Payload type=ITU-T G.723, SSRC=756814963, Seq=32092, Time=53424167 1242.908675 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12996, Time=3120210168 1242.908963 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12997, Time=3120210173 1243.099425 192.168.0.143 192.168.0.149 RTP Payload type=ITU-T H.263, SSRC=4062428632, Seq=32109, Time=1963890, Mark174 1243.107713 192.168.0.143 192.168.0.149 RTP Payload type=ITU-T G.723, SSRC=756814963, Seq=32093, Time=54144175 1243.202816 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=12999, Time=3133620176 1243.203076 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=13000, Time=3133620177 1243.205246 192.168.0.149 192.168.0.143 RTP Payload type=ITU-T H.263, SSRC=1488263488, Seq=13001, Time=3133620, Mark
RTP video H.263 Packet
RTPAudioG.723
MoreControl
Media Gateway Control Protocols
Enable simple terminal equipment (i.e. telephone) to connect to Internet for IP telephone serviceTwo components:
Media Gateway: performs media format conversion between telephone & InternetResidential Gateway: interacts between telephone and call agents in Internet
Call agents interact with SS7 signaling network to setup callsCall agents use Media Gateway Control Protocol