下行时，每个包自身负责写入协议号，不再由 agent 负责写入