SCTP_Una alternativa al protocolo TCP sobre Linux

Anuncio
S C TP: Una alternativa al
protocolo TC P s obre
Linux
Ing. Isaac Fernández Baca Peña
M arco Teórico:
Q ué es S C TP ?
Stream Control Transmission Protocol
Similar a TCP y UDP.
Es un protocolo de comunicación que trabaja en la
capa de transporte.
Definido por el grupo SIGTRAN inicialmente para SS7
sobre IP.
Definido en la RFC2960.
M odelo TC P / IP
Formato del P aquete
(Fuente: The International Engineering Consortium, Stream Control Transmission Protocol)
P roceso de comunicación en S C TP
(Fuente : Ding J.W, Stream
Control Transmission Protocol,
The Management of Information
system,
http://fs.mis.kuas.edu.tw,
Taiwan)
ATAQ UE D E INUND AC IÓ N C O N
S E G M E NTO S S YN
(Fuente: Iyengar J., Stream Control Transmission Protocol (SCTP), Protocol Engineering Lab,
Computer & Information Sciences, University of Delaware)
Asociaciones y M ultihoming
Terminal X
Terminal Y
NIC1
NIC3
NIC2
IP=207.10.3.20
IP=168.1.10.30
Red
168.1.x.x
Red
207.10.x.x
NIC4
IP=207 .10.40.1
IP=168.1.140.10
M odo de O peración M ultihoming
Tanto el INIT como el INITACK
contienen los chunks con las IP
IP address A1
1
INIT ACK
SCTP
Endpoint A
IP address A2
INIT
IP address B1
SCTP
Endpoint B
2
IP address B2
M odo de O peración M ultihoming
IP address A1
1
SACK
SCTP
Endpoint A
IP address A2
DATA
IP address B1
SCTP
Endpoint B
2
IP address B2
DA
M odo de O peración M ultihoming
IP address A1
1
SCTP
Endpoint A
IP address A2
SACK
DATA
IP address B1
SCTP
Endpoint B
2
DATA
IP address B2
M odo de O peración M ultihoming
• Todos los path donde no haya un SACK seran marcados como
“Out of Service”
Out of Service
IP address A1
X
1
SCTP
Endpoint A
IP address A2
SACK
IP address B1
SCTP
Endpoint B
2
DATA
IP address B2
DA
M odo de O peración M ultihoming
• Heartbeat chunks son enviados para sensar el estado de las
asociaciones, si no responden se marcan como Out of Service
IP address A1
1
Heartbeat Ack
SCTP
Endpoint A
IP address A2
Heartbeat Ack
2
Heartbeat
IP address B1
SCTP
Endpoint B
Heartbeat
IP address B2
C O M P AR AC IO N D E LAS C AR AC TE R IS TIC AS
D E S C TP , TC P Y UD P
CARACTERISTICAS DE PROTOCOLO
SCTP
TCP
UDP
Estado almacenados en los terminales
Si
Si
No
Transferencia confiable de los datos
Si
Si
No
Control de congestion
Si
Si
No
Delimitación de los mensajes
Si
No
Si
Fragmentación e integración de la
información
Si
Si
No
Multiplexación de información del
paquete
Si
Si
No
Soporte de multi-homing
Si
No
No
Soporte de multi-streaming
Si
No
No
Envío de datos fuera de orden
Si
No
Si
Cookie de seguridad para evitar ataques
de inundación de SYN
Si
No
No
Mensaje heartbeat
Si
No
No
(Fuente[14]: Stewart R. and Xie Q.,
Stream Control Transmission
Protocol(SCTP): A Reference Guide,
Addison Wesley, 2002)
P roblema de head of the line blocking que sufre TC P
E jemplo de programación con sockets
Nota: Puede ser cero(0) o
IP_PROTO_TCP
int sockfd, n;
char recvline[MAXLINE + 1]; /* read buffer*/
struct sockaddr_in servaddr;
sockfd = socket(AF_INET, SOCK_STREAM, IP_PROTO_TCP); /* TCP socket */
sockfd = socket(AF_INET, SOCK_STREAM, IP_PROTO_SCTP); /* SCTP socket */
/* fill in socket address structure */
servaddr.sin_family = AF_INET; servaddr.sin_port = htons(13);
inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
while ( (n = read(sockfd, recvline, MAXLINE)) > 0 )
{
recvline[n]=0; /* null terminate */
fputs(recvline, stdout);
}
close (sockfd);
S elección de S O - ID E
Herramientas utilizadas - S C TP
Iperf1.6
Netperf
EchoTools
SCTPperf
5
E scenarios de P ruebas Iperf
3
5
Columna C
Columna E
2
5
1
5
0
1
2
3
4
5
6
7
8
9
10
11
12
Número de prueba
13
14
15
16
17
18
19
20
E scenarios de P ruebas E choTools
R esultados de P ruebas E choTools
Figura A2.4 Variando el tamaño de mensajes -Latencia Media
TCP
0,0100
SCTP 1
stream
0,0090
0,0080
SCTP 10
streams
Latencia Media ( segundos )
0,0070
SCTP 50
streams
0,0060
SCTP 100
streams
0,0050
0,0040
SCTP 150
streams
0,0030
SCTP 200
streams
0,0020
SCTP 250
streams
0,0010
SCTP 300
streams
10 bytes
20 bytes
30 bytes
40 bytes
50 bytes
60 bytes
70 bytes
80 bytes
90 bytes
100 bytes
E scenarios de P ruebas S C TP perf
●
ESCENARIO 5: MULTIHOMING CON TRES INTERFACES DE RED
R esultados de P ruebas S C TP perf
E scenarios de P ruebas LabV203
R ecomendaciones para Trabajos Futuros
Hacer un estudio sobre los avances de
SCTP sobre Windows y sobre las librerías
que están en desarrollo para Java e
implementar una aplicación
multiplataforma.
Realizar un estudio de la aplicación del
protocolo SCTP en conjunto con el
protocolo IPv6 a las redes celulares,
SCTP/IPv6 mobile en lugar de TCP/IP.
¡ MUC HAS G R AC IAS !
ifernandezbaca@pucp.edu.pe
ifernandezbaca@gmail.com
Descargar