El tcp-ip a fondo (1):
Disertacion sobre el protocolo mas conocido y usado en internet.

W3ndig0 para disidents:



>>Tcp/ip:

 Son dos protocolos ..tcp e ip, no son el mismo, aparte de estos dos existen
otros protocolos como pueden ser el ARP (empleado en redes intranet) el RARP,
ICMP (ping por ejemplo) UDP.

 Telnet, ftp, www, gopher, e-mail etc se basaran en la arquitectura que nos
marcan estos protocolos.

IBM creo SNA para sus clientes, el SNA posee una serie de protocolos de el,
Digital tenia la Rd DNA con un protocolo, el NSP.

bien..aclaremos de una vez que es eso de TCP y UDP que tanto oimos y que creo
k es harto explicado, pero estoy seguro que a alguien le quedan dudas aun..si
es asi..trataremos de aclararlas..pa eso estamos...

               >TCP _> protocolo de transporte orientado a conexiones
               >UDP _> Protocolo de transporte que NO hace conexiones, mete
los datos en un
                       datagrama y sin saber que el otro ordenador esta
activo, se manda a
                       la red y que llege a su destino..como podeis ver..puede
fallar facilmente.



>>Direccionamiento:

  Esto pertenece a la capa IP del proto TCP-IP, las direcciones IP estan
formadas por 4 bytes (36 bits) y
son expresadas..como supongo k todo el mundo sabe XD por 4 numeros
decimales..separados por coma..etc
         ejemplo: 128.53.25.10 ..supongo k eso sobraba verdad?

 Lo denominado nombre logiko en el protokolo no es mas ni menos k eso..el host
por ejemplo

          mesudanloshuevoz.guarros.marrano.es

Todas las aplicaciones requieren conocer las direcciones logicas, los nombres
logicos son memotecnicos para el usuario, es decir tio..k en vez de aprenderte
2500 numeros...te aprendes yahoo.com no?

Pero..pa el ordenador k? ...en Unix esiste un fichero llamado etc/hosts donde
se indica la traduccion
de estos numeros ip en nombres "logikos" tipo wanadoo.cogemela.tu.es

         ejemplo:
                    116.65.145.7    disidents.juakiers.bueno.es

Pero k pasa cuando no tenemos ese fichero..en cualkier sistema? que es lo k
sucede?..eihm?...bien pos
cuando esto sucede la aplicacion accede a una makina de la red k esta
configurada como servidor de nombres
..humm no os suena el ternimo server DNS o tablas DNS?,...es esto. /*explicar
mas */

Pero kien asigna las direcciones a la pea?...eh?.. bien de esto se encargan los
NICs (Network Information Centers) que hay por todo el mundo, por ejemplo en el
caso espaol..nuestra terminacion .Es es asignada por el centro de comunicaciones
CSIC RedIRIS (ES-NIC) <<  es el registro de dominios delegado en Espaa
si quereeis saber mas  en http://www.nic.es/, la maxima responsable del espacio de
nombre de internet DNS es IANA (Internet Assigned NUmber Autohity) esta es su web
http://www.iana.org , Luego esta  internic que por delegacion de IANA es responsable
de la asignacion de dominios genericos com, net, org, mil, edu, int

Por ejemplo una direccion k tenga un .com o un .org..ya no habra pasado por ES-NIC
para su asignacion, sino por internic >> http://www.internic.net/.


>>Como se dividen las direcciones logicas?:

hay tres clases...
        A: el primer bit es un 0, los 7 sigientes de red, y los 24 siguientes
para ser asignados al host
de manera k se identifike en la red

        B: La direccion empieza por 10, hay 14 bits dedicados a la
identificacion de la red, y los 16 restantes como en el caso anterior son empleados
para identificar al host..osea darle un nombre.

        C: la direccion comienza por 110 , hay 21 bits dedicados a la info de
la red y los 8 restantes al host

vamos a poner un ejemplillo...por ejemplo el B:
ejemplo clase B: 156.35

              1|0|(14) red        |(8 bits )subredes|(8 bits)host,,,|

en el caso de encontrarnos un ultimo campo con todo a 1
               156.35.111
estaremos ante un broadcast


>>Tras esta breve...breviiisima introduccion..pasemos a lo bueno...el proto IP:
_________________________________________________________
|TCP                   |UDP 				 |
|______________________|_________________________________|Capa de transporte
|             |TCMP           |				 |
|             |_______________|   			 | RED
|							 |
|_____________				_________________|
|RARP         |				|ARP		 |
|_____________|_________________________|________________|
|                      |                                 |
|Linea punto a punto   | Red Local			 | Enlaze de datos fisiko
|                      |                                 |
|______________________|_________________________________|



