You are on page 1of 24

CURSO DE TCP/IP

INTRODUCCIoN

Si alguna vez has intentado comprender Internet, seguro que has acabado frente a un
libro de TCP-IP. Y seguro que a la sexta pgina lo has dado por IMPOSIBLE!!!
TCP-IP es el alma de la red, nosotros te ofrecemos un curso MUY ESPECIAL ;)

1.Introduccin a la introduccin. glosario de trminos; si no realmente llegar


a hacer suyos los conceptos y comprenderlos
Probablemente muchos de vosotros esperabais de una forma totalmente natural.
con impaciencia un curso como este, as que
espero que vuestra alegra, al ver que al fin Por supuesto, ya se que la mayora de los
nos metemos de lleno con el tema en esta lectores de esta revista tienen ya un nivel
revista, no se vea frustrada al descubrir que aceptable de conocimientos, pero he de
vuestro profe en este curso va a ser el enfocarlo no slo para los lectores veteranos,
mismo que mes tras mes os ha ido aburriendo si no tambin para aquellos totalmente novatos
soberanamente con la serie RAW. ;-) que, sin duda, sern los que ms se beneficien
de este curso y que les abrir las puertas para
Si es cierto que os parezco aburrido, en mi llegar a comprender en profundidad todo lo
defensa he de alegar que la descripcin dems que se ensee en la revista a partir de
detallada de un protocolo es algo aburrido de ahora.
por s y, aunque he hecho lo posible por hacer
artculos amenos, cuando hay que ponerse Sin duda alguna, el TCP/IP es uno de los pilares
serio, hay que ponerse serio. de todo este jaleo en el que estamos metidos.
;-) As que decid coger al toro por los cuernos,
Aprovecho esta ocasin para agradecer a y enfocar la cuestin desde un punto de vista
Adhara (conocida como MariAn antes de diferente.
digievolucionar) su aportacin en este sentido,
con las caricaturas e ilustraciones que ha
aportado para amenizar en la medida de lo
! TCP/IP
posible la serie RAW y que, por supuesto,
tambin seguir aportando en este curso que TCP / IP: Transmission Control Protocol / Internet Protocol
comienza. = Protocolo de Control de Transmisin / Protocolo de
Internet
Os plantear el terrible dilema que he sufrido
para poder comenzarlo. Para ayudarme a la
hora de estructurar un poco las ideas he Cuntos cursos de TCP/IP empiezan contando
ojeado multitud de libros y cursos de TCP/IP el modelo OSI (Open Systems
para ver cmo abordaban el problema y poder Interconnection = Interconexin de
explicarlo desde cero, que era mi gran reto. Sistemas Abiertos)? A los que hayis seguido
alguno de esos cursos publicados en Internet
Lamentablemente, en ninguno he encontrado o en otras revistas, os qued claro desde el
lo que yo buscaba, una forma de introducir principio, por ejemplo, para qu servia la capa
los conceptos de forma que alguien sin ningn de sesin del modelo OSI? No pensis que
conocimiento pueda no slo aprenderse de quiz empezar abordando el problema
memoria un montn de formatos de planteando un modelo terico tan complejo
cabeceras, comandos de protocolos, y un puede ser contraproducente? No os quedaron

PC PASO A PASO N 17 Pgina 31


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

ms dudas despus de terminar el tema de 2. El concepto fundamental de


introduccin que antes de empezarlo? Seguro protocolo por capas
que la mayora dejasteis el curso a la mitad
(y otros ni siquiera pasasteis de las primeras Empezaremos nuestro viaje metafrico por el
pginas). mundo de los protocolos situndonos en un
hospital, donde los doctores PyC y Scherzo
El empezar cualquier curso de TCP/IP hablan acerca de la prxima operacin a
hablando del modelo OSI parece que corazn abierto que tendrn que llevar a cabo.
ha sido la solucin estndar para solucionar
el reto de mostrar el concepto de los El doctor PyC tiene unas dudas acerca de la
protocolos por capas a gente totalmente complicadsima operacin, y acude al doctor
nueva en el tema. Pero a m personalmente Scherzo en busca de ayuda.
nunca me ha parecido una buena idea, as
que he tomado una medida muy arriesgada,
y es intentar dar un nuevo enfoque a este
reto.

No s qu resultados tendr mi enfoque, pero


espero que al menos sea una alternativa para
que aquellos que no terminan de captar los
conceptos por los medios clsicos tengan
aqu una segunda oportunidad.

Qu esperabais? Que mi curso de TCP/IP


fuese como todos los dems? Para eso tenis
millones de libros sobre el tema! Lo que
pretendemos dar en esta revista son nuevas
visiones que no se pueden encontrar en las
fuentes convencionales.

El juzgar si nuestro enfoque es mejor que el


convencional, ya depende de cada lector, y
confo en que todos vosotros tendris buen
juicio para escoger la opcin que para cada
uno de vosotros resulte ms adecuada.

Como veris, mi enfoque intenta mostrar los


conceptos puros, al margen de cualquier
detalle tcnico, mediante varios smiles con
otros conceptos, bien conocidos por todos,
de nuestra vida cotidiana.

Por supuesto, despus de este primer artculo


vendrn otros, y ah si que veremos ya en
profundidad los detalles tcnicos, los cuales
nos entrarn con muchsima ms facilidad si
previamente hemos dedicado un tiempo
imprescindible a llegar al fondo de los
conceptos.

Pgina 32 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Dios mo, como haya entre los lectores algn


mdico o estudiante de medicina... que me
perdone por la increble cantidad de
estupideces que acabo de soltar! XD

Al margen de si tiene sentido o no la parrafada,


supondremos que se trataba de una
conversacin perfectamente normal entre
cirujanos.

Ahora vamos a plantearnos una serie de


cuestiones sobre estas vietas. En primer
lugar, qu han hecho bsicamente PyC y
Scherzo?
COMUNICARSE.
Se convertira en sta otra:

Ahora vamos a analizar un poco en qu ha


consistido esa comunicacin.

En primer lugar, lo que ms nos llama la


atencin es el lenguaje tcnico utilizado, que
slo es comprendido por los cirujanos.

Igual que los cirujanos tienen su propio


lenguaje tcnico, los informticos tambin
tienen el suyo, los arquitectos el suyo, y los
abogados el suyo, todos ellos diferentes entre
s.

Pero, a pesar de que todos estos lenguajes


tcnicos sean diferentes, todos ellos se apoyan
en una misma base, que es el idioma; en este Por la cara que pone el doctor Scherzo podemos
caso, el castellano. estar seguros de que utilizando tan slo el
lenguaje tcnico, sin apoyarnos en la base que
El lenguaje tcnico de los cirujanos consiste es el idioma castellano, es imposible que dos
nicamente en una serie de palabras y cirujanos se comuniquen.
expresiones que permiten expresar los
trminos especficos que requieren los Lo mismo que pasa con los cirujanos pasa con
cirujanos para comunicarse en su trabajo. Por cualquier otro grupo de profesionales que
tanto, no es un lenguaje completo, ya que no utilicen su propio lenguaje tcnico. Todos ellos
posee una gramtica propia que permita apoyan toda su conversacin en un idioma
mantener una conversacin sin apoyarse en comn, que puede ser el castellano, el ingls,
un idioma bsico, como puede ser el castellano. o cualquier otro.

Si, por ejemplo, eliminsemos de la parrafada Por supuesto, para que dos profesionales se
del doctor PyC todo aquello que no formase entiendan tienen que hablar no slo el mismo
parte exclusivamente del lenguaje tcnico de lenguaje tcnico, si no tambin el mismo
los cirujanos, esta frase: idioma comn.

PC PASO A PASO N 17 Pgina 33


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Si el doctor PyC hablase Japons, sin duda entrar ms en profundidad en la comunicacin


el doctor Scherzo habra puesto la misma que vimos en las vietas.
cara de incomprensin.
Qu otro medio comn han utilizado el doctor
Segn lo que hemos visto hasta ahora, la Scherzo y el doctor Pyc para comunicarse?
comunicacin entre los dos doctores funciona El habla!
gracias a dos capas independientes: el idioma, Si trasladsemos toda esa conversacin a un
y el lenguaje tcnico. papel, no tendra el mismo sentido? Y si la
trasladsemos a una conversacin telefnica?
O a una conversacin por IRC (Internet Relay
Chat)?

Los dos doctores se han apoyado en un medio


fsico comn, que es la voz, pero perfectamente
podran haber mantenido la misma
conversacin a travs de otro medio fsico,
como la escritura, o el telfono.

