Está en la página 1de 27

CAP 20: Internetworking: Conceptos, Arquitectura y Protocolos

Internetworking
Una Internetwork es una colección de redes individuales, conectadas por dispositivos
intermediarios, que funciona como una gran red única. Internetworking se refiere a la
industria, a los productos, y a los procedimientos que resuelven el desafío de crear y de
administrar internetworks.
Introducción

Los capítulos anteriores describen las redes básicas, incluidos los componentes de
hardware utilizados en las redes LAN y WAN, así como los conceptos generales, como
el direccionamiento y el enrutamiento. Este capítulo comienza el examen de otra idea
fundamental en la comunicación por computadora: una tecnología de interconexión de
redes que se puede usar para conectar múltiples redes físicas en un sistema de
comunicación grande y uniforme. El capítulo analiza la motivación para la interconexión
en red, presenta los componentes de hardware utilizados, describe la arquitectura en la
que se conectan los componentes y analiza la importancia del concepto. Los capítulos
restantes de esta sección amplían el concepto de interredes y brindan detalles adicionales
sobre la tecnología. Examinan protocolos individuales y explican cómo cada uno usa
técnicas de capítulos anteriores para lograr una comunicación confiable y sin errores.

La motivación para la interconexión de redes

Cada tecnología de red está diseñada para ajustarse a un conjunto específico de


restricciones. Por ejemplo, las tecnologías LAN están diseñadas para proporcionar
comunicaciones de alta velocidad en distancias cortas, mientras que las tecnologías WAN
están diseñadas para proporcionar comunicación en áreas extensas. Por consiguiente,
Ninguna tecnología de red única es la mejor para todas las necesidades.
Una gran organización con diversos requisitos de red necesita múltiples redes físicas. Más
importante aún, si la organización elige el tipo de red que es mejor para cada tarea, la
organización tendrá varios tipos de redes. Por ejemplo, una tecnología LAN como
Ethernet podría ser la mejor solución para conectar computadoras en un sitio determinado,
pero un circuito de datos arrendados podría usarse para interconectar un sitio en una
ciudad con un sitio en otro.

El concepto de servicio universal

El principal problema con las redes múltiples debería ser obvio: una computadora
conectada a una red determinada solo puede comunicarse con otras computadoras
conectadas a la misma red. El problema se hizo evidente en la década de 1970, cuando
las grandes organizaciones comenzaron a adquirir múltiples redes. Cada red en la
organización formó una isla. En muchas instalaciones tempranas, cada computadora
conectada a una red única, y los empleados tenían que elegir una computadora apropiada
para cada tarea. Es decir, se le dio acceso a un empleado a múltiples pantallas y teclados,
y el empleado se vio obligado a pasar de una computadora a otra para enviar un mensaje
a través de la red apropiada.

1
Los usuarios no están satisfechos ni son productivos cuando deben usar una computadora
separada para cada red. En consecuencia, la mayoría de los sistemas modernos de
comunicación informática permiten la comunicación entre dos computadoras análogas a
la forma en que un sistema telefónico proporciona comunicación entre dos teléfonos
cualquiera. Conocido como servicio universal, el concepto es una parte fundamental de
la creación de redes. Con el servicio universal, un usuario en cualquier computadora de
cualquier organización puede enviar mensajes o datos a cualquier otro usuario. Además,
un usuario no necesita cambiar los sistemas de la computadora al cambiar las tareas: toda
la información está disponible para todas las computadoras. Como resultado, los usuarios
son más productivos. Para resumir:
Un sistema de comunicación que proporciona un servicio universal permite que pares
arbitrarios de computadoras se comuniquen.

Servicio universal en un mundo heterogéneo

¿El servicio universal significa que todos necesitan adoptar una sola tecnología de red, o
es posible tener un servicio universal en múltiples redes que usan múltiples tecnologías?
Las incompatibilidades hacen que sea imposible formar una gran red simplemente
mediante la interconexión de los cables entre las redes. Además, las técnicas de extensión
como el puenteo no se pueden usar con tecnologías de red heterogéneas porque cada
tecnología usa su propio formato de paquete y esquema de direccionamiento. Por lo tanto,
un cuadro creado para una tecnología de red no se puede transmitir en una red que utiliza
una tecnología diferente. El punto se puede resumir:
Aunque el servicio universal es muy conveniente, las incompatibilidades entre el
hardware, los marcos y las direcciones de red evitan que una red puente incluya
tecnologías arbitrarias.

Internetworking

A pesar de las incompatibilidades entre las tecnologías de red, los investigadores han
ideado un esquema que proporciona un servicio universal entre redes heterogéneas.
Llamado interredes, el esquema usa hardware y software. Los sistemas de hardware
adicionales se utilizan para interconectar un conjunto de redes físicas. El software en las
computadoras adjuntas proporciona un servicio universal. El sistema resultante de redes
físicas conectadas se conoce como internetwork o internet.

Internetworking es bastante general. En particular, no se restringe el tamaño de Internet:


existen internets que contienen algunas redes y el Internet global contiene decenas de
miles de redes. Del mismo modo, la cantidad de computadoras conectadas a cada red en
Internet puede variar: algunas redes no tienen computadoras conectadas, mientras que
otras tienen cientos.

Conexión de red física con enrutadores


El componente básico de hardware utilizado para conectar redes heterogéneas es un
enrutador. Físicamente, un enrutador es un sistema de hardware independiente dedicado
a la tarea de interconectar redes. Al igual que un puente, un enrutador contiene un
procesador y memoria, así como una E / S por separado interfaz para cada red a la que se
conecta. La red trata una conexión a un enrutador igual que una conexión a cualquier otra
computadora. La Figura 20.1 ilustra que la conexión física de redes con un enrutador es
directa.

2
Figura 20.1: Dos redes físicas conectadas por un enrutador, que tiene una interfaz
separada para cada conexión de red. Las computadoras pueden conectarse a cada red.

La figura usa una nube para representar cada red porque las conexiones del enrutador no
están restringidas a una tecnología de red en particular. Un enrutador puede conectar dos
LAN, una LAN y una WAN, o dos WAN. Además, cuando un enrutador conecta dos
redes en la misma categoría general, las redes no necesitan usar la misma tecnología. Por
ejemplo, un enrutador puede conectar un Ethernet a una red Wi-Fi. Por lo tanto, cada
nube representa una tecnología de red arbitraria.

Para resumir:
Un enrutador de Internet es un sistema de hardware de propósito especial dedicado a la
tarea de interconectar redes. Un enrutador puede interconectar redes que usan diferentes
tecnologías, incluidos diferentes medios, esquemas de direccionamiento físico o formatos
de marcos.

Arquitectura de Internet
Los enrutadores permiten a las organizaciones elegir las tecnologías de red apropiadas
para cada necesidad y usar enrutadores para conectar todas las redes a Internet. Por
ejemplo, la Figura 20.2 ilustra cómo se pueden usar tres enrutadores para conectar cuatro
redes físicas arbitrarias a Internet.

Figura 20.2: Internet formada por el uso de tres enrutadores para interconectar cuatro
redes físicas.

Aunque la figura muestra cada enrutador con exactamente dos conexiones, los
enrutadores comerciales pueden conectar más de dos redes. Por lo tanto, un solo enrutador
podría conectar las cuatro redes en el ejemplo. A pesar de la viabilidad, una organización
rara vez usa un solo enrutador para conectar todas sus redes. Hay dos razones:

 Debido a que el enrutador debe reenviar cada paquete, el procesador en un


enrutador dado es insuficiente para manejar el tráfico que pasa entre una cantidad
arbitraria de redes.
 La redundancia mejora la confiabilidad de internet. Para evitar un único punto de
falla, el software de protocolo monitorea continuamente las conexiones a Internet
e instruye a los enrutadores a enviar tráfico a lo largo de rutas alternativas cuando
falla una red o enrutador.

