Top Banner
http://6lowapp.net core@IETF100, 2017-11-13/-14 http://6lowapp.net core@IETF100, 2017-11-13/-14 Constrained RESTful Environments WG (core) Chairs: Jaime Jiménez <[email protected]> Carsten Bormann <[email protected]> Mailing List: [email protected] Jabber: [email protected] 1
141

Constrained RESTful Environments WG (core)

Dec 04, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Constrained RESTful Environments

WG (core)

Chairs: Jaime Jiménez <[email protected]> Carsten Bormann <[email protected]> Mailing List: [email protected] Jabber: [email protected]

1

Page 2: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

• We assume people have read the drafts

• Meetings serve to advance difficult issues by making good use of face-to-face communications

• Note Well: Be aware of the IPR principles, according to RFC 8179 and its updates

üBlue sheets üScribe(s)

2

Page 3: Constrained RESTful Environments WG (core)

Note WellAny submission to the IETF intended by the Contributor for publication as all or part of an IETF Internet-Draft or RFC and any statement made within the context of an IETF activity is considered an "IETF Contribution". Such statements include oral statements in IETF sessions, as well as written and electronic communications made at any time or place, which are addressed to:

• The IETF plenary session • The IESG, or any member thereof on behalf of the IESG • Any IETF mailing list, including the IETF list itself, any working group or design team list, or any other list functioning under IETF

auspices • Any IETF working group or portion thereof • Any Birds of a Feather (BOF) session • The IAB or any member thereof on behalf of the IAB • The RFC Editor or the Internet-Drafts function

All IETF Contributions are subject to the rules of RFC 5378 and RFC 8179.

Statements made outside of an IETF session, mailing list or other function, that are clearly not intended to be input to an IETF activity, group or function, are not IETF Contributions in the context of this notice. Please consult RFC 5378 and RFC 8179 for details.

A participant in any IETF activity is deemed to accept all IETF rules of process, as documented in Best Current Practices RFCs and IESG Statements.

A participant in any IETF activity acknowledges that written, audio and video records of meetings may be made and may be available to the public.

http://www.ietf.org/about/note-well.html3

Page 4: Constrained RESTful Environments WG (core)

Agenda Bashing

4

Page 5: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

5

Page 6: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

6

Page 7: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

7

Page 8: Constrained RESTful Environments WG (core)

CoAP over TCP: Status

• WGLC long completed

• URI-scheme brouhaha completed

• -10 should clear all IESG DISCUSSES

• In RFC editor queue soon (AD approval needed)

• Dependent on hybi-ws-wk

8

Page 9: Constrained RESTful Environments WG (core)

CoAP-over-TCP@ Hackathon @ IETF100• 2½ implementations: libcoap, augustcellars, coap.me

• Managed to GET /.well-known/core

• Issues raised

• Fix example and a naming inconsistency

• Do not send requests after sending release

• Text could be clearer on not handling custody

• Could do this in a -11 together with any further IESG comments

9

Page 10: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

10

Page 11: Constrained RESTful Environments WG (core)

CoAPSimpleCongestionControl/Advanced(CoCoA)

draft-ietf-core-cocoa-02

CarstenBormann–UniversitätBremenTZIAugustBetzler–Fundaciói2Cat

CarlesGomez,IlkerDemirkol–Univ.PolitècnicadeCatalunya

IETF100–Singapore,November2017 11

Page 12: Constrained RESTful Environments WG (core)

Status• Lastrevisionis-02• Headsupon-01beforeWGLCsenttoCoRE,TCPM,ICCRG

– Tworeviews(thanks!)• MichaelScharf• IngemarJohansson

• -02intended:– Toaddressthecommentsreceived– ForWGLC

12

Page 13: Constrained RESTful Environments WG (core)

Technicalupdate

13

• Impactofstrongandweakestimatorsisnowtunable

• Old– RTO:=0.25*E_weak_+0.75*RTO(1)– RTO:=0.5*E_strong_+0.5*RTO(2)

• New– RTO:=w_weak*E_weak_+(1-w_weak)*RTO(1)– RTO:=w_strong*E_strong_+(1-w_strong)*RTO(2)

Page 14: Constrained RESTful Environments WG (core)

Editorialupdates(I)

14

• Abstract– ThecoreofthespecificationisanRTOalgorithm

• Section1– Wasalmostempty,nowaproperintroduction

• Section3:AreaofApplicability– Algorithmdefined,intendedforawiderangeofnetworkconditions

• Section4:RTOEstimation– WidespectrumofRTTs– RTTvariabilitydiscussion:addeddetailsonTCPdelayedACKs

• VsapplicationprocessingtimesinCoAPRTT

Page 15: Constrained RESTful Environments WG (core)

Editorialupdates(II)

15

• Section4.2.2.MeasuredRTOestimate.Discussion

– WeakestimatorallowstoupdatetheRTOestimatorwhenRTTsaremostlyweak• Lossylinksorcongestion• Inthelatter,spurioustimeoutsareavoided,rateofretriesreduced,congestiondecrease

Page 16: Constrained RESTful Environments WG (core)

Editorialupdates(III)

16

• AddedreferencestoRFC7252– ForreadersnotsofamiliarwithCoAP

• Specificsections

• Section7.Securityconsiderations– Attackerpreventingpacketdelivery,RTOincrease

• NotspecificforCoCoA(orCoAP)

– Mitigatedbynetworkaccesscontrol– Ifradiojamming,recoveryinreasonabletime

• WeakestimatorincreasesthechancesofobtainingRTTsamples

Page 17: Constrained RESTful Environments WG (core)

Editorialupdates(IV)

17

• Appendices– Oldappendix“AggregateCongestionControl”

• Removedfromthedocument– AppendixB:Pseudocode

• UpdatingtheRTOestimator• RTOaging• VariableBackoffFactor

– AppendixC:Examples• WeakRTTs• VBFandaging

– AppendixD:Analysis• Strongvsweakestimator

Page 18: Constrained RESTful Environments WG (core)

Thanks!

18

CarstenBormann–Universitä[email protected]

AugustBetzler,CarlesGomez,IlkerDemirkolUniversitatPolitècnicadeCatalunya

