Protocolos
Nivel de transporte
Nivel de interred:  Direcciones IP - Usuarios y dominios - Sistema de nombres de dominios - Números de puerto
Nivel de red/enlace
 

La base de Internet, y razón principal de su éxito, son sus protocolos. Dentro de cada nivel se utilizan distintas normas o protocolos, llegando incluso a depender, dentro de un nivel,  la norma utilizada del servicio a prestar

 Nivel de transporte
 
El protocolo de nivel de transporte original era el Network Control Protocol, NCP, diseñado para ARPANET, funcionó hasta que el sucesivo crecimiento con otras redes dio lugar a ARPA Internet y además provocó que se fuera degradando la fiabilidad extremo a extremo de la red, forzando la necesidad de un nuevo protocolo para el nivel de transporte, el Protocolo de Control de transmisión,  TCP, diseñado especialmente para tolerar subredes no fiables.

Es un protocolo orientado a la conexión queda establecida cuando un nodo determinado comienza a enviar paquetes a otro nodo. Todos los paquetes entre los dos nodos pasan por la misma ruta durante todo el tiempo que dura la conexión. Son protocolos orientados a conexión. Al tener una ruta fija y única durante el tiempo que dura la conexión si en un momento dado alguno de los enlaces o enrutadores involucrados en formar el circuito virtual tiene algún problema, la conexión entre los nodos origen y destino queda rota.

Los servicios como correo electrónico, transferencia de ficheros o acceso remoto, necesitan que los caracteres que se van tecleando en un extremo vayan llegando al otro extremo conservando el orden en que se han introducido, o que el fichero que estamos transfiriendo no pierda o duplique partes del mismo. Necesitamos un protocolo que nos proporcione un flujo de bytes fiable para los dos sentido de la conexión. Nuestro protocolo es el TCP, que nos garantiza que los bytes que salen del nodo origen son entregados en el nodo destino en el mismo orden y sin duplicados es un protocolo orientado a conexión.

Cuando lo que se necesita transmitir es voz o vídeo en tiempo real, es más importante transmitir con una alta velocidad que el garantizar que llegan absolutamente todos los paquetes, con el orden adecuado y sin duplicados. En esta situación, nuestras necesidades son mejor satisfechas por el protocolo de nivel de transporte llamado Protocolo de Datagramas de Usuario, UDP, que se caracteriza por ser un protocolo no orientado a conexión, es decir, puede que algunos de los paquetes enviados con este protocolo no lleguen nunca, lo hagan varias veces o lleguen en desorden. Cada paquete lleva suficiente información como para alcanzar el destino, reencaminándose el flujo en el caso de que falle algún nodo o enlace. Entre los inconvenientes, simplemente recordar que no se está a salvo de pérdidas, repeticiones y desordenes de los paquetes, por lo que los procesos que usen este protocolo pueden tener una carga adicional de trabajo.
 
Nivel de interred

A principios de los ochenta se introdujo un nuevo protocolo de nivel de interred, el Protocolo de Internet, IP. Se trata de un protocolo no orientado a conexión, encargado de las cuestiones relativas a direccionamiento de los paquetes que le suministra la capa de transporte.

De esta forma, el protocolo que principalmente se identifica con Internet es el Transmission Control Protocol / Internet Protocol,  TCP/IP, si bien la parte fundamental de la estructura, en la que se basan todas las aplicaciones, es la establecida por la norma IP, encargado de determinar los procedimientos de direccionamiento y encaminamiento que deben seguir todas las informaciones transmitidas, independientemente de la red física que se utilice para la conexión.

Como cada servicio  tiene sus propias necesidades, existen diferentes protocolos de niveles superiores que usan IP. Aunque el protocolo IP establece las normas para que los paquetes alcancen su destino, lo que no se garantiza es cuándo lo van a alcanzar, cuántos o en qué orden, es decir, ofrece un servicio no orientado a conexión.

 
Direcciones IP

Entre los conceptos aportados por el protocolo IP están las denominadas direcciones IP, encargadas de identificar de manera única cada máquina o nodo dentro Internet.

