REDES DE COMPUTADORAS, SESIÓN 5
EL PROTOCOLO IP (Internet Protocolo)
INTRODUCCIÓN
El protocolo IP es el principal del modelo OSI, así como parte integral del TCP/IP. Las
tareas principales del IP son el direccionamiento de los datagramas de información y la
administración del proceso de fragmentación de dichos datagramas.
Internet como ya hemos visto es una red de redes y se expande a nivel mundial, su
protocolo base es TCP/IP, y fue diseñado desde el principio para trabajar entre redes.
La manera general en que trabaja TCP/IP es que la aplicación le entrega una cadena
de datos al protocolo de transporte ( TCP o UDP ) el cual se encarga de contactar a la
capa de red (IP) y entregarle datagramas que pueden ser hasta de 65 Kb de longitud
(aunque la mayoría de las tarjetas de red manejas una longitud máxima de 1500 bytes
denominada Maximum Transmission Unit). La capa de red IP transmite los
datagramas, tal vez divididos en unidades más pequeñas (fragmentos) hasta el
destino, haciendo su mejor esfuerzo porque los paquetes lleguen a su destino. En el
destino la capa IP ensambla los fragmentos y entrega los datagramas a la capa de
transporte quien a su vez se los entrega a la aplicación.
El datagrama es la unidad de transferencia que el IP utiliza, algunas veces identificada
en forma más específica como datagrama Internet o datagrama IP
OBJETIVOS:
* Comprender la función del protocolo IP.
* Aprender a implementar redes con el protocolo IP.
* Aprender a segmentar redes con el protocolo IP.
CARACTERÍSTICAS DEL PROTOCOLO IP
1) NO ORIENTADO A CONEXIÓN: Esto significa que al hacerse la transmisión, el
destino se entera hasta que recibe la información, no existe un preámbulo informativo.
2) TRANSMISIÓN EN UNIDADES DENOMINADAS DATAGRAMAS: La comunicación
basada en IP, utiliza como unidad de transmisión al denominado DATAGRAMA, que no
es mas que una estructura contenedora de información de control mas los datos
transmitidos. El datagrama en esencia consta de 2 partes principales, en
encabezado(información de control) mas los datos que se han de transmitir. El
datagrama podría compararse con un buque carguero, donde el buque como tal es el
datagrama, el capitán mas la tripulación el encabezado(quienes se encargan de hacer
que la carga llegue a su destino) y la carga como tal, los datos.
3) SIN CORRECCIÓN DE ERRORES, NI CONTROL DE CONGESTIÓN: Es decir que no
verifica o garantiza que la información enviada(datos) lleguen bien. Volviendo al
ejemplo del buque, cuando usted recibe la carga que le envían por el buque(Ej. Una
PC) puede resultar que el monitor este roto, el buque(datagrama) se aseguró de que
le llegara dicha PC (datos), pero no que llegara en buen estado. De esto último se
encargan otros protocolo o instancias en otras capas del modelo OSI.
1
4) NO GARANTIZA LA ENTREGA EN SECUENCIA. La entrega del datagrama en IP no
está garantizada porque ésta se puede retrasar, enrutar de manera incorrecta o
mutilar al dividir y reensamblar los fragmentos del mensaje. Por otra parte, el IP no
contiene suma de verificación para el contenido de datos del datagrama, solamente
para la información del encabezado.
ESTRUCTURA DEL PAQUETE IP
Un paquete de IP tiene una estructura compuesta de una parte de encabezado y otra
de datos. El encabezado consta de 20 octetos fijos y de una parte de opciones cuyo
tamaño es variable (de cero o más octetos).
Campo Versión: Permite saber si un datagrama es de una misma versión de IP o si
necesita alguna conversión cuando se están usando versiones diferentes.
Campo longitud de encabezado: Permita saber el tamaño total del encabezado que
consta de 20 bytes fijos y hasta 40 bytes de opciones.
Campo tipo de servicio: Permite especificar a qué servicio pertenece este paquete o
cuál se requiere (confiable, rápido, con prioridad, enrutado, etc.).
Campo de longitud total: Indica la longitud del datagrama incluyendo encabezado y
datos.
Campo de identificación: Indica el número de datagrama, lo cual permite ensamblar
fragmentos de un mismo datagrama en la capa IP.
Bit de D: Significa Do not Fragment (no fragmentar), y obliga que los enrutadores no
fragmenten el datagrama porque el nodo destino será incapaz de ensamblarlo de
nuevo. Esto se aplica por ejemplo cuando un aparato hace su proceso de inicialización
(boot) por medio del protocolo.
2
Bit de M: Significa More Fragments, y es un bit que está encendido en todos los
fragmentos que componen un datagrama, lo cual le está diciendo a la capa IP que se
está recibiendo un datagrama en fragmentos. El último fragmento de un datagrama
tiene este bit apagado.
Campo de desplazamiento: Indique cuál fragmento es éste de los 8192 (o menos)
que componen un datagrama completo.
Campo de tiempo de vida: Se inicializa a un número entre 1 y 255 que se supone
son segundos aunque en la práctica se usa para indicar saltos entre enrutadores. Cada
vez que un fragmento cruza por un enrutador este campo se decrementa en una
unidad, o en varias unidades si permaneció suficiente tiempo en una cola. Esto permite
que los paquetes cuyo tiempo de vida llega a cero sean descartados y no vaguen por la
red indefinidamente.
Campo de protocolo: Indica si el protocolo de transporte es TCP o UDP u otro.
Campo de chequeo: Permite calcular si el encabezado llegó íntegro. Consiste en ir
sumando (usando aritmética de complementos a unos) cada 16 bits del encabezado y
sacarle al resultado su complemento a unos, lo cual debe ser igual a este campo.
Campos IP Origen e IP Destino: Indican la dirección IP única a nivel mundial del
nodo origen y nodo destino. Las direcciones IP son administradas a nivel mundial por
el NIC y para poder usarlas se necesita solicitarlas y registrarlas. Existen 5 categorías
principales: Las direcciones que comienzan con el número 1 a 127 son clase A, las de
128 a 191 son clase B, las de 192 a 223 son clase C, las de 224 a 239 son clase D
(multicast) y de 240 a 247 son clase E (para usos futuros).
Campo de opciones: Estos octetos se dejaron sin especificar con el objeto de darles
significado cuando el protocolo tuviera más necesidades. Se han especificado algunas
opciones como son paquetes con seguridad, rutas de entrega estrictas o sugeridas,
registro de rutas y registro de tiempos de travesía.
DIRECCIONAMIENTO Ipv4
El TCP/IP utiliza una dirección de 32 bits para identificar una máquina y la red a la cual
está conectada. Por facilidad de uso estos 32 bits, se agrupan en octetos(8 bits) y se
separan por un punto, los cuales a su vez se expresan en su equivalente decimal. Toda
la dirección IP tiene dos partes muy importantes, las cuales se ilustran en la siguiente
figura.
3
4 OCTETOS 10000011 01101100 01111010 11001100
8 bits 8bits 8bits 8bits
Red Host
32 bits
131 . 108 . 122 . 204
Retomando las dos partes de la IP (RED Y HOST) describamo cada uno.
RED: Se trata de una cantidad variable de posiciones binarias, que determinan la red a
la pertenece la ip y el nodo que la posea. La cantidad de posiciones binarias que
usarán para red, dependerá de la clase, tal como se describirá mas adelante.
HOST: Normalmente este termino se utiliza para hacer referencia a un nodo, sin
embargo en la IP , se trata de una cantidad variable de posiciones binarias, que
identifican al nodo dentro de la red. Como podrá verse la cantidad de posiciones
binarias de la parte de host y red, son inversamente proporcionales, esto es a mas
posiciones binarias usa la parte de red, menos para la parte de host y viceversa.
CLASES DE IP.
Existe cuatro clases para la dirección IP, cada una de las cuales se utiliza dependiendo
del tamaño de la red. Las clases de IP se ilustran en la figura de abajo. La clasificación
de las IP se hace en función de un identificador de clase, el cual se describe a
continuación.
Es muy importante recordar que, los nodos que se encuentran en redes lógicas 1
diferentes no podrán comunicarse entre sí, a menos que se instale entre las redes, un
enrutador.
Nota: Por cuestiones didácticas y de aplicación solo estudiaremos las tres primeras
clases.
El identificador de Clase: Son los bit mas significativos de la IP, estos pueden ir
del 1er al 4to bit mas significativo dependiendo de la clase de IP, asi, para clase A
es el 1er; clase B el 1ero y 2do; y para C=1ero, 2do y 3ero.
A continuacion se describe como se aplica el identificador de clase y la relación de esta
clase con el identificación de red y host.
CLASE A Corresponden a redes grandes con muchas máquinas. Las direcciones en
decimal son 0.1.0.0 hasta la 126.0.0.0 (que permite hasta 1.6 millones
1
El término RED LÓGICA, se discutió en la primera sesión, es recomendable que vuelva a leerla.
4
de hosts), lo cual es facilment dedusible, ya que el identificador de estas
ips, es el primer bit y debe estar en cero.
Como lo comentamos anteriormente, de la clase depende la cantidad de
posiciones binarias para RED Y HOST. Pues bien, en clase A RED=8 bit y
HOTS= 24bit. La siguiente figura ilustra todo lo antes expuesto.
Ejemplos de ip de clase A: 10.1.1.1 100.50.50.4 96.250.10.6
Clase 0 7 15 23 31
A 0 netid hostid
8 bits 24 bits
CLASE B Sirven para redes de tamaño intermedio, y el rango de direcciones varía
desde el 128.0.0.0 hasta el 191.255.0.0. Esto permite tener 16320
Esta clase está determinada por que el 1ero y 2do bit estan en 1 y 0
respectivamente y RED=16 bit HOST=16bit, lo cual se ilustra en la
siguiente figura.
Ejemplos de ip de clase B: 130.1.1.1 140.50.50.4 150.250.10.6
0 15 31
Clase
1 0 netid hostid
16 bits 16 bits
B
CLASE C Tienen sólo 8 bits para la dirección local (HOST) y 21 bits para RED. Las
direcciones de esta clase están comprendidas entre 192.0.1.0 y
223.255.255.0, lo que permite cerca de 2 millones de redes con 254
hosts cada una. Los bit de identificación para esta clase son el 1ero, 2do
y 3ero, cuyo valor es 110 respectivamente, tal como se ilustra a
continuación.
Ejemplos de ip de clase B: 192.1.1.1 200.50.50.4 193.250.10.6
0 23 31
Clase
1 1 0 netid hostid
C
24 bits 8 bits
DIRECCIONES ESPECIALES
Un nodo puede usar como identificador cualquier ip de los rangos descritos, salvo por
algunas excepciones, como las que se describen a continuación:
5
Identificador de Red: Se trata de la primer ip del rango perteneciente a la red y se
puede identificar por tener todos los bit correspondiente a HOTS puestos a “cero”.
Veamos como ejemplo la siguiente dirección IP: 192.168.1.0
RED RED RED HOST
11000000 10101000 00000001 00000000
192 168 1 0
En primer lugar podemos observar que sus primeros 3 bit del lado mas significativos,
en a 110, por tanto se trata de una dirección de clase “C”. Por la clase sabemos que la
parte que corresponde a HOST son los últimos 8 bit, los cuales estan todos a cero, lo
cual nos indica que se trata de una dirección identificador de red y nos referiremos a
ella como red 192.168.13.0. Importante esta IP no debe ser asignada a ningun nodo.
Broadcast: Se trata de la última dirección del rango perteneciente a la red y se
identifica facilmente al ver que tiene a “1” en todas las posiciones binarias de la parte
de HOST. Todo lo contrario a la direccion identificadora de red. Veamo la siguiente
ejemplificación gráfica, para la ip 192.168.13.255.
RED RED RED HOST
11000000 10101000 00000001 11111111
192 168 1 255
Todo mensage enviado esta dirección, es recibido por todos los nodos con ips de la red
indicada, para este ejemplo 192.168.1
MASCARA DE SUBRED:
SUBREDES
La dirección IP va siempre asociada con una mascara de subred. En conjunto se
determina la pertinencia de un nodo a una subred, en otras palabras la mascara de
subred (submask), determina si una red se divide en subredes o no, así como, que
nodos pertecen a cada una de las subredes y en cuantas subredes se divide.
Como lo hemos dicho una red, puede ser dividida en redes mas pequeñas a las cuales
llamaremos subredes. Una subred tiene las mismas características que una red, como
las siguientes:
• Equipos en diferentes subredes no se pueden comunicar(a menos que sea
atraves de un router)
• Posee una dirección identificadora.
• Posee una dirección de broadcast
• Etc.
6
APLICACIÓN DE LA MASCARA DE SUBRED
En los parrafos anteriores se ha descrito la función de la mascara de subred, ahora, al
igual que la dirección ip, la mascara tiene caracteristicas que son importantes manejar,
aunque cabe aclarar que algunas de éstas son similares a las de la IP.
Características.
1) Está constituida de 32 bit.
2) Separada en grupos de ocho bit. (octetos)
3) Cada octeto, esta separado a su vez por un punto.
4) Todas las posiciones binarias a partir de la aparición de un cero, deberan
tambien tener ceros.
5) Cada octeto de la mascara se asociará al correspondiente octeto en la IP.
A continuación se ilustran las características de la mascara.
8 bits 8 bits 8 bits 8 bits
11111111 11111111 11000000 00000000
255 255 192 0
Observer que la mascara inicia con unos y que a partir del primer cero no aparece mas
unos.
Lo anterior nos encierra a unos pocos valores decimales válidos para la mascara,
siendo estos los descritos en la siguiente tabla.
VALORES VÁLIDOS DE MASCARA
DECIMALES BINARIOS EJEMPLOS
128 10000000 255.128.0.0 255.255.128.0 255.255.255.128
192 11000000 255.192.0.0 255.255.192.0 255.255.255.192
224 11100000 255.224.0.0 255.255.224.0 255.255.255.224
240 11110000 255.240.0.0 255.255.240.0 255.255.255.240
248 11111000 255.248.0.0 255.255.248.0 255.255.255.248
252 11111100 255.252.0.0 255.255.252.0 255.255.255.252
254 11111110 255.254.0.0 255.255.254.0 255.255.255.254
MASCARA BASE
Como se ha dicho anteriormente, la mascara divide una red lógica en subredes lógicas.
Sin embargo, existe una mascara que no genera subredes, la cual llamaremos
MASCARA BASE. La caracteristica principal de esta mascara es que la parte
correspondiente a HOST, esta puesta a ceros binarios. Tal como se ilustra a
continuación.
RED RED RED HOST
IP 192.168.1.32
11000000 10101000 00000001 00100000
11111111 11111111 11111111 00000000 7
255 255 255 0
SUBMASK
Note la importancia de determinar la clase de ip con la que se usa la mascara, antes
de verificar si es o no una mascara base. De lo anterior se puede ver que la mascara
base de una clase, podría no serlo para otra. A continuación se describen las mascaras
base para las siguientes clases de IP A, B y C.
CLASE MASCARA BASE
A 255.0.0.0
B 255.255.0.0
C 255.255.255.0
SUBNETING
Consiste en dividir una red en subredes. Este proceso requiere el dominio de los
conceptos antes estudiados de IP y Mascara.
En primer lugar como lo hemos dicho las subredes son definidas por la Mascara. Ahora,
la mascara define la subredes y la cantidad de direcciones que corresponderan a cada
red, de la siguiente manera.
1) La cantidad de subredes estará dada por:6
a. Determinar la clase de IP con la que se usará la Mascara.
b. La cantidad de unos binarios del lado mas significativo de parte de host.
c. El valor obtenido en el paso anterior pasa a convertirse en el exponente
de la base 2, de la siguiente manera.
Clase “C”
Supongamos la mascara y la IP siguiente:
Host
Host
11000000 10101000 00000011 0000000
192 168 3 0
11111111 11111111 11111111 11111000
255 255 255 248
Aplicando los 3 pasos anteriormente descritos:
a) Observese la parte mas significativa de la IP, encontramos los valores 110
binarios, lo que nos indica que se trata de una dirección de clase “C”. Por tanto
la parte de HOST a usar es el último octeto, como se ilustra en la figura
anterior.
b) Contando la cantidad de unos en la mascara, encontramos que son 5.
c) Como digimos la base a usar es 2 y la cantidad de ceros su exponente, la
expresión queda de la siguiente manera 25=32. Este resultado nos indica la
cantidad de redes en que se segmentará la red, en total 32.
8
2) Cantidad de direcciones por subred.
a. Determinar la clase de IP con la que se usará la Mascara.
b. La cantidad de ceros binarios del lado mas significativo de la mascara.
c. El valor obtenido en el paso anterior pasa a convertirse en el exponente
de la base 2, retomando el ejercicio planteado anteriormente y aplicando
estos pasos tenemos:
a) El proceso para detectar la clase es el mismo que aplicamos para calcular la
cantidad de redes, llegando a la conclusión que es una ip de clase C. Tambien
podría determinarse por el valor decimal del primer octeto y remitirnos al
subtema “clases de IP” que discutimos anteriormente, donde se describian los
rangos de ip para cada clase.
b) Si vemos la cantidad de ceros, notaremos que son 3.
c) Entonces 23 =8. Ocho direcciones IP por subred.
Recapitulando, si usamos ip de clase “C”, en nuestro caso de la red 192.168.3.0 con la
mascara 255.255.255.248, obtendremos que:
1) La red se divide en 32 subredes.
2) Cada subred constará de 8 direcciones.
3) El total de direcciones es: 32 subredes X 8 direcciones de cada subred=256,
que como lo vimos anteriormente es el total máximo de direcciones para una
red de clase C.
4) Las redes quedan de la siguiente manera:
SRED1 SRED2 ....... SRE32
192.168.3.0 IDSRED 192.168.3.8 IDSRED 192.168.3.248 IDSRED
192.168.3.1 192.168.3.9 192.168.3.49
192.168.3.6 192.168.3.14 192.168.3.254
192.168.3.7 BcastSRED 192.168.3.15 BcastSRED 192.168.3.255 BcastSRED
Observese que la primera y la última ip de cada subred, no pueden ser
asignadas, ya que corresponden al Identificador de subred y Broadcast de subred,
respectivamente. Por lo que la cantidad de direcciones últiles es de 8 – 2=6.
Como podrá verse, determinar los limites de las subredes, es bastante sencillo, sin
embargo a medida que la cantidad de direcciones por subred incrementa, como en el
caso de redes clase A, esto podría complicarse. Para estos casos se puede aplicar las
siguientes formulas, una para calcular el id de red y otra para calcular el broadcast
(limite superior e inferior de la sub red), estos calculos se basan en una dirección X,
que se toma como base.
Por ejemplo, si usted quiere conocer los limites de la subred a que pertenese la
dirección 192.168.1.145 con mascara 255.255.255.248, quizá para determinar con
que computadoras debería poder comunicarse, lo haríamos de la siguiente manera:
Calculando límites de subred:
9
1) Pasemos a binario, la IP y la Mascara. Se recomienda hacer esto con la parte de
Host solamente, ya que el resto de la direccion se mantendrá igual.
Host
Host
11000000 10101000 00000001 10010001
192 168 1 0
11111111 11111111 11111111 11111000
255 255 255 248
2) Aplicamos una operación lógica AND sin acarreo y uno a uno entre IP y
Mascara.
11000000 10101000 00000001 10010001 AND
11111111 11111111 11111111 11111000
=
11000000 10101000 00000001 10010000
Nótese que podría aplicarse la operacipon AND a toda la ip y mascara, sin embargo
el resultado de los octetos de RED de la IP pasaran intactos, por lo que se vuelve
inecesario y solo lo aplicamos a la parte de HOST, en el entendido que el resto de
la IP se mantendrá igual.
Aqui podemos concluir que la dirección 192.168.1.145 pertenese a la red
192.168.1.144, siempre que se esté usando la mascara 255.255.255.248.
3) Ya conocemos el inicio de la subred, encontremos ahora el final.
Para este ejercicio en particular, sería facil contar 8 direcciones a partir de la
primera (192.168.1.144), con lo que encontraríamos la última dirección de la
subred, pero si la subred fuese de varias decenas o centenas de ips, esto se
complicaría y es entonces que resulta util, aplicar el siguiente procedimiento.
a) Invertimos la mascara
b) Hacemos una OR entre la IP y la mascara resultante del paso anterior.
10
La aplicación de los pasos anteriores, se ilustran en la siguiente figura.
255 255 255 248
MASK
11111111 11111111 11111111 11111000
0 0 0 7
MASK 0000000 00000000 00000000 00000111
192 168 1 145
IP 11000000 10101000 00000001 10010001
192 168 1 151
RESULT 11000000 10101000 00000001 10010111
Con lo que se obtiene que la dirección final de la subred es la 192.168.1.151
Quedando la respuesta a nuestro ejercicio de la siguiente manera:
ID SRED 192.168.1.144
192.168.1.145
192.168.1.146
192.168.1.147
192.168.1.148
192.168.1.149
192.168.1.150
BCAST 192.168.1.151
Por tanto la computadora que usa la dirección 192.168.1.145, planteada en el
ejercicion, podrá comunicarse con aquellas que tengan una dirección que balla
desde la 192.168.1.146 hasta la 192.168.1.150.
TIPOS DE DIRECCIONES.
Existen 2 tipos de IP:
Direcciones IP públicas. Son visibles en todo Internet. Un ordenador con una IP
pública es accesible (visible) desde cualquier otro ordenador conectado a Internet.
Para conectarse a Internet es necesario tener una dirección IP pública.
Direcciones IP privadas (reservadas). Son visibles únicamente por otros hosts de su
propia red o de otras redes privadas interconectadas por routers. Se utilizan en las
empresas para los puestos de trabajo. Los ordenadores con direcciones IP privadas
pueden salir a Internet por medio de un router (o proxy) que tenga una IP pública.
Sin embargo, desde Internet no se puede acceder a ordenadores con direcciones IP
privadas.
Rango de direcciones IP
Clase
reservadas.
A 10.0.0.0
B 172.16.0.0 - 172.31.0.0
C 192.168.0.0 - 192.168.255.0
11
RESUMEN
Las direcciones IP estan constituidas por cuatro conjuntos de 8 bits, con un total de 32
bits. Por comodidad estos bits se representan como si estuviesen separados por un
punto, por lo que el formato de dirección IP puede ser red.local.local.local para Clase
A hasta red.red.red.local para clase C.
Una ventaja que ofrece el direccionamiento IP es la reducción de exceso de trafico
innecesario (bradcast), ya que el broadcast se reduce a las subredes, cuando se dá
comunicación entre equipos de una misma subred. Obviamente si la cominicación se
dá entre equipos de diferentes sub redes, el broadcast afectará a ambas subredes.
Por lo antes mencionado, la aplicación de las subredes es para evitar que decrementen
su eficiencia por exceso de broadcast.
En las redes y subredes lógicas existen la direccion de identificación y la de broadcast,
que son la primera y la última dirección de una red o subres respectivamente, las
cuales no se deben asignar a ningun nodo, ya que de hacerlo estos nodos no
trabajaran en red.
12