Duda struct iphdr

Duda struct iphdr

de Cristiano Coelho De Asis -
Número de respuestas: 4
El atributo tot_len del header del paquete ip, incluye tambien el tamaño de éste? Osea, tot_len = tamaño ipheader + tamaño datos, o solamente tamaño datos?
En respuesta a Cristiano Coelho De Asis

Re: Duda struct iphdr

de Maria Daniela Rivero Caraballo -
Qué, el tamaño del header IP no se debe asumir fijo? Me sumo a la duda.
En respuesta a Maria Daniela Rivero Caraballo

Re: Duda struct iphdr

de Jose Maria Aguerre Oliver -
Nosotros usamos sizeof(struct iphdr) para obtener el tamaño y siempre nos da 20 bytes... Esto no quiere decir que siempre sea 20 ya que en realidad hay una parte del header que es "opcional" siempre que el IHL(Internet Header Length) sea mayor a 5 te pueden venir más campos en la parte opcional... Pero como los paquetes los estas armando vos a priori sabes el tamaño que le das, no?
En respuesta a Jose Maria Aguerre Oliver

Re: Duda struct iphdr

de Diego Javier Bortot Valle -
Esto es del Kurose:

"Header Length: Because an IPv4 datagram can contain a variable number of options (which are included in the IPv4 datagram header) these 4 bits are needed to determine where in the IP datagram the data actually begins. Most IP
datagrams do not contain options so the typical IP datagram has a 20 byte header."

en el punto 4.4.3 "Datagram format" (en una edicion del 2000)
Espero que sirva.
Saludos.

En respuesta a Diego Javier Bortot Valle

Re: Duda struct iphdr

de Federico Rodriguez -
Para determinar el tamaño del segmento PCT transmitido, se puede resolver con el valor devuelto por el recv del socket, que son la cantidad de bytes entregados.

Aquí puede resolverse en el receptor el tamaño de segmento recibido.

Federico