El protokolo ip no es fiable para el envio de datos a trves de la red, y el
servicio sin conexion, por esto
es muy posible k los paketes no llegen a donde keremos k llegen puesto k no
establecemos ningun dialogo
con el receptor..ni este con nosotros..por lo cual es la propia red la k se
encarga de mandar los paketes
al destinatario..es decir..los vomitamos a la red..y si llegan..bien..y si
no..pos ni nos enteramos oiga..

Los datagramas pueden llegar al destino completamente desordenados...lo cual
es debido a k siguen diferentes
caminos a la hora de llegar (si es k lo hacen) a su destinatario..un datagrama
puede tener como MAximo 64 kb de
longitud....por lo kual se hace necesaria la fragmentacion de los mismos..en
especial en redes tipo ethernet.

Un datagrama iria dentro de una trama ethernet en campo de datos..

                            Datagrama IP
_______________________________________________________________________________________________________
|Preambulo       |direccion de destino      |direccion origen         |Tipo de
serv.   |Datos      | CRC
-------------------------------------------------------------------------------------------------------


>> Hableme ute de las cabeceras caballero:

primero definamos unos conceptos..(el concepto e el concepto)


>>Version: nos va a indicar la version del protokolo IP k se esta
utilizando...actualmente kreo k es la 4
si no me ekivoko

>>Longitud: La longitud de la cabezera del datagrama...o del fragmento del
datagrama, lo mediremos como palabras de 32 bits

>>TOTAL longitud:  pos eso..la longitud del datagrama



>>veamos un grafikin con el formato de una cabezera:
--------------------------------------------------------------
Version   |   longitud    |    Tipo de servicio|Total longitud|
--------------------------------------------------------------|
Identificacion                           |flags|desplazamiento|
--------------------------------------------------------------|
tiempo vida | Protokolo                  |CRC cabecera        |
--------------------------------------------------------------|
direccion fuente                                              |
--------------------------------------------------------------|
direccion destino					      |
--------------------------------------------------------------|
opciones                                 |relleno             |
--------------------------------------------------------------|
Datos							      |
--------------------------------------------------------------|

>>Veamos ahora el tipo de servicio:

es un byte...osea..8 bits..1 byte=8 bits

1           3                8bits
  _________________________________
 |prioridad  | D | T | R | No usado|
  ---------------------------------

Prioridad: En este campo se indica que datagramas tienen que ir antes, por
ejemplo imaginate un server..esto indicaria que prioridad tiene ese usuario
conectado frente a los demas usuarios..es decir k prioridad de llegada
tienen sus paketes ...

El router analiza los bits D T R, un bit recuerda k solo contienen valor 0 o
1, asike:

Si  D=1 el datagrama habra de ser enviado con el menor retraso posible

Si  T=1 el datagrama esta pidiendo alta velocidad de transmision, e desi, le
dice al router k pille
        la linea mas rapida para enviarlo a el, claro, eso si el router tiene
varias lineas...

Si  R=1 entonces estamos solicitando que el datagrama sea enviado por la linea
donde se produzcan menos errores.



>>Veamos ahora IDENTIFICACION:

  Todos los datagramas llevan un numero de indentificacion diferente, se
fragmenta y cada uno de los fragmentos
lleva el numero del datagrama original esto son 16 bits


>>FLAGS (vamos destripando el eskemita (el grande) superior)

Solo se usan fragmentitos de 2 bits..a pesar de tener 3 bits reservaos pa
ellos, el primer Bit dira si el
datagrama se puede Fragmentar o no..el segundo indica si el fragmento es el
ultimo de un datagrama..veamos

bit 1  2  3
    1  1  0   fragmentable y ademas es el ultimo paketito de un datagrama

    0  0  0   no fragmentable y ademas no es el ultimo paketito..

    1  0  0   fragmentable pero no es el ultimo paketito

              nota k el bit 3 ta a 0 siempre


>>DEsplazamiento:
    indica el desplazamiento o posicion, amos una lista de trozitos, k nos
dira k trocito es de tal o cual
datagrama, para ello emplea 8bytes...osea 1 byte=8 bits...16bits

>>TIempo de vida:
    si el datagrama se pierde? keda circulando eternamente por la red?..jodo
la pila icmps k habria de los
nukes de los tipikos pardillos k no han llegado a su destino...

    Pos no..cada router por onde pasa el pakete...decrementa su tiempo de
vida..normalmete lo hace en proporcion
alo k tarda en procesarlo..asike con el tiempo..algun router lo
matara..retirandolo asi de la circulacion.

>>Protokolo

  bien..esto es muy interesante...

      indica a ke tipo de datos pertenece el datagrama:

   SI es un 1 es un ICMP

   SI es un 6 es un TCP

   Si es un 17 es un UDP

>>Opciones: aki se suelen meter funciones de mantenimiento de la informacion
del datagrama..pero la mayoria no llevan aki nada de nada