Por lo tanto, cuando se planifica una Internet, una organización debe elegir un diseño que
satisfaga las necesidades de confiabilidad, capacidad y costo de la organización. En
particular, los detalles exactos de la topología de Internet a menudo dependen del ancho
de banda de las redes físicas, el tráfico esperado, los requisitos de confiabilidad de la
organización y el costo y el rendimiento del hardware del enrutador disponible. Para
resumir:

3
Un Internet consiste en un conjunto de redes interconectadas por enrutadores. El esquema
de Internet permite a cada organización elegir la cantidad y el tipo de redes, la cantidad
de enrutadores que se utilizarán para interconectarlas y la topología de interconexión
exacta.

Alcanzar el servicio universal

El objetivo de internetworking es el servicio universal en redes heterogéneas. Para


proporcionar un servicio universal entre todas las computadoras en Internet, los
enrutadores deben aceptar reenviar información de una fuente en una red a un destino
específico en otra. La tarea es compleja porque los formatos de trama y los esquemas de
direccionamiento utilizados por las redes subyacentes pueden diferir. Como resultado, se
necesita un software de protocolo en computadoras y enrutadores para hacer posible el
servicio universal.
Los capítulos posteriores describen el software de protocolo de Internet † en detalle.
Muestran cómo los protocolos de Internet superan las diferencias en los formatos de trama
y las direcciones físicas para posibilitar la comunicación entre las redes que usan
diferentes tecnologías. Antes de considerar cómo funcionan los protocolos de Internet, es
importante comprender el efecto que un sistema de Internet presenta en las computadoras
conectadas.

Una red virtual


En general, el software de Internet proporciona la apariencia de un único sistema de
comunicación sin fisuras al que se conectan muchas computadoras. El sistema ofrece
servicio universal: a cada computadora se le asigna una dirección, y cualquier
computadora puede enviar un paquete a cualquier otra computadora. Además, el software
de protocolo de Internet oculta los detalles de las conexiones de red físicas, las direcciones
físicas y la información de enrutamiento; ni los usuarios ni los programas de aplicaciones
conocen las redes físicas subyacentes o los enrutadores que los conectan.
Decimos que Internet es un sistema de red virtual porque el sistema de comunicación es
una abstracción. Es decir, aunque una combinación de hardware y software proporciona
la ilusión de un sistema de red uniforme, no existe tal red. La figura 20.3 ilustra el
concepto de red virtual, así como una estructura física correspondiente.

 Recuerda que cuando se escribe con mayúscula I, el término Internet se refiere a


Internet global y al asociado protocolos.

4
Figura 20.3: El concepto de Internet. (a) La ilusión de una red única proporcionada a
usuarios y aplicaciones, y (b) la estructura física subyacente con enrutadores que
interconectan redes.

Protocolos para la interconexión de redes

Aunque se han propuesto varios protocolos para su uso con internets, uno de ellos se
destaca como el más utilizado. La suite se conoce formalmente como los Protocolos de
Internet TCP / IP; la mayoría de los profesionales de redes simplemente se refieren a la
suite como TCP / IP †.
TCP / IP se desarrolló al mismo tiempo que Internet global. De hecho, los mismos
investigadores que propusieron TCP / IP también propusieron la arquitectura de Internet
descrita anteriormente. El trabajo en TCP / IP comenzó en la década de 1970,
aproximadamente al mismo tiempo que se desarrollaban las Redes de área local, y
continuó hasta principios de la década de 1990 cuando Internet se volvió comercial.

Revisión de la capa de TCP / IP


Recuerde en el Capítulo 1 que los protocolos de Internet usan un modelo de referencia de
cinco capas, como lo ilustra la Figura 20.4.

Figura 20.4: Las cinco capas del modelo de referencia TCP / IP.

5
Ya hemos explorado tres de las capas. Los capítulos en la parte 1 del texto consideran las
aplicaciones; los capítulos en las partes 2 y 3 del texto discuten los protocolos de capa 1
y capa 2. Los capítulos en esta parte del texto consideran las dos capas restantes en detalle:

Capa 3: Internet
Capa 3 (IP) especifica el formato de los paquetes enviados a través de Internet, así como
los mecanismos utilizados para reenviar paquetes desde una computadora a través de uno
o más enrutadores hasta su destino final.

 † TCP e IP son acrónimos para dos de los protocolos más importantes en el


conjunto; el nombre se pronuncia al deletrear T-C-P-I-P.

Capa 4: Transporte
La Capa 4 (TCP) especifica los mensajes y procedimientos que se utilizan para asegurar
una transferencia confiable.
Para resumir:

Los protocolos de Internet están organizados en cinco capas conceptuales, con IP en la


capa 3 y TCP en la capa 4.

Computadoras host, enrutadores y capas de protocolo

Utilizamos el término computadora host para referirnos a una computadora que se conecta
a Internet y ejecuta aplicaciones. Un host puede ser tan pequeño como un teléfono celular
o tan grande como un mainframe. Además, la CPU de un host puede ser lenta o rápida, la
memoria puede ser grande o pequeña, y la red a la que se conecta un host puede funcionar
a alta o baja velocidad. Los protocolos TCP / IP hacen posible que cualquier par de hosts
se comunique, a pesar de las diferencias de hardware.

Tanto los hosts como los enrutadores necesitan un software de protocolo TCP / IP. Sin
embargo, los enrutadores no usan protocolos de todas las capas. En particular, un
enrutador no necesita protocolos de capa 5 para aplicaciones como transferencia de
archivos porque los enrutadores no ejecutan aplicaciones convencionales †. Los
siguientes capítulos tratan el software de protocolo TCP / IP con más detalle y muestran
cómo funciona la estratificación de Internet.

Resumen

Lógicamente, Internet parece ser un sistema de comunicación único y sin interrupciones.


Un par arbitrario de computadoras conectadas a Internet puede comunicarse como si
estuvieran conectadas a una sola red. Es decir, una computadora puede enviar un paquete
a cualquier otra computadora que esté conectada a Internet. Físicamente, Internet es una
colección de redes interconectadas por dispositivos llamados enrutadores. Cada enrutador
es un dispositivo de propósito especial que se conecta a dos o más redes y está dedicado
a transferir paquetes de Internet entre las redes.
Las computadoras que se conectan a Internet se llaman hosts. Un host puede ser una
computadora grande (por ejemplo, una supercomputadora) o una computadora pequeña
(por ejemplo, un teléfono celular). Cada host se conecta a una de las redes físicas en
Internet.

6
La ilusión de un solo sistema de comunicación es proporcionada por el protocolo de
Internet software. Cada host o enrutador en Internet debe ejecutar el software, que oculta
los detalles de las conexiones físicas subyacentes y se encarga de enviar cada paquete a
su destino.

 † Algunos enrutadores ejecutan aplicaciones especiales que permiten que un


administrador controle el enrutador de forma remota.
Los protocolos más importantes desarrollados para internetworking se conocen como los
Protocolos de Internet TCP / IP, generalmente abreviados como TCP / IP. Además de
utilizarse en redes privadas, TCP / IP se ha utilizado en Internet durante muchos años.

CAPITULO 21 IP: direccionamiento de Internet

Introducción
El capítulo anterior explica la arquitectura física de Internet en la que los enrutadores
interconectan las redes físicas. Este capítulo comienza una descripción del software de
protocolo que hace que Internet parezca un sistema de comunicación único y sin
interrupciones. El capítulo presenta el esquema de direccionamiento utilizado por el
Protocolo de Internet (IPv4) y analiza el uso de las máscaras de direcciones para
direcciones sin clases y direcciones de subred †. Los siguientes capítulos amplían la
descripción de IP. Cada uno de ellos considera un aspecto del protocolo en detalle.
Tomados como un grupo, los capítulos definen el protocolo IP y explican cómo el
software IP permite que las computadoras intercambien paquetes a través de Internet.

Direcciones para Internet virtual


