Hi, When thinking about next steps for draft-ietf-anima-grasp-distribution, I began to think about the fact that GRASP (RFC8990) defines a default maximum message size. For distribution of significant amounts of data, this could be an issue.
The RFC says this: "GRASP nodes MUST be able to receive unicast messages of at least GRASP_DEF_MAX_SIZE bytes. GRASP nodes MUST NOT send unicast messages longer than GRASP_DEF_MAX_SIZE bytes unless a longer size is explicitly allowed for the objective concerned. For example, GRASP negotiation itself could be used to agree on a longer message size." GRASP_DEF_MAX_SIZE is defined as 2048. The RFC also says: "The maximum size of multicast messages (M_DISCOVERY and M_FLOOD) depends on the link-layer technology or the link-adaptation layer in use." I'm not 100% sure that is correct, because UDP fragmentation works. In practice, my code simply uses GRASP_DEF_MAX_SIZE for that. There are two cases to consider: (1) Flooding (M_FLOOD) messages. These are UDP multicasts, so in effect all nodes must agree on the same maximum size. To send messages above the present limit, the maximum flood message size would have to be increased everywhere in the autonomic network. That is trivial if we allow operator configuration, but since an AN should be self-creating, we want to avoid operator configuration. Therefore, we need GRASP to be able to self-configure this. (2) Unicast messages (discovery responses, synchronization, negotiation). On investigation, it is very easy to allow such messages over TCP to be of any reasonable length, with no protocol change and without all nodes necessarily agreeing on what a "reasonable length" is. I discovered that my demo implementation of GRASP would already handle messages up to 4096 bytes, and tweaked the code to remove that limitation. I tested it with a GRASP objective exceeding 5000 bytes. It would perhaps be wise to have a network-wide definition of "reasonable", so again a mechanism for GRASP to self-configure this would be useful. Therefore, my conclusion is that we need a general mechanism for GRASP to configure itself autonomically across a given AN. Maximum message sizes are just an example. A second message coming right after this one will tackle that topic. Regards Brian Carpenter _______________________________________________ Anima mailing list [email protected] https://www.ietf.org/mailman/listinfo/anima
