Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Mobile Services (ST 2010) Chapter 4: Mobile Internet Axel Küpper Service-centric Networking Deutsche Telekom Laboratories, TU Berlin
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Mobile Services Summer Term 2010
4 Mobile Internet 4.1 Problem Statement 4.2 Mobile IP 4.3 Network Layer Support in GPRS/UMTS
2
4.1 Problem Statement Internet Protocol - Overview Internet Protocol
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Primary protocol of the network layer used for transmission in networks that employ packet-switched data communication Packets can be sent without establishing a connection before (unlike circuitswitched communication) Packets can be lost Packets may arrive at the receiver in another order than initially sent 0
4
Version
8
IHL
12
16
Time to Live
20
Type of Service
Identification
Each data packet contains a header that (besides other things) fixes the IP address of the sender (source) and the address of the receiver (destination) Packet passes different routers along the way from the source to the destination Router receives a packet from a source or a previous router, gets the destination address from the IP header, and forwards the packet to the next router 24 28 Total Length
Flags
Protocol (IP)
31
Fragment Offset
Header Checksum
Source Address Destination Address Options and Padding (optional) TCP/UDP/… payload
3
4.1 Problem Statement Internet Protocol - Addressing Two-Level Classful Hierarchy
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Internet is an interconnection of several networks IP addresses refer to the network a host is connected to (network prefix) and to the host within that network (host number)
Network prefix
Host number
Three-Level Subnet Hierarchy Network prefix 8, 16, or 24 bits for class A, B, or C network prefixes
Subnet number
24, 16, or 8 bits for class A, B, or C host number
Two-Level Classful Hierarchy
Three-Level Subnet Hierarchy
Initial addressing scheme for fixing the length of network prefixes and number of hosts within a network Class A
Class B
8-bit network prefix for 126 networks 16,777,214 hosts per network 16-bit prefix for 16,384 networks 65,534 hosts per network
Class C
24-bit prefix for 2,097,152 networks 254 hosts per network
Host number
Division of Class A, B, and C networks into smaller subnetworks that have a common, designated IP addressing routing index Subnet mask fixes the length of the prefix (sum of length of network prefix and subnet number) Breaks a network into smaller realms that may use existing network address space more efficiently
4
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
4.1 Problem Statement Routing Example (I)
Host B Destination 128.9.1.2 128.9.1.0 DEFAULT
Subnet mask Route to 255.255.255.255 SELF 255.255.255.0 LAN 0 128.9.1.1
Host A Destination 128.8.1.2 128.8.0.0 128.9.00
Subnet mask 255.255.255.255 255.255.0.0 255.255.0.0
Route to SELF LAN 0 128.8.1.1
Router Destination 128.8.1.1 128.9.1.1 128.9.2.1 128.8.0.0 128.9.1.0 128.9.2.0
Subnet mask 255.255.255.255 255.255.255.255 255.255.255.255 255.255.0.0 255.255.255.0 255.255.255.0
Route to SELF SELF SELF LAN 0 LAN 1 LAN 2
128.8 network LAN 0
Host C Destination 128.9.2.2 128.9.2.0 DEFAULT
Subnet mask Route to 255.255.255.255 SELF 255.255.255.0 LAN 0 128.9.2.1
Host A LAN 0
LAN 0
Router
Host B 128.9.1 subnet
LAN 2
LAN 1
LAN 0
Host C 128.9.2 subnet
Problem: IP addresses contain routing information (network/subnet ID fixed by the subnet mask) What happens if Host C moves from the 128.8 network to the 128.9.1 subnet? 5
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
4.1 Problem Statement Routing Example (II)
Host C Destination 128.9.1.3 128.9.1.0 DEFAULT
Subnet mask Route to 255.255.255.255 SELF 255.255.255.0 LAN 0 128.9.1.1
Host B Destination 128.9.1.2 128.9.1.0 DEFAULT
Subnet mask Route to 255.255.255.255 SELF 255.255.255.0 LAN 0 128.9.1.1
Host A Destination 128.8.1.2 128.8.0.0 128.9.00
Subnet mask 255.255.255.255 255.255.0.0 255.255.0.0
Route to SELF LAN 0 128.8.1.1
Router Destination 128.8.1.1 128.9.1.1 128.9.2.1 128.8.0.0 128.9.1.0 128.9.2.0
Subnet mask 255.255.255.255 255.255.255.255 255.255.255.255 255.255.0.0 255.255.255.0 255.255.255.0
Route to SELF SELF SELF LAN 0 LAN 1 LAN 2
128.8 network LAN 0
Host A
Host C LAN 0 LAN 0 LAN 0
Router
Host B 128.9.1 subnet
LAN 2
LAN 1
128.9.2 subnet
Because an IP address is not only a reference to a particular host, but also addresses the network and subnet the host is connected to, a host gets a new IP address when getting connected to another network Original Internet Protocol does not support mobility!
6
4.1 Problem Statement Solutions for Mobility Support in the Internet Problem: TCP connection cannot survive IP address change
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
TCP connections are identified by the tuple (source address, source port, destination address, destination port) TCP connection cannot survive any address change Solution: inform all communication partners of the mobile node about the new address Drawback: requires modification of existing, proven protocol software
Problem: Mobile hosts acting as servers are not reachable after an address change
Solution #1: simply assign a new, topologically correct address after the movement Drawback: nobody knows about this new address – it is almost impossible to find a host on the Internet that has just changed its address
Solution #2: Use of Dynamic DNS (DynDNS) for updating the mapping between a logical domain name and an IP address Drawback: because of caching methods, DynDNS is not able to cope with frequent updates
Solution #3: create dedicated routes for a mobile node Drawback: routing tables are based on network prefixes – storing entries of millions of mobile nodes would not scale 7
4.2 Mobile IP Components and Addresses (I) MN
CoA
Home Network
Router HA
Router FA
Foreign Network
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Internet CN Router
Mobile Node (MN)
Home Network
Mobile device that moves to other networks and for which mobility support is to be provided Keeps its IP address and can continuously communicate with any other system in the Internet as long as link-layer connectivity is given
Correspondent Node (CN)
Communication partner of the MN May invoke services offered by the MN
Subnet the MN belongs to Responsible for assigning an IP address to the MN No mobility support required inside the home network
Foreign Network
Current subnet the MN visits and which is not the home network
8
4.2 Mobile IP Components and Addresses (II) MN
CoA
Home Network
Router HA
Router FA
Foreign Network
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Internet CN Router
Foreign Agent
Foreign Agent CoA
Implemented in the router of the foreign network Acts a tunnel endpoint that decapsulates packets and forwards them to the MN
CoA is an IP address referring to the FA FA is tunnel endpoint and forwards packets to the MN
Care-of Address (CoA)
IP address associated with the MN in the foreign network IP packets sent to the MN are delivered to the CoA, not directly to the MN‘s IP address CoA marks the tunnel endpoint
9
4.2 Mobile IP Basic Procedure MN
CoA
Home Network
2
Router HA
Router FA
3
Foreign Network
4 Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Internet CN
1
Router
CN → HA
2
1
CN transmits an IP datagram destined to the MN, with MN’s home address in the IP header IP datagram is routed to the home network of the MN
3
FA → MN
HA → FA
At the home network, IP datagram is intercepted by the HA HA encapsulates the datagram inside a new IP datagram with the MN’s CoA in its header
4
Encapsulated IP datagram is retransmitted and routed to the FA
FA decapsulates the original IP datagram and delivers it to the MN across the foreign network
MN → CN
When the MN sends a reply to CN, the associated datagram travels directly across the Internet to the CN
10
4.2 Mobile IP Alternative: “FA Inside” Co-located CoA
Home Network
2
Router HA
3
Router
MN
Foreign Network
4 Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Internet CN
1
Router
Initial version of Mobile IP worked only with a FA in the foreign network Alternative proposal: MN may act as its own FA Tunnel is established between HA and MN, and MN is addressed by a Co-located CoA Advantage: no enhancements need to made in the foreign network Disadvantage: scarcity of IP addresses (if MN received a permanent address)
Co-located CoA
CoA is assigned to the MN, and hence is topologically correct May be acquired using DHCP May be assigned as a long-term address for use when the MN visits the foreign network
11
4.2 Mobile IP How to Detect the Entering of a New Network? (I)
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
HAs and FAs periodically broadcast their presence using an Agent Advertisement Message (extension of ICMP messages) MNs listen to the broadcast … … to detect whether they entered a new subnet … to detect whether the new subnet is their home or foreign network … to receive special features of the new subnet … to receive a CoA if they entered a new foreign network
Agent Solicitations
Agent Advertisements are only broadcast periodically MN may explicitly solicit for an Agent Advertisement Message if it needs it immediately
0 Standard ICMP message
Agent Advertisement Message
Extensions for Mobile IP
Agent Advertisement
4
8
12
Type
Code
#Addresses
Addr. Size
16
20
24 28 Checksum
31
Lifetime
Router address 1 Preference level 1
Router address 2 Preference level 2
Type=16
Sequence number
Lentgh
Registration lifetime
RBHFMGrT
reserved
CoA 1 CoA 2
12
4.2 Mobile IP How to Detect the Entering of a New Network? (II)
Use of lifetime field
MN receiving an Agent Advertisement Message from an agent records the lifetime field as a timer If the timer expires before the MN has received the next message, it assumes that it has lost contact to that agent If, in the meantime, it has received an AA message from another agent (and that advertisement has not yet expired), the MN registers with this new agent If it has not received an AA message, MN uses Agent Solicitation
Use of network prefix
MN checks whether any newly received AA is on the same network as the MN’s current CoA If not, MN assumes that it has moved and may register with the agent whose advertisement it has just received. Old Router FA
New Router FA
MN
Agent Advertisement
AA Broadcast
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
MN may move from one subnet to another without the IP layer being aware of it Agent discovery process enables the MN to detect such a move
AA Solicitation
Agent Advertisement Agent Advertisement Agent Advertisement Agent Advertisement
Agent Solicitation Agent Advertisement
13
4.2 Mobile IP Registration with a Foreign Network Registration via the FA:
Registration directly with the HA:
Foreign Network
Home Network
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
MN
Router FA
Router HA
MN Registration Request
1 Registration
Registration 2 Request Registration 3 Registration Reply Reply 4
Request
1 2 3 4
Once an MN has detected that it entered a (new) foreign network, it has to register with the FA and alert the HA. MN sends a registration request to the FA FA relays request to the HA HA accepts or denies request and sends a registration reply to the FA FA forwards reply to the MN
Router HA
Registration Reply
If the MN uses a co-located CoA, then it registers directly with its HA
14
4.2 Mobile IP Tunneling and Encapsulation (I) Tunnel
Encapsulation/Decapsulation
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint Packets entering a tunnel are forwarded inside the tunnel and leave the tunnel unchanged Tunneling, i.e., sending a packet through a tunnel is achieved by using encapsulation Whole tunnel is considered as single hop from the packet’s point of view Tunneling allows the MN to behave as if it were attached directly to the home network Original IP header New IP header
OR
Outer header
Encapsulation: mechanism of taking a packet consisting of packet header and data and putting it into the data part of the new packet Decapsulation: taking a packet out of the data part of another packet Encapsulation/decapsulation are operations typically performed when a packet is transferred from a higher protocol layer to a lower one (or from a lower layer to a higher layer respectively) Mobile IP uses encapsulation/decapsulation within the same layer
Original data New data
Inner header
Original data
15
4.2 Mobile IP Tunneling and Encapsulation (II) IP-in-IP Encapsulation 0
4
Version
8
IHL
12
16
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Version
20
Type of Service
Identification Time to Live
Minimal Encapsulation 24 28 Total Length
Flags
IP-in-IP
31
0
4
8 IHL
Version
Fragment Offset
12
16
Time to Live
Min. Encaps.
24
Flags
Header Checksum
Source Address (HA Address)
Destination Address (Care-of Address)
Destination Address (Care-of Address)
Identification Time to Live
Total Length
Type of Service
IPv4
Flags
IPv4
Fragment Offset
S
reserved
31
Fragment Offset
Source Address (HA Address)
IHL
28
Total Length
Type of Service
Identification
Header Checksum
20
Header Checksum
Destination Address (Home Address of MN)
Header Checksum
Source Address (CN Address, is not present if S=0)
Source Address (CN Address)
TCP/UDP/… payload
Destination Address (Home address of MN) TCP/UDP/… payload
Simple encapsulation of one IP packet into another one Mandatory of Mobile IP Drawback: several redundant fields
Removes redundant fields Source address in the inner header is omitted if original sender is identical to the HA 16
4.2 Mobile IP HA Realizations MN
CoA
Home Network
Router HA
Router FA
Foreign Network
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Internet CN Router
Home Agent (HA)
HA Realization #2
Tunnel for packets toward the MN starts at the HA HA maintains a location registry, which stores the CoA of all MNs that have their origins in the home network
HA could be implemented on an arbitrary node in the subnet Disadvantage: double crossing of the router by all packets if the MN is in a foreign network
HA Realization #1
HA Realization #3
HA is implemented on a router that is responsible for the home network Good solution as all packets have to pass the router anyway
No home network, but only a virtual home network represented by a router and all MNs are always connected to foreign networks HA is again implemented on the router
17
4.2 Mobile IP Optimization (I)
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Router HA
Router FA CN MN
Problem: Triangular Routing
With basic Mobile IP, all packets to the MN have to go through the HA May cause unnecessary overhead for the network between CN and HA, but also between HA and CoA, depending on the current location of the MN Figure: although the communicating computers might only be a few meters away, the packets have to travel around the world
18
4.2 Mobile IP Optimization (II)
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
1
Binding request
2
Used by the HA to inform the CN about the current location of the MN Contains the MN’s fixed address and CoA
Binding acknowledgement
4
Any CN that wants to know the current location of an MN sends a binding request to the HA If HA is allowed to disclose the MN’s location, it returns a binding update
Binding update
3
Idea: Optimize routing by informing the CN of the current location of the MN Binding cache: part of the local routing table of the CN Introduction of four additional messages
CN returns an acknowledgement after receiving an update
Binding warning
If an FA decapsulates a packet for an MN, but is not the MN’s current FA, it sends a warning to the CN Warning contains the MN’s fixed home address After receiving a warning, the CN knows that the MN has probably moved, and initiates a 19 binding request
4.2 Mobile IP Optimization (III)
CN
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Data
3 ACK
Router HA
Data Update 2
Data
Old Router FA
New Router FA
MN
Data
Data Registration
Update
MN changes location
ACK Data Data
1
Warning 4
Request
Data
Update 2
3
ACK Data Data
20
4.3 Network Layer Support in GPRS/UMTS GPRS/UMTS Basic Procedures GERAN
Packet-switched domain
UE BTS
BSC
SGSN
GGSN
Internet
GPRS Attach Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Connection Setup (Activation of a PDP Context) Transmission of the User Data
Before data can be transmitted between the UE and an external host, some preparations are necessary UE must be introduced to the network Appropriate SGSN must be found (according to the user’s location) Features and capabilities of the data service must be negotiated An GGSN must be selected and a setup between UE and GGSN has to be established Path for routing data packets has to prepared for tunneling
Three procedures GPRS Attach Activation of PDP Context Data Transfer
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
4.3 Network Layer Support in GPRS/UMTS PDP Context PDP Context
Access Point Name (APN)
PDP: Packet Data Protocol Describes characteristics of the session Contains routing information for packet transfer between a UE and a GGSN to have access to an external packetswitching network Stored in the mobile station, the SGSN, and the GGSN Once a mobile station has an active PDP context, it is visible for the external network and can send and receive packets Each UE may be assigned several PDP contexts for … … getting access to different networks … different services … different charging methods
Logical name for the desired data network Refers to the GGSN enabling access to that network
PDP type
Type of the packet network used (e.g., IPv4 or IPv6)
PDP address
Address assigned to the mobile station (e.g. an IP address) Static address: permanent IP address of UE Dynamic address: dynamically assigned, usually for the duration of a session
QoS class
Four QoS parameters: service precedence, reliability, delay, and throughput
4.3 Network Layer Support in GPRS/UMTS GPRS/UMTS Packet Addresses Packet Data Protocol (PDP) Address
Packet TMSI (P-TMSI)
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Address of a UE in the format of the used PDP (e.g., IP address) Static UE permanently owns a PDP address assigned by the operator of the user’s home GSM network Dynamic UE is assigned a new PDP address whenever it attaches to the network Dynamic Home-PLMN Address: Dynamic address assigned by the user’s home PLMN Dynamic Visited-PLMN Address: dynamic address assigned by the operator of the visited PLMN GGSN is responsible for the allocation and deactivation of PDP addresses
Assigned during an GPRS attach procedure and after a location update Used to page the UE when packets have to be delivered Mapping between PDP address and PTMSI by the SGSN makes the transmission of packets between GGSN and UE possible
Routing Area Identifier (RAI)
In order to optimize location management, GSM location areas are subdivided into several routing areas RAI is transmitted from the MS to the network instead of the LAI
4.3 Network Layer Support in GPRS/UMTS Quality of Service Quality of Service Classes
Reliability
Required to support diverse applications (ranging from real-time video conferencing to E-Mail) Enable operators to offer different billing options
Axel Küpper | Technische Universität Berlin | Service-centric Networking
Mobile Services – ST 2010 | 4 Mobile Internet
Service precedence
Reliability of a service with regard to probability of packet loss, packet duplication, wrong sequencing, packet corruption
Delay
Priority of a service in relation to other services (high, normal, low)
Maximum values for mean and 95% delay with regard to end-to-end delay between UEs or between a UE and the serving GGSN
Throughput Rel. class
Lost packet
1 2 3
10-9 10-4 10-2
Probability Duplicated Out of sequ. packet packet 10-9 10-5 10-5
10-9 10-6 10-5
Peak bit rate and mean bit rate Seconds Corrupted packet
Mean delay
95% delay
Delay class
10-9 10-9 10-2
< 0.5