Usted debe construir su paquete UDP tal vez por la creación de una clase UDP que contiene todos los datos contenidos en un paquete UDP estándar.
de datos es tan follows:
Puerto de origen [SP] (16 bits): Cuando se intenta realizar una conexión, o llevando a cabo, esto especifica qué puerto la máquina local está a la espera de escuchar las respuestas de la máquina de destino
Puerto de destino [DP] (16 bits): Cuando un usuario desea conectarse a un servicio en una máquina remota, el programa de capa de aplicación especifica qué conexiones iniciales de puerto deberían usar. Cuando no forma parte de una conexión inicial, esto especifica qué número de puerto se utilizará para la máquina remota a medida que se envía un paquete a su destino.
Longitud [Len] (16 bits): Esto permite que la estación receptora saber cuántos de los bits de entrada se supone que son parte de un paquete válido. La longitud es un cálculo de cuántos bytes son parte del paquete UDP, incluidos los bytes en el encabezado. Desde UDP siempre tiene 4 campos en la cabecera y cada uno tiene 16 bits, y los datos/carga útil de longitud variable, que saber la longitud será de 8 + (número de bytes en la carga útil.)
UDP Checksum [UDPCS ] (16 bits): Esta es una suma de comprobación que cubre el encabezado y la porción de datos de un paquete UDP para permitir que el host receptor verifique la integridad de un paquete UDP entrante. El paquete UDP se carga con un número predefinido en el campo de suma de comprobación, y luego cuando se calcula la suma de comprobación, la suma de comprobación se escribe sobre el valor anterior. Cuando el paquete llega al destino, el sistema operativo de la máquina de destino mira al campo de encabezado 4 (bytes hechos desde los bits 16 al 31) y los saca del paquete, luego vuelve a calcular la suma de comprobación en el paquete sin nada en el campo de suma de comprobación . Luego, el sistema operativo compara la suma de control calculada con la que se transmitió en el paquete. Si la suma de comprobación es la misma, los datos están bien, y se permite pasar, pero si hay una diferencia, el paquete UDP y los datos se descartan, y la máquina receptora no intenta obtener un nuevo copiar, y la máquina de envío no intentará enviar ese mismo paquete. El paquete se pierde para siempre. ¡UDP no es confiable! Para obtener un protocolo de suite TCP/IP de Capa de transporte confiable, vea el paquete TCP.
Datos (bits variables): Como era de esperar, esta es la parte de carga o datos de un paquete UDP. La carga útil puede ser cualquier cantidad de protocolos (a menudo capa de aplicación). Algunos de los protocolos UDP más utilizados incluyen NFS, DNS, así como también múltiples protocolos de transmisión de audio y video. Si se produce un error en un paquete UDP y se desea corregir un error, se deja que la capa de aplicación encuentre el error y solicite a su capa de aplicación "trozo" o "trozo" de datos.
Haciendo una clase que contenga todos estos datos y los rellene apropiadamente, se sobrecarga ToString
para permitirle convertir a la matriz de bytes.
Espero que esto ayude.
¿Entonces solo necesita el paquete de capa IP, no las envolturas de Ethernet? –
@Sam Skuce Necesitaría tanto el encabezado IP como el encabezado UDP, no estoy seguro si el encabezado IP es el "envoltorio Ethernet" o no, gracias. – Justin