[email protected]

Page 19: Constrained RESTful Environments WG (core)

WGLC—keeptcpmetc.intheloopAD:ProcessingafterWGLC

19

Page 20: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

20

Page 21: Constrained RESTful Environments WG (core)

Resource Directorydraft-ietf-core-resource-directory-12

draft-ietf-core-rd-dns-sd-01

Zach Shelby, Michael Koster, Carsten Bormann,Peter van der Stok, Christian Amsüss

21

Page 22: Constrained RESTful Environments WG (core)

What does an RD do: Principles

RD stores and caches links provided by endpointsClients look up links with minimal differencescompared to .well-known/core based discoveryRD facilitates discovery operations where otherwiseimpossible or inefficient

22

Page 23: Constrained RESTful Environments WG (core)

What is in an RD: LinksFrom coap://[2001:db8:f0::1]/.well-known/core:</t>;rt=temp;ct=0;rel="hosts";anchor=""

coap://[2001:db8:f0::1]/coap://[2001:db8:f0::1]/t

Looked up in RD at coap://directory/rd-lookup/res?rt=temp:</t>;rt=temp;ct=0;rel="hosts"; anchor="coap://[2001:db8:f0::1]"

~

23

Page 24: Constrained RESTful Environments WG (core)

What else is in an RD

Groups 

containing 

Endpoints 

containing 

Links

24

Page 25: Constrained RESTful Environments WG (core)

What can be queried from it

Groups 

containing 

Endpoints 

containing 

Links

From /lookup/gp?ep=node1</reg/gp123>;gp="room-5-23"; con="coap://[ff35:..:1]"; d="rooms"

From /lookup/ep?gp=rooms</reg/ep456>;ep="node-42"; con="coap://[2001:db8:..:42]"et="wallmounted-remote"

From /lookup/res?et=wallmounted-…</t>;rt="temp";if="core.s"; anchor="coap://[2001:..:42]";

25

Page 26: Constrained RESTful Environments WG (core)

More RD changesadded Content Model section, including ER diagramremoved domain lookup interface; domains are now plain attributes of groupsand endpointsupdated chapter "Finding a Resource Directory"; now distinguishesconfiguration-provided, network-provided and heuristic sourcesimproved text on: atomicity, idempotency, lookup with multiple parameters,endpoint removal, simple registrationupdated LWM2M descriptionclarified where relative references are resolved, and how context and anchorinteractnew appendix on the interaction with RFCs 6690, 5988 and 3986lookup interface: group and endpoint lookup return group and registrationresources as link targetslookup interface: search parameters work the same across all entitiesremoved all methods that modify links in an existing registration (POST withpayload, PATCH and iPATCH)removed plurality definition (was only needed for link modification)enhanced IANA registry textstate that lookup resources can be observable

26

Page 27: Constrained RESTful Environments WG (core)

Next steps

27

Page 28: Constrained RESTful Environments WG (core)

Pending changes for -13

Register a dedicated "All Resource Directories"multicast addressPrecise semantics of query parameters in lookup ("up"and "down" directions in  "What can be queried from")Editorial fixes

28

Page 29: Constrained RESTful Environments WG (core)

Open questions for -13

Think through group members from foreign RDsInterface versioning  

Please visit the issue tracker at https://github.com/core-wg/resource-directory/issues

29

Page 30: Constrained RESTful Environments WG (core)

Reviews

Thank you to Jim and Hannes for their comprehensive

reviews of -11

Need more like that

Need more input from implementors

30

Page 31: Constrained RESTful Environments WG (core)

Porting links into DNS-SD

RD provides all data needed for the export

Origin servers provide metadata (exp, ins)

Works from .well-known/core as well

31

Page 32: Constrained RESTful Environments WG (core)

32

Page 33: Constrained RESTful Environments WG (core)

33

Page 34: Constrained RESTful Environments WG (core)

Open questions for DNS-SD

Handling unregistered / unknown resource types and

services

Interface versioning

 

Please visit the issue tracker at

https://github.com/core-wg/rd-dns-sd/issues

34

Page 35: Constrained RESTful Environments WG (core)

Questions

35

Page 36: Constrained RESTful Environments WG (core)

Thanks

36

Page 37: Constrained RESTful Environments WG (core)

Backup slides

37

Page 38: Constrained RESTful Environments WG (core)

From /lookup/ep?d=floor1.example.com

To DNS:

</reg/1234>;ep="env85"; d="floor1.example.com"; con="coap://[2001:db8:1::85]"

env85.floor1.example.com IN AAAA 2001:db8:1::85

Getting host names for DNS(for PTR targets)

38

Page 39: Constrained RESTful Environments WG (core)

+----------------------+ | resource-directory | +----------------------+ | | oooooooooooo 0-1 | o MC address o---+ | oooooooooooo | | | //////\\\\ 0+ +--------+ < contains >----------------| group | \\\\\///// +--------+ | | 0-n | | 1+ ooooooo 1 +---------------+ ///////\\\\\\ o con o-------| registration |---------< composed of > ooooooo +---------------+ \\\\\\\////// | | | +--------------+ oooooooo 1 | | o loc o----+ /////\\\\ oooooooo | < contains > | \\\\\///// oooooooo 1 | | o ep o----+ | 0+ oooooooo | +------------------+ | | link | oooooooo 0-1 | +------------------+ o d o----+ | oooooooo | | 1 oooooooo | +-----o target o oooooooo 0-1 | | oooooooo o lt o----+ ooooooooooo 0+ | oooooooo | o target o-----+ | o attribute o | 0+ oooooo ooooooooooo 0+ | ooooooooooo +-----o rel o o endpoint o----+ | oooooo o attribute o | ooooooooooo | 1 ooooooooo

Information model

+----------------------+ ---------| .well-known/core | +----------------------+

39

Page 40: Constrained RESTful Environments WG (core)

Req: GET coap://[ff02::fd]/.well-known/

core?rt=core.rd

Res from 2001:db8::d: 2.05 Content

</rd>;rt="core.rd";ct=40

Req: POST coap://[2001:db8::d]/rd?

ep=node1&d=example.com&et=wallmounted

