Apuntes #3 - joancolina819/clase-redes GitHub Wiki

Direcciones IP (internet protocol)

Las conexiones de hardware son el primer paso para su misma comunicación. Ahora bien, las direcciones IP son los identificadores de los equipos de hardware; y estos equipos necesitan identificadores para que un equipo pueda saber a qué otro enviar un mensaje o información.

Después de tener montado el sistema de hardware con sus respectivos identificadores (ID) es necesario contar con un camino de comunicación, o por su nombre “proceso de enrutamiento”. Para lograr la comunicación por los procesos de enrutamiento se usan protocolos (para este caso ID) que envían datagramas (paquete de datos) a través de la red.

Direccionamiento en internet

La dirección internet tiene por nombre dirección IP, a diferencia de las direcciones IP mencionadas anteriormente, es que para este caso la dirección IP es única en el mundo. De igual manera que las direcciones IP locales, su función es identificar un equipo en la red mundial.

Las direcciones IP se dividen en dos partes. En primero lugar, tenemos la identificación red que se encarga de la ubicación física y la identificación host que se encarga de la ubicación de los dispositivos. Actualmente el formato de las direcciones IP consta de 32 bits mostrados en su forma decimal y con notación por punto ( Ejemplo: 200.3.192.127).

Esquema de direccionamiento classful (antigua forma de utilizar)

Las direcciones se encuentran divididas en dos partes, estas partes son las mismas que se explicaron ahora (RED, HOST). Además, en este esquema las direcciones se dividen en 5 grupos.

Grupo #1 Direcciones Clase A (prefijo /8)

En este grupo las direcciones siempre empiezan por 0, los siguiente 7 bits identifican la red y los demás bits identifican la identidad del host. En su representación decimal siempre se inicia con un número entre 1 y 126 Este grupo de direcciones se utilizan para grupos muy grandes de hots (2^24 hots y de redes (126 redes)

Grupo#2 direcciones clase b (prefijo /16)

Son utilizadas para redes medianas (2^16 equipos). Además, los primero dos bits siempre son 0 y 1, los siguientes 14 son identificadores de red, los restantes 16 son identificadores de host. En su forma decimal siempre se inicia con un número entre 128 y 191.

Grupo #3 direcciones clase c (prefijo/24)

Son utilizadas para redes LAM pequeñas (2^8 equipos conectados). Los 3 primeros bits siempre son 1,1 y 0, los siguientes 21 son la identificación de la res y los restantes 8 son identificación del hots. Para su forma decimal se inicia con un número entre 192 y 223.

Grupo #4 direcciones clase D

Son utilizadas para comunicaciones multicast (enviar un mensaje desde un host a un grupo de hosts que utilian una única identificación para todo el grupo) y siempre inicial con 1110.

Grupo#5 dirección clase E

Son direcciones experimentales y empiezan con 11111.

Direcciones classless (nueva forma de direccionamiento)

En classless se elimina la idea de clases o grupos de IPs. Ya no se tiene un estandarizado de /8, /16, /24; esto puede variar con dependencia de las necesidades (200.3.192.12/22 indica que los 22 primeros bits son para la red y los 10 restantes son para el hots).

Limitaciones de direccionamiento

La principal limitación es que la cantidad de direcciones Ip soportadas por 32 bits se agotaron y están mal distribuidas. Direcciones classless (nueva forma de direccionamiento) En classless se elimina la idea de clases o grupos de IPs. Ya no se tiene un estandarizado de /8, /16, /24; esto puede variar con dependencia de las necesidades (200.3.192.12/22 indica que los 22 primeros bits son para la red y los 10 restantes son para el hots).

DNS: DOMAIN NAME SYSTEM

La cantidad de direcciones IP es gigante y por ello es imposible saber todas de memoria. Por ello se inventó el sistema DNS; el cual es una base de datos distribuida (de tipo árbol) llamada espacio de nombres del dominio que proporciona un sistema de nombre jerárquico que representan IPS.

Los tres componentes son los resolutores (usuarios), servidor de nombres y el espacio de nombres de dominio. El funcionamiento de los DNS es el siguiente; un cliente DNS envía peticiona a un servidor de nombres. El servidor de nombre busca la información con el nombre que llego en la solicitud (el nombre indica la ubicación en el árbol) y devuelve la información solicitada. Cabe resaltar que los nombre están separados por “.” (Icesi.edu en este caso Icesi es un subdominio de edu) Jerarquia de DNS

Factory methods (constructores)

Para utilizar la clase InetAddress (es la clase que encapsula las direcciones IP y los nombres de dominio) se utiliza los Factory methods para la creación (no se utilizan los constructores de la clase). Los Factory methods de una clase son aquellos métodos estáticos que devuelven una instancia de esa misma clase. Algunos Factory de la clase InetAddress son:

  • Static InetAddress getLocalHost(): regresa un objeto InetAddress correspondiente a la maquina local.

  • Static InetAddress getByName(string host): regresa un objeto tipo InetAddress para la cadena que entra por parámetro.

  • Static InetAddress[] getAllByName(string host): regresa un arreglo de objetos InetAddress de todas las IP conocidas para el nombre que entra por parámetro.

Ademas de los anteriores metodos, existen otros de instancia que no son estaticos:

  • Byte[] getAddress(): regresa un arreglo de bytes correspondientes a ip.

  • String getHostName(): regresa el nombre del host.

  • String getHostAddress(): regresa la dirección IP del host.

  • Boolean isMlticastAddress(): permite conocer si el objeto InetAddress es una dirección IP.

  • String toString(): regresa una cadena con la forma “starwave.com/192.14.170.6”.

Boolean equials(objeto other): regresa true si si el objeto que entra por parámetro tiene la misma dirección ip.