martes, 30 de octubre de 2007

Revisión 1 de mi solución al examen de ARC2 de septiembre 2007 (Problema 1)

Tras la sesión de tutorías, se confirman las siguientes correciones a la pregunta 1 del examen.

[4] El parámetro más relevante en este contexto que se puede modificar es la MTU.

a.i) Existen tres modos de direccionamiento lógico a nivel 2:
  1. Mediante Ethertype (campo longitud/tipo = tipo; en la cabecera MAC)
  2. Mediante DSAP/SSAP (campos DSAP, SSAP y Control en la cabecera LLC, que indican qué protocolo va por encima; en la cabecera MAC, o bien no hay campo longitud/tipo, o si lo hay indica longitud)
  3. Mediante SNAP (una subcapa más entre LLC y el nivel superior; en la cabecera MAC, o bien no hay campo longitud/tipo, o si lo hay indica longitud; en la cabecera LLC los campos DSAP y SSAP valen 0xAA ó 0xAB y Control vale 0x03 (UI); en la cabecera SNAP hay un sólo campo llamado Protocol Identification de 5 bytes que tiene dos partes: los 3 primeros bytes son el OUI y valdría 00-00-00 y los otros 2 bytes indicaría el tipo Ethertype (ahí está el misterio que se encapsula))
Además, se tienen las siguientes consideraciones como ciertas:
  • En 802.3 se permiten los tres modos de direccionamiento lógico anteriores.
  • En cualquier otro protocolo para niveles Físico y MAC (como 802.11) sólo se permiten los modos 2 y 3 de direccionamiento lógico.
  • En 802.11 no existe campo longitud/tipo en la trama MAC y además siempre usa el nivel LLC.
  • El protocolo IP puede ser usado en combinación con los modos 2 y 3 de direccionamiento lógico.
  • El protocolo ARP, el cual IP requiere, sólo puede usarse con el modo 3 de direccionamiento lógico.
Como el BSS trabaja en 802.11 y se conecta con un dispositivo a través de una interfaz 802.3, se debe hacer uso de SNAP como modo de direccionamiento lógico a nivel 2.

a.ii) De igual modo, el BSS se conecta a una interfaz con protocolo 802.3, con lo que debe usarse SNAP para el direccionamiento lógico a nivel 2.

b.i) En este caso, el BSS se conecta a una interfaz 802.11. Dado que el protocolo de nivel de red es IP, puede usarse tanto DSAP/SSAP o SNAP para el direccionamiento lógico. No obstante, como es necesario usar el protocolo ARP, y éste sólo admite SNAP, usaremos SNAP tanto para IP como para ARP.

El nivel de aplicación conoce los protocolos de todos los niveles inferiores, con lo que conoce el tamaño de cada cabecera de los mismos y puede averiguar el tamaño máximo posible de su A_PDU. Este tamaño se obtiene a partir del tamaño máximo de una MAC_PDU para (en este caso) el protocolo 802.11, que es 2312 bytes. A continuación hay que restar el tamaño de las cabeceras de cada nivel superior hasta el nivel de aplicación.

De este modo, se tiene: 2312 - 3 (LLC) - 5 (SNAP) - 20 (IP) - 8 (UDP) - 4 (AP) = 2272 bytes, es el tamaño máximo de A_PDU.

Como se dice que hay que enviar 2300 bytes de datos útiles, se supera el máximo anterior, y hay que enviar dos UDP_PDUs. La primera con 2272 bytes de datos útiles y la segunda con 2300 - 2272 = 28 bytes de datos útiles.

b.ii) Aunque el destino sea el Pc M y se atraviese otras redes con otras tecnologías, el número de UDP_PDUs será el mismo, ya que si la MTU fuese otra en algún tramo y procediese fragmentar, dicha fragmentación se haría a nivel de red y sería transparente para el nivel de aplicación.

miércoles, 24 de octubre de 2007

Mi solución al examen de ARC2 de septiembre 2007 (Problema 2)

PROBLEMA 2

En la figura 1 se representa la red de una empresa conectada a Internet que usa tecnología 802.3 100baseT4 [1] en la que se ha sustituido el dispositivo X por un servidor web y Repeater0 por un router: Router 3 de las mismas interfaces. Responda de manera justificada a las siguientes cuestiones:

a) ¿Cuántos dominios de broadcast hay en la red de la empresa?, indíquelos.

b) ¿Es posible usar el mecanismo de control de flujo de 802.3 en esta red? ¿En dónde?

