GTP-C 메시지의 헤더에 들어가는 TEID는 상대방의 Tunnel Id를 의미합니다.
따라서 상대방의 정보를 알 수 없는 경우에는 이 TEID 자리에 0이 들어갑니다.
TS 29.274 GTP-C 규격의 "Conditions for sending TEID=0 in GTPv2-C header" 항목을 보면 TEID가 0이 되어야 하는 메시지들의 목록이 있습니다.
궁금한건 왜 상대방의 정보를 알고 있음에도 Change Notification Request/Response에 TEID 0을 사용하는가 입니다.
GTPv1-C MS Info Change Notification Request/Response가 처음 만들어질때도 TEID가 0이었고, GTPv2-C Change Notification Request/Response가 처음 만들어질때도 TEID가 0이었습니다.
메시지 수신 NE 입장에서는 TEID대신 IMSI를 이용하여 해당 가입자 정보를 조회해야 할테니 성능의 이슈가 제기되었고, 급기야 Release 11에서는 기존 TEID 0도 사용할 수 있지만 상대방의 TEID를 아는 경우에는 상대방의 TEID를 넣자고 수정되기에 이르렀습니다.
왜 이 메시지는 처음부터 TEID를 0으로 설정했을까요? 뭔가 철학이 있는 듯 한데요...