</t>;rt="temp"

Res: 2.04 Created

Location: </res/4521>

Discovery and registration

40

Page 41: Constrained RESTful Environments WG (core)

Req: GET /rd-lookup/ep?d=example.com Res: 2.05 Content </reg/4521>;ep="node1";d="example.com"; et="wallmounted";lt=84600; context="coap://[2001:db8::1]" Req: GET /rd-lookup/ep?gp=lights1 Res: 2.05 Content </reg/123>;ep="led1";d="example.org"; lt=84600;context="coap://led1.e.o", </reg/124>;ep="led2";d="example.org";…

Endpoint lookup

41

Page 42: Constrained RESTful Environments WG (core)

Req: GET /rd-lookup/res?rt=temp Res: 2.05 Content </t>;rt="temp";anchor="coap://[2001:db8::1]" Req: GET /rd-lookup/res?ep=led1 Res: 2.05 Content </b>;rt="brightness";if="core.a"; anchor="coap://led1.example.org", </wb>;rt="whitebalance";if="core.rp"; anchor="coap://led1.example.org", <http://ex.com/doc/wb>;rel="describedby"; anchor="coap://led1.example.org/wb"

Resource lookup

42

Page 43: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

43

Page 44: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

CoMI–update

AndyBiermanMichelVeillette

PetervanderStokAlexanderPelov<[email protected]>

draft-ietf-core-comi-01

44

Page 45: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Draftstatus

Draft Version Status

ietf-core-yang-cbor 4 StablesinceIETF97 ReadyforWGLC?

ietf-core-sid 1 StablesinceIETF98 ReadyforWGLC?

ietf-core-comi 1 StablesinceIETF99 Morereviewneeded

veillette-core-yang-library 0 StablesinceIETF98 MorereviewneededInscopeforCore?NormativereferenceinCoMI

5

2

Interop

Actionsfromlasttime:- Reviewdrafts- Performinterop- DeploySIDregistry

45

Page 46: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

ImplementationsCoMIwithYANG-CBOR

• Existingimplementations– GoLang:server+client– C:server+client– 2morepartialproprietaryimplementations

• Goalinterop+hackathon@IETF100– Defineinteropscenarios

• Startwithietf-system– Performfullcross-functionalityinterop

• Manykeypeoplenotpresent,scaledbackonexpectations

46

Page 47: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Virtualinteropduringhackathonweekend

module:ietf-system+--rwsystem|+--rwcontact?string|+--rwhostname?inet:domain-name|+--rwlocation?String…+--rosystem-state+--roplatform|+--roos-name?string|+--roos-release?string|+--roos-version?string|+--romachine?string+--roclock+--rocurrent-datetime?yang:date-and-time+--roboot-datetime?yang:date-and-time

GET PUT POSTCREATE

DELETE FETCH IPATCH POSTRPC

IPv4 IPv6

Trilliant ✗ ✗ ✗ ✗ ✓ ✓ ✓ ✗ ✓

Acklio ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

47

Page 48: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Virtualinteropduringhackathonweekend

module:ietf-system+--rwsystem|+--rwcontact?string|+--rwhostname?inet:domain-name|+--rwlocation?String…+--rosystem-state+--roplatform|+--roos-name?string|+--roos-release?string|+--roos-version?string|+--romachine?string+--roclock+--rocurrent-datetime?yang:date-and-time+--roboot-datetime?yang:date-and-time

GET PUT POSTCREATE

DELETE FETCH IPATCH POSTRPC

IPv4 IPv6

Trilliant ✗ ✗ ✗ ✗ ✓ ✓ ✓ ✗ ✓

Acklio ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

{"type":"node","label":"/system-state/clock","sid":1717},{"type":"node","label":"/system-state/clock/boot-datetime","sid":1718},{"type":"node","label":"/system-state/clock/current-datetime","sid":1719},{"type":"node","label":"/system-state/platform","sid":1720},

48

Page 49: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Virtualinteropduringhackathonweekend

module:ietf-system+--rwsystem|+--rwcontact?string|+--rwhostname?inet:domain-name|+--rwlocation?String…+--rosystem-state+--roplatform|+--roos-name?string|+--roos-release?string|+--roos-version?string|+--romachine?string+--roclock+--rocurrent-datetime?yang:date-and-time+--roboot-datetime?yang:date-and-time

GET PUT POSTCREATE

DELETE FETCH IPATCH POSTRPC

IPv4 IPv6

Trilliant ✗ ✗ ✗ ✗ ✓ ✓ ✓ ✗ ✓

Acklio ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

{"type":"node","label":"/system-state/clock","sid":1717},{"type":"node","label":"/system-state/clock/boot-datetime","sid":1718},{"type":"node","label":"/system-state/clock/current-datetime","sid":1719},{"type":"node","label":"/system-state/platform","sid":1720},

FETCHsinglevalueFETCHcontainerFETCHtwovaluesFETCHthreevalues,delta=0

YANG-CBORstringYANG-CBORderivedtypeYANG-CBORcontainer

SIDdeltaencodingFETCHdeltaURIreference

49

Page 50: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Lessonslearned• ietf-systemisnottheeasiestmoduletotryfullfunctionality

– Willdefineasuiteofbaselinemodulesfortestingbasic+extendedfunctions– (MaybeNETMODalreadyhavesuch?)

• Debuggingcanbesomewhattediouswithdelta-SIDsandcomplexqueries.– Whilewearestillmissingthetoolsandusingbareeyestolookattraces– Proposal:

• UseCBORtag39(identifier)toindicatethatthevalueisaSID(andnotadelta-SID)• Ifserverand/orclientsupportdebugging–runwithdebugoptionanduseonlySIDs

– Minorchangetodelta-SIDdereferencer,nootherchangestocode/semantics– Keypoint:efficientonthewire,allowseasydebugwhennecessary

• WecanhaveaminimalsetofoperationsthatcoverstheentiresetoffunctionalitiesofCoMI– CoMI-minimal+CoMI-extended?

• (especiallyifwecanhaveCoMI-extendedexpressedentirelythroughCoMI-minimal,e.g.canworkasaProxy)– CoMIdraftisstillalittleheavyonthedescriptionsidebecauseofthemanyhandledcases–trytosplitindifferent

