close
Warning:
Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.
- Timestamp:
-
Aug 10, 2011, 7:06:44 PM (13 years ago)
- Author:
-
nkiran
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v4
|
v5
|
|
14 | 14 | == Router == |
15 | 15 | |
| 16 | ==== MF Packet ===== |
| 17 | |
| 18 | {{{ |
| 19 | An MF packet is more appropriately a PDU or APDU that tries to balance |
| 20 | requirements from both application and network sides, consequently providing high |
| 21 | flexibility in destination addressing, delivery mechanisms, and in-route |
| 22 | handling. |
| 23 | |
| 24 | The following is the packet format: |
| 25 | |
| 26 | 0 1 2 3 |
| 27 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
| 28 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 29 | | Version |Type of Message| Total Length | |
| 30 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 31 | ~ ~ |
| 32 | | Source GUID | |
| 33 | ~ ~ |
| 34 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 35 | ~ ~ |
| 36 | | Source Network Address | |
| 37 | ~ ~ |
| 38 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 39 | ~ ~ |
| 40 | | Destination GUID | |
| 41 | ~ ~ |
| 42 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 43 | ~ ~ |
| 44 | | Destination Network Address | |
| 45 | ~ ~ |
| 46 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 47 | | Service ID | Service Options | |
| 48 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 49 | |
| 50 | }}} |
| 51 | |
16 | 52 | === Storage Aware Routing === |
17 | 53 | |
… |
… |
|
19 | 55 | |
20 | 56 | === Network cache === |
| 57 | |
| 58 | == Name Assignment Service == |
21 | 59 | |
22 | 60 | == Name Resolution Service == |
… |
… |
|
41 | 79 | v v |
42 | 80 | LNRS servers GNRS servers |
43 | | }}} |
44 | | |
45 | | {{{ |
| 81 | |
46 | 82 | A host/client may interact with the name resolution service to either (1) report |
47 | 83 | or update it's present network address binding(s), or, (2) to query corresponding |
… |
… |
|
91 | 127 | 'merge', for example, the existing with the presented bindings. |
92 | 128 | |
93 | | }}} |
94 | | |
95 | 129 | The following is the general format of a request message: |
96 | 130 | |
97 | | {{{ |
98 | | |
99 | | 0 1 2 3 |
100 | | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
101 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
102 | | | Version |Type of Message| Total Length (L) | |
| 131 | |
| 132 | 0 1 2 3 |
| 133 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
| 134 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 135 | | Version |Type of Message| Total Length | |
103 | 136 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
104 | 137 | | Request ID | |
105 | 138 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
106 | 139 | ~ ~ |
107 | | | Requestor Address N-bytes | |
| 140 | | Requestor Address | |
108 | 141 | ~ ~ |
109 | 142 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
… |
… |
|
127 | 160 | variable size with format defined per request type -- see below |
128 | 161 | |
129 | | ===== Update Request ===== |
| 162 | ===== Insert/Update Request ===== |
130 | 163 | |
131 | 164 | {{{ |
132 | 165 | An insert or update involves reporting new network location bindings to |
133 | 166 | the name resolution service. |
134 | | }}} |
135 | | |
136 | | {{{ |
| 167 | |
| 168 | Following is the format for payload in a insert/update request. |
| 169 | |
137 | 170 | 0 1 2 3 |
138 | 171 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
… |
… |
|
144 | 177 | | Options | |
145 | 178 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
146 | | | Size (S) | |
| 179 | | Size (S) | |
147 | 180 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ |
148 | 181 | | | | | |
149 | 182 | | Address Type | Address Length | | |
150 | | | | | |Entry |
151 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |for |
152 | | ~ ~ |Addr#1 |
153 | | | Network Address#1 | | |
| 183 | | | | | |
| 184 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Entry#1 |
| 185 | ~ ~ | |
| 186 | | Network Address #1 | | |
154 | 187 | ~ ~ | |
155 | 188 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ |
156 | 189 | ~ ~ |
157 | | | Network Addresses #2-#S | |
| 190 | | Entry #2 | |
| 191 | ~ ~ |
| 192 | |...............................................................| |
| 193 | ~ ~ |
| 194 | | Entry #S | |
158 | 195 | ~ ~ |
159 | 196 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
… |
… |
|
178 | 215 | A lookup is performed to determine the present network location binding(s) |
179 | 216 | of a network entity. |
180 | | }}} |
181 | | |
182 | | {{{ |
183 | | 0 1 2 3 |
184 | | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
185 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
186 | | ~ ~ |
187 | | | GUID N-bytes | |
188 | | ~ ~ |
189 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
190 | | | Options | |
| 217 | |
| 218 | |
| 219 | 0 1 2 3 |
| 220 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
| 221 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 222 | ~ ~ |
| 223 | | GUID | |
| 224 | ~ ~ |
| 225 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 226 | | Options | |
191 | 227 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
192 | 228 | }}} |
… |
… |
|
199 | 235 | details of original request and the result of the request, along with details of the |
200 | 236 | responder required for any client-side verification. |
201 | | }}} |
202 | | |
203 | | {{{ |
204 | | |
205 | | 0 1 2 3 |
206 | | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
207 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
208 | | | Version |Type of Message| Total Length (L) | |
| 237 | |
| 238 | Following is the format of header fields of a response message: |
| 239 | |
| 240 | 0 1 2 3 |
| 241 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
| 242 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 243 | | Version |Type of Message| Total Length | |
209 | 244 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
210 | 245 | | Request ID | |
… |
… |
|
234 | 269 | Payload:: |
235 | 270 | custom response for each request type |
| 271 | |
| 272 | ===== Insert/Update Response ===== |
| 273 | |
| 274 | {{{ |
| 275 | The payload is empty for responses to insert or update requests. |
| 276 | }}} |
| 277 | |
| 278 | ===== Lookup Response ===== |
| 279 | |
| 280 | {{{ |
| 281 | |
| 282 | The payload in a lookup response contains the network address bindings for the |
| 283 | requested GUID, and follows format in the insert/update requests. |
| 284 | |
| 285 | 0 1 2 3 |
| 286 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
| 287 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 288 | | Size (S) | |
| 289 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ |
| 290 | | | | | |
| 291 | | Address Type | Address Length | | |
| 292 | | | | | |
| 293 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Entry#1 |
| 294 | ~ ~ | |
| 295 | | Network Address #1 | | |
| 296 | ~ ~ | |
| 297 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---+ |
| 298 | ~ ~ |
| 299 | | Entry #2 | |
| 300 | ~ ~ |
| 301 | |...............................................................| |
| 302 | ~ ~ |
| 303 | | Entry #S | |
| 304 | ~ ~ |
| 305 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| 306 | |
| 307 | }}} |
| 308 | |
236 | 309 | |
237 | 310 | |