Recuerde del Capítulo 20 que el objetivo de la interconexión de redes es proporcionar un
sistema de comunicación sin interrupciones. Para lograr el objetivo, el software de
protocolo debe ocultar los detalles de las redes físicas y ofrecer la ilusión de una red única
y grande. Desde el punto de vista de una aplicación, Internet virtual funciona como
cualquier red, lo que permite a las computadoras enviar y recibir paquetes. La principal
diferencia entre Internet y una red física es que Internet es una abstracción imaginada por
sus diseñadores y creada completamente por software de protocolo. Por lo tanto, los
diseñadores eligen direcciones, formatos de paquetes y técnicas de entrega
independientes de los detalles del hardware subyacente.

El direccionamiento es un componente crítico de la abstracción de Internet. Para dar la


apariencia de una red única, todas las computadoras host deben usar un esquema de
direccionamiento uniforme, y cada dirección debe ser única. Aunque cada computadora
tiene una dirección MAC, dichas direcciones no son suficientes porque Internet puede
incluir múltiples tecnologías de red y cada tecnología define sus propias direcciones
MAC.
Para garantizar un direccionamiento uniforme, IP define un esquema de direccionamiento
que es independiente de las direcciones MAC subyacentes. Las direcciones IP se utilizan
como destinos en Internet de forma análoga a la forma en que se usan las direcciones
MAC como destinos en una LAN. Para enviar un paquete a través de Internet, el remitente
coloca la dirección IP del destino en el paquete y pasa el paquete al software del protocolo
IP para reenviarlo. El software de protocolo IP usa la dirección IP de destino cuando
reenvía el paquete a través de Internet a la computadora de destino.

7
La ventaja del direccionamiento IP radica en la uniformidad: un par arbitrario de
programas de aplicación pueden comunicarse sin conocer el tipo de hardware de red o
direcciones MAC que se utilizan. La ilusión es tan completa que algunos usuarios se
sorprenden al saber que las direcciones IP son suministradas por el software de protocolo
y no son parte de la red subyacente. Curiosamente, aprenderemos que muchas capas de
software de protocolo usan direcciones IP. Para resumir:

Para proporcionar un direccionamiento uniforme en Internet, IP define un esquema de


direccionamiento abstracto que asigna a cada host una dirección de protocolo única; las
aplicaciones usan direcciones IP para comunicarse.

El esquema de direccionamiento IP
El estándar IP especifica que a cada host se le asigna un número único de 32 bits conocido
como la dirección del Protocolo de Internet del servidor, la dirección IP o la dirección de
Internet †. Al enviar un paquete a través de Internet, el remitente debe especificar su
propia dirección IP de 32 bits (la dirección de origen), así como la dirección del
destinatario deseado (la dirección de destino). Para resumir:
Una dirección de Internet (dirección IP) es un número binario único de 32 bits asignado
a un host y utilizado para todas las comunicaciones con el host.

La jerarquía de direcciones IP
Análogamente al direccionamiento jerárquico que se utiliza con las WAN, cada dirección
IP de 32 bits se divide en dos partes: un prefijo y un sufijo. En lugar de identificar un
conmutador de paquete, un prefijo IP identifica la red física a la que está conectado el
host. Un sufijo IP identifica una computadora específica en la red. Es decir, a cada red
física en Internet se le asigna un número de red único. El número de red aparece como un
prefijo en la dirección IP de cada computadora conectada a la red, y a cada computadora
en una red física determinada se le asigna un sufijo único.
Para garantizar la exclusividad, no se puede asignar a dos redes en Internet el mismo
número de red y no se puede asignar el mismo sufijo a dos computadoras en una red
determinada. Por ejemplo, si un internet contiene tres redes, se les pueden asignar
números de red 1, 2 y 3. A tres computadoras conectadas a la red 1 se les pueden asignar
los sufijos 1, 3 y 5, mientras que se pueden asignar tres computadoras conectadas a la red
2. sufijos 1, 2 y 3. Los valores asignados no necesitan ser contiguos.
El punto importante es que el esquema de direcciones IP garantiza dos propiedades:
 A cada computadora se le asigna una dirección única (es decir, una sola dirección
nunca se asigna a más de una computadora).
 Aunque las asignaciones de números de red deben coordinarse globalmente, los
sufijos se pueden asignar localmente sin coordinación global.

La primera propiedad está garantizada porque una dirección IP contiene un prefijo y un


sufijo. Si dos computadoras están conectadas a diferentes redes físicas, los prefijos
asignados a sus direcciones serán diferentes. Si dos computadoras están conectadas a la
misma red física, sus direcciones tienen diferentes sufijos. Por lo tanto, la dirección
asignada a una computadora es única.

8
21.5 Clases originales de direcciones IP:
Una vez que eligieron un tamaño para las direcciones IP y decidieron dividir cada
dirección en dos partes, los diseñadores de IP tuvieron que determinar cuántos bits colocar
en cada parte. El prefijo necesita suficientes bits para permitir asignar un número de red
único a cada red física en Internet. El sufijo necesita bits suficientes para permitir que
cada computadora conectada a una red tenga asignado un sufijo único. No fue posible
ninguna elección simple porque agregar bits a una parte significa restar bits de la otra.
Elegir un prefijo grande acomoda muchas redes, pero limita el tamaño de cada red; elegir
un sufijo grande significa que cada red física puede contener muchas computadoras, pero
limita la cantidad total de redes.
Debido a que Internet incluye tecnologías de red arbitrarias, contiene algunas redes físicas
grandes y muchas redes pequeñas. En consecuencia, los diseñadores eligieron un
esquema de direccionamiento para acomodar una combinación de redes grandes y
pequeñas. El esquema original, que se conoce como direccionamiento IP con clase,
dividió el espacio de direcciones IP en tres clases principales, donde cada clase tiene un
prefijo de tamaño y sufijo diferentes.
Los primeros cuatro bits de una dirección determinaban la clase a la que pertenecía la
dirección y especificaban cómo el resto de la dirección se dividía en prefijo y sufijo. La
Figura 21.1 ilustra las cinco clases de direcciones, los bits iniciales utilizados para
identificar cada clase y la división en prefijo y sufijo. La figura sigue la convención
utilizada en protocolos TCP / IP de numeración de bits de izquierda a derecha y usando
cero para el primer bit.

Aunque el esquema con clase ha sido reemplazado, las direcciones de clase D aún se usan
para la multidifusión, lo que permite la entrega a un conjunto de computadoras. Cada
dirección de multidifusión corresponde a un grupo de computadoras. Una vez que se ha
establecido un grupo de multidifusión, se entregará una copia de cualquier paquete
enviado a la dirección de multidifusión a cada host del grupo. En la práctica, la
multidifusión de Internet nunca ha estado disponible en todo el mundo, lo que significa
que la multidifusión está restringida a sitios individuales.

9
Podemos resumir:
El esquema de direccionamiento IP original dividió las direcciones en clases. Las
direcciones de clase D todavía se usan para multidifusión, pero la multidifusión no
funciona de forma global.
21.6 Notación decimal punteada
Aunque las direcciones IP son números de 32 bits, los usuarios no ingresan ni leen los
valores en binario. En cambio, al interactuar con un usuario, el software usa una notación
que es más conveniente para que los humanos comprendan. Llamada notación decimal
con puntos, la forma expresa cada sección de 8 bits de un número de 32 bits como un
valor decimal y usa períodos para separar las secciones. La Figura 21.2 ilustra ejemplos
de números binarios y la notación decimal con puntos equivalente.
Figura 21.2 Ejemplos de números binarios de 32 bits y su equivalente en notación decimal con
puntos.