sectionsand/ordocuments(aftervalidation)

50

Page 51: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Hackathon@IETF100

• Startedopen-sourceimplementationinPython– Withaspecificmoduleinmind–runningSCHCcontextprovisioningoverCoMI– Partialsuccess

• ModulebindingsandbasicfunctionalityOK• BadchoiceofYANGlibrary(for2daywork)

– AfterdiscussionwithNETMODguys• RebasedevelopmentwithYDK

• Nextsteps– Open-sourceYDK-basedCoMIimplementationbyIETF101– OfficialHackathon@IETF101

51

Page 52: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Nextsteps

• Bi-weeklymeetingsonCoMIInterop• FullinteropbyIETF101

– FETCH+PATCH(CoMI-minimal?)– Overanextendedsetofoperationsandmodules(TBD)

• Hackathon@IETF101andopen-sourceimplementation

• YANG-CBORdocument– IntroduceuseofCBORoption39?

• CoMIdocument– Improvereadability,simplify

52

Page 53: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

YANGSchemaItemiDentifier(SID)

AndyBiermanMichelVeillette

PetervanderStokAlexanderPelov<[email protected]>

draft-ietf-core-sid-01

53

Page 54: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

StatusandnextstepsFourmaintopics

• SIDdefinition(semantic)– 64bitidentifierassignedtoallYANGidentifiers

• SIDfileformat(.sid)– YANGSchema->JSONformat

• SIDfilelifecycle– Rangeregistration,.sidgeneration,.sidupdate

• Allocationpolicies– Two-tierallocationsystem

• MegaRange(1MSIDs)andRange(~1000SIDsflexiblesize)– ReviewallocationpolicywithIANA

54

Page 55: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

StatusandnextstepsFourmaintopics

• SIDdefinition(semantic)– 64bitidentifierassignedtoallYANGidentifiers

• SIDfileformat(.sid)– YANGSchema->JSONformat

• SIDfilelifecycle– Rangeregistration,.sidgeneration,.sidupdate

• Allocationpolicies– Two-tierallocationsystem

• MegaRange(1MSIDs)andRange(~1000SIDsflexiblesize)– ReviewallocationpolicywithIANA

55

Page 56: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

SIDregistry

56

Page 57: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

LoginSign-up

Availablemodules

57

Page 58: Constrained RESTful Environments WG (core)

SIDRanges SIDgenerationtool

+SIDfileupdate

+SIDfileconsistencycheck58

Page 59: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Nextsteps

• TheSIDregistry*isonlineat:– http://sidreg.acklio.com:5000– Not(yet)afullyvalidatedregistry(asperIANA)– Startoperatingin1M-2Mrange

• Getfeedback,clearoutbugs– Behaviormay(will)changeintimeaswegetmorefeedback (UntilnowwehavedonethesamewithGithub)

• WGLCondraft-core-sid?– Cross-validationwithNETMOD– IttakestimetocreateanIANAregistry(afteritispublishedbytheIESG)

• AndweneedtheMega-RangeRegistrysothatwecanclaimthatthis*isavalidregistry

59

Page 60: Constrained RESTful Environments WG (core)

CoMI-CoRE–Nov132017-M.Veillette,A.Bierman,P.vanderStok,A.Pelov<[email protected]>

Thanks!

60

Page 61: Constrained RESTful Environments WG (core)

Hackathon100Results SACM+TelemetryviaYANGPush

Winner:BestCrossWGcollaboration SACMNETCONFCORE

OnChangesubscription L2linkneighborsHardware/softwareinventory

DevicediscoveryTopologymaintenance

Securityevents

61

Page 62: Constrained RESTful Environments WG (core)

Telemetry(andCoMIPUSH)

H.Birkholz<[email protected]>TianranZhou<[email protected]>

XufengLiu<[email protected]>EricVoit<[email protected]>

draft-birkholz-yang-push-coap-problemstatement

62

Page 63: Constrained RESTful Environments WG (core)

Motivation• Telemetry

– Changestoconfigurationandoperationaldata(e.g.YANGdatastores)– Streamingcontinuouschangeshappeningonthedevice

• Afeaturecalled“YANGPUSH”– Remoteextractofthedatastore

• Streamingdeltaofthedata– InNETCONF/RESTCONF

• SubscriptionsareXPathexpression

• Problemstatement– Self-descriptivenessfordatainmotionforconstraineddevicesandnetworks– Scalability–thisisfeasible(andmaybecomecrucial)forbigrouters

63

Page 64: Constrained RESTful Environments WG (core)

Nextsteps

• Howtodoit?– UseFETCHexistingfunctionalitytocoverahugepercentageoftheuse-cases(multi-sub-

treeextraction)– RepresentXPathexpressionsinCBOR?– More?

• Nextsteps– Draft–extensiononCoMI– DefinenewContent-FormatfortheXPathexpressions– Workrequires43.7%CoMI,56.7%YANGexpertise

64

Page 65: Constrained RESTful Environments WG (core)

Thanks!

H.Birkholz<[email protected]>TianranZhou<[email protected]>

XufengLiu<[email protected]>EricVoit<[email protected]>

65

Page 66: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

66

Page 67: Constrained RESTful Environments WG (core)

CoRE Pub/Subdraft-ietf-core-coap-pubsub-02

JaimeJimenez,AriKeranen,MichaelKoster

Page 68: Constrained RESTful Environments WG (core)

Status

• NosubstantialchangestothebasicfunctionalitysinceWGadoption• Keepingtheprotocolsimple• Addressingasubstantialsetofcommentsinthenextupdate

Page 69: Constrained RESTful Environments WG (core)

Roadmap

• Addressalloutstandingcommentsinthepending-03draft• Normativelanguagetobereworkedconsideringtestcasesgeneratedfromtherequirements

• Securityconsiderationssectionneedstocontainmoreguidance• TargetWGLCforafterrevision-03review

Page 70: Constrained RESTful Environments WG (core)

Early registration of 4.29 (too many requests)?

• 4.29 is useful for a number of design patterns that are similar to pubsub