>> Relleno:

  Las cabeceras han de cumplir k deben ser multiplos de 32 bits, por ello aki
se deja un espacio para meter un relleno hasta completar ese multiplo de 32 bits..

>>Datos:

   Tu nombre..domicilio..dni...sexo...ultima relacion sexua conosia...etc..
XDD po ezo datos k mandas..



continuemos con el piazo asincrono....

   Cuando una maquina tienen k enviar un datagrama a una direccion logica y no
sabe que direccion fisika tiene tedra un fichero configurado k es necesario
enviarlo al route, este permite salir de la sub-red, ademas este fichero indica
que todos los datagramas enviadas a la sub-red se envian directamente.

El protokolo ARP buscaria la direccion fisica de router de la red,,,y enviaria
un datagrama tipo ethernet hacia este
router...

          0.0.0.0 (por defecto)  ===>   156.35.101.151 (router)
          156.35.101.0           ===>   156.35.101.23





>>> EL PROTO ICMP (protocolo de control de mensajes orientao a
internette:internet control message protocol)

Es un protocolo para los mensajes de error cuando por ejemplo un pakete
enviado es rechazado, las makinas avisan de fallos mediante este protokolo..
estos se encapsulan dentro de un datagrama IP.


veamos su extructura..

D O T (lo explikamos en el apartado anterior)

|D|O|T       cabezera ip|MESAJE icmp| CRC

esta en datos ethernet

Los mensajes icmp tienen todos diferente formato, pero los primeros 4 bytes
son siempre iguales

0       8         16                31
  tipo  |  codigo  |   checksum      |
______________________________________


>>Codigo : identifica en cada tipo las variantes
>>checksum: identifica los errores.

tipo..po eso el tipo de icmp

Tambien un icmp puede fallar...en este caso hay una regla k dice k no se envie
mensaje desde ese error.



>>EL PROTOKOLO ARP (address resolution protokol)

 El aRP sirve para conocer las direcciones ethernet de otras makinas. Lo que
hace es enviar un mensaje a la direccion broadcast
preguntando quien tiene la direccion ip, que estamos buskando..

El receptor constestara con su direccion ethernet

-----------------------------------------------------
Preambulo |dir destino|dir origen| 0806 | datos | CRC|
-----------------------------------------------------

aclaremos lo del 0806

        ARP -> 0806hexadecimal
        Rarp-> 0835h
        IP  -> 0800h

en el campo tipo se indica que dentro del campo de datos, iran datos sobre el
ARP, veamos k datos van ahi...

la forma del campo es esta:

       bits      0                      8                     16
   31

___________________________________________________________________
                hardware                                          protokolo

--------------------------------------------------------------------
		 hlen                         plen                operacion

-------------------------------------------------------------------
		 sender ha

-------------------------------------------------------------------
		 sender ha                                        sender ia

-------------------------------------------------------------------
		 targer ia                                        targer Ha

-------------------------------------------------------------------
		 target HA

-------------------------------------------------------------------
		 target IA

-------------------------------------------------------------------
no echeis a corres k os lo expliko ahora...

 Hardware: identifica sobre el hardware sobre el k se esta trabajando..
ethernet=1

 Protokolo: indika el protokolo para el kual se estan empleando las
direcciones logikas..el Ip pa k sus akalreis..aunke podia ser otro eh

 Hlen: longitud de las direcciones de Hardware..po ehjemplo ta ethernet son 48

 Plen: longitud de las direcciones logikas, las direcciones IP como deciamos
antes 32

 Operacion: de rion..digooo.. indica a si esta trama es una trma de pregunta
ARP (codigo 1) si es una contestacion a
            una pregunta ARP (codigo 2)....Si es una pregunta RARP* codigo 3 o
si es una contestacion a una RARP..codigo 4

 SENDER HA: direccion de hardware a del que envia la trama
 SENDER IA: envio la direccion de internet 4 byterls, la del tio k envia..
 TARGER HA: Direccion de hardware del destinatario
 TARGER IA: Direccion IP del destinatario

*Rarp (no..tio..no no es un cantante de Rap , es el reverse ARP..lo veremos
enseguida..)

 Esta trama de ethernet llega a todas las staciones de la
red...observanla...la miran..la tokan..la huelen...
si a la direccion a la k llega tiene una ip como la k llega preguntando por
ella...entonces esta rellena el campo
TARGER HA con su direccion...y se cambia el codigo de operacion..pasa de ser
una pregunta ARP a ser una RESPUESTA
k se manda al k envio el pakete..asi este se entera de kien koime tiene esa ip.



Bien...por ahora aki lo dejamos...

en la segunda parte vamos a ver el RARP ..y el TCP como nunka en tu vida lo
viste..le vamos hasta a ver los pelillos del...
XDD

enga cuidaros y ser guenos..

W3ndig0 :disidents@hotmail.com



 


   