Las direcciones Internet son números de 32 bits, es decir, cubre desde 0 a 2^32, aunque en lugar de usarse un espacio de direcciones plano del tipo: 1,2,3,... se eligió establecer una estructura en las direcciones, de forma que una dirección IP consta de cuatro números separados por puntos. Como para la representación de cada número se han destinado ocho bits, estos pueden ir de 0 a 255, es la denominada notación numérica con puntos. Así, por ejemplo, la dirección Internet “195.76.188.1” se corresponde de forma única con un nodo dentro de la red, de forma que todo paquete que lleve este destino sólo acabará su viaje felizmente si llega a él.

Se establecieron cinco clases de direcciones IP, denominadas clase A, B, C, D y E. La forma más sencilla de diferenciarlas es mirando el primer número de la dirección. En la figura podemos ver las distintas clases, su estructura y rangos. Se detallan los campos dedicados a identificador de red (redID), identificador de host u ordenador (hostID) e identificador de grupo de multidifusión (multicasting group ID, en inglés), conjunto de ordenadores al que quiero enviar algo.
 
Clase
Rango
ClaseA
0.0.0.0 a 127.255.255.255
B
128.0.0.0 a 191.255.255.255
C
192.0.0.0 a 223.255.255.255
D
224.0.0.0 a 239.255.255.255
E
240.0.0.0 a 247.255.255.255
 Este formato de dirección facilita que se puedan aplicar máscaras que permitan diferenciar direcciones de nuestra red con direcciones fuera de ese ámbito, así como posibles tratamientos de la misma mediante rápidas comparaciones a nivel de bit. Estamos ante lo que se denominan subredes (subnet en inglés), establecidas por al administrador de cada red en concreto, con objeto de facilitar las labores de enrutamiento, disminuyéndose el tamaño de las tablas de encaminamiento intermedias.

En ocasiones este valor nos puede ser solicitado en alguna configuración. Normalmente nos vendrá indicado el valor a introducir, siendo el 255.0.0.0 el más habitual.
 

Usuarios y dominios

Las direcciones IP son tratadas por los diversos nodos que deba atravesar nuestro paquete de información , sin embargo existe un modo alternativo de direccionamiento utilizando el concepto de dominio como alias de una dirección IP pura. A cada usuario en Internet se le asocia una dirección Internet única, formada por el identificador de usuario y el identificador del ordenador o dominio en que se encuentra, separados ambos por el carácter arroba (@).La sintaxis general de cualquier dirección Internet es : USERID@DOMINIO.

Hay que tener especial cuidado con la distinción entre mayúsculas y minúsculas, dado que se consideran letras distintas y, por tanto, direcciones distintas, así como con la no presencia de espacios en blanco dentro de la dirección. Las distintas partes que forman el dominio reciben el nombre de subdominios. El subdominio más a la derecha es el de carácter más general, denominándose dominio de nivel alto.

Existen dos tipos de dominios de nivel más alto aunque en algunos países se ha definido también un subdominio que les permita diferenciar el tipo de organización, como por ejemplo “ac” para instituciones académicas o “co” para las organizaciones comerciales.

Dominios de organización:  se basan en el plan de direccionamiento creado antes de que Internet fuese una red internacional. Contienen definiciones del tipo de organización a la que pertenece el ordenador (educativa, comercial, militar, etc.). Cuando Internet se expandió fue necesario definir nuevos dominios de nivel alto que cubrieran esta situación.
 

DOMINIOS DE TIPO DE ORGANIZACIÓN
DOMINIO
SIGNIFICADO
com 
Organización comercial
edu
Institución educativa
gov
Institución gubernamental
int
Organización internacional
mil 
Organización militar
net
Organización de red
org
Organización sin ánimo de lucro
Por ejemplo: En la dirección ayuda@nodo50.org,  el identificador de usuario es “ayuda” y el dominio “nodo50.org”. Su dominio de nivel más alto, “org”, nos dice que el servidor pertenece a una organización sin ánimo de lucro. Por último, el subdominio que está más a la izquierda (a la derecha de la @), nos dice el nombre concreto del ordenador que utiliza ese usuario, “nodo50”.

