EDP – Endpoint Discovery Protocol Alex McMahon Kevin Fall Kevin Fall IETF 77 / Anaheim, CA, USA 25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
1
EDP • draft draft‐mcmahon‐dtnrg‐dtn‐edp‐00 mcmahon dtnrg dtn edp 00 • CLA‐independent DTN application protocol for discovery of: discovery of: – Node, registrations, storage, time, available CLAs, routing capabilities, security configuration, support of reactive fragmentation – Uses limited scope (hop count 1) facility [SCHL] – Reserves special EDPv1 EID – Needs new CLA ID specification (naming draft) 25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
2
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
3
1 (app) 1 (app)
EDPv1 Basics EDPv1 Basics
+----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
4
Flags: BSP, custodian, rfrag, req, rdelay d l
EDPv1 Basics EDPv1 Basics
+----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
5
EDPv1 EDPv1 Basics Basics Acti e Active Registrations +----------------+----------------+----------------+----------------+ (ref count) | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
6
EDPv1 Basics EDPv1 Basics AR references
+----------------+----------------+----------------+----------------+ (scheme part) | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
7
EDPv1 Basics EDPv1 Basics AR references
+----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block(SSP part) length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
8
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | AR AR expirations expirations + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | (secs from now) +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
9
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | Available CLAs +----------------+----------------+----------------+----------------+ (ref count) | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
10
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | CLA list +----------------+----------------+----------------+----------------+ (scheme part) | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
11
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | CLA List +----------------+----------------+----------------+----------------+ (SSP part) | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
12
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | CLA Preference +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | Order (ref count) +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
13
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | AR Preference List +----------------+----------------+----------------+----------------+ (indices) | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
14
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | CLA Preference List +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | (indices) +----------------+----------------+----------------+----------------+ | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
15
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ |Storage Capacity CLA Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | St C list it Ref_scheme_1 +----------------+----------------+----------------+----------------+ (bytes) | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
16
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) Ref_ssp_1 Ref ssp 1 (*) | St | CLA Storage Availability A list il bilit +----------------+----------------+----------------+----------------+ (bytes) | PREF CLA Reference Count (*) | +----------------+----------------+----------------+----------------+ | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | + +----------------+----------------+----------------+----------------+ + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
17
EDPv1 Basics EDPv1 Basics +----------------+----------------+----------------+----------------+ | Block type | Proc. Flags (*)| Block length(*)| DCF (*) | + +----------------+----------------+----------------+----------------+ + + + + | AR EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | AR list Ref_scheme_1 (*) | AR list Ref_ssp_1 (*) | +----------------+----------------+----------------+----------------+ | AR expiration counters (*) | +----------------+----------------+----------------+----------------+ | CLA EID Reference Count (*) | +----------------+----------------+----------------+----------------+ | CLA list Ref_scheme_1 Ref scheme 1 (*) | CLA list Ref_ssp_1 Ref ssp 1 (*) | +----------------+----------------+----------------+----------------+ | PREF CLARequested Max Reference Count (*) | +----------------+----------------+----------------+----------------+ Response Delay | PREF list Ref_AR_I (*) | PREF list Ref_CLA_I (*) | (seconds) +----------------+----------------+----------------+----------------+ | SC (*) | SA (*) | +----------------+----------------+----------------+----------------+ | Delay (*) | +----------------+----------------+----------------+----------------+ + + + + +
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
18
Example (1) Example (1) X
A
Y Z
B
C
dtn::A/X dtn::A/Y dtn::A/Z
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
19
Example (2) Example (2) X
A
25‐March‐2010
Y Z
B
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
C
20
Example (3) Example (3) X
A
25‐March‐2010
Y Z
B
C
Source: A’s EID Dest: dtn::EDPv1 Scope: one hop Flags: BSP, custodian, rfrag, request, random delay AR list: dtn::A/X (expire 100) dtn::A/Y (expire 1290) dtn::A/Z (expire 3000) CLA list [3]: [ ] dtn:next:eui‐48:00:1c:bf:93:98:5d dtn:next:eui‐48:00:1b:38:cc:df:ef EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, dtn:next:eui‐48:00:23:6c:9c:a5:f8 USA
21
Example (4) Example (4) X
A
Y Z
B
C
+--------------------+---------------------+ | PREF list Ref_AR_I | PREF list Ref_CLA_I | +--------------------+---------------------+ | 1 | 1,1 | | 1 | 2,2 | | 1 | 3 3,3 3 | | 2 | 3,1 | +--------------------+---------------------+
CLA pref list: 1,2,3 SC: 100790004 SA: 014317764 25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
22
Preferences
+--------------------+---------------------+ + + + | PREF list Ref_AR_I | PREF list Ref_CLA_I | +--------------------+---------------------+ | 1 | 1 1,1 1 | | 1 | 2,2 | | 1 | 3,3 | | 2 | 3,1 | +--------------------+---------------------+
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
23
Preferences
AR index + +--------------------+---------------------+ + + | PREF list Ref_AR_I | PREF list Ref_CLA_I | +--------------------+---------------------+ | 1 | 1 1,1 1 | | 1 | 2,2 | | 1 | 3,3 | | 2 | 3,1 | +--------------------+---------------------+
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
24
Preferences
CLA index + +--------------------+---------------------+ + + | PREF list Ref_AR_I | PREF list Ref_CLA_I | +--------------------+---------------------+ | 1 | 1 1,1 1 | | 1 | 2,2 | | 1 | 3,3 | | 2 | 3,1 | +--------------------+---------------------+
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
25
Preferences
Pref Order + +--------------------+---------------------+ + + | PREF list Ref_AR_I | PREF list Ref_CLA_I | +--------------------+---------------------+ | 1 | 1 1,1 1 | | 1 | 2,2 | | 1 | 3,3 | | 2 | 3,1 | +--------------------+---------------------+
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
26
Recap • draft‐mcmahon‐dtnrg‐dtn‐edp‐00 draft mcmahon dtnrg dtn edp 00 • Discovery of EIDs and other node features • Depends on d – Hop limit scoping (e.g., SCHL draft) – Naming of CLAs (e.g., new[?] naming draft)
• Action: – Adopt as draft‐irtf‐dtnrg?
25‐March‐2010
EDP Draft (rev 0) ‐ IETF 77 ‐ Anaheim, CA, USA
27