building the mobile internet internet sessions. a common scenario ? you are cycling to university...
TRANSCRIPT
A Common Scenario ?
• You are cycling to University
• Talking on your mobile
• You pass many ‘cell-towers’ on the journey
• Each time you move between cell-towers you lose the call.
• You have to stop and make the call again
• You think..’This is a really cool service’..?
2
A Common Scenario ??
• On long journeys you need to contact a new cell-phone provider and sign up for a temporary contract.
• When you are on an international train and streaming a movie, it stops periodically and you have to contact a new company and arrange a new contract before continuing with the movie.
• Then the movie starts over from the beginning…
3
Sessions
• I don’t think this would be widely accepted
• What users expect (even demand) is seamless real-time mobility.
• This has become known as ‘Session-mobility’
• The Internet was not designed to enable the implementation of this kind of provision.
4
The Internet and the Mobile-Internet
• Things get even more challenging when moving through differing types of access network. e.g. from Wi Fi to Cellular, or between different operators.
• What we need is a ‘New Internet’
• A ‘Mobile-Internet’
5
The Mobile-Internet
• The Mobile-Internet must be a Pervasive IP-based network that can link fixed and mobile nodes,
• Nodes, can have many characteristics and types
6
The Mobile Internet
• Nodes may be:-• Sensors;• Servers;• Stand-alone or Distributed;• Battery-powered or Mains Powered;• User initiated or Self Initiating• Permanent or Temporary• State-of-the-Art, or Legacy
7
The Internet: Review of Characteristics
• Lets revisit the Internet and see if we can identify difficulties in making session-mobility possible:
8
9
Network
Network
Network
Network
Hosts
Network
Routers
Networks
Figure 2-1: The Internet: A Network of Networks
Network
Original data Packetized data Re-assembled original data
10
Figure 2-2: Packet-switching: Dividing a data Source into Packets at the Sender, and Reassembling the Data-Source at the Receiver
BitNet-id Host-id
0 4 8 12 16 20 24 28 320
12
Figure 2-4: IP Addresses consist of a net-id and a host-id part.
13
10.0.0.0 / 8
10.2.0.0 / 16 10.3.0.0 / 1610.1.0.0 / 16
10.1.0.0 / 24 10.1.1.0 / 24 10.1.2.0 / 24
10.1.2.0 / 28 10.1.2.128 / 28
Figure 2-3 CIDR Subnetting
IPv4 Source Address
Type of Service Total LengthVersion
Identification Flags Fragment Offset
IHL
Time to Live Protocol Header Checksum
IPv4 Destination Address
Options Padding
Payload (variable length)
Bit 0 4 8 12 16 20 24 28 320
64
128
192
32
96
160
14The IPv4 Packet Format
IPv6 Source Address
IPv6 Destination Address
Traffic Class Flow LabelVersion
Payload Length Next Header Hop Limit
Payload (variable length)
Bit 0 4 8 12 16 20 24 28 320
64
128
192
256
320
32
Documented in RFC 2460 Figure 2-7 IPv6 Packet Format
Application Layer
Transport Layer
Internet Layer
Data Link Layer
Physical Layer
Application Layer
Transport Layer
Internet Layer
Data Link Layer
16
Figure 2-8 The TCP/IP Five-Layer Model
Lower Layers
Higher Layers
Transport Layer
Data Link Layer
Internet Layer
Application data
Application Layer
17
Figure 2-9 Data from Higher Layers Encapsulated Lower-layer Packets
18
Source Port Destination Port
Length Checksum
Payload (variable length)
Bit 0 4 8 12 16 20 24 28 320
64
32
Figure 2-10 UDP Datagram
19
Destination Port
Sequence Number
Header Checksum
Options (variable length 0-320 bits, depending on offset field)
Bit 0 4 8 12 16 20 24 28 320
64
128
32
96
160
Source Port
Acknowledgment Number
Payload (variable length)
Offset Reserved Flags Window Size
Checksum Urgent Pointer
Figure 2-11 TCP Packet
Network Address Translation
• A cornerstone of Internet implementation is that every host should have a unique IP address.
• Currently, this is not strictly the case;
• Networks use Internal IP addressing;
• Not exposed to the Internet
22
Network Address Translation
• Perceived Benefits?
• Security: IP address of specific user hidden!
• Easier Network set-up with large address ranges ‘internal’ to the local network.
• Reduces demand for Global IP addresses
• (Won’t be needed with IPv6)
23
Network Address Translation
• Disadvantages:
• Internal and External IP addresses must be unique
• Special range of IP addresses reserved for Internal use:
• 10.0.0.0/8
• 172.16.0.0/12
• 192.168.0.0/16
• Translation Process required (NAT)24
NAT• Communication across the Internet
requires interaction between globally unique IP addresses
• A host with a locally-unique IP address communicating with a remote host, requires IP address translation at a host which has a globally-unique address.
• The translation process (NAT) breaks the normal communication between Internet hosts.
25
Sockets
• For an Application to connect to another Application on the Internet, requires an API.
• The API must create connections to other hosts;
• The most common abstraction is the Socket;
• The API associates a socket-identifier with the IP address of a host, and a Port;
26
Sockets, Protocols and Ports
Application 1Application 1 Application 4Application 4Application 2Application 2 Application 3Application 3
TCP Sockets
TCP UDP
655351 2 3 1 2 655353
IP
TCP Ports
Socketreferences
Sockets bound to ports
Sockets Protocols and Ports
The Data Link Layer
• The Data Link layer or Network Interface Layer takes IP packets and encapsulates them for transport over the physical layer;
• Ethernet has become the dominant Layer 2 protocol in many networks;
28
Ethernet (IEEE802.3)
• Ethernet (IEE 802.3) implements a unique MAC address to the physical interface card
• The MAC address is unique,
• Specified by the hardware manufacturer
• Cannot be used for Interdomain routing
29
Address Resolution Protocol
• To map an IP address to a hardware address requires an Address Resolution Protocol (ARP).
• Typically a host receiving an IP address broadcasts a message to all the hosts to which it is connected asking for the mac address that the IP address is associated with.
• The specific host responds with its MAC address.
30
ARP and Caching
• In an effort to improve efficiency, host routers cache MAC-IP associations
• If a host changes its IP address it could respond with its cached address rather than its new address.
31
Sessions and Mobility
• A TCP communication is identified with the 5 tuple:– Local IP Address– Local Port– Remote IP Address– Remote Port– Socket Identifier
32
Sessions and Mobility
• The entire structure was built on the implicit assumption that IP addresses were essentially fixed and that Hosts did not change location.
• If a host moves they need a new IP address;• If a host gets a new IP address then the
Socket ID for the communication must change• Therefore the session breaks
33
Sessions and Mobility
• Another consequence of the TCP/IP inherent design is that an IP address in fact performs two functions;
• It is a location-identifier
• It is an end-point-identifier
• In other words, an IP address identfies the specific host, and also its location in the network.
• Not an issue until hosts start to move around…!
34
Strategies
• Accept that application sessions will break;
• Introduce an application layer ‘session-persistence’ mechanism
• Keep the same IP address when moving;
• Introduce a new Layer
• Redesign the TCP/IP protocol stack to achieve separation of locators and end-point identifiers
35
Accept that Application Sessions will Break
• Easy option
• For some situations session breaks don’t matter
• Nomadic mobility: Fouus on seamless access to different networks
• User can switch networks seamlessly
• However, sessions will not necessarily ‘stay up’
36
Introduce a ‘Session-Persistence’ mechanism in the
Application Layer
• Requires the Application to implement a session state;
• Probably impractical
• Maybe not desirable– Cookies in web browsers do this currently– Big security and privacy issues
37
Keep the same IP Address when Moving
• The IP layer is an abstraction layer on top of the physical infrastructure,
• When a host moves, it must chaange its IP address so that a source knows where to route its packets
• This can be done to an extent by ‘tunneling’. • Make multiple physical layers look like one
layer to the IP layer by encapsulating layer 2 packets in other layer 2 packets
38
Introduce a New Layer
• Consider implementing a session layer between the TCP layer and the Application Layer.
• This is akin to revisiting the ISO-OSI Seven layer model which had a Session Layer above the TCP layer and under the Application layer.
• Perhaps we used the wrong stack after all…?
39