El decimal punteado trata cada octeto (cada valor de 8 bits) como un entero binario sin
signo †. Como muestra el último ejemplo en la figura, el menor valor posible, 0, ocurre
cuando todos los bits de un octeto son cero, y el mayor valor posible, 255, ocurre cuando
todos los bits de un octeto son uno. Por lo tanto, las direcciones decimales con puntos van
desde 0.0.0.0 a 255.255.255.255. Las direcciones de multidifusión, clase D, ocupan el
rango de 224.0.0.0 a 239.255.255.255.
Para resumir:
La notación decimal punteada es una forma sintáctica que el software de IP usa para
expresar valores binarios de 32 bits cuando interactúa con humanos. El decimal
punteado representa cada octeto en decimal y usa un punto para separar octetos.
† IP usa el término octeto en lugar de byte porque el tamaño de un byte depende de la computadora.
Por lo tanto, aunque los bytes de 8 bits se han convertido en un estándar de facto, el octeto no es
ambiguo.

21.7 División del espacio de direcciones


El esquema original con clase, que se ideó antes de que se inventara la PC, antes de que
las LAN estuvieran ampliamente disponibles, y antes de que la mayoría de las empresas
tuvieran una red informática, dividían el espacio de direcciones en tamaños desiguales.
Los diseñadores eligieron una división desigual para adaptarse a una variedad de
escenarios.

10
Por ejemplo, aunque está limitado a 128 redes, la clase A contiene la mitad de todas las
direcciones. La motivación fue permitir que los principales ISP implementaran una gran
red que conectara millones de computadoras. Del mismo modo, la motivación para la
clase C era permitir que una organización tuviera unas pocas computadoras conectadas
en una LAN. La Figura 21.3 resume la cantidad máxima de redes disponibles en cada
clase y la cantidad máxima de hosts por red.
Figura 21.3 Número de redes y hosts por red en cada una de las tres clases de direcciones IP
primarias originales.

21.8 Autoridad para direcciones


Cada prefijo asignado a una red individual en Internet debe ser único. Por lo tanto, se ha
establecido una organización central, la Corporación de Internet para Nombres y
Números Asignados (ICANN), para manejar la asignación de direcciones y resolver
disputas. La ICANN no asigna prefijos individuales. En cambio, la ICANN autoriza a un
conjunto de registradores a hacerlo. Los registradores hacen bloques de direcciones
disponibles para los ISP, que proporcionan direcciones a los suscriptores. Por lo tanto,
para obtener un prefijo, una corporación generalmente se contacta con un ISP.
21.9 Subred y direccionamiento sin clase
A medida que Internet creció, el esquema original de direccionamiento con clase se
convirtió en una limitación. Todos exigieron una dirección de clase A o B para que
tuvieran direcciones suficientes para el crecimiento futuro; muchas direcciones no fueron
utilizadas. Aunque muchas direcciones clase C se mantuvieron, pocos grupos las querían.
Se inventaron dos nuevos mecanismos para superar la limitación:

 Direccionamiento de subred.

 Direccionamiento sin clase.

Los dos mecanismos están tan estrechamente relacionados que pueden considerarse parte
de una única abstracción: en lugar de tener tres clases de direcciones distintas, permita
que la división entre el prefijo y el sufijo se produzca en un límite de bits arbitrario. El
direccionamiento de subred se usó inicialmente en organizaciones grandes que se
conectaban a Internet global, y el direccionamiento sin clases extendió el enfoque a toda
la Internet.

11
Para comprender la motivación para usar un límite arbitrario, considere un ISP que
proporcione prefijos. Supongamos que un cliente del ISP solicita un prefijo para una red
que contiene treinta y cinco hosts. Cuando se utilizaba el direccionamiento con clase, el
ISP asignaría un prefijo de clase C. De hecho, solo se necesitan cuatro bits de sufijo de
host para representar todos los valores de host posibles, lo que significa que 219 de los
254 posibles sufijos nunca se asignarán a los hosts †. En otras palabras, la mayor parte
del espacio de direcciones de clase C se desperdicia. El direccionamiento sin clases
proporciona una mejor solución al permitir que el ISP asigne un prefijo de veintiséis bits
de longitud. Por lo tanto, el sufijo tiene seis bits de longitud, lo que significa que solo
veintisiete direcciones no se utilizarán.
Otra forma de ver la situación es suponer que el ISP posee un prefijo de clase C. El
direccionamiento con clase asigna el prefijo completo a una organización. Sin embargo,
con el direccionamiento sin clase, el ISP puede dividir el prefijo en varios prefijos más
largos, y asignar cada uno a un suscriptor. La Figura 21.4 ilustra cómo el
direccionamiento sin clases permite a un ISP dividir un prefijo de clase C en cuatro
prefijos más largos que albergan una red de hasta sesenta y dos hosts cada uno.
Figura 21.4 (a) Un prefijo de clase C, y (b) el mismo prefijo dividido en cuatro prefijos sin
clase.

En la figura, la porción de host de cada prefijo se muestra en gris. La dirección original


de clase C tiene ocho bits de sufijo y cada una de las direcciones sin clase tiene seis bits
de sufijo. Suponiendo que el prefijo de clase C original fuera único, cada uno de los
prefijos sin clase también será único. Por lo tanto, en lugar de perder direcciones, el ISP
puede asignar cada uno de los cuatro prefijos sin clases a un suscriptor.
† El número 254 surge porque una dirección de clase C tiene 256 sufijos posibles y los sufijos de los
0 y de los 1 se reservan para la transmisión de subred, como se describe más adelante en este capítulo.

12
21.10 Máscaras de direcciones
¿Cómo se puede dividir una dirección IP en un límite arbitrario? Los esquemas de
direccionamiento sin clase y subred requieren hosts y enrutadores que procesen
direcciones para almacenar una información adicional: un valor que especifica el límite
exacto entre el prefijo de red y el sufijo del host. Para marcar el límite, IP usa un valor de
32 bits conocido como máscara de dirección, que originalmente se llamó máscara de
subred. Una máscara de dirección tiene un bit para marcar el prefijo de red y cero bits
para marcar la porción de host.
¿Por qué almacenar el tamaño del límite como una máscara de bits? Una máscara hace
que el procesamiento sea eficiente. En particular, veremos que cuando manejan un
paquete IP, los hosts y los enrutadores necesitan comparar la porción del prefijo de red
de la dirección con un valor en sus tablas de reenvío. La representación de máscara de
bits hace que la comparación sea eficiente. Para ver cómo, supongamos que a un
enrutador se le asigna una dirección de destino, D, un prefijo de red representado como
un valor de 32 bits, N y una máscara de dirección de 32 bits, M. Es decir, suponga que
los bits superiores de N contienen una red prefijo, y los bits restantes se han establecido
en cero. Para probar si el destino se encuentra en la red especificada, el enrutador prueba
la condición:
N == (D & M)
Es decir, el enrutador usa la máscara con una operación "lógica AND" para establecer los
bits del host de la dirección D en cero, y luego compara el resultado con el prefijo de red
N.
Como ejemplo, considere el siguiente prefijo de red de 32 bits:
10000000 00001010 00000000 00000000

Que tiene el valor decimal punteado 128.10.0.0. También considere una máscara de 32
bits que tiene dieciséis bits uno seguido de 16 bits cero, que se pueden denotar en decimal
con puntos como 255.255.0.0:
11111111 11111111 00000000 00000000

Ahora considere una dirección de destino de 32 bits 128.10.2.3, que tiene un equivalente
binario de:
10000000 00001010 00000010 00000011

Una dirección lógica AND entre la dirección de destino y la máscara de dirección extrae
el orden alto de dieciséis bits, lo que produce el resultado binario:
10000000 00001010 00000000 00000000

Que es igual al prefijo de red 128.10.0.0.

13
21.1 Notación CIDR
El esquema de direccionamiento sin clases se conoce formalmente como enrutamiento
entre dominios sin clase (Classless Inter-Domain Routing, CIDR). El nombre es
desafortunado porque CIDR solo especifica el direccionamiento y el reenvío. Cuando se
creó el esquema de direccionamiento CIDR, los diseñadores querían que a un humano le
resultase más fácil especificar una máscara. Para comprender la dificultad, considere la
máscara necesaria para el ejemplo en la figura 21.4b, que tiene veintiséis bits de 1 seguido
de seis bits de 0. En decimal con puntos, la máscara es:
255.255.255.192