c) El puerto 1 del Router 2 tiene configurada la dirección IP 200.10.15.21 y esa es la dirección IP origen que aparece en todos los datagramas que reciben los usuarios de Internet, p.e. servidores de Internet, procedentes de PCs de la empresa. (Justifique todas sus respuestas).

c.i) ¿Cómo accede esta empresa a Internet?

c.ii) Realice una asignación de direcciones IP a todas las redes de la empresa que aparecen en la figura 1, de tal forma que se minimice el número de bits dedicados a identificar a red. Para cada red deberá indicar dirección de red, máscara, dirección de broadcast dirigido y rango de direcciones IP disponibles para configurar dispositivos con capa Internet. (Nota: Debe usar como red de partida una clase C que le garantice a la empresa acceder a cualquier host/servidor de Internet. Suponga que en las tablas de enrutamiento de los routers de la empresa no aparece el prefijo de red).

c.iii) Teniendo en cuenta el apartado anterior, indique el contenido mínimo de las tablas de enrutamiento de los routers Router 1 y Router 3, para que todos los PCs de la empresa puedan intercambiar datagramas entre ellos y con PCs de Internet.

c.iv) ¿Qué contendrá la tabla de direcciones de todos los dispositivos de nivel 2 de la red de la empresa si un usuario de Internet se descarga una página web del servidor de la empresa?

COMENTARIOS AL PROBLEMA 2

[1] La tecnología 100baseT4 opera únicamente en modo half-dúplex. Por ello, en ningún tramo de la red empresarial se puede tener full-dúplex.

MIS RESPUESTAS AL PROBLEMA 2 (Son sólo mis respuestas, quizás no sean correctas)

a) Existen 5 dominios de broadcast y son los indicados en la figura adjunta. Un dominio de broadcast está formado por todas las estaciones, dispositivos y puertos con nivel 2 o inferior que están delimitados por dispositivos de nivel 3.


b) El mecanismo de control de flujo puede ser efectuado por el nivel LLC (802.2); no obstante, dentro del nivel MAC de 802.3 puede existir una subcapa en la parte superior llamada MAC_CONTROL que es opcional y se puede encargar del control de flujo. La cuestión es que esto sólo funciona cuando se opera con full-dúplex. Por tanto, el mecanismo de control de flujo de 802.3 sólo puede usarse en aquellas regiones de la red donde exista full-dúplex. En esta red empresarial, al disponer únicamente de la tecnología 100baseT4, y ésta operar sólo en modo half-dúplex, no se puede usar el mecanismo de control de flujo de 802.3 en ninguna parte de la red (ver transparencia 6 del tema 6 de ARC1).

c.i) La empresa parece haber contratado y reservado una dirección IP pública de clase C que es 200.10.15.21, y ésta es la que la red empresarial ofrece a Internet. El Router 2 se encarga de traducir o mapear las direcciones IP desde la IP pública hacia la intranet de la empresa (y viceversa) mediante una tabla NAT. Por tanto, las distintas estaciones de la red de la empresa reciben direcciones IP usando un direccionamiento privado.

c.ii) Se usará el direccionamiento privado. Además, como las tablas de enrutamiento no almacenan los prefijos de red, se podrá usar sólo direccionamiento con clase; ya que para el direccionamiento sin clase (CIDR) es necesario almacenar los prefijos de red (qué parte es red y qué parte son hosts). Se usará la clase C, tal como se indica en el enunciado. Por otra parte, se necesitan 5 redes, ya que existen 5 dominios de broadcast en la red empresarial. El mínimo número de bits necesarios para identificar red es 3, ya que 2^3 es 8, y ésta es la potencia de 2 más cercana por exceso al número de redes más 2 (hay que sumar 2 al número de redes para calcular el número de bits, porque siempre habrá dos subredes inútiles: la primera y la última; por coincidir con la dirección de red completa y con la de broadcast no dirigido). Al ser clase C, los tres primeros octetos de la dirección IP identificarán red, mientras que el último byte servirá para identificar a los hosts. Si queremos usar 3 bits para red, los tomaremos prestado de los bits menos significativos de los tres primeros octetos (esto es algo en lo que quizá me esté equivocando; puede que tenga que tomarlos prestado del último octeto, no lo sé). Con lo cual la estructura de las direcciones IP quedará 192.168.[0000 0xxx].[0-255] y la máscara de red será 255.255.255.0. Por tanto, podemos escribir la siguiente tabla. Se usarán sólo las redes 192.168.1.0 a 192.168.5.0.