Cul es el motivo por el cual es esto as? Tanto si esa conversacin es hablada como si
Pues, si pensis un poco, llegaris vosotros es escrita, seguira utilizando tanto el lenguaje
mismos a la conclusin. tcnico de los cirujanos, como el idioma
castellano. En nada cambiara, salvo en el
Imaginad que el lenguaje tcnico de los hecho de que el medio utilizado sera diferente.
cirujanos fuese un lenguaje completo, con
sus frmulas de saludos, despedidas, una Ahora bien, igual que un cirujano japons no
gramtica completa para construir las frases, puede entenderse con un cirujano de Jan, si
palabras para expresar cualquier trmino el doctor PyC le hubiese soltado la parrafada
comn en cualquier comunicacin (como los al doctor Scherzo por correo, y ste le hubiese
habituales: me lo repita, habla ms respondido a viva voz cuando recibiese la
despacio, que no me da tiempo a apuntarlo!, carta (es decir, que se lo habra contado a las
etc.), e incluso tuviese sus propios nombres, paredes), tampoco habra sido posible una
en lugar de los que tenemos en castellano comunicacin.
(doctor Pyc, y doctor Scherzo). Sera una
completa locura! Ambos interlocutores tienen que compartir el
mismo medio fsico para comunicarse. Si un
Desde luego, no sera nada prctico que interlocutor est utilizando el telfono, y el
cualquier cirujano tuviese que aprender un otro est respondiendo por escrito en un papel,
idioma totalmente nuevo slo para poder jams podr haber una comunicacin.
comunicarse con sus colegas.
Por supuesto, tampoco sirve de nada que
Lo ms prctico, y lo ms lgico, es utilizar ambos hablen a viva voz, si cada uno est en
el recurso conocido por todos que es el idioma un lugar diferente, donde no se puedan
castellano, y simplemente ampliarlo con una escuchar mutuamente.
serie de trminos que permitan entrar en
detalle en los conceptos manejados por los Podemos considerar, por tanto, al medio fsico
cirujanos. como otra capa de la comunicacin. En este
caso, esta capa ya no existe por una
Una vez comprendida la necesidad de conveniencia de hacer las cosas ms fciles,
comunicarse utilizando dos capas, vamos a si no por una necesidad natural.

Pgina 34 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

entre los dos interlocutores. Nos da


exactamente igual que el intrprete no
entienda ni papa de la conversacin, ya que
esa conversacin no va dirigida a l, no es
ms que un mero intermediario. l tiene que
saber nicamente ambos idiomas: japons y
castellano.

Una vez que el intrprete ha traducido la frase


Vamos a hacer una incisin subyugular ya
ser problema de los cirujanos entenderse
entre ellos, ya que el intrprete no tiene ni
idea de qu es una incisin subyugular, pero
si que sabe traducir las palabras literalmente.
Vamos a ver qu ocurre ahora si el doctor
Me-Iwa, de Japn, quiere hablar con el doctor Por tanto, podramos considerar al intrprete
PyC acerca de la operacin de cardiopata como un intermediario en la conversacin que
precartida. slo llega a comprender hasta cierta capa de
la comunicacin pero que, an as, es capaz
Por supuesto, no podrn comunicarse de transmitir todo, confiando en que los
directamente, al hablar distintos idiomas, interlocutores sern capaces de comprenderse
pero por suerte el doctor Me-Iwa tiene un una vez traducido el idioma.
intrprete que puede hablar tanto en castellano
como en japons, por lo que ste sera el Ms adelante profundizaremos mucho ms
escenario ahora: en la cuestin de los intermediarios en la
comunicacin, as que quedaos bien con esta
idea. ;-)

3. Las capas de TCP/IP

Al fin vamos a ver la relacin que tiene todo


esto con el tema que nos interesa!
Ya hemos comprendido la necesidad de
estructurar la comunicacin en diferentes
capas, tanto por necesidad fsica, como por
Ahora meditemos un poco acerca de este conveniencia para facilitar la comunicacin
nuevo personaje, el intrprete. Lo ms (reducir su complejidad). Por supuesto, eso
probable es que este intrprete sea un es algo que ocurre en todo tipo de
estudiante de filologa, o simplemente un comunicacin y, por tanto, la comunicacin
estudiante de idiomas de academia pero, en entre mquinas no va a ser menos.
cualquier caso, es poco probable que el
intrprete sea un cirujano. Por un momento, imaginemos que no hubiese
capas en la comunicacin por Internet.
Pero, es realmente necesario que el intrprete
sepa algo de ciruga? El lenguaje tcnico de Si yo tuviese que programar un cliente de
los cirujanos al fin y al cabo no es ms que correo electrnico (como por ejemplo el
una extensin del idioma, por lo que bastara Outlook Express, tendra que idear desde cero
con que el intrprete simplemente conociese toda una serie de funciones para interconectar
ambos idiomas para transmitir la conversacin al remitente y al destinatario, una serie de

PC PASO A PASO N 17 Pgina 35


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

funciones para asegurarme de que el mensaje


llegue sin errores hasta el destino, una serie
de funciones para identificar a ambas partes,
etc., etc.

Si despus me da por programar un cliente


de FTP (si no sabes lo que es el FTP File
Transfer Protocol-, descrgate gratis el nmero
1 de esta revista desde www.hackxcrack.com),
tendra que inventarme de nuevo y desde
cero unas funciones para interconectar ambas
partes (nuestro cliente con el servidor), unas
funciones para asegurarme de que los ficheros
y los comandos lleguen sin errores, una serie
de funciones para identificar ambas partes,
etc., etc.
Comparacin entre las capas de la comunicacin entre dos
personas y la comunicacin entre dos mquinas. Esta
El hacer las cosas de esta manera, no slo comparacin no es muy precisa, as que la muestro slo
sera una cantidad ingente de trabajo como una primera aproximacin a la idea.
innecesario, si no que adems dificultara
enormemente que los programas se Los que hayis seguido mi serie RAW desde
entendiesen entre s. el principio, comprenderis ahora por qu una
y otra vez repeta frases como: protocolo que
Si todas las aplicaciones que utilizan Internet funciona sobre TCP/IP, o protocolos por
tienen que realizar una serie de tareas encima del nivel de TCP/IP, etc.
comunes, como son la interconexin de las
partes implicadas en la comunicacin, la Por ejemplo, tenis a mano el nmero 14 de
identificacin de ambas partes, la correccin la revista, en el que hablaba sobre el protocolo
de errores, el ajuste de las velocidades de DNS? Mirad el primer prrafo de ese artculo,
recepcin y transmisin, etc., etc., por qu y veris que deca:
no utilizar un lenguaje comn para todas Por primera vez en la ya veterana serie RAW,
ellas? no se trata de un protocolo basado en TCP,
si no en el an desconocido UDP!
Igual que todos los profesionales (cirujanos,
informticos, arquitectos...) utilizan el idioma Esto sera lo mismo que decir: este lenguaje
castellano como base sobre la cual apoyan que vamos a contar no se basa en el idioma
luego sus lenguajes tcnicos propios, castellano, si no en el idioma japons.
tambin las mquinas conectadas a Internet
utilizan un mismo idioma comn como base Ahora ya comprendemos la necesidad de
sobre la que luego apoyar cada lenguaje separar por capas las comunicaciones entre
especfico. mquinas para facilitar la comunicacin, y
reutilizar el trabajo ya hecho para no tener
En este caso, el idioma comn de las mquinas que reprogramarlo cada vez.
es el famoso TCP/IP, y los lenguajes tcnicos
que utiliza cada mquina apoyndose en Y precisamente esas funciones que son
TCP/IP son los que permiten las diferentes utilizadas por muchos programas para que
tareas, como transmitir ficheros (FTP), enviar estos no tengan que reprogramarlas desde
correo (SMTP), mostrar pginas Web (HTTP), cero, son precisamente las funciones que te
etc., etc. da la API de un Sistema Operativo.

Pgina 36 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Por ejemplo, un programa que funcione bajo Por el momento, continuaremos con los
Windows no tiene que preocuparse de saber conceptos sin entrar en ningn detalle.
cmo dibujar una ventana en la pantalla, si Ahora que ya habis comprendido el concepto
no que simplemente le dice al sistema de capas, he de pediros que os olvidis del
dibjame una ventana de estas ejemplo de los cirujanos, porque mi intencin
caractersticas y Windows har el trabajo era nicamente que comprendieseis el
sucio por l. concepto de capas, pero no mostrar
metafricamente cada capa del protocolo
Todava recuerdo los tiempos en los que TCP/IP con su equivalente en el mundo real,
programaba aplicaciones grficas en MS-DOS ya que las capas que forman TCP/IP no tienen
y me tena que currar desde cero todo el prcticamente nada que ver con las capas que
interfaz... un autntico infierno. Perdas ms forman la comunicacin entre dos cirujanos.
tiempo con el interfaz que con el propio
programa. La nica capa que s que tienen en comn
tanto las mquinas como los cirujanos es la
Pues lo mismo que ocurre con las ventanas, del medio fsico ya que, como dije, esta capa
que son una funcin comn a todas las no surge como una facilidad para la
aplicaciones de Windows, tambin ocurre con comunicacin, si no que es una necesidad
las comunicaciones, que tienen una serie de natural irremediable. Igual que dos cirujanos
funciones comunes a todas las aplicaciones necesitan compartir un mismo medio para
de comunicaciones. Estas funciones comunes, comunicarse, tambin han de hacerlo dos
que son las que proporciona el idioma TCP/IP, mquinas.
se ubican precisamente en el Sistema
Operativo, para que sea l el que lidie con los
detalles, igual que las ventanas las gestiona
el Sistema Operativo, y es l el nico que se
preocupa de
conocer los
detalles para
dibujarlas.

Este es el En el caso de las mquinas, hay que tener en


motivo por el cuenta no slo la tecnologa utilizada en los
que, antes de propios cables que interconectan las
conectar con mquinas (que sera el medio fsico) si no
Internet o con tambin el cmo estn conectadas: cada cable
cualquier otra conecta slo dos mquinas, un slo cable
red, tenemos conecta a la vez a muchas mquinas entre s,
que configurar etc. Es decir, cmo se enlazan las mquinas
el protocolo entre s. Ya veremos mucho ms sobre esto
TCP/IP en ms adelante, pero de momento nos
n u e s t r o quedaremos con la idea de que existe una
sistema. segunda capa, conocida como capa de enlace.

Configuracin de TCP/IP en Windows. Para los impacientes, deciros que aqu es


donde se ubicara el famoso protocolo ARP
A lo largo del curso probablemente veremos (Protocolo de Resolucin de Direcciones),
cmo configurar correctamente el idioma que es una parte de la capa de enlace utilizada
TCP/IP con diferentes sistemas. normalmente en nuestros PCs.

PC PASO A PASO N 17 Pgina 37


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Las funciones de esta capa son muchas, pero


bsicamente podramos resumirlo en una:
permitir el establecimiento de conexiones
independientes y seguras, con todo lo que ello
implica. Para comprender esto, as como para
comprender mejor la capa IP, os muestro a
Por encima del nivel de enlace, tenemos ya continuacin una serie de puntos que, de
la primera capa que realmente nos sonar, nuevo a base de smiles, os explicarn muchas
que es la llamada capa de red y que, en de las funciones llevadas a cabo por cada
nuestro caso (el caso de TCP/IP) es la capa capa.
llamada IP.

Cul es la responsabilidad de esta capa?


Pues principalmente una: conseguir que la
comunicacin llegue desde el origen hasta el
destino. sta es la capa encargada de
identificar a las diferentes mquinas, para
que stas puedan diferenciarse unas de otras,
y mantener as comunicaciones separadas.
Si no existiese esta capa, todos los datos de
Internet llegaran a todas las mquinas
conectadas a la red. No habra forma de ver
una pgina Web, ya que no se podra
diferenciar una de otra; no se podra enviar 3.1. La capa IP: La necesidad de
un e-mail, ya que no sabramos cmo direccional
encontrar nuestro servidor de correo, etc.,
etc. Para comprender la necesidad de la capa IP
(Internet Protocol = Protocolo de Internet)
Supongo que esto no os sonar muy raro, presentaremos un nuevo escenario, bien
teniendo en cuenta que las direcciones conocido por todos, que es el correo postal
utilizadas en Internet se llaman precisamente de toda la vida.
direcciones IP. Casualidad? ;-)
En nuestro ejemplo, PyC, residente en Madrid,
quiere enviar una carta a la siguiente direccin:

