5GC中控制面SBI接口基本都是采用HTTP2协议,HTTP2消息中的application/json部分一般是ASCII明文编码,wireshark通常都能解码,但是N1 nas消息部分wireshark很多情况并不会进行解码。有些问题分析时,我们可能需要获知N1部分的内容,这种情况下倒是可以对照3GPP规范进行逐字段手工解码。
今天在分析inter AMF mobility registration时,发现在source AMF向 target AMF post用户信息时,target AMF很多回了404 content not found报错,所以尝试进行了手工对N1 message部分进行解码,过程分享给大家。
1. 先介绍下nas消息的三种编码格式
V/TV/TLV IE字段格式说明:
V:只包含IE字段值,解码依赖消息位置。
TV:包含IE字段名和字段值
TLV:包含IE字段名、字段长度和字段值
- V格式编码的消息,因为没有字段识别名字,所以编码依赖字段位置,一般放在nas的开头位置
- TV和TLV格式编码有IE type,所以位置可以改变