2011-10-21 7 views
16

Por razones que no puedo entrar, nuestro sistema usa una MTU muy pequeña (128 bytes). Estos dispositivos integrados se encuentran en una red completamente separada, por lo que no hay acceso a Internet ni interacción con otros dispositivos.¿Cómo puedo activar IPCOMP para un socket?

Obviamente, TCP ocupa 66 bytes por paquete y no deja mucho para la carga útil.

Después de buscar en Google, me encontré con IPCOMP que parece que puede ayudar a reducir la cantidad de tráfico en la red.

Mi pregunta es ¿cómo puedo habilitar esto? ¿Hay un setsockopt, o necesito un controlador especial?

El único ejemplo que he visto es:

socket(PF_INET, SOCK_RAW, IPPROTO_COMP) 

pero esto significa que necesito para crear el/TCP/IP manualmente la carga útil.

Cualquiera tiene experiencia con esto.

EDITAR: Quizás un mejor método sería habilitar cslip o ppp en esta conexión. Puedo encontrar tutoriales sobre cómo habilitar PPP en un puerto serie (para módem de acceso telefónico), pero nada sobre habilitar PPP en ethernet.
He visto artículos sobre PPPoE, pero esto parece agregar MÁS a la carga en lugar de reducirla.
¿Alguien puede ayudar con esto?

+0

Tengo curiosidad, ¿es la MTU 128 de IP o es la MTU de Ethernet? –

+0

La MTU Ethernet es 128. – Neil

+1

Creo que puede hacer esto usando 'ip xfrm state' y' ip xfrm policy', pero aún no lo he intentado. OpenBSD usa un indicador sysctl, pero en Linux creo que se debe usar IPSec o se debe usar xfrm directamente. – Appleman1234

Respuesta

2

He jugado con IP xfrm en el pasado, pero nunca he probado la opción de comp. Si quiere comprimir todo el tráfico saliente, algo como esto funcionaría.

ip xfrm policy add dev eth0 dir out tmpl proto comp 
Cuestiones relacionadas