[projet-agregation] linkagreg (était Format des paquets reçus dans un TUN)

Fernando ALVES Fernando.alves at sameswireless.fr
Sam 12 Nov 14:23:40 CET 2011


Le 12/11/2011 13:02, Jocelyn Delalande a écrit :
> Salut,
>
> Merci pour la doc Fernando, juste une question :
>
>> La prochaine phase que je pense ajouter est la fragmentation des 
>> paquets.
>
> Pourquoi ne pas se reposer sur les MTU des interfaces virtuelles pour 
> la fragmentation ? Je suppose qu'il y a une raison qui n'est pas 100% 
> claire pour moi :
>  - TCP utilise les MTU des tun/tap pour déterminer son MSS, ça semble ok.
>  - qu'advient-il normalement d'un paquet IP autre que TCP trop gros 
> pour la MTU de l'interface virtuelle : fragmenté par le protocole de 
> L3 ? droppé ? tronqué ?
>
> En toute logique, il devrait-être découpé par le L3 (IP), mais je ne 
> sais pas si il y a des spécificités à tun/tap
>
> Un ping -s 3000 passant par un tun ou tap (tunproxy.py) , fonctionne 
> (ou prétend le faire…).
Avec la fragmentation des paquets il ne devrait plus y avoir de problème 
de MTU/MSS entre le client et serveur, théoriquement devrait même accepter
un MTU > 1500 (a tester).

Exemple:
1) coté serveur le "network Kernel" écrit un paquet de 1500 octets sur 
l'interface tun/tap créé par linkagreg,
2) linkagreg lit ce paquet de 1500 octets le divise en 2 (2*(750+header 
linkagreg)) et les transmets a travers 2 tunnel UDP a l'appli linkagreg 
coté client.
3) coté client linkagreg reçoit 2 paquets de 750 octets + header 
linkagreg, il ré-assemble ces 2 paquets en un paquet de 1500 octet et 
l’écrit sur l'interface tun/tap qu'il a créé.

Coté client et serveur le "network Kernel" pense avoir à faire à une 
interface de 1500 octets de MTU (comme pour une interface ethernet).

http://irp.nain-t.net/doku.php/140pppoe:070_mtu_mss_etc

Fernando

>
> Jocelyn
>
>
>>
>> si vous voulez essayer, voila comment je l'utilise:
>>
>> ##############################
>> # VM Serveur eth0= 192.168.1.1
>> ##############################
>> *./linkagreg -s -d -i tun10&
>> ip addr add 10.0.0.1/24 dev tun10
>> ip link set up dev tun10*
>>
>> ##############################
>> # VM Client eth0=192.168.1.2
>> # eth1=192.168.1.3
>> # ouverture de 2 tunnel UDP:
>> # 192.168.1.2<--> 192.168.1.1
>> # 192.168.1.3<--> 192.168.1.1
>> ##############################
>> *./linkagreg -c 192.168.1.1 -f 192.168.1.2,192.168.1.3 -d -i tun10&
>> ip addr add 10.0.0.2/24 dev tun10
>> ip link set up dev tun10
>> *
>
>



More information about the projet-agregation mailing list