Redes TCP / IP
Reseña Histórica Desarrollado para el DoD ARPANET (1970s) Usado en la Internet y en redes LAN Encontrado en computadoras de diferentes tamaños. Soporta tecnologías LAN y WAN Soporta enrutamiento dinámico. Libre Comercialización.
Request for Comments (RFCs) Usado para formalizar protocolos. Condición de estandarización: Estándar, Propuesto, Experimental, Histórico Nivel del protocolo Obligatorio Recomendado Electivo No Recomendado.
ARQUITECTURA TCP/IP OSI TCP/IP FTP SMTP DNS SNMP ICMP ARP Applications layer Transport layer (host Level) Internet layer (Gateway Level) Network Interface Layer Application Presentation Session Transport Network Data Link Physical Telnet FTP SMTP DNS SNMP Transmission Control Protocol User Datagram Protocol ICMP ARP Internet Protocol Ethernet Token Ring FDDI WANs
Formato IP 0 4 8 16 24 31 TOS Longitud Total identificación 0 4 8 16 24 31 Head length TOS Longitud Total version identificación Desplaz. fragmento flag TTL protocolo Suma verific. encabezado Direccion IP de la Fuente Dirección IP del Destino OPCIONES IP Relleno DATOS .........................
Capa Internet : Internet Control Message Protocol (ICMP) Telnet FTP SMTP DNS SNMP TCP UDP ICMP ARP Internet Protocol Ethernet Token Ring FDDI WANs
Capa Internet : Internet Control Message Protocol (ICMP) Mensajes de Error Destination Unreachable Redirect Source Quench Time Exceeded Parameter Problem Mensajes de Información Echo/Request (Ping) Information TimeStamp Address Mask Router Discovery
Capa Transporte : Transmission Control Protocol (TCP) Origen (activo) Destino (pasivo) Establecer Conexión syn Syn ack Transferecia de Datos Cerrar Conexión fin (fin) (ack) (ack)
Direccionamiento IP
Direccionamiento IP 0 1 2 3 . . . . . . 29 30 31 Dirección de Red Dirección de Host
Clases de Direcciones IP Formato de Direcciones Clase A 0 1 7 8 31 0 Red (7) Dirección de Host (24) Formato de Direcciones Clase B 0 1 2 15 16 31 1 0 Red (14) Dirección de Host (16)
Direcciones Multicast Clases de Direcciones IP Formato de Direcciones Clase C 0 1 2 3 23 24 31 1 1 0 Red (21) Host (8) Formato de Direcciones Clase D 0 1 2 3 4 31 1 1 1 0 Direcciones Multicast
Notación decimal con puntos Ejemplo Clase A Red Host 0 31 00011110. 00001010 . 00010101 . 00010001 30 10 21 17 30.10.21.17 Ejemplo Clase B Red Host 0 31 10000001. 00001010 . 00000010 . 00000011 129 10 2 3 129.10.2.3
Notación decimal con puntos Ejemplo Clase C Red Host 0 31 110 01010. 00001111 . 00010111 . 00001011 202 15 23 11 202.15.23.11
Ejercicios Convertir de Binario a Decimal: 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 Convertir de Decimal a Binario: 48 222 119 135 60
Ejercicios Expresar en formato binario, además identificar la clase, el campo de dirección y el campo de host. 145 . 32 . 59 . 24 200 . 42 . 129 . 16 249 . 42 . 32 . 21 14 . 89 . 20 . 34 127. 0. 0 . 1
Ejemplo de Aplicación 128.1.0.1 128.1.0.2 128.1.0.3 Red 128.1.0.0 128.1.0.5 128.1.0.6 Bridge 128.1.0.4 Red 128.1.0.0 128.1.0.7 Router Red 128.2.0.0 128.2.0.1 128.2.0.2 128.2.0.3 128.2.0.4 128.2.0.5
Address Resolution Protocol (ARP) ARP Request B Broadcast A
Address Resolution Protocol (ARP) ARP Response B Unicast A
Reverse Address Resolution Protocol (RARP) RARP Request RARP server (hardware address) RARP client IP address = ?
Reverse Address Resolution Protocol (RARP) RARP Response RARP server (IP address) RARP client
Inverse Address Resolution Protocol (InARP) DLCI = 22 10.0.0.2 Frame Relay Network DLCI = 33 10.0.0.1 10.0.0.3
Resumen: ARP, RARP, InARP REQUEST RESPONSE DESTINO ORIGEN
Direcciones IP Especiales 0 1 2 3 . . . . . . 29 30 31 RED HOST
Broadcast Limitado y Broadcast Dirigido Red 130.1.0.0 Router A Port 1 D C Port 2 130.2.0.0 Port 1 F E Router B Port 2 130.3.0.0
Recipientes de Paquetes difundidos por el Host A Origen Destino Recipientes Host A 255.255.255.255 Host A, Host B, Rtr_A Port 1 Host A 130.1.255.255 Host A, Host B, Rtr_A Port 1 Host A 130.2.255.255 Host C, Host D, Rtr_A Port 2, Rtr_B Port 1 Host A 130.3.255.255 Host E, Host F, Rtr_B Port 2
IP Multicasting 0 1 2 3 31 1 1 1 Dirección Multicast
IP Multicast a Ethernet Multicast 28 bits IP multicast address 1110****************************** Ethernet multicast address 0000000100000000010111100 ************************ 23 bits
Fundamentos de IP Routing
Arquitectura de Internet Red Red Red IP Router IP Router Red Red IP Router
Routing Directo Host Destino Host Origen IP Router
Routing Indirecto Host Origen IP Router IP Router Host Destino
Tablas de Enrutamiento Dest. Addr: 128.3.0.0 Next Router Hops Owner Timer 128.5.3.2 3 RIP 145 128.5.4.7 3 RIP 170 128.5.3.9 6 RIP 25
Tablas de Enrutamiento 130.1.0.0 130.2.0.0 130.4.0.0 130.3.0.0 2.0.3 3.0.3 1.0.2 Port 1 Port 1 Port 1 Port 2 Port 2 Port 2 2.0.2 3.0.2 4.0.2 Router A Router C Router B
Modelo de Funcionamiento 130.1.0.0 130.2.0.0 130.4.0.0 130.3.0.0 Router B Router C Router A % 080002001233 % 080002001231 % 080002001235 130.2.0.3 130.1.0.2 130.3.0.3 Port 1 Port 1 Port 1 Port 2 Port 2 Port 2 130.4.0.2 130.2.0.2 130.3.0.2 % 080002001236 % 080002001232 % 080002001234 B A 130.1.0.1 130.4.0.1 % 080002001111 % 080002001231
Paquete en la Red 130.1.0.0 IP Ethernet IP Data Ethernet Data CRC Host Destino Host Origen 130.1.0.1 IP Data 130.4.0.1 Ethernet MAC Destino % 80002001231 MAC Origen % 80002001111 Type 0800 Ethernet Data CRC
Paquete en la Red 130.2.0.0 IP Ethernet IP Data Ethernet Data CRC Host Destino Host Origen 130.1.0.1 IP Data 130.4.0.1 Ethernet MAC Destino % 80002001233 MAC Origen % 80002001232 Type 0800 Ethernet Data CRC
Paquete en la Red 130.3.0.0 IP Ethernet IP Data Ethernet Data CRC Host Destino Host Origen 130.1.0.1 IP Data 130.4.0.1 Ethernet MAC Destino % 80002001235 MAC Origen % 80002001234 Type 0800 Ethernet Data CRC
Paquete en la Red 130.4.0.0 IP Ethernet IP Data Ethernet Data CRC Host Destino Host Origen 130.1.0.1 IP Data 130.4.0.1 Ethernet MAC Destino % 80002002222 MAC Origen % 80002001236 Type 0800 Ethernet Data CRC
Rutas por Default Si la ruta para un datagrama no puede ser localizado, se descarta el paquete. Si está definido la ruta por default, el router lo utiliza. Las rutas por default, reducen el tamaño de las tablas
Redes Lógicas Múltiples 130.1.0.3 130.2.0.2 130.2.0.3 130.1.0.2 Red 130.1.0.0 130.1.0.1 130.2.0.1 Red 130.2.0.0 130.3.0.1 Red 130.3.0.0 130.3.0.2 130.3.0.3
IGP y EGP EGP IGP1 IGP2 IGP2 IGP1 IGP1 IGP2 IGP1 IGP1 IGP2 Sistema autónomo 1 Sistema Autónomo 2
Algoritmos de Enrutamiento ESTATICO Tablas creadas por el Administrador. Problemas con cambios y crecimiento rápidos. Si cambia la topología el router debe ser actualizado manualmente Ubicar errores es dificil. DINAMICO Responden automáticamente a los cambios de topología Responden automáticamente a problemas de congestión
Algoritmos de Enrutamiento Dinámico Dos tipos: Vector-Distancia (Bellman-Ford) Estado de Enlace (Shortest Path First ó Dijkstra Usan métricas para calcular el camino más corto a la red destino. Algunas métricas usadas son: Número de Saltos (hop) Retardo de transmisión. Ancho de Banda de la línea Definida por el administrador
Algoritmos de Vector - Distancia Ventajas: Fácil de implementar Requiere pocos ciclos de CPU. Desventajas: Dificil de verificar la veracidad de las tablas Actualización lenta en redes grandes Dificil de localizar fallas en routers Pueden generarse cadenas de actualización Convergencia lenta Problemas de crecimiento ó escalabilidad
Algoritmos de Estado de Enlace Conocen la topología completa de la red Las tablas contienen el estado de cada ruta. Los routers usan la misma base de datos. Ventajas: Elimina los lazos y convergencia lenta Fácil de detectar routers que fallan Facilidad de crecimiento ó escalabilidad Desventajas: Demasiada memoria y ancho de banda. Requiere muchos ciclos de CPU.
Algoritmo de Dijkstra Cálculo de la trayectoria más corta B 7 C 2 3 2 2 F 3 E A D 1 2 6 2 4 G H Usado en el enrutamiento por estado de enlace (OSPF)
Enrutamiento con Múltiples rutas Las rutas aprendidas o configuradas son almacenadas en las tablas de enrutamiento. Rutas alternativas (redundancia) Con múltiples rutas, el router usa la ruta de mayor precedencia según una lista predefinida y la de menor costo. Si existe más de una ruta con el mismo mejor costo, el administrador debe elegir usar carga dividida entre las rutas ó round-robin basis.
Tipos de rutas y precedencia 1. Estática (sin override) 2. OSPF intra-area 3. OSPF inter-area 4. Integrated IS-IS intra- area. 5. Integrated IS-IS inter- area 6. RIP 7. OSPF tipo 1 externo 8. OSPF tipo 2 externo 9. Integrated IS-IS externo. 10. ICMP redirect message (sólo modo host) 11. EGP 12. Estática (con override)
Ejemplo # 1 Network Next Hop Router Metric Owner 10.0.0.0 129.1.4.2 * 2 RIP 129.1.4.3 5 RIP 129.1.5.4 * 2 RIP 129.1.5.5 4 RIP Load split enable: las 2 Load split disable: old (the first)
Ejemplo # 2 Network Next Hop Router Metric Owner 20.0.0.0 129.1.3.2 * 2 RIP 129.1.4.3 5 EGP 129.1.5.4 3 Static(#) (#) :(overrride enable)
Ejemplo # 3 30.0.0.0 129.1.3.2 2 RIP 129.1.4.2 * 100 OSPF - intra Network Next Hop Router Metric Owner 30.0.0.0 129.1.3.2 2 RIP 129.1.4.2 * 100 OSPF - intra 129.1.5.4 3 Static(#) (#) :(overrride enable)
Manejo de Paquetes por el Router IP recibido NO Cabecera y checksum válidos ? SI NO Disminuir TTL es TTL>0 ? Enviar ICMP time exceeded Descartar paquete SI
TTL>0 SI NO NO SI SI Descartar paquete Chequear tabla con dirección. Destino IP NO NO Ruta por Default definida ? Ruta encontrada ? Enviar ICMP destination unreachable SI SI Si la ruta es UP, buscar ARP caché para mapa direcciones
NO SI Enviar paquete para su transmisión MAC encontrada ? Enviar ARP Request SI ARP Reply recibido almacenar direcciones en caché ARP Use número de puerto de la tabla de rutas, use dirección física del caché ARP Enviar paquete para su transmisión
Direccionamiento de Subredes
Introducción Una dirección IP crea 2 niveles jerárquicos: <red> <host>. VENTAJAS Las tablas de enrutamiento contienen sólo rutas a cada red. Las direcciones de Host son asignadas por el administrador local
Introducción Una dirección IP crea 2 niveles jerárquicos: <red> <host>. DESVENTAJAS Requerimiento de más números de red cada vez que una nueva red se instala. Genera mayor crecimiento de las tablas de enrutamiento.
Introducción Una dirección IP crea 2 niveles jerárquicos: <red> <host>. SOLUCION: Tres niveles jerárquicos: <red> <subred> <host> La estructura de subredes no es visible fuera del grupo de redes.
Introducción La Internet Todo el tráfico a: 128.5.0.0 128.5.1.3 128.5.1.5 128.5.1.4 Red 128.5.1.0 128.5.1.1 128.5.1.2 128.5.3.1 128.5.3.0 128.5.2.1 Red 128.5.2.0 128.5.2.3 128.5.2.2 128.5.3.3 128.5.3.2
Máscara de la subred Dirección IP Normal Número de Red Número de Host Default Mask 11111111 11111111 00000000 00000000 Dirección de Subred Número de Red Subred Host de Subred Máscara de la subred 11111111 11111111 11111111 00000000
Tabla de Referencia # bits #subredes ó #hosts 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256 # bits #subredes ó #hosts 9 512 10 1,024 11 2,048 12 4,096 13 8,192 14 16,384 15 32,768 16 65,536
Tabla de Referencia # bits #subredes ó #hosts Máscara 17 131,072 17 131,072 18 262,144 19 524,288 20 1,048,576 Máscara Binario Decimal 00000000 0 10000000 128 11000000 192 11100000 224 11110000 240 11111000 248 11111100 252 11111110 254 11111111 255
Ejercicios 1. Se tiene la dirección: 172.16.0.0. Se requieren 256 subredes, cada una con 256 hosts. Determinar la máscara de las subredes, las 6 primeras subredes, el rango de direcciones para los hosts de cada subred. 2. 161.132.0.0 8 subredes con 8,192 hosts/subred
Ejercicios 3. 210.10.5.0 4 subredes con 64 hosts/subred 4. 180.65.0.0 4. 180.65.0.0 6 subredes
Método Práctico MASCARA DE LA SUBRED 1. Determinar el número de subredes requeridos tomando en cuenta futuras necesidades. 2. Convertir el número de subredes a binario. 3. Convertir el número de bits requeridos a decimal, comenzando de izquierda a derecha y agregar ceros a la derecha para completar 8 bits.
Tabla de conversión Clase A #subredes #hosts/subred 2 válido 4 4,194,304 8 2,097,152 16 1,048,576 32 524,288 64 262,144 128 131,072 256 65,536 #bits Subnet Mask 1 255.128.0.0 2 255.192.0.0 3 255.224.0.0 4 255.240.0.0 5 255.248.0.0 6 255.252.0.0 7 255.254.0.0 8 255.255.0.0
Tabla de conversión Clase B #subredes #hosts/subred 2 Válido 4 16,384 8 8,192 16 4,096 32 2,048 64 1,024 128 512 256 256 #bits Subnet Mask 1 255.255.128.0 2 255.255.192.0 3 255.255.224.0 4 255.255.240.0 5 255.255.248.0 6 255.255.252.0 7 255.255.254.0 8 255.255.255.0
Método Práctico SUBREDES 1. Usando el mismo número de bits usados en la máscara de la subred, listar todas las posibles combinaciones. 2. Calcular los bits de izquierda a derecha para convertirlos a decimal, llenando con ceros para completar 8 bits.
Método Práctico Host por cada SUBRED 1. El número de subred indica el comienzo del rango de valores y finaliza dos valores antes de la siguiente dirección de subred. 2. El penúltimo valor es la dirección de Broadcast.
Ejemplo Clase B usando 3 bits El número de subred indica el comienzo del rango de valores y finaliza dos valores antes de la siguiente dirección de subred.
Ejemplo Clase B usando 3 bits Comb. Bits Decimal. 00000000 0 00100000 32 01000000 64 01100000 96 10000000 128 10100000 160 11000000 192 11100000 224 Inicio Rango Final rango x.y.0.1 x.y.31.254 x.y.32.1 x.y.63.254 x.y.64.1 x.y.95.254 x.y.96.1 x.y.127.254 x.y.128.1 x.y.159.254 x.y.160.1 x.y.191.254 x.y.192.1 x.y.223.254 x.y.224.1 x.y.255.254
Transmisión de Paquetes Host Origen: 129.10.3.15 Host Address: 10000001.00001010.00000011.00001111 Subnet Mask: 11111111.11111111.11111111.00000000 --------------------------------------------------------------------- Origen AND Mask: 10000001.00001010.00000011.00000000
Transmisión de Paquetes Host Destino A: 129.10.3.7 Host Address: 10000001.00001010.00000011.00000111 Subnet Mask: 11111111.11111111.11111111.00000000 --------------------------------------------------------------------- Dest.A AND Mask: 10000001.00001010.00000011.00000000
Transmisión de Paquetes Host Destino B: 129.10.5.4 Host Address: 10000001.00001010.00000101.00000100 Subnet Mask: 11111111.11111111.11111111.00000000 --------------------------------------------------------------------- Dest.A AND Mask: 10000001.00001010.00000101.00000000 Host Origen con host A: comunicación directa Host Origen con Host B: Deben usar un router
Seudocódigo sin subredes Get IP Address from Source host Get IP Address from Destination host IF ((Source NetNumber) = (Destination NetNumber)) THEN Destination is local / Transmit directly ELSE Destination is remote / Use a Router ENDIF
Seudocódigo con subredes Get IP Address from Source host Get IP Address from Destination host IF ((Source AND Mask) = (Destination AND Mask)) THEN Destination is local / Transmit directly ELSE Destination is remote / Use a Router ENDIF