극히 개인적이고 극히 대단하지 않은

wireshark 에서 RTP와 SRTP의 구분 (IPv4, IPv6 혼용망) 본문

20년차 개발자

wireshark 에서 RTP와 SRTP의 구분 (IPv4, IPv6 혼용망)

회색싼타 2019. 9. 25. 14:35

일반적으로 RTP와 SRTP를 구분하는 제일 쉬운 방법으로 패킷의 사이즈를 비교한다는 것은 여러 포스팅에 많이 올라와 있다. 즉, RTP와 SRTP로 통화를 하는 경우에 wireshark에는 모두 RTP로 표기되지만, 10 byte의 사이즈 차이가 있으며, 10 byte 큰 패킷이 SRTP, 작은 패킷이 RTP로 판단하면 문제가 없다. 

 

그런데, IPv6와 IPv4가 혼재된 상황에서는 단순히 wireshark의 캡춰창에 나타난 사이즈만으로 비교했다가는 혼란에 빠질 수 있다.

아래 캡춰 화면에서 보면 IPv6의 RTP 패킷의 사이즈가 236 byte로 IPv4의 SRTP의 길이인 226 byte보다 오히려 10 byte 더 크게 보인다.

 

위 캡춰화면에서 IPv6는 RTP로 통신하고 있고, IPv4는 SRTP로 통신하고 있는데, 패킷 사이즈를 보면 오히려 IPv6 RTP가 10 byte 더 크다. 이 것은 패킷의 헤더까지 모두 포함한 길이를 나타내기 때문에 긴 주소체계를 가진 IPv6 RTP가 더 크게 보이는 것이다. 

 

아래 그림처럼 UDP 헤더의 길이를 확인해야 정확하게 SRTP와 RTP의 길이를 비교할 수 있다.

 

IPv6 RTP 패킷의 UDP헤더에는 길이가 180으로 되어있다.

 

IPv4 SRTP 패킷의 UDP 헤더에는 길이가 190으로 되어있다.

 

공교롭게도 IPv6 와 IPv4의 RTP 패킷의 크기가 20 byte 나다보니 발생하는 오해를 유발하기 쉬운 케이스.

Comments