REDES INFORMATICAS: Protocolo IP 1. PRINCIPIOS BÁSICOS DE IP El protocolo IP se basa en tres principios básicos: Un direccionamiento de los ordenadores. Un tipo de dato: el datragrama IP. Un algoritmo de entrega y routing de datagramas IP. En una red IP puede haber dos tipos de entrega: Entrega directa: cuando el host origen y destino comparten la misma red física, por lo que no hay problema de routing. El routeador encapsula el datagrama dentro de la trama física convirtiendo la dirección IP a una dirección física y se envía la trama directamente a su destino. Se sabe que se comparte una misma red física consultando las direcciones de red. Entrega indirecta. Se ha identificar el router adecuado hacia donde dirigir el datagrama (encapsulandolo en una trama física) y este reenviarlo hacia la red de destino (a través de otra trama física). Se trabaja en una estructura cooperativa hasta que se llega a un router que puede entregarlo de forma directa. -1-
2. DIRECCIONAMIENTO IP Cada interfaz de red de cada nodo (host o router) en una red IP se identifica mediante una dirección única de 32 bits. Las direcciones IP se suelen representar por cuatro números decimales separados por puntos, que equivalen al valor de cada uno de los cuatro bytes que componen la dirección. Las direcciones IP tienen una estructura jerárquica. Una parte de la dirección corresponde a la red, y la otra al host dentro de la red. Cuando un router recibe un datagrama por una de sus interfaces compara la parte de red de la dirección con las entradas contenidas en sus tablas (que normalmente sólo contienen direcciones de red, no de host) y envía el datagrama por la interfaz correspondiente. Las direcciones IP se escriben en decimal de la siguiente forma: Una red de clase A (que corresponde a las redes originalmente diseñadas) se caracteriza por tener a 0 el primer bit de dirección; el campo red ocupa los 7 bits siguientes y el campo host los últimos 24 bits. Puede haber hasta 126 redes de clase A con 16 millones de hosts cada una. 1.0.0.0 hasta 126.0.0.0 Una red de clase B tiene el primer bit a 1 y el segundo a 0; el campo red ocupa los 14 bits siguientes, y el campo host los 16 últimos bits. Puede haber 16382 redes clase B con 65534 hosts cada una. 128.0.0.0 hasta 191.255.0.0 Una red clase C tiene los primeros tres bits a 110; el campo red ocupa los siguientes 21 bits, y el campo host los 8 últimos. Puede haber hasta dos millones de redes clase C con 254 hosts cada una. 192.0.1.0 hasta 223.255.255.0 Direcciones (no redes) clase D cuyos primeros cuatro bits valen 1110, que se utilizan para definir grupos multicast (el grupo viene definido por los 28 bits siguientes). 224.0.0.0 hasta 239.255.255.255 La clase E, que corresponde al valor 11110 en los primeros cinco bits, está reservada para usos futuros. Para indicar qué parte de la dirección corresponde a la red y qué parte al host se suele utilizar una notación denominada máscara, consistente en poner a 1 los bits que corresponden a la parte de red y a 0 los que corresponden a la parte host. -2-
Así por ejemplo diremos que una red clase A tiene una máscara 255.0.0.0, lo cual equivale a decir que los ocho primeros bits especifican la red y los 24 restantes el host. Análogamente decimos que una red clase B tiene una máscara 255.255.0.0 y una clase C una máscara 255.255.255.0. 2.1 Asignación de direcciones La asignación de direcciones válidas de Internet la realizan los NICs (NIC = Network Information Center). Al principio había un NIC para toda la Internet pero luego se crearon NICs regionales (por continentes); actualmente muchos países tienen un NIC propio; en España el NIC es administrado por RedIRIS. 2.2 Direcciones especiales Existen unas reglas y convenios en cuanto a determinadas direcciones IP que es importante conocer: 1. La dirección 255.255.255.255 se utiliza para indicar broadcast en la propia red, cualquiera que esta sea (y sea del tipo que sea). 2. La dirección 0.0.0.0 identifica al host actual. 3. La dirección con el campo host todo a ceros se utiliza para indicar la red misma, y por tanto no se utiliza para ningún host. Por ejemplo la dirección 147.156.0.0 identifica la red clase B que pertenece a la Universidad de Valencia. 4. La dirección con el campo host todo a unos se utiliza como la dirección broadcast de la red indicada, y por tanto no se utiliza para ningún host. Por ejemplo para enviar un mensaje broadcast a la red de la Universidad de Valencia utilizaríamos la dirección 147.156.255.255. 5. La dirección con el campo red todo a ceros identifica a un host en la propia red, cualquiera que esta sea; por ejemplo si queremos enviar un datagrama al primer host (1.1) de una red clase B podemos utilizar la dirección 0.0.1.1. Esto permite enviar datagramas sin saber en que red nos encontramos, aunque es preciso conocer si es clase A, B o C para saber que parte de la dirección es red y que parte es host. 6. Las redes 127.0.0.0, 128.0.0.0, 191.255.0.0, 192.0.0.0 y el rango de 240.0.0.0 en adelante están reservados y no deben utilizarse. 7. La dirección 127.0.0.1 se utiliza para pruebas loopback; todas las implementaciones de IP devuelven a la dirección de origen los datagramas enviados a esta dirección sin intentar enviarlos a ninguna parte. 8. Las redes 10.0.0.0, 172.16.0.0 a 172.31.0.0, y 192.168.0.0 a 192.168.255.0 están reservadas para redes privadas ('intranets') por el RFC 1918; estos números no se asignan a ninguna dirección válida en Internet y por tanto pueden utilizarse para construir redes, por ejemplo detrás de un cortafuego, sin riesgo de entrar en conflicto de acceso a redes válidas de la Internet. Como consecuencia de las reglas 3 y 4 siempre hay dos direcciones inútiles en una red. Por ejemplo, si tenemos la red 200.200.200.0 (clase C) tendremos que reservar la dirección 200.200.200.0 para denotar la red misma, y la dirección 200.200.200.255 para envíos broadcast a toda la red; dispondremos pues de 254 direcciones para hosts, no de 256. 2.3 Problemas del direccionamiento IP Son los siguientes: Si un ordenador se mueve de una red a otra ha de cambiar de dirección IP. Como el routing entre ordenadores depende de la dirección IP, si un ordenador tiene varias direcciones IP el camino que sigan los paquetes hacia él depende de la dirección que se emplee. 3. CLASSLESS INTERNET DOMAIN ROUTING CLIDR pretende resolver el problema de al limitación en el número de redes. Se orienta a que muchas redes físicas compartan el espacio de direccionamiento de una red IP. Recordar que se pueden modificar las direcciones IP en una zona libremente siempre que: Todos los host y routers de la zona estén de acuerdo en seguir el esquema de direccionamiento. Los elementos externos a la zona puedan manejarse con las direcciones IP de acuerdo con el esquema original. -3-
3.1 Direccionamiento de subred Se basa en considerar la parte de host del direccionamiento IP dividida en dos partes: subred y host. El resultado es una forma de direccionamiento jerárquico que lleva al correspondiente routing jerárquico. Muy similar al sistema telefónico de numeración. El problema es cambiar una estructura ya definida. La interpretación de la subred se escoge de forma independiente para cada red física, de forma que se adapta para subredes con muchos host o subredes con pocos hosts. 3.1.1 Máscara de subred Cuando se emplea una subred, el estándar fija que se ha de emplear un máscara de subred. La mascara de subred es un número de 32 bits en el que se encuentran a 1 todos los bits que se hacen corresponder con la dirección de red, y a cero todos los que se hacen corresponder con la dirección del host. Una máscara con los tres primeros bytes a 1 se representa como: 255.255.255.0 ó -1,-1,-1,0 ó FF,FF,FF,00 3.1.2 Ejemplo de subred Un ejemplo de subred de redes de tipo B es el siguiente: Este esquema permite 16 subredes que tendrían la siguiente configuración: Se pueden dar entonces configuraciones como: -4-
4. ENTREGA DIRECTA EN IP En una red física, dos máquinas sólo se pueden comunicar si conocen sus direcciones físicas de red. 4.1 Problema de asociación de direcciones En una red IP todos los ordenadores tienen dos direcciones: La dirección IP que lo identifica en Internet. La dirección Física (MAC), que lo identifica en la red física. Para entregar un datagrama IP al destino hay que introducir dicho datagrama en una trama que contenga la dirección física del destino. De alguna manera, el ordenador ha de conocer ambas direcciones. Para abordar el problema hay que tener en cuenta que tipo de red física se dispone: Números de red cortos o variables --> asociación mediante transformación directa. Números de red fijos o largos --> definición mediante enlace dinámico. 4.2 Asociación mediante transformación directa Es el caso de muchas redes de tipo token-ring. Si se tiene la libertad de escoger la dirección IP y la dirección física se puede hacer que ambas coincidan, al menos en parte. Por ejemplo en el campo del host-id. En el caso de que sea más complejo, se puede hacer uso de alguna función o tabla hash. 4.3 Enlace dinámico. Protocolo ARP Es el caso a aplicar en las redes Ethernet. Direcciones de 48 bits no se pueden codificar en los fragmentos de host-id de una dirección IP. La solución es el protocolo ARP (Address Resolution Protocol). Permite añadir dinámicamente host a la red sin tener bases de datos centralizadas. Funciona de la siguiente forma: El host A necesita definir la dirección física de B A manda un mensaje de difusion en la red física para que el que tenga la dirección IP B responda. con su dirección física. Todos la reciben pero sólo B contesta. El resultado se almacena en una tabla temporal que asocia direcciones IP a direcciones físicas. Características adicionales son: Cuando A reclama la dirección de B, de paso propaga su propia dirección física que alcanza a todos los host. Cuando se cambia la tarjeta de A, lo primero que hace esta es enviar un paquete ARP para actualizar las tablas intermedias de todos los ordenadores. -5-
Problemas: Que no responda el destino por estar apagado o saturado. Eliminar las entradas en la memoria intermedia para que caso de que las direcciones destino caduquen. -6-