DIRECCIÓN DE RED

MÁSCARA

BROADCAST DIRIGIDO

RANGO DE IP’S ÚTILES

192.168.0.0

255.255.255.0

192.168.0.255

192.168.0.1 - 192.168.0.254

192.168.1.0

255.255.255.0

192.168.1.255

192.168.1.1 - 192.168.1.254

192.168.2.0

255.255.255.0

192.168.2.255

192.168.2.1 - 192.168.2.254

192.168.3.0

255.255.255.0

192.168.3.255

192.168.3.1 - 192.168.3.254

192.168.4.0

255.255.255.0

192.168.4.255

192.168.4.1 - 192.168.4.254

192.168.5.0

255.255.255.0

192.168.5.255

192.168.5.1 - 192.168.5.254

192.168.6.0

255.255.255.0

192.168.6.255

192.168.6.1 - 192.168.6.254

192.168.7.0

255.255.255.0

192.168.7.255

192.168.7.1 - 192.168.7.254



c.iii)

Tabla de enrutamiento del Router 1:

Red

Próximo salto

Interfaz

192.168.1.0

-

Port0

192.168.4.0

-

Port1

192.168.2.0

-

Port2

192.168.3.0

-

Port3

192.168.5.0

IP_Port0_Router3

Port

Tabla de enrutamiento del Router 3:

Red

Próximo salto

Interfaz

192.168.4.0

-

Port0

192.168.5.0

-

Port1

192.168.1.0

IP_Port1_Router1

Port0

192.168.2.0

IP_Port1_Router1

Port0

192.168.3.0

IP_Port1_Router1

Port0



Faltaría decir que el router por defecto para ambos routers es la dirección IP del puerto 0 del router 2, para encontrar otras redes (Internet).



c.iv) Un cliente de Internet, al descargar una página web del servidor, provoca que se produzca el siguiente camino para los datagramas: desde Internet al Router 2, desde el Router 2 al Router1, del puerto 0 del Router 1 al puerto 2 del Switch 2 y del puerto 3 del Switch 2 al servidor web. Hasta que el servidor Web no responda con algún datagrama, el Switch 2 no aprenderá su dirección MAC y reenviará todas las tramas procedentes del cliente a través de sus puertos 0 y 1, llegándole también la trama al Switch 1. Por tanto, sólo se verán afectados en esta comunicación los dispositivos de nivel 2 siguientes: Switch 1 y Switch 2. Con ello, tras una comunicación bilateral entre cliente y servidor, se tendrán las siguientes tablas de direcciones para estos dispositivos de nivel 2 afectados.

Tabla de direcciones del Switch 1:

Interfaz

Dirección MAC

Port3

MAC_Port0_Router1

Tabla de direcciones del Switch 2:

Interfaz

Dirección MAC

Port2

MAC_Port0_Router1

Port3

MAC_ServidorWeb

Mi solución al examen de ARC2 de septiembre 2007 (Problema 1)

PROBLEMA 1

En la figura 1 se representa una red IP [1], compuesta por segmentos 802.3/100baseTX [2] interconectados mediante diferentes dispositivos de interconexión, a lo que se desea conectar, a través del puerto 3 del switch 2, el BSS 802.11 [3] que aparece en la figura 2. Suponga que:

  • Los parámetros del BSS se pueden modificar si es necesario [4]
  • Cada dominio de broadcast es una red IP [5]
  • Todos los dispositivos con capa Internet están perfectamente configurados para la red IP a la que pertenecen, y conocen las direcciones IP del resto de PCs [6]
  • No se ha producido ningún tráfico en la red [7]
  • Es posible el intercambio de datagramas entre cualquier PC que aparece en la red [8]
  • En 802.3 el campo longitud/tipo significa tipo [9]

Se pide:

a) Justifique de manera razonada cómo se haría el direccionamiento lógico a nivel 2 [10] y que parámetros se usarían en el BSS si para conectarlo se sustituye el dispositivo X:
i) directamente por el punto de acceso de la figura 2 [11]
ii) por un router con dos interfaces 802.3 [12]


b) Suponga que para conectar el BSS de la figura 2 se sustituye el dispositivo X por un router con dos interfaces: una 802.3 y otra 802.11. Si un protocolo de aplicación cliente instalado en el PC C desea enviar 2300 bytes de datos mediante UDP al protocolo de aplicación servidor instalado en el PC A. Responda de manera justificada. (Nota: la PCI de UDP es 8 bytes + la PCI del protocolo de aplicación son 4 bytes. Las A_PDUs que envía el protocolo de aplicación son del tamaño máximo posible)
i) ¿Cuántas UDP_PDUs recibirá el PC A?
ii) ¿Recibirá las mismas UDP_PDUs si el destino es PC M? ¿Por qué?