Perico Palotes
C/Pirulin. N12. 1 A.
35003 Villapalotes (Huelva).

Cmo puede llegar hasta su destino la carta


Pero, an nos faltan muchas funciones despus de que PyC la eche en el buzn de
comunes, verdad? Como podis adivinar, su barrio? Todos conocemos bien el proceso.
del resto de funciones se encarga la capa que Primero, el cartero del barrio recoge todas las
est por encima de la capa IP que es, cartas del buzn, y las lleva a la oficina de
precisamente, la capa TCP. correos ms cercana. Una vez ah, se ve que
el destino de esta carta es Huelva y, por tanto,
En cualquier modelo (ya que TCP/IP no es el nico
el sobre es transportado hasta esa provincia
modelo de protocolo por capas que existe) a esta
en un furgn de Correos. En esa provincia,
capa se la conoce como capa de transporte.
el sobre se lleva a la oficina de correos

Pgina 38 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

correspondiente. En esa oficina, comprueban la


direccin, y llevan la carta hasta el buzn personal
de Perico Palotes.

Comparacin entre los elementos del correo postal y los elementos


de la comunicacin de dos mquinas en Internet. Los furgones
de correos, los carteros, y las oficinas de correos que forman la
red postal, seran los routers que forman la red Internet. Igual
que los carteros no abren las cartas, porque les basta slo con
ver el sobre, los routers tampoco ven el interior de nuestros
paquetes, si no que miran slo el equivalente al sobre para saber
dnde mandarlos, como veremos ms adelante.
Funcionamiento bsico del sistema de correo postal.

Gracias a las direcciones postales todo el sistema 3.2. La capa TCP (Transmission
de Correos puede funcionar. Y no slo gracias a la Control Protocol = Protocolo de
direccin del destinatario, si no tambin a la del Control de Transmisin) : La
remitente, que ser una direccin con el mismo
formato (nombre, calle, cdigo postal, poblacin, y
necesidad de las conexiones para
provincia). tener una comunicacin fiable

Gracias a la direccin del remitente se sabr a quin Volvamos ahora al escenario del hospital. En
informar si la carta no llega a su destino, y el esta ocasin, el doctor PyC recibe un aviso de
destinatario podr responder a la carta si lo desea. urgencia a travs del servicio de megafona
del hospital.
Pues exactamente lo mismo ocurre con las
direcciones de Internet. Aunque estas direcciones,
las famosas IPs, aparentemente no consten de varios
campos (nombre, calle, poblacin, etc.), en realidad
esos campos s que existen, y estn codificados
dentro del propio nmero que forma la direccin IP.

Igual que existen las oficinas de correos, tambin


existen una serie de mquinas dedicadas
exclusivamente a transportar los sobres de Internet
de una mquina a otra.
Estas mquinas mediadoras en la comunicacin son
conocidas habitualmente como routers. Estos routers,
al igual que hacen las oficinas de Correos, se dedican
a analizar las direcciones Ips para saber dnde
tendrn que enviar el sobre para que, paso a paso,
termine llegando a su destino.

PC PASO A PASO N 17 Pgina 39


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Pero, qu ocurrira si el doctor PyC no Os remito de nuevo al nmero 14 de la revista,


estuviese en ese momento en el hospital? Y donde vimos un ejemplo de protocolo apoyado
si estuviese en esos momentos escuchando en UDP/IP, que es el protocolo DNS. A lo largo
msica y no oyese el aviso? Cuando se lanza del curso ya veremos en profundidad el
un aviso por megafona se tiene cierta protocolo de transporte UDP.
confianza en que el mensaje llegar a su
destinatario, pero en realidad no se puede
tener nunca esa certeza. Sueltas el mensaje ! Comentario de Hack x Crack...
al vaco, y no tienes forma de saber si al otro
lado hay alguien escuchando. Esto es lo que Para aquellas mentes inquietas, apuntaremos un detalle.
se llama una comunicacin no orientada a
conexin. El protocolo TCP podemos clasificarlo como pesado porque,
al estar orientado a la conexin, consume muchos ms recursos
Esta solucin en muchos casos no es de red, es decir, el proceso para establecer una comunicacin de
aceptable, pero en muchos otros s que puede este tipo est formada por muchos pasos.
ser suficiente. Por ejemplo, en el caso de la
megafona del hospital, si el doctor PyC no El protocolo UDP podemos considerarlo como ligero porque,
ha acudido al aviso en un cierto tiempo, al no estar orientado a la conexin, consume pocos recursos de
probablemente se le volver a llamar. red, es decir, el proceso tiene muy pocos pasos.
Existen otros casos de comunicacin no
orientada a conexin en los que directamente El protocolo UDP es muy utilizado, por ejemplo, en la emisin
enviamos el mensaje con la esperanza de de video por Internet o los programas de intercambio de archivos
que llegue pero, si no llega, nos aguantamos tipo eMule.
y, a otra cosa, mariposa. Un ejemplo es el
del envo de postales navideas. T mandas Para que se entienda, en la transmisin de video en tiempo real
un porrn, y si llegan o no a su destino es por Internet (por ejemplo), lo que interesa es que al receptor le
algo que en muchos casos nunca sabrs pero, llegue la mxima informacin posible en el menor espacio de
lo que sin duda si que sabes, es que ni por tiempo posible, no importa si se pierden unos cuantos frames de
asomo te vas a poner a reenviarlas por si pelcula por el camino (es imperceptible), lo importante es que
acaso no han llegado. la pelcula no se pare y se pueda ver fluida en tiempo real.