• Should we register this now?

70

Page 71: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Monday (120 min)

• 13:30–13:40 Intro, Agenda, Status • 13:40–13:55 Post-WGLC: CoAP-TCP (chairs) • 13:55–14:05 Up for WGLC: CoCoA (CG) • 14:05–14:45 Up for WGLC soon: RD (CA) • 14:45–15:15 Up for WGLC soon: COMI (AP) • 15:15–15:30 WG document: Pubsub (MK) • If time permits: Payment over CoAP (AB)

All times are in time-warped CEST

71

Page 72: Constrained RESTful Environments WG (core)

HTTP (and CoAP) bindings for Payment RequestsW3C Web Payments WG

○ Has defined a standard for requesting a payment○ Bindings defined for browser API○ WG being re-chartered to specify unbound data model in 2018

Proposal

○ Define HTTP bindings for this data○ Headers in 402 (Payment Required) response○ Headers in paid requests/responses○ Also interest in CoAP bindings

Adrian [email protected]

72

Page 73: Constrained RESTful Environments WG (core)

HTTP (and CoAP) bindings for Payment Requests

Support from Web Commerce IG, Web of Things WG and Automotive WG at W3C.

Soliciting interest from HTTPbis and core

Early proposal draft-hope-bailie-http-payments

Mailing list: [email protected] via https://lists.w3.org/Archives/Public/public-iotpay/

Adrian [email protected]

73

Page 74: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

• We assume people have read the drafts

• Meetings serve to advance difficult issues by making good use of face-to-face communications

• Note Well: Be aware of the IPR principles, according to RFC 8179 and its updates

üBlue sheets üScribe(s)

74

Page 75: Constrained RESTful Environments WG (core)

Note WellAny submission to the IETF intended by the Contributor for publication as all or part of an IETF Internet-Draft or RFC and any statement made within the context of an IETF activity is considered an "IETF Contribution". Such statements include oral statements in IETF sessions, as well as written and electronic communications made at any time or place, which are addressed to:

• The IETF plenary session • The IESG, or any member thereof on behalf of the IESG • Any IETF mailing list, including the IETF list itself, any working group or design team list, or any other list functioning under IETF

auspices • Any IETF working group or portion thereof • Any Birds of a Feather (BOF) session • The IAB or any member thereof on behalf of the IAB • The RFC Editor or the Internet-Drafts function

All IETF Contributions are subject to the rules of RFC 5378 and RFC 8179.

Statements made outside of an IETF session, mailing list or other function, that are clearly not intended to be input to an IETF activity, group or function, are not IETF Contributions in the context of this notice. Please consult RFC 5378 and RFC 8179 for details.

A participant in any IETF activity is deemed to accept all IETF rules of process, as documented in Best Current Practices RFCs and IESG Statements.

A participant in any IETF activity acknowledges that written, audio and video records of meetings may be made and may be available to the public.

http://www.ietf.org/about/note-well.html75

Page 76: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

76

Page 77: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

77

Page 78: Constrained RESTful Environments WG (core)

Media Types for Sensor Measurement Lists (SenML)

draft-ietf-core-senml-11

IETF 100, Singapore Ari Keränen

[email protected]

Page 79: Constrained RESTful Environments WG (core)

Updates since -10

• Lotsofeditorialchanges;thankyouforallthereviews!

• Clarification:versionfieldMUSTappearinallresolvedrecordsifandonlyifdifferentfromdefault

• Removedlink;tobedoneasextension• ChangedregistrypolicytoExpertReviewonly• AddedSI-specjustificationforCelsiusunit

Page 80: Constrained RESTful Environments WG (core)

To Be Done

• Movesecurityconsiderationsfrommediatyperegistrationstothesecurityconsiderationssection?

• MoredetailedIANAregistrytable?• Finaleditorialtweaks

• Publish

Page 81: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

81

Page 82: Constrained RESTful Environments WG (core)

ObjectSecurityofCoAPforConstrainedRESTFULEnvironments

(OSCOAP)OSCORE

draft-ietf-core-object-security-06

GöranSelander,Ericsson JohnMattsson,Ericsson

FrancescaPalombini,EricssonLudwigSeitz,RISESICS

IETF100,CoREWG,Singapore,Nov14,2017

Page 83: Constrained RESTful Environments WG (core)

83

› Protects the CoAP Code (now encrypted) – “dummy” Code for proxies: POST/FETCH for requests, 2.04 for

responses

› OSCORE now describes cross-protocol translators (HTTP-to-CoAP, CoAP-to HTTP) (OCF request)! Name change – Defines new HTTP header “Object-Security”

› Changed how the COSE compressed object is transported – CoAP payload ! ciphertext – Object-Security option value ! everything else

DraftStatus(v-06)(1/2)

Page 84: Constrained RESTful Environments WG (core)

84

› Removed OSCON (from appendix)

› Simplified Observe processing

› Nonce construction – Sender ID is now part of the nonce – Partial IV does not need to be sent in (non-Observe) responses !

Memory save

DraftStatus(v-06)(2/2)

Page 85: Constrained RESTful Environments WG (core)

85

› Test specifications, reports, captures: https://github.com/EricssonResearch/OSCOAP

› 5 Interop (Feb, March, May, July, Nov)

