MyeongGi Jeong, You say you like the approach, but I hear you want the server application to manage the port number. This is a step forward, and application port management was certainly one of the options described. If we can gather a consensus that we don?t need to ask for IANA numbers, I will proceed with a JIRA issues to consolidate the understanding. John Light Intel OTC OCF development
From: MyeongGi Jeong [mailto:[email protected]] Sent: Tuesday, May 03, 2016 3:42 PM To: Dave Thaler <dthaler at microsoft.com>; Light, John J <john.j.light at intel.com>; ?? <ashok.channa at samsung.com>; ??? <uzchoi at samsung.com>; Keane, Erich <erich.keane at intel.com>; Jacob_Gladish at cable.comcast.com; Macieira, Thiago <thiago.macieira at intel.com>; cftg at openconnectivity.org Cc: iotivity-dev at lists.iotivity.org Subject: Re: Re: [dev] [cftg] RE: [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment Hi, I like the approach without persistent storage. I think, the application has the role of keeping the port number safely and securely using platform specific storage. CA utility layer provides some transport specific functions now, and the UDP/TCP port number related function will be added. -- get the port number currently openned. -- set the port number to use. If any server want to port same as previous openned, this function will be helpful. Ashok, what do you think about it ? Thanks. Best Regards, --- MyeongGi Jeong Principle Engineer, Software Architect Software R&D Center, Samsung Electronics Co., Ltd. +82-10-3328-1130 | +82-2-6147-7699 ------- Original Message ------- Sender : Dave Thaler<dthaler at microsoft.com<mailto:dthaler at microsoft.com>> Date : 2016-05-04 00:55 (GMT+09:00) Title : Re: [dev] [cftg] RE: [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment Yes I agree with John. From: Light, John J [mailto:[email protected]] Sent: Tuesday, May 3, 2016 8:48 AM To: ashok.channa at samsung.com<mailto:ashok.channa at samsung.com>; Uze Choi <uzchoi at samsung.com<mailto:uzchoi at samsung.com>>; Dave Thaler <dthaler at microsoft.com<mailto:dthaler at microsoft.com>>; Keane, Erich <erich.keane at intel.com<mailto:erich.keane at intel.com>>; Jacob_Gladish at cable.comcast.com<mailto:Jacob_Gladish at cable.comcast.com>; Macieira, Thiago <thiago.macieira at intel.com<mailto:thiago.macieira at intel.com>>; cftg at openconnectivity.org<mailto:cftg at openconnectivity.org> Cc: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: RE: RE: [cftg] RE: [dev] [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment Ashok, I would like assurance from others that we are converging. Specifically: 1. Do we agree that my proposal meets the requirements for reducing the number of re-discoveries? 2. Are we in agreement that we don?t need to ask for IANA numbers? If so, I will write a JIRA ticket outlining the proposal. John Light Intel OTC OCF development From: ASHOKBABU CHANNA [mailto:[email protected]] Sent: Tuesday, May 03, 2016 3:23 AM To: Uze Choi <uzchoi at samsung.com<mailto:uzchoi at samsung.com>>; Light, John J <john.j.light at intel.com<mailto:john.j.light at intel.com>>; 'Dave Thaler' <dthaler at microsoft.com<mailto:dthaler at microsoft.com>>; Keane, Erich <erich.keane at intel.com<mailto:erich.keane at intel.com>>; Jacob_Gladish at cable.comcast.com<mailto:Jacob_Gladish at cable.comcast.com>; Macieira, Thiago <thiago.macieira at intel.com<mailto:thiago.macieira at intel.com>>; cftg at openconnectivity.org<mailto:cftg at openconnectivity.org> Cc: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: Re: RE: [cftg] RE: [dev] [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment Could you give your opinion for this implementation considering implementation effort also from the maintainer perspective? - As John has done complete analysis , he can give us the complete implementation effort required and schedule of the same if possible. Regards, Ashok ------- Original Message ------- Sender : Uze Choi<uzchoi at samsung.com<mailto:uzchoi at samsung.com>> S6/Principal Engineer/IoT Lab./Samsung Electronics Date : May 03, 2016 13:20 (GMT+05:30) Title : RE: [cftg] RE: [dev] [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment Nice to hear converging. Regarding persistent storage, I didn?t mentioned we should use the storage only for security purpose, but just want to explain currently security module manages the storage by itself for security exclusive purpose. We cannot depend on or reuse it for itself. Of course, IoTivity resource model layer can manage it internally away from security module. Ashok, could you give your opinion for this implementation considering implementation effort also from the maintainer perspective? BR, Uze Choi From: cftg at openconnectivity.org<mailto:cftg at openconnectivity.org> [mailto:[email protected]] On Behalf Of Light, John J Sent: Tuesday, May 03, 2016 3:28 AM To: uzchoi at samsung.com<mailto:uzchoi at samsung.com>; ashok.channa at samsung.com<mailto:ashok.channa at samsung.com>; 'Dave Thaler'; Keane, Erich; Jacob_Gladish at cable.comcast.com<mailto:Jacob_Gladish at cable.comcast.com>; Macieira, Thiago; cftg at openconnectivity.org<mailto:cftg at openconnectivity.org> Cc: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: RE: [cftg] RE: [dev] [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment It seems we are starting to converge on an answer. I will respond to your two points. First, persistent storage. I don?t understand why persistent storage is exclusively for security. It is a historical artifact that security has been developed separately from the rest of IoTivity, worked on by a separate team. But I don?t know any reason for exclusivity in the storage. The existence of security assures us that persistent storage is available, and we only need two bytes to store the current port number. A further storage question is where IoTivity gets the Device ID (GUID) that is unique for each server. I understand that this must also be persistent for everything to work. If it comes from the application, it is only available because there is persistent storage available to the application. Second, random port assignment. (These ports are also called Ephemeral ports.) Each OS allocates these port according to rules that make sure no collisions occur. For example, Linux allocates ephemeral ports in the range 32768 ? 61000, so there is no chance that port 80 will be assigned. (Thank you Dave Thaler for commenting on this.) Please note that the port allocation rules have been working for decades. The fixed assignments are based on the assumption that the minimum number of ports are defined for each usage. Typically, IANA assigned ports are used for rendezvous and startup, and very few instances of multiple assignments will be found. This is why HTTP scales across vast numbers of browsers and servers using only one assigned port number. The IANA port assignments are a fixed resource that has to last forever. We should respect that by following the rules. John Light Intel OTC OCF development From: ???(Uze Choi) [mailto:[email protected]] Sent: Sunday, May 01, 2016 7:45 PM To: Light, John J <john.j.light at intel.com<mailto:john.j.light at intel.com>>; ashok.channa at samsung.com<mailto:ashok.channa at samsung.com>; 'Dave Thaler' <dthaler at microsoft.com<mailto:dthaler at microsoft.com>>; Keane, Erich <erich.keane at intel.com<mailto:erich.keane at intel.com>>; Jacob_Gladish at cable.comcast.com<mailto:Jacob_Gladish at cable.comcast.com>; Macieira, Thiago <thiago.macieira at intel.com<mailto:thiago.macieira at intel.com>>; cftg at openconnectivity.org<mailto:cftg at openconnectivity.org> Cc: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: RE: [cftg] RE: [dev] [cftg] Re: [cftg] Re: Re: [cftg] Re: Re: [cftg] RE: OCF IANA Port Number Assignment Thank you for your detail coding level design. However I?d like to claim two points. One is persistence storage is for security exclusively for their purpose. Other purpose beyond security is not eligible. Furthermore, it is not accessible in case of non-secure build, You implementation requires additional persistence storage on somewhere which Ashok claims architecture concept change. The other point is that initially random port assignment policy is also problematic. IoTivity happen to assign the 80 port for example, then what happen? Nomad should move out when original owner comes. BR, Uze Choi ---------------------------------------------------------------------------------- Sr. Technical Manager, Software Architect. SRI-B, IoT Division/ IoTivity, Samsung Electronics Co., Ltd. +91-9880709710 ---------------------------------------------------------------------------------- [cid:image001.gif at 01D1A5DF.4282E660] [http://ext.samsung.net/mailcheck/SeenTimeChecker?do=3af3b79521f261fac627d838079455a2c0830ec09d65b236032aa89e99be1a3e738ed17e7639ce1f641b1a8c451b073656239170f5eb4b5c326bbdfb2ea96a2fcf878f9a26ce15a0] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160504/7cde355a/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 116340 bytes Desc: image001.png URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160504/7cde355a/attachment.png>
