C/Visual C - PPP programación

 
Vista:

PPP programación

Publicado por javier (1 intervención) el 30/08/2003 20:21:40
Necesito programar una conexion ppp con un serividor utilizando c unicamente, saliendo por un puerto serial y utilzando un celular. Alguien tendría la secuencia de pasos a seguir??
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Secuencia básica para establecer una conexión PPP vía puerto serial en C usando un celular

Publicado por Alejandro (1286 intervenciones) el 23/07/2025 22:53:23
Hola Javier,

Configurar una conexión PPP (Point-to-Point Protocol) en C a través de un puerto serial con un celular implica varios pasos, ya que PPP es un protocolo de enlace que requiere un manejo específico de la capa de enlace y la capa física. Aquí te doy una secuencia general de pasos y conceptos clave para que puedas implementarlo:

---

1. Configuración del puerto serial


- Abre y configura el puerto serial (baud rate, bits de datos, paridad, stop bits, control de flujo).
- Asegúrate de que el puerto esté en modo raw (sin procesamiento adicional).

2. Inicialización del modem/celular


- Envía comandos AT para establecer la conexión GPRS/3G/4G, dependiendo del modem.
- Ejemplo: `ATD*99#` para marcar la conexión de datos en algunos modems.

3. Establecer la conexión PPP


- Cuando el modem esté conectado y tenga asignada una IP, inicia la negociación PPP.
- La negociación PPP implica el intercambio de paquetes LCP (Link Control Protocol) y NCP (Network Control Protocol).

4. Implementar la pila PPP


- La pila PPP no es trivial, pero en esencia:
- Envía paquetes LCP para abrir la conexión.
- Negocia opciones (como autenticación, compresión, etc.).
- Negocia la asignación de IP y otras opciones de red.
- Una vez establecida, puedes enviar y recibir paquetes IP encapsulados en PPP.

5. Enviar y recibir datos


- Cuando la conexión PPP esté activa, puedes enviar datos IP encapsulados en PPP.
- Para esto, necesitas construir los paquetes PPP y IP adecuados, o usar una librería que implemente PPP en C.

---

Resumen de pasos prácticos:



1. Configura y abre el puerto serial.
2. Envía comandos AT para establecer la conexión de datos con el celular.
3. Espera a que el modem indique que la conexión está activa y que tiene IP asignada.
4. Inicia la negociación PPP enviando paquetes LCP y NCP.
5. Mantén la conexión PPP y envía/recibe datos IP encapsulados en PPP.
6. Cierra la conexión cuando termines.

---

Nota importante:


- La implementación completa de PPP en C es compleja y extensa. Normalmente, se usan librerías existentes como pppd en Linux o librerías específicas en Windows.
- En Windows, puedes usar la API RAS (Remote Access Service) para gestionar conexiones PPP, pero si quieres hacerlo en C puro, tendrás que implementar la pila PPP tú mismo o usar librerías existentes.

---

¿Qué te recomiendo?


- Usar librerías existentes: Busca librerías de código abierto que implementen PPP en C.
- Utilizar un stack PPP ya preparado y solo gestionar la capa de comunicación serial y el modem.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar