1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE> [Nel] A small document for your consumption</TITLE>
<LINK REL="Index" HREF="index.html" >
<LINK REL="made" HREF="mailto:archer%40nevrax.com">
<LINK REL="Previous" HREF="000401.html">
<LINK REL="Next" HREF="000403.html">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H1>[Nel] A small document for your consumption</H1>
<B>Vincent Archer</B>
<A HREF="mailto:archer%40nevrax.com"
TITLE="[Nel] A small document for your consumption">archer@nevrax.com</A><BR>
<I>Fri, 13 Apr 2001 11:34:53 +0200</I>
<P><UL>
<LI> Previous message: <A HREF="000401.html">[Nel] proposed control changes</A></li>
<LI> Next message: <A HREF="000403.html">[Nel] A small document for your consumption</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#402">[ date ]</a>
<a href="thread.html#402">[ thread ]</a>
<a href="subject.html#402">[ subject ]</a>
<a href="author.html#402">[ author ]</a>
</LI>
</UL>
<HR>
<!--beginarticle-->
<PRE>While waiting for the whole load, here's a quick and short document. Look
at it, and critique your hearts out...
Client server connect
This document describes quickly the connection process of a client to a world
running a NeL-based system.
Abbreviations
-------------
LS: The login service (one overall)
WS: The welcome service (one for each world)
FES: The front-end service (N per world)
Steps
-----
1: The client initiates a connection to the login service, using the supplied
IP and port from the configuration file, with the help of the DNS for IP
resolution.
Note: DNS spoofing or configuration file modification can lead to LS
spoofing and hacking of the login/password information of the client.
However, DNS is needed for flexibility of the login service location.
2: The client submits its login, password, and system capabilities.
3: The LS checks the login/password validity, and builds the list of all
available worlds according to account information and current system
settings. This list contains world names and the IP for the WS of that
world.
Note: DNS is not used in that step.
4: The client selects the world it wants to log on, and submits the IP address
of its world service to the LS.
5: The LS sends a notification to the selected WS of the client's connection
desires. It generates and submits a single-use cookie to validate the
incoming connection.
Note: The cookie includes the client's IP, as seen by the LS (to avoid
address translation problems) for validation.
6: The WS selects a FES to accept the client connexion, and submits the cookie
to the FES.
7: The FES acknowledges its capacity to accept the client to the WS.
8: The WS acknowledges its capacity to accept the client to the LS, and
indicates the IP/port of the selected FES.
9: The LS acknowledges the login request to the client, and indicates the
IP/port of the selected FES.
10: The client disconnects from the LS.
11: The client initiates a connection to the indicated FES.
12: The client sends the submitted cookie to the FES.
13: The FES validates and acknowledges the cookie.
Side notes
----------
Whenever a world starts, the WS establishes a permanent link with the LS,
using an encrypted link (it is assumed that the LS and WS are located on two
physically and probably geographically distinct networks). A 'SHARD' message
serves as authentification, and the WS then updates the LS with its state,
name and IP address. The WS may have a list of valid IP/port address for WS
to avoid the occasional pirate server registration.
--
Vincent Archer Email: <A HREF="mailto:archer@nevrax.com">archer@nevrax.com</A>
Nevrax France. Off on the yellow brick road we go!
</pre>
<!--endarticle-->
<HR>
<P><UL>
<!--threads-->
<LI> Previous message: <A HREF="000401.html">[Nel] proposed control changes</A></li>
<LI> Next message: <A HREF="000403.html">[Nel] A small document for your consumption</A></li>
<LI> <B>Messages sorted by:</B>
<a href="date.html#402">[ date ]</a>
<a href="thread.html#402">[ thread ]</a>
<a href="subject.html#402">[ subject ]</a>
<a href="author.html#402">[ author ]</a>
</LI>
</UL>
</body></html>
|