Dominios geográficos:  dominios de nivel alto que definen la localización geográfica . A continuación, algunos ejemplos
 

DOMINIOS DE NIVEL ALTO GEOGRÁFICOS
DOMINIO
SIGNIFICADO
DOMINIO
SIGNIFICADO
aq
Antártida
is
Islandia
ar
Argentina
it
Italia
at
Austria
jp
Japón
au
Australia
kr
Corea del Sur (Korea)
be
Bélgica
kw
Kuwait
bg
Bulgaria
li
Liechtenstein
br
Brasil
lt
Lituania
ca
Canadá
lu
Luxemburgo
ch
Suiza (Cantones Helvéticos)
lv
Latvia
cu
Cuba
mx
Méjico
cn
China
my
Malasia (Malaysia)
cr
Costa Rica
ni
Holanda (Netherlands)
de
Alemania (Deutschland)
no
Noruega
dk
Dinamarca (Denmark)
nz
Nueva Zelanda
ec
Ecuador
pl
Polonia
ee
Estonia
pr
Puerto Rico
eg
Egipto
pt
Portugal
es
España
re
Reunión
fi
Finlandia
se
Suecia
fr
Francia
sg
Singapur
gb
Gran Bretaña
si
Eslovenia (Slovenia)
gr
Grecia
th
Tailandia (Thailand)
hk
Hong Kong
tn
Túnez
hr
Croacia
tw
Taiwan
hu
Hungría
uk
Reino Unido (United Kingdom)
ie
República de Irlanda
us
Estados Unidos (United States)
il
Israel
ve
Venezuela
in
India
za
Sudáfrica
 

Sistema de nombres de dominio

Las direcciones que valen son las IP, puesto que cuando utilizamos direcciones de dominio, necesitamos disponer de un servicio denominado Sistema de Nombre de Dominios (Domain Name System, DNS), que es un servicio TCP/IP que se encarga de establecer las correspondencias entre los nombres de dominios y sus correspondientes direcciones IP. Gracias al servicio de DNS, son equivalentes las direcciones : ayuda@nodo50.org y ayuda@195.76.188.2

Al ser un servicio, para utilizarlo puede que necesitemos indicar a nuestros programas dónde encontrar al servidor correspondiente, información que el  proveedor de acceso a Internet. Normalmente, especialmente para conexiones realizadas por vía telefónica, la dirección IP que se asigna a nuestra máquina es dinámica, es decir, en el proceso de conexión, el servidor de nuestro proveedor nos asigna una dirección IP temporalmente, válida durante esa conexión concreta y que cambiará la próxima vez que nos conectemos. Sin embargo, nuestra dirección Internet no se ve alterada. El servidor DNS de nuestro proveedor se preocupará de traducir en cada ocasión la parte de dominio de nuestra dirección Internet a la dirección IP que tengamos asignada en ese momento.

La asignación de los números IP no se hace por el capricho de cada usuario, sino que es el Centro de Información de la Red Internet (InterNIC) delegado el encargado de tomar estas decisiones. En el caso europeo, los registros de Internet (Internet Registry, IR) los lleva el Centro de Coordinación de Red (Network Coordination Center, NCC) del RIPE (Reseaux IP Européens), que, a su vez, ha delegado la responsabilidad a organizaciones nacionales dentro de cada país. En el estado español, se encarga RedIRIS, actuando como NIC delegado para la asignación de direcciones en España (ES-NIC dominio de nivel alto  .es).

Estos organismos toman las decisiones relativas a los identificadores de red (redID), mientras que la parte de la dirección dedicada a los ordenadores o hosts depende del administrador de cada red, quien tomará  igualmente las decisiones relativas a la creación de subredes.