Para facilitar que los humanos especifiquen e interpreten valores de máscara, se extendió
la notación decimal con puntos. En la versión extendida, que se conoce como notación
CIDR, una dirección y una máscara se pueden especificar dando una dirección decimal
con puntos seguida por una barra inclinada y un número decimal que especifica el número
de bits contiguos justificados a la izquierda en la máscara. Es decir, la forma general es:
ddd.ddd.ddd.ddd /m

Donde ddd es el valor decimal para un octeto de la dirección, y m es el número de un bit


en la máscara. Por lo tanto, uno podría escribir lo siguiente:
192.5.48.69 / 26

Que especifica una máscara de 26 bits. La Figura 21.5 enumera las máscaras de
direcciones en notación CIDR junto con el equivalente decimal con puntos de cada una.
Tenga en cuenta que algunas de las máscaras de direcciones CIDR corresponden a las
asignaciones originales con clase.
21.12 Un ejemplo de CIDR
Como ejemplo de CIDR, suponga que un ISP tiene el siguiente bloque de direcciones
disponible para asignar:
128.211.0.0 / 16

Supongamos además que el ISP tiene dos clientes, un cliente necesita doce direcciones
IP y el otro cliente necesita nueve. El ISP puede asignar un prefijo CIDR de cliente:
128.211.0.16 / 28

Y puede asignar al otro cliente:


128.211.0.32 / 28

Aunque ambos clientes tienen el mismo tamaño de máscara (28 bits), los prefijos son
diferentes. El valor binario asignado a un cliente es:
10000000 11010011 00000000 0001 0000

Y el valor binario asignado al otro cliente es:


10000000 11010011 00000000 0010 0000
Por lo tanto, no hay ambigüedad: cada cliente tiene un prefijo único. Más importante aún, el ISP
retiene la mayor parte del bloque de direcciones original, que puede asignar a otros clientes.

14
Figura 21.5 Una lista de máscaras de direcciones en notación CIDR y en decimal con puntos.

21.13 Direcciones de host CIDR


Considere calcular el rango de direcciones en un bloque CIDR. Una vez que un ISP asigna
a un cliente un prefijo CIDR, el cliente puede asignar direcciones de host. Por ejemplo,
supongamos que a una organización se le asigna 128.211.0.16 / 28 como se describió
anteriormente. La figura 21.6 ilustra que la organización tendrá cuatro bits para usar como
un campo de dirección de host, y muestra las direcciones más alta y más baja en decimal
binario y punteado. El ejemplo evita la asignación de todas las direcciones de host de 1 y
de 0.
La figura 21.6 ilustra una desventaja del direccionamiento sin clases: dado que el sufijo
de host puede comenzar en un límite arbitrario, los valores no son fáciles de leer en
decimal con puntos. Por ejemplo, cuando se combinan con el prefijo de red, los catorce
posibles sufijos de host dan como resultado valores decimales dotados de 128.211.0.17 a
128.211.0.30.

15
21.14 Direcciones IP especiales
Además de asignar una dirección a cada computadora, es conveniente tener direcciones
que puedan usarse para denotar redes o conjuntos de computadoras. IP define un conjunto
de formularios de direcciones especiales que están reservados. Es decir, las direcciones
especiales nunca se asignan a los hosts. Esta sección describe tanto la sintaxis como la
semántica de cada formulario de dirección especial.
21.14.1 Dirección de red
Una de las motivaciones para definir formularios de direcciones especiales se puede ver
en la figura 21.6: es conveniente tener una dirección que se pueda usar para denotar el
prefijo asignado a una red determinada. El IP reserva la dirección del host cero y lo usa
para denotar una red. Por lo tanto, la dirección 128.211.0.16 / 28 denota una red porque
los bits más allá del 28 son cero. Una dirección de red nunca debería aparecer como la
dirección de destino en un paquete †.
21.14.2 Dirección de Difusión Dirigida (Directed Broadcast Address)
A veces, es conveniente enviar una copia de un paquete a todos los hosts en una red física.
Para simplificar la transmisión, IP define una dirección de difusión dirigida para cada red
física. Cuando se envía un paquete a la dirección de transmisión dirigida de una red, una
sola copia del paquete viaja a través de Internet hasta que alcanza la red especificada. El
paquete se entrega a todos los hosts en la red.
La dirección de difusión dirigida para una red se forma añadiendo un sufijo que consta de
todos los 1 bits al prefijo de red. Por lo tanto, el sufijo de host que consta de todos los bits
1 está reservado: si un administrador asigna inadvertidamente el sufijo de todos a un
equipo específico, el software puede funcionar mal.
† La Sección 21.16 discute el formulario de dirección de transmisión de Berkeley, que es una
excepción no estándar.

16
¿Cómo funciona la transmisión? Si el hardware de red admite la transmisión, se
transmitirá una transmisión dirigida utilizando la capacidad de difusión de hardware. Si
una red en particular no tiene soporte de hardware para difusión, el software debe enviar
una copia por separado del paquete a cada host en la red.
21.14.3 Dirección de transmisión limitada
El término emisión limitada se refiere a una transmisión en una red directamente
conectada; informalmente, decimos que la transmisión se limita a un "solo cable". La
transmisión limitada se usa durante el inicio del sistema por una computadora que todavía
no conoce el número de red. IP reserva la dirección que consta de treinta y dos 1 bits para
referirse a transmisión limitada. Por lo tanto, IP transmitirá cualquier paquete enviado a
la dirección de todos a través de la red local.
21.14.4 Esta dirección de computadora
Debido a que cada paquete de Internet contiene la dirección de la fuente y el destino, una
computadora necesita conocer su dirección IP antes de poder enviar o recibir paquetes de
Internet. En el Capítulo 23, aprenderemos que TCP / IP contiene protocolos que una
computadora puede usar para obtener su dirección IP automáticamente cuando se inicia
la computadora. Curiosamente, los protocolos de inicio usan IP para comunicarse. Al usar
tales protocolos de inicio, una computadora no puede proporcionar una dirección de
origen de IP correcta. Para manejar tales casos, IP reserva la dirección que consiste en
ceros para significar esta computadora.
21.14.5 Dirección de bucle invertido (Loopback Address)
IP define una dirección de bucle invertido utilizada para probar aplicaciones de red. Los
programadores suelen utilizar el loopback para la depuración preliminar después de que
se haya creado una aplicación de red. Para realizar una prueba de bucle invertido, un
programador debe tener dos programas de aplicación destinados a comunicarse a través
de una red. Cada aplicación incluye el código necesario para interactuar con el software
de protocolo TCP / IP. En lugar de ejecutar cada programa en una computadora separada,
el programador ejecuta ambos programas en una sola computadora y les indica que
utilicen una dirección de bucle invertido cuando se comuniquen. Cuando una aplicación
envía datos a otra, los datos viajan por la pila de protocolos hasta el software de IP, que
la reenvía a través de la pila de protocolos al segundo programa. Por lo tanto, el
programador puede probar la lógica del programa rápidamente sin necesidad de dos
computadoras y sin enviar paquetes a través de una red.
IP reserva el prefijo de red 127/8 para usar con loopback. La dirección de host utilizada
con 127 es irrelevante: todas las direcciones de host se tratan de la misma manera. Por
convención, los programadores a menudo usan el host número 1, lo que hace que
127.0.0.1 sea la dirección de loopback más popular.
Durante las pruebas de bucle invertido, ningún paquete sale de una computadora: el
software de IP reenvía paquetes de un programa de aplicación a otro. En consecuencia, la
dirección de bucle invertido nunca aparece en un paquete que viaja a través de una red.

17
21.15 Resumen de direcciones IP especiales
La tabla en la Figura 21.7 resume los formularios especiales de la dirección IP.
Figura 21.7 Resumen de los formularios de direcciones IP especiales.

