Почему WebRTC выбрал максимальный размер пакета RTP равным 1200 байтам?

Изучая источники WebRTC, я задавался вопросом, почему разработчики выбрали максимальный размер пакета RTP равным 1200 байтам. Он определен в media / engine / constants.cc как переменная kVideoMtu.

Спасибо.


person Taras Koroliuk    schedule 04.12.2017    source источник
comment
Чтобы избежать фрагментации IP.   -  person aergistal    schedule 04.12.2017
comment
Спасибо, а почему не выбрали 1150 или 1250. Т.е. какая магия скрывается за этой константой?   -  person Taras Koroliuk    schedule 05.12.2017
comment
Минимальный MTU для IPv4 составляет 68 байт, но на самом деле он намного больше и 1280 байт для IPv6. Типичный MTU канала составляет 1500, но пакеты можно туннелировать. Значение 1200 байт работает в 99% случаев как с IPv4, так и с IPv6.   -  person aergistal    schedule 05.12.2017
comment
Может быть, кому-то эта ссылка покажется полезной groups.google.com/forum/#! topic / обсудить-webrtc / gH5ysR3SoZI   -  person Taras Koroliuk    schedule 05.12.2017


Ответы (1)


Это произвольно выбранное значение, чтобы избежать фрагментации пакетов. За этим нет какой-либо точной науки, поскольку вы никогда не можете быть уверены в реальных пределах, однако 1200 байт является безопасным значением для всех типов сетей в общедоступном Интернете (включая что-то вроде двойного VPN-соединения через PPPoE) и для RTP там. Нет особой причины выбирать большее значение.

person Istvan    schedule 05.12.2017
comment
Для IPv6 вы можете быть чертовски уверены, это 1280 в RFC и одна из причин выбранного значения. - person aergistal; 05.12.2017
comment
Вот хорошее объяснение, почему размер пакета должен быть меньше или равен 1280 байт для сетей IPv6 и почему нам нужно избегать фрагментации пакетов в сетях IPv6 arbornetworks.com/blog/asert/ipv6-fragmentation - person Taras Koroliuk; 07.12.2017