基础
LV协议是BER编码的一种,全称是Tag、length、value。该协议简单高效,能适用于各种通信场景,且具有良好的可扩展性。TLV协议的基本格式如下:
其中,Tag占2个字节,是报文的唯一标识;Length占4个字节,表示Value字段的长度;Value字段的数据是需要传输的数据,长度由Length字段表示。
简单型TLV
简单型TLV结构,Value字段的具体内容由一个个定长的字段表示,如第一个字段占多少字节,第二个字段占多少个字节,都是固定长度,不会改变。因此,简单型TLV结构的Length一般也固定,不同的结构通过Tag进行区分,且字段个数的多少没有限制,具有很强的扩展性。
混合型TLV
混合型TLV结构,Value字段的具体内容是另一个TLV结构,如此递归,没有任何限制,如下所示:
其中需要注意,外层TLV结构的length字段一定是里层TLV结构的总长度,这样才符合TLV的基本定义。
循环型TLV
循环型TLV结构,Value字段的具体内容是由多个结构相同的数据组