Dijimos que las direcciones especiales están reservadas y nunca deberían asignarse a las
computadoras anfitrionas. Además, cada dirección especial está restringida a ciertos usos.
Por ejemplo, una dirección de difusión nunca debe aparecer como una dirección de
origen, y la dirección de todos los 0 no debe utilizarse después de que un host complete
el procedimiento de inicio y haya obtenido una dirección de IP.
21.16 El formulario de dirección de transmisión de Berkeley
La Universidad de California en Berkeley desarrolló y distribuyó una implementación
temprana de protocolos TCP / IP como parte de BSD UNIX †. La implementación de
BSD contenía una característica no estándar que ha afectado a muchas implementaciones
posteriores. En lugar de usar un sufijo de host de todos para representar una dirección de
difusión dirigida, la implementación de Berkeley usa un sufijo de host que contiene todos
los ceros (es decir, idénticos a la dirección de red). El formulario de dirección se conoce
informalmente como la transmisión de Berkeley.
Desafortunadamente, muchos fabricantes de computadoras obtuvieron su temprano
software TCP / IP de la implementación de Berkeley, y algunos sitios todavía usan la
transmisión de Berkeley. Las implementaciones de TCP / IP a menudo incluyen un
parámetro de configuración que puede seleccionar entre el estándar TCP / IP y el
formulario de Berkeley; muchas implementaciones están diseñadas para aceptar
formularios de direcciones de difusión estándar y de Berkeley. Por lo tanto, un
administrador de red debe elegir el formulario que se utilizará en cada red (si se permite
la transmisión dirigida).
† BSD significa Berkeley Software Distribution.

18
21.17 Enrutadores y el principio de direccionamiento de IP
Además de asignar una dirección de Internet a cada host, el Protocolo de Internet
especifica que a los enrutadores también se les deben asignar direcciones IP. De hecho, a
cada enrutador se le asignan dos o más direcciones IP, una para cada red a la que se
conecta el enrutador. Para entender por qué, recuerda dos hechos:

 Un enrutador tiene conexiones a múltiples redes físicas.


 Cada dirección IP contiene un prefijo que especifica una red física.
Por lo tanto, una sola dirección IP no es suficiente para un enrutador porque cada
enrutador se conecta a múltiples redes y cada red tiene un prefijo único. El esquema de
IP se puede explicar por un principio fundamental:
Una dirección IP no identifica una computadora específica. En cambio, cada dirección IP
identifica una conexión entre una computadora y una red. A una computadora con
múltiples conexiones de red (por ejemplo, un enrutador) se le debe asignar una dirección
IP para cada conexión.
La figura 21.8 ilustra la idea con un ejemplo que muestra las direcciones IP asignadas a
dos enrutadores que conectan tres redes.
Figura 21.8 Un ejemplo de direcciones IP asignadas a dos enrutadores.

IP no requiere que se asigne el mismo sufijo a todas las interfaces de un enrutador. En la


figura, por ejemplo, el enrutador que conecta la red Ethernet y Wi-Fi tiene los sufijos 99.5
(conexión a Ethernet) y 2 (conexión a la red Wi-Fi). Sin embargo, IP no evita el uso del
mismo sufijo para todas las conexiones. Por lo tanto, el ejemplo muestra que el
administrador ha elegido usar el mismo sufijo, 17, para ambas interfaces del enrutador
que conecta la red Wi-Fi a la WAN. Como una cuestión práctica, usar el mismo sufijo
puede ayudar a los humanos que manejan las redes porque un solo número es más fácil
de recordar.

19
21.18 Anfitriones Multi-Homed:
¿Puede un host conectarse a múltiples redes? Sí. Se dice que una computadora host con
múltiples conexiones de red es multi-homed. Multi-homing se usa a veces para aumentar
la confiabilidad: si una red falla, el host puede llegar a Internet a través de la segunda
conexión.
Alternativamente, el uso de múltiples domicilios se usa para aumentar el rendimiento: las
conexiones a múltiples redes pueden permitir el envío directo del tráfico y evitar los
enrutadores, que a veces están congestionados. Al igual que un enrutador, un host
multitarjeta tiene múltiples direcciones de protocolo, una para cada conexión de red.
21.19 Resumen
Para dar la apariencia de una red grande y sin fisuras, Internet utiliza un esquema de
direccionamiento uniforme. A cada computadora se le asigna una dirección IP única;
todas las aplicaciones de Internet usan la dirección cuando se comunican con la
computadora.
El protocolo de Internet especifica el direccionamiento. IP divide cada dirección de
Internet en una jerarquía de dos niveles: un prefijo identifica la red a la que se conecta
una computadora, y un sufijo identifica una computadora específica en la red. Para
garantizar que las direcciones permanezcan únicas en un Internet dado, una autoridad
central asigna prefijos de red. Una vez que se ha asignado un prefijo, un administrador de
red local asigna a cada host de la red un sufijo único.
Una dirección IP es un número de 32 bits. El esquema de direccionamiento original
dividía las direcciones en clases; la clase de multidifusión todavía se usa. El
direccionamiento sin clase y subred permite que el límite entre el prefijo y el sufijo se
produzca en un límite de bit arbitrario. Para hacerlo, la subred y el direccionamiento sin
clases (CIDR) almacenan una máscara de 32 bits junto con cada dirección.
La máscara tiene el valor 1 para cada bit en el prefijo, y el valor 0 para cada bit en el
sufijo. El estándar IP especifica un conjunto de direcciones reservadas que tienen un
significado especial. Las direcciones especiales se pueden usar para especificar loopback
(utilizado para pruebas), la dirección de una red, transmitir en la red física local y
transmitir en una red remota.
Aunque es conveniente pensar que una dirección IP especifica una computadora, cada
dirección IP identifica una conexión entre una computadora y una red. Los enrutadores y
los hosts multi-hogar, que tienen conexiones a múltiples redes físicas, cada uno tiene
múltiples direcciones IP.

20
CAPÍTULO 25: UDP: servicio de transporte de datagramas
25.1 Introducción
Los capítulos anteriores describen el servicio de entrega de paquetes sin conexión
provisto por IP y el protocolo complementario utilizado para informar errores. Este
capítulo considera UDP, uno de los dos principales protocolos de capa de transporte
utilizados en Internet y el único servicio de transporte sin conexión. El capítulo analiza el
formato de paquete UDP y las formas en que se puede usar UDP. Veremos que, aunque
UDP es eficiente y flexible, tiene la sorprendente propiedad de utilizar la semántica de
entrega de mejor esfuerzo. Además de discutir UDP, el capítulo cubre el importante
concepto de números de puerto de protocolo.
El siguiente capítulo continúa la discusión al enfocarse en el otro protocolo principal de
capa de transporte, TCP. Los capítulos posteriores discuten el enrutamiento de Internet y
la administración de red, cada uno de los cuales usa protocolos de transporte.
25.2 Protocolos de transporte y comunicación de extremo a extremo
Como muestran los capítulos anteriores, el protocolo de Internet proporciona un servicio
de entrega de paquetes que se extiende por Internet (es decir, un datagrama puede pasar
del host de envío, a través de una o más redes físicas, al host receptor). A pesar de su
capacidad de transmitir tráfico a través de Internet, el IP carece de una característica
esencial: el IP no puede distinguir entre múltiples programas de aplicaciones que se
ejecutan en un host determinado. Si un usuario ejecuta una aplicación de correo
electrónico y un navegador web al mismo tiempo o ejecuta varias copias de una aplicación
determinada, debe poder comunicarse de forma independiente.
IP no puede admitir múltiples aplicaciones porque los campos en el encabezado del
datagrama solo identifican las computadoras. Es decir, desde el punto de vista de IP, los
campos de origen y destino en un datagrama identifican una computadora host; una
dirección IP no contiene bits adicionales para identificar un programa de aplicación en el
host. Decimos que IP trata a una computadora como un punto final de comunicación. Por
el contrario, los protocolos de capa de transporte se conocen como protocolos de extremo
a extremo porque un protocolo de transporte permite que un programa de aplicación
individual sea un punto final de comunicación. En lugar de agregar características
adicionales a IP para identificar aplicaciones, los diseñadores de los protocolos TCP / IP
colocaron protocolos de extremo a extremo en una capa separada, Capa 4.
25.3 El protocolo de datagramas de usuario
Como veremos, el conjunto de TCP / IP contiene dos protocolos de transporte, el
Protocolo de datagramas de usuario (UDP) y el Protocolo de control de transmisión
(TCP), que difieren dramáticamente en el servicio que ofrecen a las aplicaciones. UDP es
menos complejo y más fácil de entender. La simplicidad y la facilidad de comprensión
tienen un costo: UDP no proporciona el tipo de servicio que espera una aplicación típica.