Como en algunos casos la comunicacin no Sera absurdo que si el frame 7 no llega, se parase la pelcula,
orientada a conexin es suficiente, en las pidisemos de nuevo al emisor el frame 7, espersemos su llegada,
mquinas tambin es utilizada para algunos la comprobsemos y volvisemos a activar la pelcula. Si pensamos
casos concretos. Cuando no necesitamos que llegan entre 15 y 30 frames por segundo, bufff, estaramos
saber si nuestro interlocutor nos est parando la pelcula cada dos por tres es mejor despreciar
escuchando, no necesitaremos utilizar un ese frame que no ha llegado y seguir con la peli :)
protocolo de transporte fiable, como es TCP,
si no que nos bastar con utilizar un protocolo En el caso de los programas de intercambio de archivos tipo P2P
no orientado a conexin, que tambin os (como el eMule, http://www.emule-project.net/), el tema se
sonar bastante, y es el UDP (Protocolo de complica un poquito, pero solo un poquito.
Datagramas de Usuario).
Si estamos descargando un programa llamado officexp.zip (de
Por tanto, UDP es tambin un protocolo de 650MB) desde 7 usuarios a la vez, este nos llega en trocitos
transporte e, igual que la mayora de pequeos. Lo importante es que nos lleguen cuanto ms trocitos
aplicaciones de comunicaciones utilizan como mejor y en el menor espacio de tiempo. Pero claro, tambin es
apoyo TCP/IP, tambin hay varias aplicaciones importante que no perdamos ningn trocito (o despus el ZIP
que en lugar de eso utilizan como apoyo nos dar errores).
UDP/IP.

Pgina 40 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

En este caso, podramos pensar que es mejor utilizar TCP, puesto DOCTOR en un sistema UDP en un mundo P2P :)
que nos asegura que llegan todos los trocitos; pero entonces El doctor (receptor) recibe por megafona un mensaje (archivo)
estaramos sobrecargando la red P2P con centenares de peticiones PERO el tipo del megfono (emisor) es MUY DESPREOCUPADO
de comprobacin y la descarga sera muy lenta. Cmo resolvemos y no le importa si el doctor (receptor) recibe o no el mensaje.
esto?
El mensaje (archivo) a transmitir es: PRESNTESE
Pues trabajamos con UDP y hacemos que sea el programa P2P INMEDIATAMENTE EN EL QUIRFANO.
quien compruebe si faltan trocitos. En caso de faltar algn trozo
se reclama y en caso de no faltar no se reclama. 1.- El tipo del megfono (emisor) emite la primera palabra
(primera parte del archivo): PRESNTESE

PARALELISMO: Por si alguien no lo ha pillado, retomemos el 2.- El doctor (receptor) en teora recibe la primera palabra
caso del doctor y hagamos un paralelismo con el mundo P2P. (primera parte del archivo): PRESNTESE

DOCTOR en un sistema TCP en un mundo P2P :) 3.- El tipo del megfono (emisor) emite la segunda palabra
El doctor (receptor) recibe por megafona un mensaje (archivo) (segunda parte del archivo): INMEDIATAMENTE
PERO el tipo del megfono (emisor) es MUY EXIGENTE y
4.- El doctor (receptor) en teora recibe la segunda palabra
OBLIGA al doctor (receptor) que confirme la correcta recepcin
(segunda parte del archivo): INMEDIATAMENTE
de cada palabra (parte del archivo) que recibe.

5.- Seguiramos as hasta que el doctor (receptor) en teora


El mensaje (archivo) a transmitir es: PRESNTESE
recibiese la ltima palabra (ltimo trozo del archivo). En ese
INMEDIATAMENTE EN EL QUIRFANO.
momento el doctor (receptor) unira todas las palabras (trozos
de archivo) obteniendo el mensaje completo (archivo).
1.- El tipo del megfono (emisor) emite la primera palabra
(primera parte del archivo): PRESNTESE
Como podemos ver, la comunicacin es mucho ms rpida (nos
ahorramos las confirmaciones) pero y si el doctor se ha
2.- El pobre doctor (receptor) va corriendo a un telfono, llama
perdido alguna palabra?... quizs se ha perdido la palabra
al tipo del megfono y le dice que ha recibido correctamente la
INMEDIATAMENTE si el doctor estaba tomndose un caf
palabra (trozo de archivo): PRESENTESE
quiz prefiere acabrselo antes de acudir al quirfano (y seguro
que su paciente muere desangrado).
3.- El tipo del megfono (emisor) emite la segunda palabra
(segunda parte del archivo): INMEDIATAMENTE En el caso de emisin de video por Internet en tiempo real ya
hemos dicho que no nos importaba perder unos cuantos frames,
4.- El pobre doctor (receptor) va corriendo a un telfono, llama pero en el caso del P2P QUEREMOS TODOS los trocitos de
al tipo del megfono y le dice que ha recibido correctamente la archivo, queremos que el doctor no deje morir a su paciente
p a l a b r a ( t ro z o d e a rc h i v o ) : I N M E D I ATA M E N T E Cmo lo solucionamos si no queremos utilizar el sistema
TCP?
5.- Y as seguiremos hasta que el doctor (receptor) confirma la
llegada de la ltima palabra (trozo de archivo) QUIRFANO. Tenemos un problema: No queremos sobrecargar la red telefnica
En ese momento el doctor (receptor) une todas las palabras del hospital confirmando cada palabra que recibimos (TCP) pero
(trozos de archivo) y obtiene el mensaje (archivo): PRESNTESE queremos asegurarnos de recibir los mensajes completitos. Muy
INMEDIATAMENTE EN EL QUIRFANO. bien, pues en este caso tendremos que dotar a los intervinientes
(el Sr. del megfono y el doctor) de un poquito de inteligencia :)
Como podemos ver, la comunicacin es 100% segura, el doctor
confirma la llegada de cada palabra (trozo de archivo); pero han El Sr. del megfono (software emisor) y el doctor (software
invertido mucho tiempo y muchas llamaditas de confirmacin. receptor) se renen y despus de un buen rato discutiendo el
problema llegan a una solucin. Deciden utilizar el sistema UDP

PC PASO A PASO N 17 Pgina 41


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

pero cada palabra (trozo de archivo) emitida tendr estar deberamos poder olvidar. Una cosa es el tipo de protocolo que
precedida de un nmero correlativo (nmero de control). Vamos estamos utilizando para nuestras conexiones (TCP o UDP e
a verlo. incluso ambos a la vez) y sus consecuencias sobre la red y, OTRA
MUY DISTINTA, cmo programamos el software para mejorar
DOCTOR en un sistema UDP en un mundo P2P (con control el rendimiento de dichas conexiones.
aadido).
El doctor (receptor) recibe por megafona un mensaje (archivo) Hemos visto que las carencias de seguridad del protocolo UDP
con un sistema previamente pactado :) (capa de transporte) han sido "salvadas" gracias a cmo hemos
programado el software (nivel de aplicacin).
El mensaje (archivo) a transmitir es: PRESNTESE
INMEDIATAMENTE EN EL QUIRFANO. PARA LOS QUISQUILLOSOS:
- Si, pero y si el doctor (software receptor) no recibe ninguna
Segn han pactado, el mensaje a transmitir ser: palabra (trocito de archivo) porque est dormido?
UNOPRESNTESE DOSINMEDIATAMENTE TRESEN Pues entonces dotamos de un poco ms de inteligencia al programa
CUATROEL CINCOQUIRFANO. para que la primera palabra (trocito de archivo) se haga por
TCP (confirmacion aobligatoria) y el resto por UDP. De esta
1.- El tipo del megfono (emisor) emite la primera palabra forma no se emitirn mas palabras (trocitos de archivo) por
( p r i m e r a p a r t e d e l a rc h i v o ) : U N O P R E S N T E S E megafona hasta que el doctor llame al Sr. del megfono
confirmando que la recibido la primera palabra.
2.- El doctor (receptor) en teora recibe la primera palabra
( p r i m e r a p a r t e d e l a rc h i v o ) : U N O P R E S N T E S E - Si, pero y si el doctor (software receptor) no confirma la
recepcin de esa primera palabra (trocito de archivo)?
3.- El tipo del megfono (emisor) emite la segunda palabra Pues hacemos que el Sr. de megafona (software emisor) enve
(segunda parte del archivo): DOSINMEDIATAMENTE un mensaje al telfono mvil del doctor cada 5 minutos durante
2 horas hasta que conteste.
4.- El doctor (receptor) en teora recibe la segunda palabra
(segunda parte del archivo): DOSINMEDIATAMENTE Y si a pesar de todo no contesta? Pues llamamos a otro doctor
mientras el primero est dormido (en un P2P sera el equivalente
5.- Seguiramos as hasta que el doctor (receptor) en teora a servir el archivo a otro cliente mientras el primero pasa a una
recibiese la ltima palabra (ltimo trozo del archivo). En ese lista de espera :)
momento el doctor (receptor/software receptor) comprobara que
tiene en su poder las palabras (trozos de archivo) y que no falta La intencin de esta extensa nota no es otra que ACERCAR ese
ninguna (se puede comprobar gracias a que tienen nmeros extrao mundo de las capas OSI a la realidad, a programas que
correlativos). utilizamos diariamente y que no tenemos ni idea de cmo funcionan
(por ejemplo la visualizacin de video en tiempo real y los P2P).
Solo en caso de que faltase alguna palabra (trozo de archivo) el Quizs ahora pensemos un poco ms en lo que hay detrs de
doctor llamara por telfono al emisor pidindole UNICAMENTE esas cosas que utilizamos mecnicamente sin pensar :)
la palabra que le falta.

