Capa de Transporte Flashcards

1
Q

¿Cual es el objetivo de la capa de transporte?

A

Comunicar procesos corriendo en diferentes hosts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuales son los desafios de la capa de transporte?

A
  • La perdida de paquetes

- La corrupción de datos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Donde se implementa la capa de transporte?

A

En los End Systems.
Las funcionalidades estan implementadas en los hosts en los “extremos” de las redes. En una PC habitual las funcionalidades se implementan en el Sistema Operativo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cuales son los protocolos de la Capa de Transporte?

A

UDP y TCP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Como es el servicio que brinda UDP?

¿Que provee?

A

UDP brinda un servicio:

  • sin garantía de entrega (no confiable)
  • sin conexión

UDP Provee:
multiplexacion y Demultiplexacion
control de integridad (checksum)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Como es el servicio que brinda TCP? ¿Que provee?

A

TCP brinda un servicio:
Confiable
Orientado a la conexión

Provee:
(mismas caracteristicas que udp):
-Mux/Demux
-Control de integridad

(ademas):
-RDT:
Control de flujo
Seq Number + ACKS
timers
-Control de congestión

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Como se crea un segmento?

A
  1. Se divide el mensaje de App en segmentos
  2. Se agrega el header con sus identificadores
  3. Se lo pasa a la capa de red
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Que es un socket? ¿Para que se usa?

A

Un socket es una interfaz que define reglas que un programa debe seguir para poder enviar y recibir datos correctamente a traves de la red hacia un destino

Se usa para comunicar dos procesos en distintos hosts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mencione qué está sucediendo en este codigo

socket = Socket(AF_INET, SOCK_STREAM)
socket.bind(('', 12000))
socket.listen(1)
while True:
  client, addr = socket.accept()
  sentence = client.recv(1024).decode()
  client.send(process(sentence).encode())
  client.close()
A

se crea un socket TCP
se lo bindea al puerto 12000
se escucha en ese puerto, con una cola máxima de 1 cliente

Se loopea infinitamente aceptando 1 cliente, recibiendo un mensaje del mismo y retornando ese mensaje procesado con la funcion process, luego de eso se cierra la conexion con ese cliente y se vuelve a iterar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mencione qué está sucediendo en este codigo

socket = socket(AF_INET, SOCK_STREAM)
socket .connect(('servername', 12000))
socket .send("hola".encode())
modifiedSentence = socket .recv(1024)
socket .close()
A
Se crea un socket TCP
Se conecta a un server con direccion 'servername' y puerto 12000
Se envia un mensaje "hola"
Se recibe respuesta del server
Se cierra la conexion con el server
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mencione qué está sucediendo en este codigo
socket= socket(AF_INET, SOCK_DGRAM)
socket.bind((’’, 12000))

while True:
message, clientAddress = socket.recvfrom(2048)
modifiedMessage = process(message.decode())
socket.sendto(modifiedMessage.encode(), clientAddress)

A

Se crea un socket UDP
Se lo bindea al puerto 12000
Se reciben mensaje y direccion del emisor, usando un buffer maximo de 2048 bytes
Se procesa el mensaje
Se envia el mensaje procesado a la misma direccion de la que se recibio el mensaje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Mencione qué está sucediendo en este codigo
socket= socket(AF_INET, SOCK_DGRAM)
socket.sendto(‘hola’.encode(),(’hostname’, 12000))
modifiedMessage, serverAddress = socket.recvfrom(2048)
clientSocket.close()

A

Se crea un socket UDP
Se envia el mensaje “hola” a la direccion “hostname” en el puerto 12000
Se recibe en un buffer maximo de 2048 bytes la respuesta del server
se cierra el socket UDP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Que indica y de qué sirve el campo Window del header TCP?

A

Indica la cantidad de datos que el extremo de la transmisión puede recibir. (A esto se le llama rwnd, Receiver Window)
Sirve para evitar que la capa de aplicación reciba mas datos de lo que es capaz de consumir, y por lo tanto evitar buffer overflows.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Un socket es la interfaz entre la capa de transporte y la capa de red: V o F

A

Falso. Es la interfaz entre la capa de aplicación y la capa de transporte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

TCP implementa el pipeline con el protocolo Go-Back-N: V o F

A

Falso. Utiliza un hibrido de Go-Back-N y Selective Repeat

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

En TCP, si el valor del ACK recibido es 200. ¿Cuantos bytes han sido recibidos exitosamente? Justifique

A

Han sido recibidos al menos 199 bytes exitosamente, debido a que TCP indica el valor de offset en bytes que espera recibir próximo, y va a esperar al siguiente de lo que ha recibido exitosamente

17
Q

En determinada conexión TCP el current window size se redujo a la mitad, esto por qué pudo ocurrir?

A

Esto ocurre debido a un triple ACK duplicado en una implementación de TCP Reno

18
Q

Que son las syn cookies?

A

Una forma de devolver un numero de secuencia en tcp en el cual se codifica información del cliente, para no tener que guardar en un buffer la misma y evitar ataque de flood syn