21
UDP se puede caracterizar como:
 De extremo a extremo. UDP es un protocolo de transporte que puede distinguir
entre múltiples programas de aplicaciones que se ejecutan en una computadora
determinada.
 Sin conexión. La interfaz que UDP suministra a las aplicaciones sigue un
paradigma sin conexión.
 Orientado a mensajes. Una aplicación que usa UDP envía y recibe mensajes
individuales.
 Mejor esfuerzo. UDP ofrece a las aplicaciones la misma semántica de entrega de
mejor esfuerzo que IP.
 Interacción arbitraria. UDP permite que una aplicación envíe a muchas otras
aplicaciones, reciba de muchas otras aplicaciones o se comunique exactamente
con otra aplicación.
 Sistema operativo independiente. UDP proporciona un medio para identificar
programas de aplicación que no dependen de los identificadores utilizados por el
sistema operativo local.
La característica más importante de UDP, su semántica de mejor esfuerzo, surge porque
UDP usa IP para la transmisión. De hecho, UDP a veces se caracteriza como una delgada
capa de protocolo que proporciona a las aplicaciones la capacidad de enviar y recibir
datagramas IP. Podemos resumir:
UDP proporciona un servicio de extremo a extremo que permite a un programa de
aplicación enviar y recibir mensajes individuales, cada uno de los cuales se desplaza en
un datagrama separado. Una aplicación puede elegir restringir la comunicación a otro
programa de aplicación o comunicarse con múltiples aplicaciones.
25.4 El paradigma sin conexión
UDP usa un paradigma de comunicación sin conexión, lo que significa que una aplicación
que usa UDP no necesita preestablecer la comunicación antes de enviar datos, ni la
aplicación necesita informar a la red cuando termina. En cambio, una aplicación puede
generar y enviar datos en cualquier momento. Además, UDP permite que una aplicación
retrase un tiempo arbitrariamente largo entre la transmisión de dos mensajes. UDP no
mantiene el estado y no usa mensajes de control; la comunicación consiste solo en los
mensajes de datos. En particular, si un par de aplicaciones deja de enviar datos, no se
intercambian otros paquetes. Como resultado, UDP tiene una sobrecarga extremadamente
baja. Para resumir:
UDP no tiene conexión, lo que significa que una aplicación puede enviar datos en
cualquier momento y UDP no transmite ningún paquete que no sea el de los paquetes que
llevan datos de usuario.
25.5 Interfaz orientada a mensajes
UDP ofrece a los programas de aplicaciones una interfaz orientada a mensajes. Cada vez
que una aplicación solicita que UDP envíe un bloque de datos, UDP coloca los datos en
un solo mensaje para su transmisión.

22
UDP no divide un mensaje en varios paquetes y no combina los mensajes para la entrega:
cada mensaje que envía una aplicación se transporta a través de Internet y se envía al
receptor.
La interfaz orientada a mensajes tiene varias consecuencias importantes para los
programadores. En el lado positivo, las aplicaciones que usan UDP pueden depender del
protocolo para preservar los límites de datos: cada mensaje que entrega UDP a una
aplicación receptora será exactamente el mismo que transmitió el remitente. En el lado
negativo, cada mensaje UDP debe caber en un solo datagrama IP. Por lo tanto, el tamaño
del datagrama IP forma un límite absoluto en el tamaño de un mensaje UDP. Más
importante aún, el tamaño del mensaje UDP puede conducir a un uso ineficiente de la red
subyacente. Si una aplicación envía mensajes extremadamente pequeños, los datagramas
resultantes tendrán una gran proporción de octetos de encabezado a octetos de datos. Si
una aplicación envía mensajes extremadamente grandes, los datagramas resultantes
pueden ser más grandes que la MTU de la red y se fragmentarán por IP.
Permitir que los mensajes UDP sean grandes produce una anomalía interesante.
Normalmente, un programador de aplicaciones puede lograr una mayor eficiencia
mediante el uso de grandes transferencias. Por ejemplo, se anima a los programadores a
declarar grandes búferes de E / S y especificar transferencias que coincidan con el tamaño
del búfer. Con UDP, sin embargo, el envío de mensajes grandes conduce a una menor
eficiencia porque los mensajes grandes provocan fragmentación. Aún más sorprendente,
la fragmentación puede ocurrir en la computadora de envío: una aplicación envía un
mensaje grande, UDP coloca el mensaje completo en un datagrama de usuario y
encapsula el datagrama de usuario en un datagrama de Internet, y la IP debe realizar la
fragmentación antes de enviar el datagrama. La cuestión es:
Aunque la intuición de un programador sugiere que el uso de mensajes más grandes
aumentará la eficiencia, si un mensaje UDP es más grande que la MTU de la red, IP
fragmentará el datagrama resultante, lo que reduce la eficiencia.
Como consecuencia, muchos programadores que usan UDP eligen un tamaño de mensaje
que produce datagramas que se ajustan a una MTU estándar. En particular, debido a que
la mayoría de las partes de Internet ahora admiten una MTU de 1500 octetos, los
programadores suelen elegir un tamaño de mensaje de 1400 o 1450 para dejar suficiente
espacio para los encabezados IP y UDP.
25.6 Semántica de comunicación UDP
UDP usa IP para todas las entregas. Además, UDP proporciona a las aplicaciones
exactamente la misma semántica de entrega de mejor esfuerzo que IP, lo que significa
que los mensajes pueden ser:
 Perdido
 Duplicado
 Retrasado
 Entregado fuera de orden
 Corrompido

23
Por supuesto, UDP no introduce deliberadamente problemas de entrega. En cambio, UDP
simplemente usa IP para enviar mensajes y no detecta ni corrige los problemas de entrega.
La semántica de entrega de mejor esfuerzo de UDP tiene consecuencias importantes para
las aplicaciones. Una aplicación debe ser inmune a los problemas o el programador debe
tomar pasos adicionales para detectar y corregir problemas. Como ejemplo de una
aplicación que puede tolerar errores de paquetes, considere una transmisión de audio. Si
el remitente coloca una pequeña cantidad de audio en cada mensaje, la pérdida de un solo
paquete produce un pequeño espacio en la reproducción, que se escuchará con un clic o
pop. Aunque no es deseable, el ruido es simplemente molesto. En el extremo opuesto,
considere una aplicación de compra en línea. Dichas aplicaciones no están escritas para
usar UDP porque los errores de paquete pueden tener consecuencias graves (por ejemplo,
la duplicación de un mensaje que lleva una orden de catálogo puede dar como resultado
dos pedidos, con cargos dobles en la tarjeta de crédito del comprador). Podemos resumir:
Debido a que UDP ofrece la misma semántica de entrega de mejor esfuerzo que IP, un
mensaje UDP puede perderse, duplicarse, retrasarse, entregarse fuera de orden o los
bits pueden corromperse en tránsito. UDP solo es suficiente para aplicaciones como voz
o video que pueden tolerar errores de entrega.
25.7 modos de interacción y entrega de difusión
UDP permite cuatro estilos de interacción:
 1-a-1
 1 a muchos
 Muchos-a-1
 Muchos a muchos
