IP technology, part 2
1) Mobility aspects (terminal vs. personal mobility)
2) GPRS (IP traffic in mobile network)
3) Session Initiation Protocol (SIP)
4) Mobile IP (adding mobility to wireless network)
5) Quality of Service (QoS) support
6) ATM basics
Mobility in IP networks
Personal mobility (e.g. offered by SIP)
Terminal mobility (e.g. offered by GPRS)
The Mobile IP concept tries to combine both, when implemented together with wireless LAN technology.
One can very generally define two types of mobility:
The IMS (IP Multimedia Subsystem) concept in 3GPP Release 5 also tries to combine both (using SIP and GPRS technology).
User mobility vs. terminal mobility
Personal mobility (e.g. offered by SIP):
User can move around in the network and use a new terminal after registration via the new terminal. The new terminal has the same address for incoming calls as the old terminal.
Terminal mobility (e.g. offered by GPRS):
User can move around in the network and use the terminal at different locations => location updating. The user cannot change to a different terminal (without transferring the SIM to the new terminal).
GPRS (General Packet Radio Service)
GSM BSS
3G RAN
PS core network
CS core network
GGSNGGSNSGSNSGSN
HLRHLR
AuCAuC
EIREIR
PSTN
Inte
rnet
MS
Handles packet (IP) traffic in a mobile network
SGSN
GSM BSS
3G RAN
PS core network
CS core network
GGSNGGSN
HLRHLR
AuCAuC
EIREIR
PSTN
Inte
rnet
MS
SGSNSGSN
The serving GPRS support node in the packet-switched core network is the equivalent of the serving MSC/VLR in the CS core network.
GGSN
GSM BSS
3G RAN
PS core network
CS core network
SGSNSGSN
HLRHLR
AuCAuC
EIREIR
PSTN
Inte
rnet
MS
The gateway GPRS support node is the equivalent of the GMSC in the CS core network. IP traffic from external IP networks (e.g. the Internet) is always first routed to the GGSN.
GGSNGGSN
GPRS attach / PDP session
GPRS attach
MS is assigned PDP (IP) addressPacket transmission can take place
Separate or combined GSM/GPRS attachMS registers with an SGSN (authentication...)Location updates are now possible
PDP context is created
GPRS detach
PDP context is terminatedAllocated IP address is released
In case of dynamic address
allocation
DHCP(Dynamic Host Configuration
Protocol)
PDP context
Packet data protocol context describes characteristics of GPRS session (session = "always on" connection)
PDP context information is stored in MS, SGSN and GGSN
MSMS
GGSNGGSNSGSNSGSN
::::::::::::
::::::::::::
::::::::::::
PDP type (e.g. IPv4)
PDP address = IP address of MS (e.g. 123.12.223.9)
Requested QoS (priority, delay …)
Access Point Name = IP address of GGSN (e.g. 123.12.223.0)
PDP type (e.g. IPv4)
PDP address = IP address of MS (e.g. 123.12.223.9)
Requested QoS (priority, delay …)
Access Point Name = IP address of GGSN (e.g. 123.12.223.0)
One user may have several PDP context sessions active 123.12.223.9
123.12.223.0
PDP context activation
MSMS GGSNGGSNSGSNSGSN
::::::::::::
Activate PDP context request
Create PDP context request
Create PDP context response
Activate PDP context accept ::::::::::::
::::::::::::
IP address allocated to MS
Security functions
Packet transmission (1)
MS (client)
MS (client)
GGSNGGSN
SGSNSGSN Server Server
Dynamic IP address allocation has one problem:It is difficult to handle a mobile terminated transaction(external source does not know IP address of MS)
Fortunately, packet services are usually of client-server type => MS (not server) initiates packet transmission
GGSN knows temporary IP adress of user
GGSN knows temporary IP adress of user
Server has to find correct GGSN
Server has to find correct GGSN
Packet transmission (2)
MS (client)
MS (client)
GGSNGGSN
SGSNSGSN
Packet is sent to SGSN. SGSN sends packet to GGSN through GTP (GPRS Tunneling Protocol) tunnel.
Packet is tunneled through IP backbone of PS core network
Outer IP header Outer IP header IP headerIP header IP payloadIP payload
Tunneling = encapsulation of IP packet in GTP packet
Server Server
Packet transmission (3)
MS (client)
MS (client)
GGSNGGSN
SGSNSGSN
Outer IP header Outer IP header IP headerIP header IP payloadIP payload
Dest. IP address: GGSN
Dest. IP address: Server
Server Server
Note the different destination IP addresses
Packet transmission (4)
MS (client)
MS (client)
GGSNGGSN
SGSNSGSN
GGSN sends packet through the Internet to the server.
IP headerIP header IP payloadIP payload
Source IP address: GGSN, not MS
Dest. IP address: Server
Server Server
Packet transmission (5)
MS (client)
MS (client)
GGSNGGSN
SGSNSGSN
Server sends return packet via GGSN to MS. Note the different destination IP addresses along the way.
Packets from server to MS are always routed via GGSN (since this node has PDP context information, including the dynamically allocated IP address of MS).
Dest. IP address:
GGSN
Dest. IP address: MS
Server Server
Dest. IP address (in outer IP header): SGSN
Session Initiation Protocol (SIP)
SIP is a protocol for establishing, controlling and releasing anything from simple voice calls (VoIP) to complex multiparty multimedia sessions over IP networks (i.e., packet switched networks).
SIP was designed by the IETF (Internet Engineering Task Force). As a result, SIP closely resembles the HyperText Transfer Protocol (HTTP) which takes care of client - server type of transactions in the Internet.
Contrary to HTTP, SIP can handle client – client (or peer-to-peer) type of communications through IP networks.
Separation of control and user plane
The routing in the control plane (the SIP signalling) and user plane (transport of the multimedia data) is separate.
User B User B
User C User C
User A User A
SIP signalling
Multimedia data
http://www.ietf.org/rfc/rfc3261.txt
SIP vs. H.323
The ITU-T based H.323 standard describes a suite of protocols for managing multiparty multimedia calls using circuit switched technology.
Microsoft’s NetMeeting is based on H.323. Since the operation of H.323 is rather complex, it is outside the scope of this course.
IETF-based SIP is less complex and can perform most of the call/session control tasks of H.323.
Call control in the IMS (IP Multimedia Subsystem) as defined by 3GPP (3rd Generation Partnership Project) is based on SIP.
H.323 protocol suite
ApplicationApplication
CodecsCodecs
RTPRTP
Terminal / application controlTerminal / application control
RTCPRTCP H.225.0RAS
H.225.0RAS
H.225.0CS
H.225.0CS H.245H.245
UDPUDP TCPTCP
Network layer (IP)Network layer (IP)
Data link layerData link layer
Physical layerPhysical layer
User plane Control plane (signalling)
(You do not have to remember this slide)
H.323 protocol suite (control part) (You do not have to remember this slide)
ApplicationApplication
CodecsCodecs
RTPRTP
Terminal / application controlTerminal / application control
UDPUDP TCPTCP
Network layer (IP)Network layer (IP)
Data link layerData link layer
Physical layerPhysical layer
User plane Control plane (signalling)
Registration, Admission and Status
Call control Signalling
Media stream management between endpoints
RTCPRTCP H.225.0RAS
H.225.0RAS
H.225.0CS
H.225.0CS H.245H.245
RTP Control Protocol
SIP architecture
Location Service
SIP Registrar
SIP Proxy
SIP User Agent (Calling user)
SIP User Agent (Called user)
SIP Proxy
SIP operation (registration)
Location Service
SIP Registrar
SIP User Agent (Called user)
SIP Proxy
This means binding the current IP address (e.g. the IP address in the 802.11 subnetwork or the PDP address in GPRS) with the globally known SIP address. From this point onwards the SIP user can be reached.
Before a SIP user can be reached, (s)he must first register. Address
Binding
SIP address
Location ServiceGlobally unique SIP address is point
of contact from the outside world:
After registration, a location server (in SIP terms: Location Service) will contain a binding between SIP address and registered IP address.
124.2.10.57
124.2.10.57
SIP operation (basic call 1)
Location Service
SIP Proxy
SIP User Agent (Calling user)
SIP User Agent (Called user)
SIP Proxy
Another SIP user "calls this SIP address". The call is routed to the registered IP address.
1
2
3
4
124.2.10.57
SIP operation (basic call 2)
SIP Proxy
SIP User Agent (Calling user)
SIP User Agent (Called user)
SIP Proxy
During the call setup, the called user is also given the IP address of the calling user (since both ends must know the other end’s IP address).
124.2.10.5798.13.0.44
This is my address!
SIP operation (basic call 3)
SIP User Agent (Calling user)
SIP User Agent (Called user)
After completed call setup, the end users communicate in a normal fashion over the IP network(s).
The SIP architectural entities shown on the previous slides are not involved in this user plane communication.
124.2.10.5798.13.0.44 IP network(s)
Voice over RTP over UDP over IP (e.g.)
SIP offers the following features
Call forking (several terminals at various locations are alerted at the same time)
Capability of multimedia calls (codecs for voice, video) can be negotiated using Session Description Protocol (SDP) messages carried over SIP
User-friendly addressing (sip:[email protected])
Personal mobility (but not terminal mobility)
Good flexibility, scalability, extensibility
Interworking between SIP telephony and PSTN telephony (as well as between SIP addressing and E.164 addressing).
Basic (two-party) SIP call (1)
User A User A
SIP proxy of user A
User B User B
"Invite" message (corresponding to IAM message in ISUP) is sent to SIP proxy of user A. The message includes SIP address (sip:[email protected]) of user B.
SIP address of Alice:sip:[email protected]
Invite ...
Request
Response
BobIP address of Alice’s current terminal
Basic (two-party) SIP call (2)
User A User A
SIP proxy of user A
User B User B
SIP proxy of user B
"Invite" message is routed to SIP proxy of user B (Bob). How does SIP proxy of Bob know where Bob is at this moment? (At home, at work, ...?)
Invite ...
[email protected] [email protected]
BobIP address of Alice
SIP registration
User A User A
SIP proxy of user A
User B User B
SIP proxy of user B
The answer is: The terminal of Bob has performed SIP registration. After registration, the SIP proxy of user B knows the IP address of Bob’s current terminal.
Register ...
IP address of Bob
IP address of Alice
IP address of Bob’s current
terminal
Basic (two-party) SIP call (3)
User A User A
SIP proxy of user A
User B User B
SIP proxy of user B
"Invite" message is routed to Bob’s terminal using the IP address provided via SIP registration. Alice’s IP address is included in the message.
Invite [email protected]@net1.com
IP address of Alice IP address of Bob
Basic (two-party) SIP call (4)
User A User A
SIP proxy of user A
User B User B
SIP proxy of user B
Bob’s terminal is ringing. An (optional) "180 Ringing" message is routed back to user A (Alice) and an audio ringing tone is generated in Alice’s terminal.
180 Ringing
[email protected]@net1.com
IP address of Alice IP address of Bob
Basic (two-party) SIP call (5)
User A User A
SIP proxy of user A
User B User B
SIP proxy of user B
Bob answers the call. A "200 ok" message is routed back to Alice. Alice sends an "Ack" message to Bob (not necessarily via the SIP proxies, since Alice’s terminal now knows the IP address of Bob’s terminal).
200 ok
Ack
[email protected]@net1.com
IP address of Alice IP address of Bob
Basic (two-party) SIP call (6)
User A User A
SIP proxy of user A
User B User B
SIP proxy of user B
The user plane data (e.g. VoIP over RTP) is transported between the terminals without involving SIP proxies.
IP address of Alice IP address of Bob
SIP forking example
User A User A
SIP proxy of user A
Terminal 1 Terminal 1
SIP proxy of user B
Forking: different terminals of user B are alerted at the same time. The one that answers first returns the "200 ok" message ...
Terminal 2 Terminal 2
Terminal 3 Terminal 3
Terminals of user B that have performed
SIP registration
Invite ...
Three types of addresses
E.164 address Address points directly to called user in the PSTN358 9 1234567
MSISDN Address points to HLR in home network of called user040 1234567
SIP address Address points to SIP proxy of called usersip:[email protected]
HLR knows to which serving MSC/VLR the call should be routed
SIP proxy knows where to route "Invite" SIP message
What can SIP do?
The most important task of SIP is to find out URLs of terminals to be included in the multimedia session (see example).
For negotiation of multimedia capabilities, SIP can carry SDP messages between end users (in "Invite" and "200 ok" SIP messages).
Unfortunately, SIP cannot influence the transport in the user plane (support of QoS and security features, inclusion of PCM/EFR transcoding equipment, etc.).
Mobile IP
Another way of implementing mobility in an IP network is to use Mobile IP.
Like SIP, Mobile IP requires some specialised nodes in the IP network (Home Agent and Foreign Agent) for handling mobility. In fact, all mobility schemes require some point of contact where information about the current location of the called party is stored:
Mobility concept Point of contact
2G/3G mobile networks Home Location Register (HLR)SIP Location Service (server)Mobile IP Home Address (Home Agent)
http://www.ietf.org/rfc/rfc2002.txt
Basic Mobile IP architecture
Mobile Node (roaming terminal)
Correspondent Node (terminal in external
network)
Home address (public IP address of mobile user) points to user database
in Home Agent
Care-of Address (Temporary IP
address in visited network)
Visited network
Operation: 1. Discovering Care-of Address
Mobile Node Public address
Home AddressCare-of Address
Mobile Node obtains Care-of Address.
Rfc 2002 defines certain procedures how this can be done.
Proprietary solutions in 802.11 (WLAN) networks?
124.2.10.57 54.12.9.11
Operation: 2. Registering Care-of Address
Mobile Node
Registration is necessary, so that incoming traffic (i.e. packets intended for the mobile node) can be routed to the Care-of Address.
Home AddressCare-of Address
Public address
54.12.9.11124.2.10.57
124.2.10.57
Route incoming traffic to this
address
Operation: 3. Incoming traffic
Mobile Node
Correspondent Node
Incoming traffic is first routed to Home Address and is then tunneled to Care-of Address (known by the Home Agent).
Home AddressCare-of Address
54.12.9.11124.2.10.57
98.13.0.44
Operation: 4. Tunneling
Mobile Node
Tunneling means packing the original IP packet into the payload of an outer IP packet (IP over IP).
Home AddressCare-of Address
54.12.9.11124.2.10.57
H Payload
H Payload Original IP packet
Outer IP packet
Operation: 5. Outgoing traffic
Mobile NodeOutgoing traffic need not be routed via Home Agent (mobile node knows IP address of correspondent node).
Home AddressCare-of Address
54.12.9.11124.2.10.57
Correspondent Node
98.13.0.44
Note that source IP address in outgoing packet is Home Address, not Care-of Address
QoS support in IP networks
"Best effort" service <=> no Quality of Service support
Some alternatives for introducing QoS in IP backbone applications:
Alternative 1: RSVP (Resource ReSerVation Protocol)
Alternative 2: DiffServ (Differentiated Services)
Alternative 3: MPLS (MultiProtocol Label Switching)
Alternative 4: IP tunneling over ATM
IETF terminology: Traffic engineering
Problems with “Best effort” IP transport
"Best effort" service is sufficient for traditional Internet applications like web browsing, e-mail, and file transfer.
"Best effort" is not sufficient for real-time applications:
Speech (voice)Speech (voice)
Multimedia applicationsMultimedia applications
Video / audio streaming
Video / audio streaming
Low round-trip delayLow round-trip delay
Low delay Low delay
Low delay variation Low delay variation
Consistent throughputConsistent throughput
High throughputHigh throughput
QoS support mechanisms (1)
RSVP (Resource ReSerVation Protocol)
RSVP can be considered an example of the integrated services concept (compare with differentiated services).RSVP is typically used together with other mechanism(s).
IP Backbone
Ingress point
Egress point
Resources are reserved beforehand (or at certain intervals)
HostHost HostHost
http://www.ietf.org/rfc/rfc2205.txt
QoS support mechanisms (2)
DiffServ (Differentiated Services)
IP Backbone
Ingress point
Egress point
Service "tagging" in ToS byte at ingress point
HostHost HostHost
Traffic control based on ToS byteIPv4 Header
VersionVersion IHLIHL Type of ServiceType of Service Total lengthTotal length
IdentificationIdentification FlagsFlags
Time-to-liveTime-to-live ProtocolProtocol HeaderHeader
ToS byte = 8 bits (28 = 256 priority levels
could be used, but only few are used)
http://www.ietf.org/rfc/rfc2475.txt
QoS support mechanisms (3)
MPLS (Multi-Protocol Label Switching)
Virtual connection must be established first (using e.g. RSVP).
IP datagrams are encapsulated in MPLS frames and relayed through the backbone (=> MPLS label is used for routing).
MPLS Backbone
Ingress point
Egress point
Label switching in all routers along the path
HostHost HostHost
LSR = Label Switch Router (router with MPLS functionality)
http://www.ietf.org/rfc/rfc2702.txt
QoS support mechanisms (3 cont.)
MPLS label structure:
L2 payloadL2 payload L2 HL2 H
IP datagram Header of layer 2 protocol data unit
L2 payloadL2 payload LabelLabel L2 HL2 H
TTL (8 bits)TTL (8 bits) SS ExpExp Label value (20 bits)Label value (20 bits)
Label length = 32 bits
L2 PayloadL2 Payload LabelLabel LabelLabel LabelLabel L2 HL2 H
Stack bit identifies bottom-of-stack label
Stacking:
Label at top of stack is always in use first
routing without MPLS
in case of MPLS
QoS support mechanisms (3 cont.)
Routing without MPLS: destination IP address in IP header is used for routing.
L2 payload L2 payload LabelLabel L2 HL2 H
L2 payload L2 payload L2 HL2 HDA
DA
In case of MPLS: destination IP address is not used for routing along the virtual path between ingress and egress point. Routing is based on MPLS label instead.
QoS support mechanisms (4)
IP tunneling over ATM
ATM Backbone
Ingress point
Egress point
IP packets are directed to the ingress point
HostHost HostHost
IP traffic is carried over ATM virtual connection
More about ATM on the next slides.
see also: http://www.infosyssec.com/infosyssec/secatm1.htm
ATM is a transport technique
ApplicationApplication
IPIP
ATMATM
PhysicalPhysical
ApplicationApplication
IPIP
PhysicalPhysical
Network backbone based on ATM
Network backbone based on TDM
Network backbone based on IP
ApplicationApplication
PhysicalPhysical
ApplicationApplication
ATMATM
PhysicalPhysical
PoS (Packet over SDH/Sonet)Application can be circuit
switched or packet switched (possibility of IP-over-IP)
IPoA
for implementing network "backbone"
Typical ATM network connection
Higher layersHigher layersHigher layersHigher layers
AALAAL AALAAL
ATM layerATM layer ATM layerATM layer ATM layerATM layer
PhyPhy PhyPhy PhyPhy
Originating node ATM network nodes
User to Network Interface (UNI)
ATM layerATM layer
ATM switching within the ATM layer
PhyPhy PhyPhy PhyPhy
Terminating node
User to Network Interface (UNI)
Network to Network Interface (NNI)
ATM protocol reference model
Segmentation and reassembly (SAR),flow & error control
ATM cell multiplexing and switching
Usually SDH transport (STM-N)
ATM adaptation layer
ATM layer
Physical layer
User application (higher protocol layers)
E.g., IP traffic
Functions of the physical layer
The physical medium sublayer (lower sublayer) handles and adapts bits as they are fed to the physical medium (e.g., electro-optical conversion)
The transmission convergence sublayer (upper sublayer) converts the flow of cells from the ATM layer into a continuous bit stream (and vice versa), involving:
• Cell rate decoupling (bit rate adaptation)
• Cell delineation (generally using HEC method)
• Mapping of cells into, e.g., SDH VC-4 payload
• Calculation and verification of HEC byte
SOH
SOH
STM-1 payload
VC-4 (Virtual container)
VC-4 (Virtual container) POH
AU-4 pointer points to first byte of VC
3
5
9 261 bytes
...
...
1 260 bytes
VC "floats" in STM-1 frames
ATM cell
Mapping of ATM cells into STM-1 frames
Cell delineation (1)
Cell delineation = finding the borders between cells at the receiving end of an ATM link
... ...received bit stream ... where does a cell begin?
Method 1: using VC-4 POH pointer
POH ...
VC-4 (Virtual container)ATM cell
Cell delineation (2)
Method 2 is usually preferred over Method 1 (better performance)
Method 2: using the HEC byte
We take 4 x 8 consecutive bits from the received bit stream and calculate the checksum
If the checksum = the next byte (= HEC byte), we have found the header of an ATM cell. If not, we shift one bit position and repeat the calculation ...
Checksum = HEC byte ?
Functions of the ATM layer
ATM cell creation => generating and adding a 5 byte cell header to the 48 byte payload received from the AAL (and giving the payload to the AAL at the receiving end)
Multiplexing (and demultiplexing) of the ATM cell flows from different sources using appropriate identifiers (VCI and VPI) located in the cell headers
Cell routing (switching and/or relaying) within the ATM network (also using VCI and VPI)
The ATM layer may also provide mechanisms for traffic management.
1.
2.
3.
4.
Bits
Byte in header
ATM cell header structure
8 7 6 5 4 3 2 1
GFC* / VPI VPI
VPI VCI
VCI
VCI
PTI
HEC
GFC Generic Flow Control HEC Header Error ControlVPI Virtual Path Identifier PTI Payload Type IndicatorVCI Virtual Channel Identifier CLP Cell Loss Priority
* GFC at User to Network Interface (UNI)
CLP
VPI and VCI
8 7 6 5 4 3 2 1
GFC* / VPI VPI
VPI VCI
VCI
VCI
PTI
HEC
CLP
VPI and VCI are virtual connection identifiers (used for switching or relaying the cells to the correct destination)
Physical layer
connection(e.g. STM-1)
VPI 1
VPI 2
VCI 1
VCI 2
Multiplexing in AAL 2
Multiplexing in ATM layer
One-bit Cell Loss Priority (CLP)
8 7 6 5 4 3 2 1
GFC* / VPI VPI
VPI VCI
VCI
VCI
PTI
HEC
CLP
Cell Loss Priority bit is used to indicate the priority of the cell
In case of network congestion cells with lower priority will be discarded first.
Three-bit Payload Type Indicator (PTI)
8 7 6 5 4 3 2 1
GFC* / VPI VPI
VPI VCI
VCI
VCI
PTI
HEC
CLP
One PTI bit is used in AAL 5
User data / control data
Traffic management
0 0 0 User data cell, no congestion. ATM-user indication = 00 0 1 User data cell, no congestion. ATM-user indication = 10 1 0 User data cell, congestion. ATM-user indication = 00 1 1 User data cell, congestion. ATM-user indication = 11 0 0 OAM F5 segment associated cell1 0 1 OAM F5 end-to-end associated cell1 1 0 Resource management cell1 1 1 Reserved for future VC functions
Header Error Control (HEC)
8 7 6 5 4 3 2 1
GFC* / VPI VPI
VPI VCI
VCI
VCI
PTI
HEC
CLP
Only bit errors in ATM cell header are checked, not bit errors in cell payload
At the transmitting side, the checksum is calculated over the four first header bytes. The result is inserted into the HEC field.
At the receiving side, the HEC byte may be used for error control and cell delineation purposes (as shown on a previous slide).
ATM Adaptation Layer (AAL)
1. Flow & error control, handling of lost and misinserted cells (not widely used…)
2. Segmentation and reassembly (SAR) of data to fit into ATM cells as cell payload.
ATM cell payloadATM cell payload HdrHdr
Data block Hdr SAR PDU
ATM Layer PDU (= ATM cell)
Implemented in the end-point nodes only (routing is not addressed, this is covered by the ATM layer).
Higher layer data (e.g. IP datagram)
AAL protocols
For real-time data that requires constant bit rate, small delay, small delay variation (PCM speech transport)
Like AAL 1, but offers multiplexing of data from different sources into a single ATM cell. Used mainly for compressed voice & video
For data that is not time sensitive (e.g. IP transport); simple SAR, no retransmission mechanisms (see next slide).
AAL 1
AAL 2
AAL 5
Example: AAL 5 operation
HH
SAR-PDUSAR-PDU
CS-PDU info (< 65532 bytes)
User info (e.g. IP datagram)
SAR-PDUSAR-PDUSAR-PDUSAR-PDU
PayloadPayload
SAR-PDUs
Last SAR-PDU => PTI LSB = 1 ATM cell
PTI LSB = 0
8 bytes: length of info field, CRC error checking
pad
N x 48 bytes
(PTI is in ATM cell header)
48 bytes