Presentation on theme: "IP technology, part 2 1) Mobility aspects (terminal vs. personal mobility) 2) GPRS (IP traffic in mobile network) 3) Session Initiation Protocol (SIP)"— Presentation transcript:
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 GGSN SGSN HLR AuC EIR PSTN Internet MS Handles packet (IP) traffic in a mobile network
SGSN GSM BSS 3G RAN PS core network CS core network GGSN HLR AuC EIR PSTN Internet MS SGSN 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 SGSN HLR AuC EIR PSTN Internet 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. GGSN
GPRS attach / PDP session GPRS attach MS is assigned PDP (IP) address Packet transmission can take place Separate or combined GSM/GPRS attach MS registers with an SGSN (authentication...) Location updates are now possible PDP context is created GPRS detach PDP context is terminated Allocated 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 MS GGSN SGSN ::: 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) PDP type (e.g. IPv4) PDP address = IP address of MS (e.g. 188.8.131.52) Requested QoS (priority, delay …) Access Point Name = IP address of GGSN (e.g. 184.108.40.206) One user may have several PDP context sessions active 220.127.116.11 18.104.22.168
PDP context activation MS GGSN SGSN ::: 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) GGSN SGSN 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 Server has to find correct GGSN
Packet transmission (2) MS (client) GGSN SGSN 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 IP header IP payload Tunneling = encapsulation of IP packet in GTP packet Server
Packet transmission (3) MS (client) GGSN SGSN Outer IP header IP header IP payload Dest. IP address: GGSN Dest. IP address: Server Server Note the different destination IP addresses
Packet transmission (4) MS (client) GGSN SGSN GGSN sends packet through the Internet to the server. IP header IP payload Source IP address: GGSN, not MS Dest. IP address: Server Server
Packet transmission (5) MS (client) GGSN SGSN 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 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 C 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 Application Codecs RTP Terminal / application control RTCP H.225.0 RAS H.225.0 RAS H.225.0 CS H.225.0 CS H.245 UDP TCP Network layer (IP) Data link layer Physical layer User planeControl plane (signalling) (You do not have to remember this slide)
H.323 protocol suite (control part) (You do not have to remember this slide) Application Codecs RTP Terminal / application control UDP TCP Network layer (IP) Data link layer Physical layer User planeControl plane (signalling) Registration, Admission and Status Call control Signalling Media stream management between endpoints RTCP H.225.0 RAS H.225.0 RAS H.225.0 CS H.225.0 CS H.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 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 22.214.171.124
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 126.96.36.199
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). 188.8.131.52184.108.40.206 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. 220.127.116.1118.104.22.168 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@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) User A SIP proxy of user A User B "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. SIP address of Alice: sip:email@example.com Invite... Request Response firstname.lastname@example.org BobIP address of Alice’s current terminal
Basic (two-party) SIP call (2) User A SIP proxy of user A 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@example.com@net2.com BobIP address of Alice
SIP registration User A SIP proxy of user A 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... firstname.lastname@example.org IP address of Bob email@example.com IP address of Alice IP address of Bob’s current terminal
Basic (two-party) SIP call (3) User A SIP proxy of user A 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...firstname.lastname@example.org@net1.com IP address of AliceIP address of Bob
Basic (two-party) SIP call (4) User A SIP proxy of user A 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@example.com@net1.com IP address of AliceIP address of Bob
Basic (two-party) SIP call (5) User A SIP proxy of user A 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 firstname.lastname@example.org@net1.com IP address of AliceIP address of Bob
Basic (two-party) SIP call (6) User A SIP proxy of user A 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 AliceIP address of Bob
SIP forking example User A SIP proxy of user A 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 3 Terminals of user B that have performed SIP registration Invite...
Three types of addresses E.164 addressAddress points directly to called user in the PSTN 358 9 1234567 MSISDNAddress points to HLR in home network of called user 040 1234567 SIP addressAddress points to SIP proxy of called user sip:email@example.com 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 conceptPoint of contact 2G/3G mobile networksHome Location Register (HLR) SIPLocation Service (server) Mobile IPHome 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? 22.214.171.124126.96.36.199
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 188.8.131.52184.108.40.206 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 220.127.116.1118.104.22.168 22.214.171.124
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 126.96.36.199188.8.131.52 HPayload H Original IP packet Outer IP packet
Operation: 5. Outgoing traffic Mobile Node Outgoing traffic need not be routed via Home Agent (mobile node knows IP address of correspondent node). Home AddressCare-of Address 184.108.40.206220.127.116.11 Correspondent Node 18.104.22.168 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) Multimedia applications Video / audio streaming Low round-trip delay Low delay Low delay variation Consistent throughput High 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) Host 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 Host Traffic control based on ToS byte IPv4 Header Version IHL Type of Service Total length Identification Flags Time-to-live Protocol Header ToS byte = 8 bits (2 8 = 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 Host LSR = Label Switch Router (router with MPLS functionality) http://www.ietf.org/rfc/rfc2702.txt
QoS support mechanisms (3 cont.) MPLS label structure: L2 payload L2 H IP datagramHeader of layer 2 protocol data unit L2 payload Label L2 H TTL (8 bits) S S Exp Label value (20 bits) Label length = 32 bits L2 Payload Label L2 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 Label L2 H L2 payload L2 H 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 Host 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 Application IP ATM Physical Application IP Physical Network backbone based on ATM Network backbone based on TDM Network backbone based on IP Application Physical Application ATM Physical 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 layers AAL ATM layer Phy Originating nodeATM network nodes User to Network Interface (UNI) ATM layer ATM switching within the ATM layer Phy 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 STM-1 payload VC-4 (Virtual container) VC-4 (Virtual container) POHPOH AU-4 pointer points to first byte of VC 3 5 9261 bytes... 1260 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 POHPOH... 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 87654321 GFC* / VPIVPI VCI PTI HEC GFC Generic Flow Control HECHeader Error Control VPI Virtual Path Identifier PTI Payload Type Indicator VCI Virtual Channel Identifier CLPCell Loss Priority * GFC at User to Network Interface (UNI) CLP
VPI and VCI 87654321 GFC* / VPIVPI 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) 87654321 GFC* / VPIVPI 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) 87654321 GFC* / VPIVPI VCI PTI HEC CLP One PTI bit is used in AAL 5 User data / control data Traffic management 0 0 0User data cell, no congestion. ATM-user indication = 0 0 0 1User data cell, no congestion. ATM-user indication = 1 0 1 0User data cell, congestion. ATM-user indication = 0 0 1 1User data cell, congestion. ATM-user indication = 1 1 0 0OAM F5 segment associated cell 1 0 1OAM F5 end-to-end associated cell 1 1 0Resource management cell 1 1 1Reserved for future VC functions
Header Error Control (HEC) 87654321 GFC* / VPIVPI 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 payload Hdr Data blockHdr 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 H H SAR-PDU CS-PDU info (< 65532 bytes) User info (e.g. IP datagram) SAR-PDU Payload 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