Para registrar un dominio o un número IP, lo habitual es que se encargue de ello el proveedor de acceso a Internet, aunque siempre existe la posibilidad de rellenar una serie de formularios necesarios para registrarse. Estos formularios se encuentran disponibles en el nodo rs.internic.net, en el directorio template. Se puede acceder mediante FTP anónimo. Para realizar la solicitud, si es a nivel europeo,  basta con enviarlo relleno a hostmaster@ripe.net, en caso contrario, la dirección es host-master@internic.net.

En el estado español,  se puede obtener más información o los formularios correspondientes en la dirección ftp.rediris.es, dentro del directorio /infoiris/ip. Si queremos realizar alguna consulta, podemos dirigirnos a infoiris@rediris.es o a nic@rediris.es.

 
Números de puerto

¿Cómo podemos diferenciar a qué servicio se está refiriendo un cliente que se dirige a una dirección IP dada?.

La respuesta viene a través del número de puerto (PORT NUMBER). Se trata de un concepto proviniente del mundo UNIX, nuevamente. Tanto TCP como UDP identifican una aplicación mediante un número de puerto de 16 bits. Así, los servidores, que son aplicaciones, tienen asignado igualmente un número de puerto. Existe un número de puerto típico para cada servicio, de forma que se dice que una aplicación servidora está “escuchando” en el puerto que se le ha asignado, su puerto típico normalmente, a la espera de peticiones de clientes. Cuando éstas llegan, se atienden, bien de forma secuencial o bien de forma concurrente.
 
Los números de puerto típicos son asignados por la Autoridad Internet de Números Asignados (Assigned Numbers Internet Authority, IANA) y están entre 1 y 1023. Algunos ejemplos de puertos son: puerto 21 para FTP o 23 para TELNET.

Las aplicaciones clientes también usan números de puerto en nuestra máquina, son aplicaciones usando TCP también, sólo que no son puertos específicos sino que sólo necesitan ser únicos mientras los use el cliente, por ello se denominan puertos efímeros. Igualmente, hay procesos del sistema que usan puertos, denominados puertos reservados.

La forma en que se establece el puerto al que nos dirigimos, caso de no ser el puerto por defecto, consiste en especificarlo tras la dirección IP, separado por dos puntos, por ejemplo: 195.76.188.2:21. Caso de tener que utilizar algún número de puerto en especial este deberá sernos comunicado por el proveedor del servicio.

Para acceder a cada servicio de Internet , necesitamos un programa capaz de interpretar los estándares de cada servicio de Internet. La evolución de Internet, junto con el desarrollo del servicio Web, han provocado que los programas que se usan para acceder a páginas Web, los denominados navegadores o exploradores, asuman cada vez más funciones, o lo que es lo mismo, sean capaces de acceder a más servicios, de forma que nos permiten realizar transferencias de ficheros, uso del correo o participación en grupos de noticias además de sus primigenias funciones de presentación de páginas con hipertexto.
 

Nivel de red/enlace

En  los protocolos usados en Internet, según nos acercamos al medio físico, la diversidad de los mismos provoca que existan varios protocolos a nivel de red/enlace para adaptarse a las peculiaridades de cada medio físico.

Un usuario conectándose por una línea serie, tenemos la posibilidad de que se trata de una línea de la red telefónica conmutada (RTC) o una línea punto a punto. Ambos casos fueron contemplados, definiéndose sendos estándares para cada uno de ellos. Así, se definió el protocolo de Internet para líneas serie (Serial Line Internet Protocol, SLIP) y el protocolo para líneas punto a punto (Point to Point Protocol, PPP) destinados a implementar la funcionalidad del nivel de red y enlace sobre los citados medios físicos. De estos dos protocolos el primero de ellos, SLIP.

Si bien el protocolo SLIP está específicamente diseñado para el transporte de tráfico TCP/IP, la tendencia actual es hacia el uso cada vez mayor del protocolo PPP, ya que, aunque su nombre pueda despistarnos, también es apto para líneas telefónicas conmutadas, las normales en nuestra casa u oficina, siempre que nuestro proveedor de Internet disponga de un servidor PPP para atender nuestra llamada.

El protocolo PPP posee algunas características que lo hacen más interesante: