What is Network MTU?
Maximum Transmission Unit (MTU) is the size of largest Protocol Data Unit (PDU), can be transmitted in a single transaction in given network environment.
For Video call, it is the size of largest RTP packet which could be transmitted without fragmentation.
How do I know what is network MTU for my FCSDK installation?
Media Broker component of FCSDK participate media transmission of a Video call.To check network MTU on Media Broker. You can use ifconfig or in ip link list command.
# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether fa:16:3e:e9:d3:aa brd ff:ff:ff:ff:ff:ff
What happen when RTP packet is larger then configured network MTU at Media Broker?
When RTP packet exceed the size of configured network MTU , and PMTUD is not configured on network device, packet will be fragmented into two smaller packets . This fragmentation take place at the IP layer, and all fragmented packets are marked so that it can be reassembled at receiver network device.
What is Path MTU Discovery (PMTUD) ?
The "Path MTU" is the smallest MTU, found on any of the IP hops between a source and destination IP. That way it dictate the largest packet size that can traverse this path without fragmentation.
Any device along the path whose MTU is smaller than the packet will drop such packets and send back an ICMP error message "The datagram is too big" containing its MTU. This information allows the source host to reduce its assumed path MTU appropriately. The process repeats until the MTU becomes small enough to traverse the entire path without fragmentation.
When PMTUD is enabled on a network device then all outgoing RTP packets will have DF (Don't fregment) flag set.
You can check if PMTUD is configured on your media broker using following command:
# sysctl net.ipv4.ip_no_pmtu_disc
net.ipv4.ip_no_pmtu_disc = 0
Unfortunately, increasing numbers of networks are dropping ICMP traffic to avoid DoS attack, this prevent PMTUD to work hence we can not rely on PMTUD for avoiding packet fragmentation.
What problems network MTU could cause with Video call Quality?
Problem 1 When too many RTP packet exceed network MTU , there will be too many fragmented packets in a RTP stream. Having too many fragmented packets have following disadvantages (list is not exclusive):
a. Fragmented packets consume more resource at network router, hence could increase chances of packet loss and create bad network condition for video quality.
b. Fragmented packets can only be assembled at final destination and loss of a single fregment will result in loss of complete packet chain causing video quality issue related to packet loss.
c. There are security risks associated with fragmented packets hence some network drop them hence result in too many packet loss and bad video quality associated with it.
Problem 2 Media traverse thru multiple networks which are using different values of MTU?