Es decir, una aplicación que usa UDP tiene una opción. Una aplicación puede elegir una
interacción de 1 a 1 en la que la aplicación intercambia mensajes con exactamente otra
aplicación, una interacción de 1 a varios en la que la aplicación envía un mensaje a
múltiples destinatarios, o una interacción de varios a uno en que la aplicación recibe
mensajes de múltiples remitentes. Finalmente, un conjunto de aplicaciones puede
establecer una interacción de muchos a muchos en la que intercambian mensajes entre sí.
Aunque se puede lograr una interacción de 1 a muchos al organizar el envío de una copia
individual de un mensaje a cada destinatario, UDP permite que el intercambio sea
eficiente. En lugar de requerir que una aplicación envíe repetidamente un mensaje a
múltiples destinatarios, UDP permite que una aplicación transmita el mensaje a través de
multidifusión IP o difusión. Para hacerlo, el emisor usa una dirección IP de difusión como
la dirección IP de destino. Por ejemplo, la transmisión local se puede especificar
utilizando la dirección de transmisión limitada de IP, 255.255.255.255. Del mismo modo,
UDP permite que una aplicación envíe mensajes de multidifusión. La entrega a través de
difusión o multidifusión es especialmente útil para redes Ethernet porque el hardware
subyacente admite ambos tipos de manera eficiente.

24
25.8 Identificación de punto final con números de puerto de protocolo
Exactamente, ¿cómo debería UDP identificar un programa de aplicación como punto
final? Podría parecer que UDP podría usar el mismo mecanismo que usa el sistema
operativo. Desafortunadamente, dado que el UDP debe abarcar computadoras
heterogéneas, no existe un mecanismo común.
Por ejemplo, algunos sistemas operativos usan identificadores de procesos, otros usan
nombres de trabajos, y otros usan identificadores de tareas. Por lo tanto, un identificador
que sea significativo en un sistema puede no ser significativo en otro. Para evitar la
ambigüedad, UDP define un conjunto abstracto de identificadores llamados números de
puerto de protocolo que son independientes del sistema operativo subyacente. Cada
computadora que implementa UDP debe proporcionar una asignación entre los números
de puerto de protocolo y los identificadores de programa que usa el sistema operativo.
Por ejemplo, el estándar UDP define el puerto de protocolo número siete como el puerto
para un servicio de eco y el número de puerto treinta y siete como el puerto para un
servicio de servidor de tiempo. Todas las computadoras que ejecutan UDP reconocen los
números de puerto de protocolo estándar, independientemente del sistema operativo
subyacente. Por lo tanto, cuando llega un mensaje UDP para el puerto siete, el software
de protocolo UDP debe saber qué programa en la computadora local implementa el
servicio de eco y debe pasar el mensaje entrante al programa.
El modo de comunicación está determinado por la forma en que una aplicación rellena
las direcciones y los números de puerto de protocolo para un socket. Para participar en la
comunicación 1-a-1, por ejemplo, una aplicación especifica el número de puerto local, la
dirección IP remota y el número de puerto del protocolo remoto; UDP solo pasa los
mensajes de la aplicación que llegan del remitente especificado. Para participar en la
comunicación de muchos a 1, la aplicación especifica el número de puerto local, pero
informa a UDP que el punto final remoto puede ser cualquier sistema. UDP luego pasa a
la aplicación todos los mensajes que llegan para el puerto especificado †.
† Solo una aplicación puede solicitar todos los mensajes para un puerto determinado.

25.9 Formato de datagrama UDP


Cada mensaje UDP se denomina datagrama de usuario y consta de dos partes: un
encabezado corto que especifica los programas de aplicación de envío y recepción y una
carga útil que transporta los datos que se envían. La Figura 25.1 ilustra el formato del
datagrama del usuario.
Figura 25.1 El formato de un datagrama de usuario UDP con un encabezado de 8 octetos.

25
Los primeros dos campos del encabezado UDP contienen números de puerto de protocolo
de 16 bits. El puerto UDP SOURCE PORT contiene el número de puerto de la aplicación
emisora, y el campo UDP DESTINATION PORT contiene el número de puerto de la
aplicación a la que se envía el mensaje. LONGITUD DEL MENSAJE UDP de campo
especifica el tamaño total del mensaje UDP, medido en bytes de 8 bits.
25.10 La suma de comprobación UDP y el pseudo encabezado
Aunque el encabezado UDP contiene un campo de dieciséis bits denominado suma de
comprobación UDP, la suma de comprobación es opcional. Un remitente puede elegir
calcular una suma de comprobación o establecer todos los bits del campo de suma de
comprobación en cero. Cuando llega un mensaje al destino, el software UDP examina el
campo de suma de comprobación y solo verifica la suma de comprobación si el valor es
distinto de cero †.
Tenga en cuenta que el encabezado UDP no contiene ninguna identificación del emisor o
receptor que no sean los números de puerto de protocolo. En particular, UDP asume que
las direcciones de origen y destino de IP están contenidas en el datagrama IP que
transporta UDP. Por lo tanto, las direcciones IP no se incluyen en el encabezado UDP.
Omitir las direcciones IP de origen y destino hace que UDP sea más pequeño y más
eficiente, pero introduce la posibilidad de error. En particular, si el IP no funciona y
entrega un mensaje UDP a un destino incorrecto, UDP no puede usar campos de
encabezado para determinar que ocurrió un error.
Para permitir que UDP verifique que los mensajes lleguen al destino correcto sin incurrir
en la sobrecarga de los campos de encabezado adicionales, UDP extiende la suma de
verificación. Al calcular la suma de comprobación, el software UDP incluye un pseudo
encabezado que contiene los campos fuente, destino y tipo (es decir, PROTO) del
datagrama IP y una longitud de datagrama UDP. Es decir, el emisor calcula una suma de
comprobación como si el encabezado UDP contuviera campos adicionales. De forma
similar, para verificar una suma de comprobación, un receptor debe obtener la longitud
UDP, y los campos fuente, destino y tipo del datagrama IP; el receptor los agrega al
mensaje UDP antes de verificar la suma de comprobación. La Figura 25.2 ilustra los
campos en el pseudo encabezado.
† Al igual que IP, UDP usa una suma de verificación de complemento a las unidades; si la suma de
comprobación calculada tiene un valor de cero, un emisor usa la forma de cero para todos.

Figura 25.2 Ilustración del pseudo encabezado utilizado para calcular la suma de comprobación
de UDP.

26
25.11 Encapsulación UDP
Al igual que ICMP, cada datagrama UDP se encapsula en un datagrama IP para su
transmisión a través de Internet. La Figura 25.3 ilustra la encapsulación.
Figura 25.3 La encapsulación de un mensaje UDP en un datagrama IP.

25.12 Resumen
El protocolo User Datagram proporciona transporte de mensajes de extremo a extremo
desde una aplicación que se ejecuta en una computadora a una aplicación que se ejecuta
en otra computadora. UDP ofrece la misma semántica de entrega de mejor esfuerzo que
IP, lo que significa que los mensajes pueden perderse, duplicarse o entregarse fuera de
servicio. Una ventaja de un enfoque sin conexión surge de la capacidad de tener
interacciones 1 a 1, 1 a muchos y muchos a 1 entre las aplicaciones.
Para permanecer independiente de los sistemas operativos subyacentes, UDP usa
números de puerto de protocolo enteros pequeños para distinguir entre programas de
aplicación. El software de protocolo en una computadora determinada debe asignar cada
número de puerto de protocolo al mecanismo apropiado (por ejemplo, ID de proceso)
utilizado en la computadora.
La suma de comprobación UDP es opcional: si un emisor llena el campo de suma de
comprobación con cero, el receptor no verifica la suma de comprobación. Para verificar
que el datagrama UDP llegó a la ubicación correcta, se calcula una suma de comprobación
UDP sobre el datagrama más un pseudo encabezado. UDP requiere dos niveles de
encapsulación. Cada mensaje UDP está encapsulado en un datagrama IP para su
transmisión a través de Internet. El datagrama está encapsulado en un marco para la
transmisión a través de una red individual.

27

También podría gustarte