Академический Документы
Профессиональный Документы
Культура Документы
Comunicaciones
Tema 3
Fundamentos de
diseo de capas de
protocolos (1 parte)
N
REQUEST
CONFIRM
N-1
12
N
INDICATION
RESPONSE
N-1
Diseo e implementacin de
arquitecturas de protocolos
A pesar de los estndares de protocolos, hay
muchas cuestiones de diseo e implementacin
que se dejan a los programadores
Por ejemplo: cmo implemento cada capa? En
software? En hardware dedicado?
14
Capas en software
Mapeo 1-a-1
o
15
19
char * pduN
char * pduN_1
char * pduN_2
20
Elementos de soporte
gestor de
temporizadores
Inserta trama y
genera interrrupcin
NIC
22
BUFFER
CIRCULAR
ZONA DE DMA
2.
30
switch(estado)/case { switch(evento)/case}
rpido, poco modular
protocolo[estado][evento](argumentos)
costoso en memoria, pero modular
31
}
}
32
*/
*/
*/
*/
Fundamentos de Software de
Comunicaciones
Tema 3
Fundamentos de
diseo de capas de
protocolos (2 parte)
#include <inttypes.h>
Para imprimir de forma correcta estos valores:
uint64_t v = 6148914690091192593;
printf("valor = %"PRIu64" \n", v);
o
/*NOTA: este algoritmo no se utiliza as realmente, el S.O. tiene un #define con el tipo de arquitectura y la biblioteca de
sockets tiene unas funciones para hacer la conversin*/
uint16_t convierte_de_formato_interno_a_big_endian(uint16_t value){
#if defined(__LITTLE_ENDIAN_)
return cambia_endiannes(value);
#else
return value;
#endif
} /* en la biblioteca de sockets esta funcin se llama htons() -conversin de formato host (h) a formato network (n)*/
10
12
Control de errores
Informacin redundante para deteccin de
errores que es parte de la parte de control
de una PDU
Habituales en protocolos:
o
13
Checksum en trailers
DLE STX
comienzo
de trama
Checksums en cabeceras
15
Checksums en TCP/IP
Objetivo: detectar errores en las cabeceras (caso de IP) o
en la PDU completa (caso de ICMP, UDP y TCP)
16
Clculo de checksums
Complemento a uno de la suma de todas
las palabras de la secuencia
17
Implementacin en C (I)
Complementos a 1:
c_1 _de_valor = ~ valor;
18
Implementacin en C (II)
Implementacin estndar del checksum 16 bits para IP
19