COMENTARIOS AL PROBLEMA 1

[1] Red cuyo protocolo para el nivel de red es IP y por tanto usa TCP/IP como arquitectura.

[2] Protocolo IEEE 802.3 aplicado sobre los niveles físico y MAC para las DTEs y DCEs de la red. La velocidad en la red es de 100 Mbps en banda base con par trenzado. Además se usan dos enlaces físicos: uno para recibir y otro para transmitir.

[3] Es una infraestructura BSS con un punto de acceso que funciona como un puente y un conjunto de clientes. El punto de acceso requiere que los clientes se asocien previamente con él y sólo reenvía una trama si ésta va dirigida a algún cliente registrado en el BSS.

[4] El parámetro más relevante en este contexto que se puede modificar es …

[5] Esto es lo normal y así se hace explícito. No obstante, las estaciones pueden configurarse adrede para pertenecer a otras redes IP dentro del mismo dominio de broadcast, aunque esto no es lo normal.

[6] Ello significa que cada dispositivo con nivel 3 tiene configurada su dirección IP, dirección de red a la que pertenece, máscara de subred y dirección IP del router por defecto. Además, tiene en su tabla de encaminamiento las direcciones IP de los dispositivos con nivel 3 que se encuentran en su misma subred.

[7] Eso implica que las tablas de direccionamiento de los dispositivos con nivel 2 se encuentran vacías; y que las cachés ARP de las estaciones también lo están.

[8] No existe obstáculo para que dos PCs cualesquiera puedan intercambiarse datagramas.

[9] Si el valor del campo longitud/tipo es menor a 1536, indica longitud (aunque la longitud nunca será mayor que 1500). Es decir, el número de bytes de datos que siguen a este campo. En este caso, la subcapa LLC provee la identificación del protocolo. Por el contrario, si el valor es mayor o igual a 1536, indica Tipo, es decir, el tipo de protocolo que decodifica los datos.

[10] El direccionamiento lógico a nivel 2 parece que es la forma de distinguir mediante distintos números (direcciones) los protocolos que puedan ir por encima del nivel MAC. Por ejemplo, el nivel LLC ó bien IP. Parece que hay tres formas diferentes de realizar este mecanismo de direccionamiento lógico: 1-Mediante LLC y DSAP/SSAP; 2-Mediante Ethertype (campo long/tipo=tipo (el nivel MAC distingue el protocolo superior); 3-No recuerdo (algo relacionado con SNAP).

[11] El BSS se conecta directamente a un switch mediante un enlace 802.3.

[12] El BSS se conecta a un router mediante un enlace 802.3.



RESPUESTAS PROBLEMA 1 (Son sólo mis respuestas, quizás no sean correctas)

a.i) Como el dispositivo al que se conecta el BSS es de nivel 2 (un switch), debe usarse el mecanismo de direccionamiento lógico basado en el nivel MAC; es decir, el campo longitud/tipo indica tipo (Ethertype); y por encima de este nivel (MAC) se encuentra IP. Esto debe ser así porque el nivel más alto del switch es el nivel MAC, y no se puede dejar al nivel LLC con SNAP hacer el trabajo del direccionamiento.

a.ii) Al tratarse el dispositivo al que se conecta el BSS de nivel 3 (un router), se puede usar cualquiera de los tres mecanismos.

b.i) Recibirá una sola UDP_PDU, quien fragmenta los datos es el nivel de red, luego para el nivel UDP es transparente esta fragmentación. De cualquier modo, en este caso, al ser la comunicación con 802.11 y la MTU es 2312 bytes. Además, el datagrama enviado son 2300 bytes de datos más 32+X bytes de cabeceras (4 bytes del nivel de aplicación, 8 de UDP, 20 bytes de IP y X bytes de MAC 802.11). Con lo cual, sí habrá una fragmentación del datagrama, aunque, insisto, el destino sólo recibe una UDP_PDU.

b.ii) El destino PC_M recibe las mismas UDP_PDU. Esto es así por el mismo motivo que en el apartado anterior: para el nivel UDP la fragmentación de datagramas es transparente. Evidentemente los datagramas se fragmentarán y se reensamblarán en el destino; además que se está cruzando redes de distinta tecnología (802.11 y 802.3) con diferente MTU.