Como podemos ver, ahora la conexin sigue siendo del tipo UDP Olvidndonos ya de UDP, vamos a ver entonces
(cargamos poco la red); pero gracias a que hemos dotado al Sr. qu es TCP, que es el que ms nos interesa.
del megfono y al doctor (software emisor y receptor) de A diferencia de las comunicaciones no
inteligencia (software), hemos conseguido adems bastante orientadas a conexin, las orientadas a
seguridad en la comunicacin. conexin son aquellas en las cuales hay un
dilogo directo con el interlocutor. Es decir, no
ACABANDO Y PUNTUALIZANDO: es ningn monlogo que sueltas con la
esperanza de que alguien te escuche, si no
Acabamos de aprender algo importantsimo que ya nunca que es una conversacin entre dos o ms

Pgina 42 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

interlocutores, donde todos saben en todo necesitars saber que tu servidor de correo
momento si estn siendo escuchados por lo est recibiendo (aunque si llega al buzn
los dems. del destinatario o no es ya un asunto
aparte), si ests en un Chat necesitas saber
Como ejemplo de comunicacin orientada que la persona o personas con las que
a conexin tenemos el telfono, donde en hablas estn conectadas en ese momento,
todo momento sabes si la persona con la y leyndote.
que ests hablando est siguiendo el
dilogo. Por el contrario, cuando hablas Hasta donde la capa IP entiende, slo
con un contestador automtico telefnico, existen sobres que circulan desde una
se trata precisamente de una comunicacin direccin de remitente hacia una direccin
no orientada a conexin. de destinatario, pero en ningn momento
existe un dilogo entre remitentes y
destinatarios. Es en la capa TCP donde
aparece este nuevo concepto, que engloba
l o s s o b r e s q u e p a ra I P c i r c u l a n p o r
separado, en un nico flujo de dilogo
entre las dos partes.

En el caso de TCP, existen unos sobres


especiales que lo nico que hacen es decir
te estoy escuchando. Cada vez que un
remitente enve un sobre a un destinatario,
ste responder con un nuevo sobre, en
Al hablar por telfono mantenemos una conversacin el que simplemente dir te he escuchado.
orientada a conexin, donde ambas partes saben que el otro
est escuchando. Gracias a este mecanismo, se puede saber
en todo momento si estamos hablando
solos, o estamos en un dilogo.

3.3. La capa TCP: El tamao de


los paquetes.

Pero, ahora que sabemos que el protocolo


TCP exige a los destinatarios que
constantemente confirmen que han recibido
lo que se les enviaba, qu ocurre si en
algn momento no se recibe esa
confirmacin? Pues el remitente,
Al hablar con un contestador telefnico mantenemos una transcurrido un tiempo en el que no haya
conversacin no orientada a conexin, pues no sabemos si recibido confirmacin, tendr que reenviar
la otra parte llegar a escuchar nuestro mensaje.
el paquete y esperar de nuevo la
confirmacin, como en el ejemplo de la
La mayora de servicios de comunicacin
megafona del hospital.
entre mquinas requieren una comunicacin
orientada a conexin. Por ejemplo, si estas
Pero, qu ocurre entonces si el mensaje
transfiriendo un fichero, normalmente
de megafona era muy largo? Imaginemos
necesitars saber que ste est siendo
que, en lugar de decir: Doctor PyC, acuda
recibido, si ests enviando un e-mail
a la sala de ciruga cardiovascular, el

PC PASO A PASO N 17 Pgina 43


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

mensaje dijese: Doctor PyC, acuda a la sala Los buzones de correos tienen un tamao
de ciruga cardiovascular para atender una limitado y, si bien cada fascculo por separado
urgencia de cardiopata precartida en un cabe perfectamente en el buzn, la coleccin
paciente varn de 70 aos, diabtico, de entera no cabra en ningn buzn.
grupo sanguneo AB+, y cuyo color preferido Lo mismo ocurre con las mquinas, que tienen
es el fucsia. Si el Doctor PyC no respondiese un buzn de recepcin de un tamao limitado,
a la primera llamada, habra que repetir toda y hemos de ajustarnos a esas limitaciones
la parrafada de nuevo. tecnolgicas.

No tiene sentido soltar parrafadas muy largas 3.4. La capa TCP: Las conexiones
si no tienes la certeza de que ests siendo simultneas
escuchado. Por eso, si lo que tienes que
transmitir es muy largo, lo mejor es que lo Una de las principales funciones de la capa
vayas contando poco a poco, y esperando la TCP es la de permitir que existan varios
confirmacin de que cada parte ha sido dilogos simultneos entre dos interlocutores.
escuchada. Aqu no recurrir a ms metforas, si no que
ser ms sencillo verlo directamente en nuestro
Cuando hablamos por telfono, normalmente campo de trabajo.
no soltamos un rollo de varias horas sin parar
(aunque los hay que si...), si no que estamos Si, por ejemplo, est PyC en MSN chateando
pendientes de que cada cierto tiempo nuestro con Scherzo, y a la vez le est enviando un
sufrido interlocutor nos d las confirmaciones archivo, no estarn manteniendo dos dilogos
de rigor como si, si, o aja, o que te calles simultneos? Por un lado, estn chateando,
ya. Normalmente, si llevamos dos minutos y por otro lado estn enviando un archivo.
seguidos hablando y no hemos escuchado un
aja de nuestro interlocutor, nos mosqueamos Suponiendo que un Chat en MSN funcionase
bastante, y decimos oye, sigues ah?. mediante una conexin punto a punto (que
no es as, como sabris si habis ledo mi
En resumen, lo natural a la hora de transmitir artculo sobre MSN, pero imaginaremos que
mucha informacin es hacerlo en pequeos s), habra una serie de paquetes cuyo
trozos, cada uno de los cuales confirmar su remitente sera PyC y cuyo destinatario sera
recepcin por separado. Scherzo, pero de esos paquetes algunos seran
parte del archivo que se est transfiriendo
Lo mismo ocurre en la comunicacin entre (que, por supuesto, estara partido en trozos,
mquinas. Como TCP se encarga de enviar tal y como vimos en el punto anterior), y otros
confirmaciones, es tambin el que se encarga seran parte de la conversacin que mantienen
de partir los paquetes muy grandes en PyC y Scherzo a travs del Chat.
paquetes ms pequeos para que estas
confirmaciones puedan llegar poco a poco, y Para permitir que esto ocurra, el protocolo de
no tener que retransmitir todo si no llegase transporte, TCP, tiene que tener algn sistema
la confirmacin. que identifique qu paquetes son del Chat, y
qu paquetes son del archivo. Esto lo hace
Esto nos permite, adems, adaptarnos a la capacidad
asignando un nmero a cada dilogo
de nuestro interlocutor. Por ejemplo, si nos
simultneo y, segn el nmero que haya en
suscribisemos a una enciclopedia por fascculos,
cada paquete, sabr si ste forma parte del
y nos enviasen toda la coleccin de golpe,
probablemente el cartero mandara al garete a los
archivo, o del Chat.
tos de Espasa, y les dira que los 20 volmenes
Pues estos nmeros mgicos de los que estoy hablando
los iba a llevar hasta all su simptica abuela.
no son otros que los archiconocidos PUERTOS.

Pgina 44 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Un puerto es un campo del protocolo TCP que se abre esta conexin lo detallaremos a lo
permite identificar el servicio al que va largo del curso, pero no en este artculo.
destinado cada paquete en una conexin De momento lo que s que sabemos es que
entre dos mquinas. la responsable de abrir y mantener las
conexiones es la capa TCP.
As, cada vez que una mquina reciba un 3. Scherzo escoge el archivo que
paquete con el nmero de puerto 25, sabr quiere bajar: comandos CWD, CDUP,
que ese paquete es un e-mail, cada vez que LIST,... todo esto ya lo vimos en los artculos
reciba un paquete con el nmero de puerto sobre FTP de la serie RAW, y ahora no nos
21, sabr que ese paquete es un comando interesa mucho.
de FTP, cada vez que reciba un paquete con 4. Scherzo inicia la transferencia del
el nmero de puerto 80 sabr que es una archivo: comandos PORT o PASV, y RETR
conexin Web, etc., etc. o REST. Tambin lo vimos en los artculos
de la serie RAW, y tampoco nos interesa
4. Ejemplo: Enviando un archivo. ahora.
5. El archivo se transfiere desde el
Para recapitular todas las ideas mostradas a servidor de PyC hacia el cliente de
lo largo del artculo, termino con un ejemplo Scherzo: Aqu unos enanitos se encargan
bastante completo que muestra paso a paso de llevar el archivo de una mquina a otra,
el envo de un archivo de PyC a Scherzo. cargando los datos en sacos que llevan a
la espalda. Pero... espera! Si esto no es
Estad muy atentos a cada paso, porque espero la serie RAW! En la serie RAW no me
que este ejemplo os ayude a comprender quedaba ms remedio que deciros estas
mucho mejor todos los conceptos que cosas, porque al llegar a este punto no
necesitareis para seguir el resto del curso. poda daros ms detalles, ya que ms de
Fijad tambin vuestra atencin en todas las una vez os mencion que explicar lo que
ilustraciones, pues muestran grficamente ocurre en estos momentos sera suficiente
toda la secuencia del ejemplo, y adems los para llenar no slo un artculo, si no una
datos que aparezcan en las propias serie entera. Y al fin ha llegado esa serie!
ilustraciones son tambin fundamentales. As que esperad unas cuantas lneas, que
enseguida os explico cmo funcionan las
A lo largo de la serie RAW os he explicado ya cosas realmente. Tampoco quiero chafar
varios sistemas de transferencia de archivos la ilusin a nadie, as que si alguien no
(FTP, DCC, MSN,...). En este ejemplo quiere dejar de creer en los enanitos que
usaremos, por ejemplo, una transferencia transportan paquetes de datos, que no siga
por FTP. leyendo! ;-)
6. Finaliza la transferencia del
Antes de nada, vamos a ver cmo sera el archivo: y a otra cosa, mariposa.
proceso si slo nos fijsemos en la capa de
arriba, es decir, en la capa sobre la que he Para qu os he mostrado todos estos pasos
ido hablando mes tras mes en la serie RAW. que conocis ya perfectamente (sobre todo si
habis seguido la serie RAW)? Pues
1. PyC abre su servidor FTP: pone sencillamente, para que veis que entre los
un puerto en escucha, gracias a una pasos 5 y 6 ocurren una gran cantidad de
funcin que da el sistema operativo que cosas que siempre hemos obviado, y que sern
permite a cualquier aplicacin realizar las que precisamente detalle en este ejemplo.
estas y otras funciones de TCP/IP.
2. Scherzo abre una conexin con Nos olvidaremos, por tanto, del resto de pasos,
el servidor FTP de PyC: el modo en que y nos centraremos nicamente en lo que ocurre

