L2TPv3支持自动拆包,封装后的数据包如果超出裸线路的MTU也能正常运作。
拆包合包毕竟需要耗资源的,这种多余的操作,能避免的话当然最好。
要避免,首先确定好L2TPv3隧道的MTU。
图:
UDP封装模式:
L2TPv3隧道MTU = 裸线路MTU – IP头 – UDP头 – L2TPv3头 – 以太网头
经测试L2TPv3头在这种模式下是12字节,如果裸线路MTU是1500,那么隧道MTU = 1500 – 20 – 8 – 12 – 14 = 1446,TCP MSS = 1446 – 20 – 20 = 1406
IP封装模式:
L2TPv3隧道MTU = 裸线路MTU – IP头 – L2TPv3头 – 以太网头
经测试L2TPv3头在这种模式下是8字节,如果裸线路MTU是1500,那么隧道MTU = 1500 – 20 – 8 – 14 = 1458,TCP MSS = 1458- 20 – 20 = 1418
以太网头不一定是14字节,根据实际使用情况自行调整。