4.6. Message Size A CoAP message, appropriately encapsulated, SHOULD fit within a single IP packet (i.e., avoid IP fragmentation) and (by fitting into one UDP payload) obviously MUST fit within a single IP datagram. If the Path MTU is not known for a destination, an IP MTU of 1280 bytes SHOULD be assumed; if nothing is known about the size of the headers, good upper bounds are 1152 bytes for the message size and 1024 bytes for the payload size.
this may motivate implementations to be frugal in their packet sizes and to move to block-wise transfers [I-D.ietf-core-block] when approaching three- digit message sizes.
This draft says a coap message must fit within a single IP datagram. on the other hand, however, to avoid fragmentation, this draft may suggest to use the block-wise transfer, which is defined by another draft. If the payload size is more than the minimum MTU, the block-wise transfer works. If the total length of the options is bigger, the mechanism doesn't work. And, the length of URI is likely to be bigger than the MTU. Do you assume a use case in which the total length of options is going to be greater than the MTU ? One possible solution is that a fragment option is defined and is placed at the first than other options. And, However, the option number has a semantic, and the order of the options is settled. There is no room for the block options to be placed at the first. Shoichi