PC PASO A PASO N 17 Pgina 45


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

desde que comienza la transferencia del operativo dicindole ale, ya est


archivo, hasta que sta finaliza. transmitido el archivo, o bien cualquier
Algunos conceptos los simplificar mucho, y error que haya podido ocurrir oye, no he
otros incluso los obviar, esperando as facilitar podido enviarlo porque el usuario se ha
la comprensin de los conceptos desconectado, etc.
fundamentales, aunque tenga que sacrificar
parte de la verdad. Como esto es todo lo que ve el programa de
FTP, tendremos que descender al oscuro reino
4.1. En el servidor FTP de PyC del sistema operativo para comprender mejor
qu es lo que ocurre desde que se llama a
Empezamos nuestro viaje por el mundo de
esa funcin hasta que el sistema operativo
los enanitos en el reino que nosotros
avisa de que el envo ha finalizado.
conocemos, que es el del servidor FTP de
PyC.
4.2. En el Sistema Operativo de
El servidor lo nico que sabe es que tiene un PyC: La capa TCP.
archivo de 4500 KB que tiene que enviar al
usuario Scherzo, que previamente hizo un Lo primero que hace la capa TCP nada ms
login en el servidor. ver el archivo de 4500KB es decir: buf, este
chorizo es demasiado largo. Qu criterio
El que program el servidor FTP no tena ni utiliza TCP para decidir si algo es demasiado
idea de TCP/IP, as que lo nico que saba era largo? Es algo que veremos a lo largo del
que el no tena ms que dar una orden al curso, pero de momento nos basta con saber
sistema operativo, y ste se encargara de que el tamao mximo de un paquete es algo
hacer todo el trabajo sucio. As que el software que determin previamente la capa TCP segn
del servidor simplemente llama a una funcin las limitaciones de la red.
mgica del sistema operativo, parecida a esta:
Supongamos que ha determinado que el
EnviaFichero (fichero.doc, usuario)
tamao mximo de paquete son 1500KB.
Donde fichero.doc es el nombre del archivo Tendr que coger el archivo y partirlo en tres
que quiere enviar, y usuario es una variable trozos, cada uno de 1500KB.
que contiene un nmero que identifica al
usuario Scherzo.

El valor de esa variable usuario no lo asign


el programa de FTP, si no que lo hizo el propio
sistema operativo en el momento en que
Scherzo se conect al servidor.

Como es el sistema operativo el que maneja


estos nmeros mgicos que identifican a las
conexiones (que, como veremos a lo largo
del curso, se llaman sockets), el programa
de FTP podr pasarle este dato al sistema, y
A cada trozo le asigna un nmero que
ste ya sabr perfectamente lo que hacer con
determina la secuencia en la que han de unirse
l.
de nuevo los trozos. A este nmero se le llama
precisamente nmero de secuencia.
Una vez que el programa FTP llama a esta
funcin mgica del sistema operativo, lo
Una peculiaridad del nmero de secuencia es
prximo que ver ser la respuesta del sistema
que no se numera segn el nmero de trozo,

Pgina 46 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

si no segn el nmero de byte del archivo en La capa TCP ya ha terminado su trabajo inicial,
el que empieza ese trozo. As, el primer trozo y de momento se puede relajar un poco
tendr un nmero de secuencia 0, el segundo mandando los bloques a la capa IP, que sabr
un nmero de secuencia 1500, y el tercero qu hacer con ellos a continuacin. Pero, a
un nmero de secuencia 3000. diferencia del programa de FTP, la capa TCP
no se puede dormir en los laureles esperando
Pero, es ste el nico dato que ha de asignar a que la transferencia del archivo termine, si
la capa TCP a cada trozo? Pues me temo que no que tendr que seguir trabajando ms
n o, ya q u e s a b e m o s b i e n q u e l a s adelante, tal y como iremos viendo.
responsabilidades de esta capa van ms all
de simplemente partir los paquetes en bloques. 4.3. En el sistema operativo de
Hablamos tambin de los nmeros de puerto, PyC: La capa IP.
as que tendr que aadir a cada trozo los
dos puertos implicados en la conexin. En cuanto TCP llama a la capa IP, y le pasa
Adivinis cules son estos puertos? los 3 bloques, sta se pone en marcha. Su
labor principal consiste en aadir a cada bloque
Je, je... era una pregunta con trampa. Si
las direcciones IP de PyC y Scherzo para que,
habis pensado que uno de los puertos era
el 21, puerto asignado al servicio FTP, os una vez que los bloques estn flotando por el
habis equivocado, aunque he de reconocer ciberespacio, todos aquellos mediadores por
que lo he preguntado a mala leche. 0:-) los que pasen sepan dnde llevarlos.

Si repasis mejor el artculo de la serie RAW


La direccin IP de PyC la conoce, por supuesto,
sobre FTP veris que el puerto 21 slo se
utiliza para enviar comandos al servidor, pero el propio sistema operativo de PyC (bien
no para la transferencia de archivos. Para porque la introdujimos nosotros manualmente
sta se utiliza otro puerto que es acordado al configurar nuestra LAN, bien porque el
previamente mediante el comando PORT o sistema la asign automticamente mediante
el comando PASV. Para los que no sepis de DHCP, o bien porque se nos asign una IP
qu hablo porque no conocis el protocolo
dinmica al conectar con nuestro ISP).
FTP, olvidaos de todo esto y quedaos
simplemente con la idea de que tanto el
puerto de PyC (origen) como el puerto de La direccin IP de Scherzo la puede obtener
Scherzo (destino) son nmeros que han el sistema a partir de la variable usuario ya
acordado previamente, por ejemplo, el 20 y que, cuando Scherzo conect con el programa
el 3600.
FTP, el sistema operativo automticamente
Por tanto, si aadimos a cada trozo los tres asoci la IP de Scherzo a esa variable.
numerajos que hemos dicho (numero de
secuencia, puerto de origen, y puerto de Tiene que aadir algo ms la capa IP? Pues
destino) nos queda el siguiente escenario: si! Vamos a ver. Para qu serva en la capa
TCP meter los nmeros de puerto en cada
bloque? Si no metisemos los nmeros de
puerto, cuando el bloque llegase al destinatario
(Scherzo) ste no sabra qu hacer con l.
Scherzo probablemente tendra abiertas en
ese momento varias aplicaciones de
comunicaciones, y cada paquete que le llegase
tendra que indicar de algn modo a cul de
todas esas aplicaciones iba dirigido.
Los tres paquetes que forman el archivo, con sus
correspondientes cabeceras TCP. Fijaos bien en los campos
que forman la cabecera. Pues algo parecido ocurre con la capa IP. Como
ya vimos, no slo existe TCP como protocolo

PC PASO A PASO N 17 Pgina 47


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

de transporte, si no tambin otros como UDP. 4.4. En el sistema operativo de


Adems, existen otra serie de protocolos que PyC: la capa de enlace.
funcionan sobre IP, como ICMP, pero de eso
no vamos a hablar ahora. Hasta el momento hemos hablado poco de
esta capa para evitar liaros ms. Si bien las
Lo que ahora nos interesa es que de alguna capas TCP e IP son iguales para todos los
manera el bloque tiene que decir de alguna sistemas, la capa de enlace puede variar
forma que es un bloque TCP, y no UDP. Para totalmente de un sistema a otro. Es aqu donde
ello, la capa IP asigna mete un numerajo en se encuentran las diferencias entre una
cada bloque que identifica el protocolo de conexin por mdem, una conexin ADSL, y
transporte desde el que le lleg ese bloque. cualquier otro tipo de conexin.

