ITEM METADATA RECORD
Title: Mobile Sessions in Heterogeneous Networks (Mobiele sessies in heterogene netwerken)
Other Titles: Mobile Sessions in Heterogeneous Networks
Authors: Mahieu, Tom
Issue Date: 26-Sep-2006
Abstract: Computers die verbonden zijn met een netwerk maken tegenwoordig integraal deel uit van de hedendaagse samenleving. Ook het onafgebroken verbonden zijn met het Internet is steeds vaker gewenst. Hedendaagse computernetwerken worden gerealiseerd aan de hand van een groot aantal netwerkverbindingstechnologieën, zoals Ethernet, DSL, draadloos Ethernet, UMTS, etc. Daarenboven zijn communicatie-apparaten klein genoeg geworden om makkelijk te kunnen worden meegenomen. Ze worden steeds vaker gebruikt in publieke plaatsen en maken gebruik van publiek beschikbare toegangsnetwerken. Ondanks de beschikbaarheid van al deze verbindingstechnologieën, goed uitgeruste netwerkapparaten en het gebruik van zorgvuldig ontworpen communicatiesoftware, raken computerapplicaties nog steeds in de problemen wanneer ze uitgevoerd worden in dergelijke mobiele, heterogene netwerkomgevingen. De gebruikte netwerkadressen en -protocollen wijzigen, netwerkkarakteristieken (bandbreedte, vertraging,...) veranderen en netwerkloskoppelingen komen frequent voor. Deze problemen geven aanleiding tot vier uitdagingen voor de volgende generaties van mobiliteitsoplossingen. Ten eerste moeten mobiliteitsoplossingen adres- en protocolwijzigingen ondersteunen. Ten tweede moeten applicaties op de hoogte gebracht worden van mobiliteitsgebeurtenissen indien ze dat wensen. Ten derde moet het omschakelen naar een ander verbindingsnetwerk op een veilige manier kunnen gebeuren. Ten vierde moet het mogelijk zijn om mobiliteitsoplossingen toe te passen in heterogene netwerken waar verbindingstechnologieën en communicatieprotocollen snel evolueren. De bijdrage van dit proefschrift is een mobiliteitsoplossingsarchitectuur dat deze uitdagingen adresseert door een sessielaag te introduceren in de protocolstapel. Deze architectuur is gerealiseerd door twee subsystemen: het Verbindingsabstractiesysteem (VAS) en het Adresbeheersysteem (ABS). Het VAS definieert een sessie als een logisch communicatiekanaal tussen twee applicaties. Communicatie wordt gerealiseerd aan de hand van transportprotocollen die op dat moment beschikbaar zijn. Transportprotocolverbindingen die breken tengevolge van mobiliteit worden vervangen door nieuwe verbindingen. Als dat gebeurt verzorgt VAS de betrouwbaarheid van de communicatie en brengt de applicatie op de hoogte als dit gewenst is. Het VAS sessieprotocol kan mobiele applicaties authentiseren als dat nodig is. Protocolwijzigingen worden mogelijk gemaakt door het ABS, die de nodige concepten introduceert om applicaties te kunnen ontwikkelen zonder voorafgaande kennis van de beschikbare protocollen. Beide systemen zijn geïmplementeerd en geëvalueerd in het DiPS+ protocolstapelraamwerk.
Table of Contents: 1 Introduction 1
1.1 Dynamic networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Dynamic network paradigms . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Open wired networks . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Wireless networks . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Mobile ad-hoc networks (MANETs) . . . . . . . . . . . . . 4
1.2.4 Overlay networks . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.5 Service centric access networks (SCANs) . . . . . . . . . . . 5
1.3 Software support in dynamic networks . . . . . . . . . . . . . . . . 6
1.4 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Organization of the text . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Mobility solution challenges and taxonomy 11
2.1 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Address and protocol changes . . . . . . . . . . . . . . . . . 11
2.1.1.1 Handling address changes . . . . . . . . . . . . . . 11
2.1.1.2 Handling protocol changes . . . . . . . . . . . . . 12
2.1.1.3 Coping with protocol diversity/proliferation . . . 13
2.1.2 Application awareness of mobile behavior . . . . . . . . . . 14
2.1.2.1 Keeping the application involved . . . . . . . . . . 15
2.1.2.2 Handling disconnection as a way of life . . . . . . 15
2.1.3 Securing mobile endpoint behavior . . . . . . . . . . . . . . 16
2.1.4 Openness of heterogeneous networks . . . . . . . . . . . . . 17
2.2 A Taxonomy of Mobility Solutions . . . . . . . . . . . . . . . . . . 18
2.2.1 Network Layer Mobility Solutions (NLMSs) . . . . . . . . . 19
2.2.2 Transport Layer Mobility Solutions (TLMSs) . . . . . . . . 21
2.2.3 Socket Layer Mobility Solutions (SoLMSs) . . . . . . . . . . 24
2.2.4 Proxy Mobility Solutions (PMSs) . . . . . . . . . . . . . . . 26
2.2.5 Application Specific Mobility Solutions (ASMSs) . . . . . . 28
2.2.6 Session Layer Mobility Solutions (SeLMSs) . . . . . . . . . 29
2.2.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 A session based networking environment 33
3.1 Motivation for a session layer approach . . . . . . . . . . . . . . . . 33
3.2 Best practices and design strategies . . . . . . . . . . . . . . . . . . 34
3.2.1 Limit lower layer dependencies from higher layers . . . . . . 35
3.2.2 Handle unexpected disconnections gracefully . . . . . . . . 35
3.2.3 Do not restrict the choice of naming techniques for mobile
nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.4 Provide support at the endpoints . . . . . . . . . . . . . . . 36
3.2.5 Optimize for the static case . . . . . . . . . . . . . . . . . . 36
3.3 Session definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Session Layer Mobility Solution architecture . . . . . . . . . . . . . 40
3.5 Session management tasks in dynamic networks . . . . . . . . . . . 42
3.5.1 Session support detection . . . . . . . . . . . . . . . . . . . 43
3.5.2 Transport and network protocol independent session identification
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.3 Protocol and address hiding . . . . . . . . . . . . . . . . . . 44
3.5.4 Session state management . . . . . . . . . . . . . . . . . . . 44
3.5.5 Session negotiation protocol . . . . . . . . . . . . . . . . . . 46
3.5.6 Transport protocol management . . . . . . . . . . . . . . . 47
3.5.7 Maintaining communication channel semantics . . . . . . . 47
3.5.8 Offering application feedback . . . . . . . . . . . . . . . . . 48
3.6 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7 The Connection Abstraction System and Address Management System
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4 The Connection Abstraction System 51
4.1 CAS session definition . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2 Designing a session layer in the protocol stack . . . . . . . . . . . . 52
4.2.1 Interaction of CAS with the application layer . . . . . . . . 54
4.2.2 The relation between the CAS and the transport layer . . . 54
4.3 The CAS header format . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4 Description of the session protocol . . . . . . . . . . . . . . . . . . 57
4.4.1 Session establishment . . . . . . . . . . . . . . . . . . . . . 58
4.4.1.1 Transition diagram for session establishment . . . 58
4.4.1.2 Protocol message exchange for session establishment 61
4.4.2 Session suspension . . . . . . . . . . . . . . . . . . . . . . . 62
4.4.2.1 Transition diagram for session suspension . . . . . 62
4.4.2.2 Protocol message exchange for session suspension 65
4.4.2.3 Using reliable transport protocols . . . . . . . . . 66
4.4.3 Session resumption . . . . . . . . . . . . . . . . . . . . . . . 68
4.4.3.1 Transition diagram for session resumption . . . . . 68
4.4.3.2 Protocol message exchange for session resumption 71
4.4.3.3 Using reliable transport protocols . . . . . . . . . 72
4.4.4 Session termination . . . . . . . . . . . . . . . . . . . . . . 73
4.4.4.1 Transition diagram for session termination . . . . 74
4.4.4.2 Protocol message exchange for session termination 76
4.5 Transport connection management . . . . . . . . . . . . . . . . . . 76
4.6 Network status feedback for the application . . . . . . . . . . . . . 78
4.7 Security measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.7.1 Protocol security . . . . . . . . . . . . . . . . . . . . . . . . 80
4.7.1.1 Attack-equivalence . . . . . . . . . . . . . . . . . . 80
4.7.1.2 CAS vulnerabilities . . . . . . . . . . . . . . . . . 81
4.7.1.3 Authentication of CAS protocol requests . . . . . 83
4.7.1.4 Preventing denial-of-service . . . . . . . . . . . . . 84
4.7.2 Network security . . . . . . . . . . . . . . . . . . . . . . . . 86
4.7.2.1 NATs and firewalls . . . . . . . . . . . . . . . . . 87
4.7.2.2 Using IPsec . . . . . . . . . . . . . . . . . . . . . . 90
5 The Address Management System 93
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2 High level overview of the AMS . . . . . . . . . . . . . . . . . . . . 94
5.3 Technical realization of the AMS . . . . . . . . . . . . . . . . . . . 95
5.3.1 Generic addresses . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.2 Reducing generic addresses . . . . . . . . . . . . . . . . . . 97
5.4 The CAS and AMS synergy . . . . . . . . . . . . . . . . . . . . . . 99
6 Realization and Evaluation 101
6.1 Architecture compliance . . . . . . . . . . . . . . . . . . . . . . . . 101
6.2 DiPS+ overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.2.1 DIPS+ packets . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.2 DiPS+ components . . . . . . . . . . . . . . . . . . . . . . 106
6.2.3 DiPS+ connectors . . . . . . . . . . . . . . . . . . . . . . . 107
6.2.4 DiPS+ layers . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2.5 DiPS+ layer resources . . . . . . . . . . . . . . . . . . . . . 109
6.2.6 DiPS+ framework communication mechanisms . . . . . . . 109
6.2.7 DiPS+ in dynamic networks . . . . . . . . . . . . . . . . . 110
6.3 CAS design in DiPS+ . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3.1 Maintaining session data . . . . . . . . . . . . . . . . . . . . 111
6.3.2 The CAS layer design . . . . . . . . . . . . . . . . . . . . . 111
6.3.3 CAS state machine design . . . . . . . . . . . . . . . . . . . 114
6.3.4 Transport layer interaction . . . . . . . . . . . . . . . . . . 116
6.3.5 Application interaction . . . . . . . . . . . . . . . . . . . . 117
6.4 AMS design in DiPS+ . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.4.1 Reduction: stack and layer address managers . . . . . . . . 117
6.4.2 Plugging AMS in the DiPS+ stack . . . . . . . . . . . . . . 119
6.5 Implementation and protocol evaluation . . . . . . . . . . . . . . . 120
6.5.1 CAS overhead . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.5.1.1 Processing overhead . . . . . . . . . . . . . . . . . 120
6.5.1.2 Protocol overhead . . . . . . . . . . . . . . . . . . 125
6.5.1.3 Header overhead . . . . . . . . . . . . . . . . . . . 126
6.5.1.4 Memory usage . . . . . . . . . . . . . . . . . . . . 127
6.5.1.5 Code size . . . . . . . . . . . . . . . . . . . . . . . 128
6.5.2 Detecting disconnection . . . . . . . . . . . . . . . . . . . . 129
6.5.2.1 Disconnection detection with connection-oriented
protocols . . . . . . . . . . . . . . . . . . . . . . . 130
6.5.2.2 Disconnection detection with connectionless protocols
. . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.5.3 Network traffic during immediate handover . . . . . . . . . 131
6.5.3.1 UDP . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.5.3.2 TCP . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.6 Validation in industry projects . . . . . . . . . . . . . . . . . . . . 132
6.6.1 Project PEPiTA . . . . . . . . . . . . . . . . . . . . . . . . 132
6.6.1.1 AMS role in PEPiTA . . . . . . . . . . . . . . . . 134
6.6.2 Project SCAN . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.6.2.1 The role of the AMS and CAS in SCAN . . . . . . 135
7 Related work 137
7.1 Existing solutions to mobile computing . . . . . . . . . . . . . . . . 137
7.1.1 Network Layer Mobility Solutions . . . . . . . . . . . . . . 137
7.1.1.1 Unicast based solutions . . . . . . . . . . . . . . . 138
7.1.1.2 Multicast based solutions . . . . . . . . . . . . . . 141
7.1.1.3 General NLMS evaluation . . . . . . . . . . . . . . 141
7.1.2 Transport Layer Mobility Solutions . . . . . . . . . . . . . . 142
7.1.2.1 TCP-R . . . . . . . . . . . . . . . . . . . . . . . . 142
7.1.2.2 TCP Migrate . . . . . . . . . . . . . . . . . . . . . 144
7.1.2.3 Endpoint migration for improved service availability146
7.1.2.4 General TLMS evaluation . . . . . . . . . . . . . . 148
7.1.3 Socket Layer Mobility Solutions . . . . . . . . . . . . . . . . 149
7.1.3.1 Rocks and Racks . . . . . . . . . . . . . . . . . . . 149
7.1.3.2 MobileSocket . . . . . . . . . . . . . . . . . . . . . 151
7.1.3.3 Mobile Socket Layer (MSL) . . . . . . . . . . . . . 153
7.1.3.4 Persistent Connection . . . . . . . . . . . . . . . . 154
7.1.3.5 General SoLMS evaluation . . . . . . . . . . . . . 156
7.1.4 Proxy Mobility Solutions (PMSs) . . . . . . . . . . . . . . . 157
7.1.4.1 MSOCKS . . . . . . . . . . . . . . . . . . . . . . . 158
7.1.4.2 Indirect TCP . . . . . . . . . . . . . . . . . . . . . 159
7.1.4.3 PMS evaluation . . . . . . . . . . . . . . . . . . . 161
7.2 Session layer solutions . . . . . . . . . . . . . . . . . . . . . . . . . 162
7.2.1 OSI model . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
7.2.1.1 Discussion . . . . . . . . . . . . . . . . . . . . . . 163
7.2.2 Migrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.2.2.1 Discussion . . . . . . . . . . . . . . . . . . . . . . 165
7.2.2.2 Session management tasks . . . . . . . . . . . . . 166
7.2.3 TESLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
7.2.3.1 Discussion . . . . . . . . . . . . . . . . . . . . . . 169
7.2.3.2 Session management tasks . . . . . . . . . . . . . 169
7.2.4 SLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
7.2.4.1 Discussion . . . . . . . . . . . . . . . . . . . . . . 171
7.2.4.2 Session Management Tasks . . . . . . . . . . . . . 172
7.3 Mobility in the GSM world . . . . . . . . . . . . . . . . . . . . . . 173
7.3.1 Overview of the GSM system . . . . . . . . . . . . . . . . . 173
7.3.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
8 Conclusion 177
8.1 Summary and contributions . . . . . . . . . . . . . . . . . . . . . . 177
8.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.3 Some final considerations . . . . . . . . . . . . . . . . . . . . . . . 182
Glossary 185
Bibliography 191
URI: 
ISBN: 90-5682-744-8
Publication status: published
KU Leuven publication type: TH
Appears in Collections:Informatics Section

Files in This Item:
File Description Status SizeFormat
full.pdf Published 3026KbAdobe PDFView/Open

 


This item is licensed under a Creative Commons License
Creative Commons

All items in Lirias are protected by copyright, with all rights reserved.