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 One can very generally define two types of mobility: 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. 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 addressfor 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) Handles packet (IP) traffic in a mobile network CS core network GSM BSS PSTN HLR AuC EIR MS SGSN GGSN Internet 3G RAN PS core network
SGSN CS core network GSM BSS PSTN HLR The serving GPRS support node in the packet-switched core network is the equivalent of the serving MSC/VLR in the CS core network. AuC EIR MS SGSN GGSN Internet 3G RAN PS core network
GGSN CS core network GSM BSS PSTN 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. HLR AuC EIR MS SGSN GGSN Internet 3G RAN PS core network
GPRS attach / PDP session GPRS attach Separate or combined GSM/GPRS attach MS registers with an SGSN (authentication...) Location updates are now possible PDP context is created In case of dynamic address allocation MS is assigned PDP (IP) address Packet transmission can take place GPRS detach DHCP (Dynamic Host Configuration Protocol) PDP context is terminated Allocated IP address is released
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 One user may have several PDP context sessions active MS 18.104.22.168 ::: ::: PDP type (e.g. IPv4) PDP address = IP address of MS (e.g. 22.214.171.124) Requested QoS (priority, delay …) Access Point Name = IP address of GGSN (e.g. 126.96.36.199) 188.8.131.52 SGSN GGSN ::: ::: ::: :::
PDP context activation MS SGSN GGSN Activate PDP context request Security functions Create PDP context request ::: ::: IP address allocated to MS ::: ::: Create PDP context response Activate PDP context accept ::: :::
Packet transmission (1) MS (client) SGSN Server Server has to find correct GGSN GGSN knows temporary IP adress of user GGSN 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
Packet transmission (2) MS (client) SGSN Server Packet is tunneled through IP backbone of PS core network GGSN Packet is sent to SGSN. SGSN sends packet to GGSN through GTP (GPRS Tunneling Protocol) tunnel. Tunneling = encapsulation of IP packet in GTP packet Outer IP header IP header IP payload
Packet transmission (3) MS (client) SGSN Server Note the different destination IP addresses GGSN Outer IP header IP header IP payload Dest. IP address: Server Dest. IP address: GGSN
Packet transmission (4) MS (client) SGSN Server GGSN GGSN sends packet through the Internet to the server. IP header IP payload Source IP address: GGSN, not MS Dest. IP address: Server
Packet transmission (5) MS (client) SGSN Server Dest. IP address: MS Dest. IP address: GGSN Dest. IP address (in outer IP header): SGSN GGSN 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).
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 SIP signalling User A Multimedia data User C 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 (You do not have to remember this slide) User plane Control plane (signalling) Application Terminal / application control Codecs RTCP H.225.0 RAS H.225.0 CS H.245 RTP UDP TCP Network layer (IP) Data link layer Physical layer
H.323 protocol suite (control part) (You do not have to remember this slide) User plane Control plane (signalling) Application Terminal / application control Codecs RTCP H.225.0 RAS H.225.0 CS H.245 RTP UDP TCP RTP Control Protocol Network layer (IP) Registration, Admission and Status Data link layer Call control Signalling Physical layer Media stream management between endpoints
SIP architecture Location Service SIP Registrar SIP Proxy SIP Proxy SIP User Agent (Calling user) SIP User Agent (Called user)
SIP operation (registration) Before a SIP user can be reached, (s)he must first register. Location Service SIP Registrar Address Binding 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. SIP Proxy SIP User Agent (Called user)
SIP address Location Service Globally unique SIP address is point of contact from the outside world: sip:email@example.com After registration, a location server (in SIP terms: Location Service) will contain a binding between SIP address and registered IP address. sip:firstname.lastname@example.org 184.108.40.206 220.127.116.11
SIP operation (basic call 1) Another SIP user "calls this SIP address". The call is routed to the registered IP address. Location Service 2 3 1 4 SIP Proxy SIP Proxy 18.104.22.168 SIP User Agent (Calling user) SIP User Agent (Called user)
SIP operation (basic call 2) 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). This is my address! SIP Proxy SIP Proxy 22.214.171.124 126.96.36.199 SIP User Agent (Calling user) SIP User Agent (Called user)
SIP operation (basic call 3) 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. Voice over RTP over UDP over IP (e.g.) 188.8.131.52 184.108.40.206 SIP User Agent (Calling user) IP network(s) SIP User Agent (Called user)
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@example.com) 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) SIP proxy of user A Request Response firstname.lastname@example.org Invite ... SIP address of Alice: sip:email@example.com User A User B IP address of Alice’s current terminal Bob "Invite" message (corresponding to IAM message in ISUP) is sent to SIP proxy of user A. The message includes SIP address (sip:firstname.lastname@example.org) of user B.
Basic (two-party) SIP call (2) SIP proxy of user A SIP proxy of user B Invite ... email@example.com firstname.lastname@example.org User A User B IP address of Alice Bob "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, ...?)
SIP registration SIP proxy of user A SIP proxy of user B email@example.com firstname.lastname@example.org Register ... IP address of Bob’s current terminal User A User B IP address of Alice IP address of Bob 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.
Basic (two-party) SIP call (3) SIP proxy of user A SIP proxy of user B email@example.com firstname.lastname@example.org Invite ... User A User B IP address of Alice IP address of Bob "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.
Basic (two-party) SIP call (4) SIP proxy of user A SIP proxy of user B 180 Ringing email@example.com firstname.lastname@example.org User A User B IP address of Alice IP address of Bob 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.
Basic (two-party) SIP call (5) SIP proxy of user A SIP proxy of user B 200 ok email@example.com firstname.lastname@example.org Ack User A User B IP address of Alice IP address of Bob 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).
Basic (two-party) SIP call (6) SIP proxy of user A SIP proxy of user B User A User B IP address of Alice IP address of Bob The user plane data (e.g. VoIP over RTP) is transported between the terminals without involving SIP proxies.
SIP forking example SIP proxy of user A SIP proxy of user B Terminal 1 Invite ... Terminal 2 Terminals of user B that have performed SIP registration User A Terminal 3 Forking: different terminals of user B are alerted at the same time. The one that answers first returns the "200 ok" message ...
Three types of addresses E.164 address Address points directly to called user in the PSTN 358 9 1234567 MSISDN Address points to HLR in home network of called user 040 1234567 HLR knows to which serving MSC/VLR the call should be routed SIP address Address points to SIP proxy of called user sip:email@example.com 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: http://www.ietf.org/rfc/rfc2002.txt Mobility concept Point of contact 2G/3G mobile networks Home Location Register (HLR) SIP Location Service (server) Mobile IP Home Address (Home Agent)
Basic Mobile IP architecture Care-of Address (Temporary IP address in visited network) Home address (public IP address of mobile user) points to user database in Home Agent Mobile Node (roaming terminal) Visited network Correspondent Node (terminal in external network)
Operation: 1. Discovering Care-of Address Care-of Address Home Address 220.127.116.11 18.104.22.168 Mobile Node Public address Mobile Node obtains Care-of Address. Rfc 2002 defines certain procedures how this can be done. Proprietary solutions in 802.11 (WLAN) networks?
Operation: 2. Registering Care-of Address Care-of Address Home Address 22.214.171.124 126.96.36.199 Mobile Node Public address 188.8.131.52 Registration is necessary, so that incoming traffic (i.e. packets intended for the mobile node) can be routed to the Care-of Address. Route incoming traffic to this address
Operation: 3. Incoming traffic Care-of Address Home Address 184.108.40.206 220.127.116.11 Mobile Node Incoming traffic is first routed to Home Address and is then tunneled to Care-of Address (known by the Home Agent). Correspondent Node 18.104.22.168
Operation: 4. Tunneling Care-of Address Home Address 22.214.171.124 126.96.36.199 Mobile Node Tunneling means packing the original IP packet into the payload of an outer IP packet (IP over IP). H Payload Original IP packet H Payload Outer IP packet
Operation: 5. Outgoing traffic Care-of Address Home Address 188.8.131.52 184.108.40.206 Mobile Node Outgoing traffic need not be routed via Home Agent (mobile node knows IP address of correspondent node). Note that source IP address in outgoing packet is Home Address, not Care-of Address Correspondent Node 220.127.116.11
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) Low delay High throughput Video / audio streaming Low delay variation Consistent throughput Multimedia applications Low round-trip delay
QoS support mechanisms (1) RSVP (Resource ReSerVation Protocol) Resources are reserved beforehand (or at certain intervals) Host Host Egress point Ingress point IP Backbone http://www.ietf.org/rfc/rfc2205.txt RSVP can be considered an example of the integrated services concept (compare with differentiated services). RSVP is typically used together with other mechanism(s).
QoS support mechanisms (2) DiffServ (Differentiated Services) Service "tagging" in ToS byte at ingress point Host Host Egress point Ingress point IP Backbone Traffic control based on ToS byte IPv4 Header Version IHL Type of Service Total length ToS byte = 8 bits (28 = 256 priority levels could be used, but only few are used) Identification Flags Time-to-live Protocol Header http://www.ietf.org/rfc/rfc2475.txt
QoS support mechanisms (3) MPLS (Multi-Protocol Label Switching) Label switching in all routers along the path Host Host Egress point Ingress point MPLS Backbone LSR = Label Switch Router (router with MPLS functionality) http://www.ietf.org/rfc/rfc2702.txt 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).
QoS support mechanisms (3 cont.) MPLS label structure: IP datagram Header of layer 2 protocol data unit L2 payload L2 H routing without MPLS L2 payload Label L2 H in case of MPLS Label length = 32 bits TTL (8 bits) S Exp Label value (20 bits) Stack bit identifies bottom-of-stack label Stacking: L2 Payload Label Label Label L2 H Label at top of stack is always in use first
QoS support mechanisms (3 cont.) Routing without MPLS: destination IP address in IP header is used for routing. L2 payload DA L2 H 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. L2 payload DA Label L2 H