Es decir, la capa de enlace depende de la


Como, en este caso, los bloques le llegaron tecnologa utilizada para crear el enlace entre
a IP desde la capa TCP, la capa IP meter en nuestra mquina e Internet.
cada bloque un nmero que dir que se es
un bloque TCP. Vamos a suponer que el enlace que tiene PyC
es el ms comn hoy da, es decir, un enlace
Por tanto, as nos queda el escenario ahora: Ethernet. ste es el que usamos si tenemos
una tarjeta de red (bien con ADSL, o con
cable, o con otras tecnologas).
Supongamos que PyC tiene en su casa una
configuracin muy habitual hoy da, que es la
de una conexin a Internet a travs de un
router ADSL, con una pequea LAN (red local)
en casa compuesta por dos ordenadores: el
suyo, y el de su hermano.

Los tres paquetes que forman el archivo, con sus cabeceras


TCP e IP. Como podis observar, la cabecera IP es igual
para los tres paquetes.

Una vez que los paquetes ya estn listos, se


los manda a la capa de abajo, la capa de Esquema de la LAN de PyC, con las IPs de cada elemento.
enlace, de la que hemos hablado poco hasta El router ADSL tiene 2 IPs: 192.168.1.1 para la LAN, y
el momento.
217.15.22.1 de cara a Internet.

Pgina 48 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Como vemos en la ilustracin, la nica como para que nunca tengan que repetirse.
mquina que se comunica directamente con Estas direcciones, ms largas que las
Internet es el router ADSL, y es ste el que direcciones IP, constan de 48 bits, por lo que
tiene que encargarse de llevar todos los tericamente permiten identificar casi 300
paquetes de PyC y de su hermano a Internet. Billones de dispositivos Ethernet diferentes.
Para ello, ambos ordenadores estn Entonces, qu datos aadir el nivel Ethernet
conectados al router mediante un cable de a cada bloque que queremos transmitir? Pues,
red (si el router slo tiene un conector RJ-45 al igual que la capa IP, aadir una direccin
tendra que haber en medio un switch, pero MAC de origen, y una direccin MAC de destino.
esa cuestin la obviamos por salirse del tema). Y, tambin igual que en la capa IP, tendr que
aadir un dato ms, que es un identificador
El problema aqu es que la comunicacin en de la capa superior que le pas los bloques,
Ethernet es de tipo broadcast. es decir, en este caso la capa IP.

Esto significa que lo que circula por el cable


llega a todas las mquinas que estn
conectadas al mismo, y hay que idear alguna
forma de hacer que slo atienda a los datos
la mquina interesada.

Este es precisamente el motivo por el que


funciona un sniffer en una red local. Todos
los datos de la red local circulan por el cable
al que se conecta tu tarjeta de red, y slo
hay que engaar a la tarjeta de red para
que te muestre todos los datos que hay en
el cable, y no slo los que van dirigidos a ella.

Pero lo que nos interesa aqu es conocer el Los tres paquetes que forman el archivo, con sus cabeceras TCP,
mecanismo utilizado para distinguir unas IP, y Ethernet. En sta la MAC de origen ser la de PyC, y la
mquinas de otras en una LAN. MAC de destino la del router ADSL de PyC, que ser el prximo
punto con el que habr que enlazar la comunicacin. El ordenador
Como podis imaginar, esto se consigue de PyC conoce la direccin MAC del router gracias al protocolo
asignando un nmero diferente a cada tarjeta ARP, pero eso se sale del tema del artculo.
de red de las mquinas conectadas a la LAN.
Este nmero es nico en el mundo para cada
tarjeta de red.
! No sabes...
Los fabricantes de dispositivos Ethernet tienen
un acuerdo para que nunca se fabriquen dos No sabes la MAC de tu tarjeta de Red? de verdad?...
tarjetas de red con el mismo nmero. Este
bueno, bueno tendras que haber ledo los anteriores
nmero mgico es precisamente la famosa
nmeros de esta revista :)
direccin MAC (comnmente conocida
como direccin fsica) de la que
probablemente habris odo hablar.
Abre una ventana de comandos (Men inicio --> Todos
los Programas --> Accesorios --> Smbolo del sistema).
Al haber una MAC diferente por cada Escribe IPCONFIG /ALL. Pulsa enter y ZAS!!! Ah tienes
dispositivo Ethernet del mundo, las direcciones la MAC de tu/s tarjetas Ethernet (Tarjetas de Red).
MAC tienen que ser lo suficientemente grandes

PC PASO A PASO N 17 Pgina 49


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

El primer paquete al fin sale del ordenador de PyC, hacia el


router ADSL.

4.6. En el router ADSL de PyC:


Las capas fsica y de enlace

Una vez que los datos llegan al router, ste


En este caso podemos ver 2 tarjetas de red y cada una tiene detectar mediante hardware la presencia de
una MAC (direccin fsica). La tarjeta D-Link AirPlus datos en el cable, y enviar los bloques
tiene la MAC 00-80-C8-1E-4F-0C y la Realtek tiene la recibidos a su capa de nivel de enlace.
MAC 00-05-1C-9A-84-B1 Aqu es importante tener en cuenta que el
nivel de enlace del router debe ser tambin
Como apunte interesante, aclarar que aunque la MAC es Ethernet. De no ser as, la comunicacin entre
nica en el mundo, existen Tarjetas de Red especiales y PyC y su router sera imposible.
otros dispositivos (como algunos routers) que permiten
"falsear" la MAC (poner la MAC que tu quieras ;). La Por tanto, una vez que los datos llegan a la
mayora de tcnicos de Red tienen entre sus "herramientas capa Ethernet del router, ste analiza la
cabecera Ethernet del paquete.
de trabajo" una de estas tarjetas para comprobar el buen
funcionamiento de los Sistema de Red.
Al analizar la cabecera, descubre que la
direccin MAC de destino era la suya, por lo
que decide continuar el procesamiento del
4.5. En la tarjeta de red de PyC: paquete, ya que le corresponde a l hacerlo.
La capa fsica Para poder continuar el procesamiento debe
saber a qu capa pasarle la pelota. Para ello
Una vez que el nivel de enlace ya ha hecho analiza la cabecera Ethernet del paquete y
lo que tena que hacer con los bloques, no descubre la capa de encima tiene que ser la
tiene ms que acceder ya directamente al capa IP. As, el router elimina la cabecera
hardware, en este caso la tarjeta de red, y Ethernet del paquete (ya que la capa IP es
los datos salen al fin de la mquina de PyC. incapaz de comprenderla), y pasa el resto del
paquete a la capa IP.
Por supuesto, existen muchas tecnologas
diferentes en la capa fsica: RJ-45 (la que
casi todos tenemos), coaxial, inalmbricas
(muy de moda ltimamente), etc., etc.

Una vez lanzados los paquetes a travs del


cable que une la mquina de PyC con el router
ADSL estos, por supuesto, llegarn hasta el El router analiza la cabecera Ethernet, comprobando que la
router. MAC de destino es la suya, y pasa el resto del paquete (sin la
cabecera Ethernet) a la capa IP.

Pgina 50 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

4.7. En el router ADSL de PyC: Esto es debido a que la conexin entre el


router ADSL y el router del ISP no es mediante
La capa IP un enlace Ethernet, si no mediante una
tecnologa de enlace ADSL.
Una vez que la capa IP recibe el paquete,
analiza su cabecera. Ah encuentra la direccin No vamos a detallar aqu ms capas de enlace,
o buen barullo montaramos, as que nos
IP de destino, que es la de Scherzo. El router
imaginaremos que esta capa aadir sus
tiene configurada internamente una tabla propias direcciones y su identificador de la
parecida a esta: capa superior, y enviar el paquete a la capa
fsica, que esta vez no ser el cable Ethernet,
si no el cable telefnico que va hacia el splitter.

El paquete ya puede salir a Internet, una vez reconstruidas las


cabeceras IP y de enlace. La cabecera TCP y los datos del
Lo que vemos en esta tabla es que el router archivo (zona azul del paquete) se han mantenido intactas.
ADSL enviar al router de su ISP cualquier
paquete que tenga como IP de destino una 4.9. En el router del ISP de PyC
que no pertenezca a la LAN de PyC.
Como la direccin IP de Scherzo no es una Una vez que el paquete llega al router del ISP,
de las de la LAN de PyC, el paquete ser ste repetir el proceso de recoger el paquete,
analizar desde la capa de enlace si va dirigido
enviado al router del ISP de PyC.
a l, pasarlo a la capa IP, mirar su tabla de
encaminamiento interna, y decidir a qu
Una vez encontrado el siguiente mediador al mediador enviar el paquete a continuacin.
que tiene que enviar el paquete, el trabajo
del router ADSL termina aqu. No le interesa
para nada lo que haya dentro del paquete, Imaginemos que sta es una parte de la tabla
es decir, la cabecera TCP, y los datos del de encaminamiento de este router:
archivo que estamos enviando. Eso ya ser
problema del PC de Scherzo cuando reciba el
paquete.