› Last interop including latest changes: Hackathon IETF100 › Updated test spec, report to come › 2 implementations tested (python, C#) › 15 tests on succeeding and failing OSCORE processing

› Successful interoperation

InteropReport

Page 86: Constrained RESTful Environments WG (core)

86

› Check the issue tracker!https://github.com/core-wg/oscoap/issues

› Observation renewal › Minor issues as result of latest interop › Privacy and traffic analysis considerations review › RFC2119 compliance › Test vectors

Issuesleft

Page 87: Constrained RESTful Environments WG (core)

87

› WGLC

NextSteps

Page 88: Constrained RESTful Environments WG (core)

MulticastOSCORE draft-tiloca-core-multicast-oscoap-04

MarcoTiloca,RISESICSGöranSelander,Ericsson

FrancescaPalombini,Ericsson Ji-YePark,UniversitaetDuisburg-Essen

IETF100,CoREWG,Singapore,Nov14,2017

Page 89: Constrained RESTful Environments WG (core)

89

› Version -04 available: draft-tiloca-core-multicast-oscoap-04

› Aligned with latest version of OSCORE

› Addressed comments from IETF99, especially from Jim Schaad

› Improved readability, details are now in Appendices

MulticastOSCORE

Page 90: Constrained RESTful Environments WG (core)

Thankyou!

Comments/questions?

Page 91: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

91

Page 92: Constrained RESTful Environments WG (core)

Echo and Request-Tagdraft-ietf-core-echo-request-tag-00

Christian Amsüss, John Mattsson,Göran Selander

Page 93: Constrained RESTful Environments WG (core)

Previously on this document

IETF94: Echo option presented as "Repeat"(in core-coap-actuators)IETF98: Request-Tag option introduced(in core-request-tag)IETF99:

Pivoted to problem (core-coap-actuators) andsolutions document (echo-request-tag)Presented the relevant attacksAsked for for reviews and alternative approaches

Page 94: Constrained RESTful Environments WG (core)

Current state

Problem and solutions documents updatedFixed loudest complaint: "Repeat" → "Echo"Mechanisms fully establishedOSCORE uses both optionsAdopted by WG

Page 95: Constrained RESTful Environments WG (core)

Next steps

Restructure the Echo partEditorial �xes

Issues tracked onhttps://github.com/core-wg/echo-request-tag/issues

Page 96: Constrained RESTful Environments WG (core)

Questions

Thank you

Page 97: Constrained RESTful Environments WG (core)

MitigatingDelayAttackson ConstrainedApplicationProtocol

ScarlettLiuJulianZhuOctober2017

([email protected]@huawei.com)

97

Page 98: Constrained RESTful Environments WG (core)

Background

• DelayattackshavebecomeatopicintheCoAP,especiallyfortheconstrainednodesconnectingandinteractingthephysicalworld.

• Draft-mattsson-core-coap-actuatorsproposesachallenge-responsemechanismviaatworoundtripstomitigatedelayattacks.

98

Page 99: Constrained RESTful Environments WG (core)

ThemechanismspecifiedinDraft-mattsson-core-coap-actuators

99

Page 100: Constrained RESTful Environments WG (core)

TheProblem

• Regardlessofthedelayattacks,tworound-tripsincreasethedelayinprocessingoftheoriginalaction.

• HowtosettheTHRESHOLDontheserver-sideisconfusedandishardtoimplementeveninthesomecomplicatedsituationwhereactionsrelevantforactuatorsaresensitivetotime.

100

Page 101: Constrained RESTful Environments WG (core)

TheTimeWindowOptions(1)• Forsimplesingleactionactuators,theTimeWindowOption

isintroducedasanewCoAPoption.TheTimeWindowOptioncontainsT-startandT-duration(asshowninFigurebelow).

101

Page 102: Constrained RESTful Environments WG (core)

TheTimeWindowOptions(2)• Formulti-interrelatedactionactuators,theSequence

NumberOptionandResponsePoliciesareintroduced.TheResponsePoliciescontainsthreemodestocopewiththeproblemasshowninFigurebelow.

102

Page 103: Constrained RESTful Environments WG (core)

ResponsePolices(1)• Preemptivemode:ifRequest2comesearlierthanRequest1

andRequest2isinitsvalidtimewindow,Request2shouldbeprocessedandRequest1shouldbediscarded.

103

Page 104: Constrained RESTful Environments WG (core)

ResponsePolices(2)• Sequentialmode:AlthoughRequest2comesearlierthanRequest1

andRequest2isinitsvalidtimewindow,Request2cannotbeprocesseduntilRequest1isprocessed(asshownintheleftFigure).

• IfRequest1cannotbeprocessedduetodelay,thenRequest2shouldbediscarded(asshownintherightFigure).

104

Page 105: Constrained RESTful Environments WG (core)

ResponsePolices(3)• Sequentialwithconditionaldiscardmode:Basedonthe

Sequentialmode,IfRequest2isabouttoexpirebutRequest1hasnotcomeyet,Request2shouldbeprocessedbeforeitisexpiredasshownintheleftFigure.

• Then,theRequest1shouldbediscardedwhenreceivedasshownintherightFigure.

105

Page 106: Constrained RESTful Environments WG (core)

Thankyou☺

Comments/Questions?

106

Page 107: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

107

Page 108: Constrained RESTful Environments WG (core)

‘Pending’ response code

Peter van der Stok, Klaus Hartke

IETF 100 - CoRE Working Group

Page 109: Constrained RESTful Environments WG (core)

Motivation

14 November 2017 CoRE, IETF100, Singapore 2

Bootstrapping of Remote Secure Key Infrastructures (BRSKI)[ietf-anima-bootstrapping-keyinfra] uses Enrollment over Secure Transport (EST) [RFC7030]

CoAP-EST specifies EST over CoAP in ACE WGEST uses http status code 202 when response takes “some” time

This draft specifies CoAP new response code x.xx for the samepurpose.

Page 110: Constrained RESTful Environments WG (core)

Details

14 November 2017 CoRE, IETF100, Singapore 3

• Pending response indicates that target resource exists, but no representation is available yet.

• Location may be specified where result will becomeavailable.

• Allows multiple clients to have multiple concurrent requests open at the server.

• Client has to retry with GETrequest after Max-Age.• Can be used in conjunction with “observe”• Not covered by current CoAP response codes

• Interesting for this WG?

Page 111: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

111

Page 112: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14

SMS

• draft-becker-core-coap-sms-gprs • Recently got a new editor (Koojana Kuladinithi)

• Didn’t get enough support for adoption yet • More support may be forthcoming • Might want to do adoption call soon

112

Page 113: Constrained RESTful Environments WG (core)

draft-ietf-core-interfaces-10&

draft-ietf-core-dynlink-04

113

Page 114: Constrained RESTful Environments WG (core)

IETF100CoRE:core-interfacesandcore-dynlink

draft-ietf-core-interfaces-10:status

• Overall,draftisingoodshape• 4openissuestoberesolved

– 2havebeenopensince-09– 1newonerelatedtoSenMLexplanationsinthedraft

– 1newonerelatedtoconsistencywithOCFinterfacedesignpatternforusing“if”linktargetattribute

114

Page 115: Constrained RESTful Environments WG (core)

IETF100CoRE:core-interfacesandcore-dynlink

draft-ietf-core-dynlink-04:Status

• From-03to-04:reverted“gth”and“lth”attributesto“gt”and“lt”

• Goingforward:Needssomeeditorialworkandclearerexamples

• 4openissues• 1onerrorhandling• 1onaddinganewlinkrelation• 2onabsorbingworkdoneindraft-groves-core-obsattranddraft-groves-core-bas

115

Page 116: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

116

Page 117: Constrained RESTful Environments WG (core)

Draft-arkko-dev-urn-05Arkko, Jennings & Shelby

(+ thanks to Ari’s contributions)

A Uniform Resource Name (URN) namespace for hardware device identifiers.

Potentially useful in applications such as in sensor data streams and storage, or equipment inventories.

Complements other similar identifiers NIs (RFC 6920), UUIDs (RFC 4122), IMEIs (RFC 7254) etc. Supports, e.g., MAC and EUI-64, identifiers.

urn:dev:mac:0024befffe804ff1

Page 118: Constrained RESTful Environments WG (core)

Version -05• Delimiter change to ensure easy carrying in SenML

• urn:dev:ow:264437f5000000ed;humidity vs. urn:dev:ow:264437f5000000ed_humidity

• Introduced “local” or “organisation specific” device identifiers

• urn:dev:org:32473:123456

• More text on privacy considerations

• Added text to IANA considerations to specify when new allocations under DEV URNs are appropriate

Page 119: Constrained RESTful Environments WG (core)

Next Steps• Thoughts on the delimiter change? Breaks any existing usage?

• Thoughts on local device identifiers?

• Adding device IDs specified in OneM2M and LWM2M (urn:dev:os and urn:dev:ops)? And would BBF USP protocol identifiers be useful to add as well?

• Peter: Needs to use the new URN registration template

• Fix a mistake in ABNF (org: vs. dn:)

• Draft adoption?

Page 120: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

120

Page 121: Constrained RESTful Environments WG (core)

OPCUAMessageTransmissionMethodoverCoAP

draft-wang-core-opcua-transmission-02PingWang<[email protected]>,ChenggenPu<[email protected]>,

HengWang<[email protected]>,YiYang<[email protected]>,

LunShao<[email protected]>,JunruiWu<[email protected]>

ChongqingUniversityofPostsandTelecommunications,China

JianqiangHou<[email protected]>HuaweiTechnologies,China

Singapore,November12,2017121

Page 122: Constrained RESTful Environments WG (core)

Motivations and Goals• Motivations

• OPCUnifiedArchitecture(OPCUA)isadataexchangestandardthatprovidesinteroperabilityinindustrialautomation.

• UtilizingOPCUAtransmittingoverCoAP couldmeetthedemandforindustry4.0basedontheexchangeofsemanticinformation.

• Goals• ImplementtheexchangeofsemanticinformationutilizingOPCUAtransmittinginCoAP.• EnabletheOPCUApacketstransmissionoverCoAP.• AchievedifferentwaystotransmitinformationfromclientstoserversbasedonOPCUAover

CoAP.

122

Page 123: Constrained RESTful Environments WG (core)

Overview• WhatisOPCUA?

• ArchitectureofOPCUAoverCoAP

• Transmissionscheme

• NextSteps

• PreliminaryWork

123

Page 124: Constrained RESTful Environments WG (core)

What is OPC UA?• OverviewofOPCUA

• OPC Unified Architecture (OPC UA) is the data exchange standard for safe, reliable,manufacturer andplatform-independent industrial communication. It enables data exchangebetween products from different manufacturers and across operating systems. It is theevolutionproductofOPC, thewidelyused standardprocess for automation technology, andcombinesthebenefitsofwebservicesandintegratedsecuritywithaconsistentdatamodel.

• AdvantagesofOPCUA• Functional equivalence: Building on the success of OPC Classic, OPC UA was designed to

enhanceandsurpassthecapabilitiesoftheOPCClassicspecifications.• Platformindependence:Fromanembeddedmicro-controllertocloud-basedinfrastructure.all

ofthemcanuseOPCUA,andwhetheritisWINDOWS,LINUXorMACOS.• Secure:OPCUA is firewall-friendlywhileaddressingsecurityconcernsbyprovidingasuiteof

controls.• Comprehensive information modeling: The framework turns data into information. With

complete object-oriented capabilities, even the most complex multi-level structures can bemodeledandextended.

124

Page 125: Constrained RESTful Environments WG (core)

• ProtocolStackofOPCUA• Be built on existing protocols such as TCP,

TLS,HTTP.• Consist of four sublayers: UA Application,

Serialization Layer, Secure Channel Layer,TransportLayer.

• Serializationlayerincludestwokindsofdataencodingmethods:UAbinaryandUAXML,whichrespectivelyhasitsadvantages.

• Set secure channel layer as none, and intransport layer, theoptions canbeUATCP,HTTPS,SOAP/HTTPSandSOAP/HTTP.

125

Page 126: Constrained RESTful Environments WG (core)

• TheFoundationofOPCUA• The fundamental components of OPC UA are

transportmechanismsanddatamodeling.• The transport defines different mechanisms

optimizedfordifferentusecases.• Optimized forspeedand throughput=UATCP

withUABinary;firewall-friendly=HTTP+XML.

InformationmodelsusingOPCUA

BaseOPCUAInformationModel

OPCUAServices

Transport OPCUAMetaModel

WebServices

TCPUABinary

Rule show tomodel�basem o d e l l i n gconstructs.

126

Page 127: Constrained RESTful Environments WG (core)

• Request/ResponseModelofOPCUA• ThemessageexchangeinUAbinarymode.• Using “hello” (HEL) and “acknowledge” (ACK)

messagesforclientstoconnectwithservers.• Using a pair of specific messages to open

security channel and define the encryptionproperty.

• Usinganothertwopairsofspecificmessagestocreateandactivateasession.

• After all of these steps, the connection isinitiated and the client can send requestmessagesforservices.

127

Page 128: Constrained RESTful Environments WG (core)

Preliminary Work• Design an OPC UA compression and

decompressionmechanismfor6LoWPAN.• DesignananoOPCUAserver forWireless

fielddevicesbyusingcontiki3.0.

• Integrate IEEE 802.15.4 with OPC UA forLow-PowerWirelessSensorNetworks.

• DesignadormantagentmechanismwithOPCUA.

Layer Protocol

Application OPCUA(Basedonopen62541)

Transport TCP

Network IPv6/RPL

Adaptation 6LoWPAN

MAC IEEE802.15.4

Physical IEEE802.15.4

128

Page 129: Constrained RESTful Environments WG (core)

• Nodes use STM32@72Mhz and CY2420RFmodule.

• Build a test network consisted of 15nodes , a border router and an OPC UAclient(UAEXPERT).

• ThepurposeisapplyingOPCUAtoWSNsbasedon6LoWPAN.

• TestingPlatform

129

Page 130: Constrained RESTful Environments WG (core)

Architecture of OPC UA over CoAP• TwooptionsinSerializationLayer

• OPCUA packets are encoded in either UAbinaryorXMLformat,andtheoptionfieldintheCoAPheadercanspecifyparametersthatsupportbothformats.

• Security• DTLS runs on the top of UDP in transport

l a y e r t o m a k e s u r e t h e w h o l ecommunicationsworkinthesecuritymode.HTTPS->DTLS

130

Page 131: Constrained RESTful Environments WG (core)

Transmission scheme• ProxyforOPCUA-CoAP

• InOPCUA,messageisexchangedbyusing TCP/HTTP, CoAP’s designinspirationcomesmainlyfromHTTP,the two can be mapped betweeneach other to meet the needs ofsomespecialscenes.

• The original UA client does notchange.

131

Page 132: Constrained RESTful Environments WG (core)

• Directtransmission

• TheentirepacketoftheOPCUAcanbeencapsulatedin the payload of the CoAP message for directtransmission.

• OPCUApacketsareencodedineitherbinaryorXMLformat, and the optional fields in the CoAP headerspecifyparameterstosupportthesetwoformats.

• Noted that thismethodof transmissionneeds tobemodifiedontheserversideandtheclientsideoftheOPCUAaccordingtoCoAP.

132

Page 133: Constrained RESTful Environments WG (core)

• RESTtransmissionforOPCUA

• The traditional OPC UA requires a series ofinteractions between normal read and writeoperations.

• Reduce the interactionsprocess inOPCUA,CoAPrequest/response carries OPC UA informationmodeltoachievecommunicating.

• Fortheconstrainedscenes,it’sagoodchoice.

133

Page 134: Constrained RESTful Environments WG (core)

Next Steps• Addsomeusecasesofthedraftandfurtherimprove

thedetailsofthedraft.• Implementtheproposedarchitecture.• Makesomeconsiderationsaboutsecurity.• Optimizepub/subofOPCUAandCoAP.

134

Page 135: Constrained RESTful Environments WG (core)

Thanks!PingWang<[email protected]>,ChenggenPu<[email protected]>,

HengWang<[email protected]>,YiYang<[email protected]>,

LunShao<[email protected]>,JunruiWu<[email protected]>,

ChongqingUniversityofPostsandTelecommunications,China

JianqiangHou<[email protected]>HuaweiTechnologies,ChinaSingapore,November12,2017

135

Page 136: Constrained RESTful Environments WG (core)

http://6lowapp.net core@IETF100, 2017-11-13/-14http://6lowapp.net core@IETF100, 2017-11-13/-14

Tuesday (120 min)

• 13:30–13:35 Intro, Agenda • 13:35–13:50 Post-WGLC: SenML (AK) • 13:50–14:20 Up for WGLC: OSCORE (FP) • 14:20–14:35 Newly adopted: ERT (?) • 14:35–14:45 Pending for EST (PV) • 14:45–15:00 SMS; Dynlink/Interfaces • 15:00–15:10 dev URN (JA) • 15:10–15:20 OPC/UA (CP) • 15:20–15:30 Time scale (LT)

All times are in time-warped CEST

136

Page 137: Constrained RESTful Environments WG (core)

CORE@IETF100 137

Draft-toutain-core-time-scale-00

Authors: Laurent Toutain <[email protected]>

Ana Minaburo <[email protected]>

100th IETF, Singapore, Nov 13th, 2017

Page 138: Constrained RESTful Environments WG (core)

CORE@IETF100 draft-toutain-core-time-scale-00

LPWAN Networks client on LPWAN NGW server | CON MID = 1 | | Timer - |---------------------------------->| => process | | delayed H<----------------| ^ | | H ACK MID = 1 | | EXCHANGE | | H | v LIFETIME | | CON MID = 2 H | | |---------------------------------->| | | X---------H | | | | | | | CON MID = 1 | | Expire O |---------------------------------->| => process | |<----------------| . . ACK MID = 1 . . . .

138

Page 139: Constrained RESTful Environments WG (core)

CORE@IETF100 draft-toutain-core-time-scale-00

CoAP Server

• Have to deal with clients sending at different periods:

– Ack may be delayed by the downlink (sleeping nodes)

– MID must be kept for a longer duration in server to detect duplicates

139

Page 140: Constrained RESTful Environments WG (core)

CORE@IETF100 draft-toutain-core-time-scale-00

Time Scale option +--------+---+---+---+---+-------------+--------+--------+---------+ | Number | C | U | N | R | Name | Format | Length | Default | +--------+---+---+---+---+-------------+--------+--------+---------+ | 259 | X | | | | Time Scale | uint | 1-4 | 3600 | +--------+---+---+---+---+-------------+--------+--------+---------+

• Critical option: to inform client if the option is supported or not.

• No caching • In all requests

140

Page 141: Constrained RESTful Environments WG (core)

CORE@IETF100 draft-toutain-core-time-scale-00

DoS attack

• Too much MID in memory if hold duration is increased ?

– Time Scale informs the server of the period – Server can still limit the number of MID per device.

141