我试图了解uTP标头的结构,以及它如何处理流量和拥塞以及所有这些问题。
浏览文档here时,我无法完全理解标头的“扩展”部分的工作原理。这是标题:
0 4 8 16 24 32
+-------+-------+---------------+---------------+---------------+
| type | ver | extension | connection_id |
+-------+-------+---------------+---------------+---------------+
| timestamp_microseconds |
+---------------+---------------+---------------+---------------+
| timestamp_difference_microseconds |
+---------------+---------------+---------------+---------------+
| wnd_size |
+---------------+---------------+---------------+---------------+
| seq_nr | ack_nr |
+---------------+---------------+---------------+---------------+
这是谈论“扩展”字段的部分:
extension
The type of the first extension in a linked list of extension headers. 0 means no extension.
There is currently one extension:
Selective acks
Extensions are linked, just like TCP options. If the extension field is non-zero, immediately following the uTP header are two bytes:
0 8 16
+---------------+---------------+
| extension | len |
+---------------+---------------+
where extension specifies the type of the next extension in the linked list, 0 terminates the list. And len specifies the number of bytes of this extension. Unknown extensions can be skipped by simply advancing len bytes.
链接列表如何进入所有这些? (对我而言)是否意味着有更多可用的扩展?