Lo nico que tiene que hacer ahora el router


ADSL es devolver el paquete a la capa de
enlace para que sta sepa qu hacer con l.
En funcin de esta tabla, el router decidir
enviar el paquete a otro router, cuya IP es
215.12.133.2. As, construir una nueva
cabecera de enlace, y reenviar el paquete
por el cable fsico adecuado.
El router modifica la cabecera IP, sustituyendo la IP de LAN
de PyC por la IP pblica para que pueda salir ya al resto de 4.10. Flotando en el ciberespacio
la red Internet. Ya explicaremos esto mejor a lo largo del curso.

Este proceso de saltar de un router a otro


4.8. En el router adsl de PyC: De buscando un camino que llegue hasta Scherzo
puede constar de muchos pasos. Si queris
nuevo en la capa de enlace.
hacer la prueba vosotros mismos, tenis un
Pero... Sorpresa! Con quien ha contactado la capa comando en vuestro sistema que os permite
IP del router no es con la capa Ethernet, si no con ver por qu routers van pasando vuestros
otra capa de enlace diferente!! paquetes al enviarlos a un destino concreto.

PC PASO A PASO N 17 Pgina 51


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Ya os explicar cmo funciona internamente IP de LAN y por su direccin MAC. El cmo


este comando, pero de momento haced la sabe el router a qu mquina enviar el paquete
prueba en una ventana MS-DOS (Ventana de se sale ya del tema que puedo abarcar por
Comandos), o una consola Linux: hoy, as que nos creeremos que sabe dirigir
el paquete a su destino dentro de la LAN.
tracert www.google.com
Para ello, construye una nueva cabecera
Cada lnea es uno de los routers que forman Ethernet (capa de enlace) que tiene como
el camino entre vosotros y la Web de Google. direccin MAC de destino la direccin MAC de
Scherzo.
En cada uno de estos routers se repetir todo
el proceso de analizar el paquete hasta la 4.12. En el PC de Scherzo: la capa
capa IP, e ir relanzndolo por los distintos Ethernet.
cables que forman la autntica telaraa de
Internet. Una vez que el paquete llega a Scherzo, su
tarjeta de red empieza analizando la capa de
enlace (Ethernet) y, al ver que la direccin
MAC de destino es la suya, sabe que el paquete
es para l. A continuacin, lee el campo de la
cabecera Ethernet que le dice que la siguiente
capa que tiene que analizar el paquete es la
capa IP, y le pasa la pelota a esta capa del
sistema operativo.

Cada router por el que pase el paquete analizar sus cabeceras


de enlace e IP, para ir retransmitiendo el paquete a cada punto
que forma el camino entre el origen y el destino.

Cuando, a lo largo del curso, hable sobre la


capa TCP, veremos que los paquetes no siguen
siempre el mismo camino, e incluso pueden
llegar desordenados a su destino, pero de
Una vez analizada la cabecera Ethernet, se elimina, y se pasa
momento no vamos a entrar en tanto detalle, el resto del paquete a la capa IP.
que me falta ya espacio. ;-)

4.11. En el router ADSL de 4.13. En el sistema operativo de


Scherzo Scherzo: la capa IP

Al fin el paquete lleg hasta el ltimo router La capa IP de Scherzo analizar ahora no slo
del camino! Este, por supuesto, es el router la IP de destino (que es la de Scherzo), si no tambin
ADSL de Scherzo. ste analizar el paquete, la de origen (que es la de PyC), ya que tendr que
y ver que en la capa IP tiene como direccin enviar sus respuestas a esa direccin. Una vez que
IP de destino la IP de Scherzo, as que ahora se queda con estos dos datos, manda el paquete
slo le falta saber a cul de los PCs de la LAN a la capa superior que, segn la cabecera IP, es la
de Scherzo enviarlo. capa TCP.
En todos los saltos que ha ido dando el paquete de
un router a otro, ninguno ha analizado su cabecera
Todos los PCs de la LAN de Scherzo comparten
TCP, ya que esto es slo responsabilidad del
una misma IP de cara a Internet, que es la
destinatario final (Scherzo).
IP del router, y ste los diferencia slo por su

Pgina 52 PC PASO A PASO N 17


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

primero de los tres trozos, habremos recibido


hasta el byte 1500 del archivo. Por tanto,
construimos una cabecera como esta:

Una vez analizada la cabecera IP, se elimina, y se pasa el resto El sistema de Scherzo construye un nuevo paquete para indicar
del paquete a la capa TCP.
a PyC que recibi el suyo. La cabecera TCP de este nuevo
paquete constar de un campo ACK con el mismo valor que el
nmero de secuencia del paquete al que quiere responder, e
4.14. En el sistema operativo de intercambiar los puertos de origen y de destino. El contenido
Scherzo: la capa TCP del paquete (zona azul) estar vaco, ya que lo nico importante
aqu son las cabeceras.
La capa TCP de Scherzo coger el paquete,
y ver que no es un paquete completo, si no
slo un trozo (recordemos que el archivo se
parti en 3 trozos en la capa TCP de PyC). 4.15. En el sistema operativo de
Scherzo: de vuelta en la capa IP
La capa TCP de Scherzo tiene ahora dos
responsabilidades: responder a PyC dicindole Esta cabecera la pasaremos a la capa IP, que
que ha recibido el primer trozo, y mandar el conoce la IP de PyC, por lo que construye una
paquete a la capa de arriba, es decir, a la cabecera IP adecuada para ese paquete:
aplicacin cliente de FTP, que ser la que sepa
qu hacer con los datos contenidos en el
paquete.

Con respecto al segundo punto, poco hay que


decir. Simplemente, se eliminar la cabecera
TCP y lo que quedar ser un paquete de
datos limpio y sin ninguna cabecera, que es
En la cabecera IP del nuevo paquete tambin se intercambian
lo que comprende la aplicacin de PyC. La las IPs de origen y de destino.
capa TCP esperar a tener el resto de trozos
del archivo para poder reconstruirlo en el
orden adecuado gracias a los nmeros de 4.16. Vamos pa atrs!
secuencia.
Con respecto al primer punto, la capa TCP de Y as contina el proceso, llevando el nuevo
Scherzo tiene que avisar a PyC de que ha paquete de vuelta por el camino inverso al
recibido el primer trozo, as que comienza la que sigui el paquete de PyC, hasta que el
construccin de un paquete totalmente nuevo. nuevo paquete llegue a PyC, ste analice su
cabecera TCP, descubra que el primer paquete
Este paquete simplemente tendr un aviso que envi lleg con xito a su destino, y se
del tipo oye, que te estoy escuchando, y he despreocupe as ya al fin del paquete de marras.
recibido ese paquete. Para ello, tiene una
cabecera TCP especial que incluye, adems Normalmente, no esperar a que Scherzo le vaya
del aviso de que est escuchando, un dato avisando de que recibe cada paquete, si no que
enviar varios de golpe y, slo si no recibe alguna
que es el ltimo byte recibido del archivo. de las respuestas, entonces reenviar aquel o
Como hemos recibido de momento slo el aquellos de los que no ha recibido respuesta.

PC PASO A PASO N 17 Pgina 53


Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin - Curso de TCP/IP - Introduccin

Por tanto, es probable que para cuando PyC 4.17. Conseguido!


haya recibido la primera respuesta de Scherzo,
ya haya enviado tambin los otros dos Una vez que Scherzo tiene ya los tres trozos
paquetes que forman el archivo, ante los del archivo, ya no tiene ms que unirlos en el
cuales tambin esperar la respuesta de orden adecuado, el cual conoce gracias al
Scherzo. nmero de secuencia de cada trozo,
reconstruyendo as el archivo original, y
mandndolo a la aplicacin de FTP de Scherzo
sin que sta tenga ni idea de cmo ha llegado
hasta all ese archivo, confiando en que unos
enanitos mgicos se habrn encargado del
trabajo sucio. ;-)

PyC enva los tres paquetes y espera un tiempo razonable a Gracias al nmero de secuencia de cada paquete se puede
que le llegue la respuesta (ACK) de Scherzo diciendo que ha reconstruir el archivo original, uniendo cada fragmento en el
recibido cada uno de los paquetes punto (posicin en bytes) indicado por el nmero de secuencia.

Autor: PyC (Lco) Ilustraciones: Adhara (Lco)

QUIERES COLABORAR CON PC PASO A PASO?


PC PASO A PASO busca personas que posean conocimientos de
informtica y deseen publicar sus trabajos.
SABEMOS que muchas personas (quizs tu eres una de ellas) han creado
textos y cursos para consumo propio o de unos pocos.

SABEMOS que muchas personas tienen inquietudes periodsticas pero


nunca se han atrevido a presentar sus trabajos a una editorial.
SABEMOS que hay verdaderas obras de arte creadas por personas
como tu o yo y que nunca vern la luz.

PC PASO A PASO desea contactar contigo!


NOSOTROS PODEMOS PUBLICAR TU OBRA!!!
SI DESEAS MS INFORMACIN, envanos un mail a
empleo@editotrans.com y te responderemos concretando nuestra oferta.

You might also like