Tema 2 - Protocols d'Interconnexió de Xarxes (1a part)

1. Adreçament

2. Resolució d’Adreces Locals (ARP/RARP)

3.Protocol d'Internet IP

4.Encaminament bàsic

5.ICMP

Tornar



1. Adreçament



1.1. Adreça IP

{i}

Obviamente necesitamos identificar cada ordenador que se encuentre conectado en la red y que sea aprobado a nivel mundial. De ello se encarga el direccionamiento, un método que otorga a cada ordenador una única y exclusiva dirección, de manera que cualquier ordenador o host se diferencia del resto.

Una de las ventajas más notables es la ocultación de los detalles de la red física, que supone conseguir que la red parezca una única entidad uniforme.

Así, de entre las diversas formas de escoger un identificador para cada uno de los ordenadores: nombres (qué), direcciones (dónde), caminos (cómo), se escoge el formato de direcciones porque interesa "dónde" enviar los datos sin que se produzcan errores en la transmisión.

El direccionamiento es proporcionado por la capa de interfície-red, el cual se encarga el protocolo IP. En dicho protocolo existen las direcciones IP (en su versión 4), que consisten en un entero de 32 bits que sirven para identificar cada uno de los hosts y que tienen asignadas. Por lo que nos da un total de 2 (binario) elevado a 32 direcciones posibles. Por este hecho cabe remarcar que al haber más máquinas que IP´s, se opta por asignar IP´s dinámicas a cada máquina que se conecte a la red porque es evidente que la probabilidad que todas las máquinas puedan conectarse a la vez a la red es muy pequeña.

Esta direccion IP es única dentro de cada internet, por lo que pueden haber varias, así que cuando estas internets pasan a coexistir en Internet, hay un mecanismo que se encarga de hacerlas únicas, debido a que la existencia de dos hosts con igual dirección lógica sería causa de conflictos y mal funcionamiento de la red. Y por lo que respecta a la comunicación con un host se utilizará el identificador que tenga asignado, en este caso asignado dinámicamente.

REPRESENTACIÓN de la dirección IP:

Para la máquina resulta muy fácil manejar los números binarios, pero para las personas existen varias configuraciones para facilitar el manejo agrupándolas en grupos de bits.

Binaria: 32 bits seguidos.

Hexadecimal: 8 dígitos hexadecimales.

Dotted quad: 4 bytes en representación decimal y separados por un punto. Es la representación más extendida, dada su fácil legibilidad y entendimiento para pasar a otra representación.

Decimal: corresponde al valor decimal del entero representado.

No obstante, dicha representación por ser numérica resulta incómoda de manejar y difícil de recordar, por ello se introdujo el 'Sistema de nombres de Dominio' DNS (Domain Name System) el cual cambia por una forma textual tipo nombre.dominio el anterior tipo numérico. Ejemplos son: yahoo.com; google.com, etc...

FUNCIONALIDAD de la dirección IP:

1) Identificar de forma única y exclusiva una destinación en la red (Hostld).

2) Contiene información que permite decidir y escoger el camino idóneo que debe seguir un datagrama para llegar a su destino (Netld).

La información contenida en la capa de interconexión de redes se encuentran codificadas en la direccion IP.

Hay que tener presente que una dirección IP no se corresponde a una máquina, sinó a la conexión de red en sí, es decir, la dirección IP se encuentra dentro de la red. El router (máquina conectada a internet) lo que necesita saber es nuestra dirección IP.

Ventajas:

a) Encaminamiento eficiente. b) Identificación de redes. c) Fácil de configurar y de mantener. d) No necesita la participación de los usuarios.

Inconvenientes:

a) Si un host emigra a otra red existe un cambio de dirección. b) Un cambio de dirección de red lo han de realizar todas las máquinas a la vez. c) El camino que cogerán los datagramas depende de la dirección. d) No se comprueba la identidad del usuario, sinó de la máquina.

Fuentes:

Transparencias de la asignatura

índex



[25/04] ()

1.2. Esquema Classful

NetID que es l'idntificador de la xarxa i HostID que es el host de la xarxa es fixen uns límits segons una certa divisió de l'espai d'adreces en classes que segueix el següent esquema:

El rang d'adreces entre 127.0.0.0 i 127.255.255.255estan reservades per a la interficie especial loopback que s'utilitza per a la comunicació dins d'un mateix ordenador mitjançant TCP/IP.
Els NetIds de l'esquema classful de la fotografia anterior en format “dotted quad”, corresponen a:

Classe

de

a

Classe A

1.0.0.0

126.0.0.0

Classe B

128.1.0.0

191.255.0.0

Classe C

192.0.1.0

223.255.255.0

Classe D

224.0.0.0

239.255.255.255

Classe E

240.0.0.0

255.255.255.254

En total tindrem poques xarxes de tipus A que tindran molts hosts:

27 (128) xarxes

amb 224 (16M) hosts

Aquests valors s'obtenen de elevar 2, ja que en cada posició pot tenir un 0 o un 1, el nombre de bits que ocupa el NetID (que treurem el nombre de xarxes) i el HostID (que treurem el nombre de hosts).Sabent això podem extreure de l'esquema classful que hi hauran moltes xarxes de tamany mig tipus B,

214 (16K) xarxes

amb 216 (64K) hosts

i xarxes tipus C,

221 (2M) xarxes

amb 28 (256) hosts

Gracies a l'esquema es podrà fer un encaminament molt eficient.
Si el NetID i el HostID, identificadors de la xarxa, són tot 0's, adreça de identificació que indica la propia màquina, o 1's, rebrà el nom de adreça de difusió, tindran una funcionalitat especial.

NetId 0 HostId 0

La propia màquina

NetId 0 HostId 1

Broadcast xarxa local

NetId 1 HostId 1

Broadcast limitat

NetId 0 HostId X

Adreça a la xarxa local

NetId X HostId 0

Identificador de xarxa

NetId X HostId 1

Broadcast dirigit

Uns altres tipus d'adreces són les adreces unicast que tenen un únic host/router, les broadcast on tots els router i hosts estan en la mateixa xarxa. També existeixen les adreces multicast que permeten l’enviament de dades a un conjunt limitat de màquines que poden estar a qualsevol xarxa de la internet. Si la xarxa física suporta aquest tipus d'adreces les adreces IP multicast ens seran molt útils. En l'esquema classful, la classe D és l'ecarregada.
L'assignació en internet d'adreces es bastant anàrquica, ja que podem asignar-les com vulguem. ICANN (Internet Corporation for Assigment of Names and Numbers) s'encarrega d'assignar-les però no tota sensera, es a dir, ICANN asigna NetID o dona autoritat de fer-ho als RIR (registres d'Internet regional)que són RIPE NCC, ARIN, APNIC, LACNIC, AfriNIC. L'administrador de la xarxa asigna HostID.
La trasmisió de bytes entre aquestes adreces ha de seguir un ordre per a que tohom estigui d'acord. Hi han dos modes de representació: BigEndian i LittleEndian. El que segueix internet és el BigEndian.



Fonts: Trasparencies de l'assignatura
índex


1.3. Subxarxes



()

1.4. Esquema Classless

Cuales eran los motivos para crear este equema?

El problema del esquema classful era que el espacio de direcciones no se dividia en partes iguales. Se pedian mucho las redes del tipo B, que son bastante grandes, y poco las del tipo C que son pequeñas pero hay numerosas. Por eso en 1993 se introdujo el esquema classless: Una red puede tener mas que un prefijo. Las ventajas que las direcciones de IP son asignadas más economicamente, los prefijos aumentan el nivel de jerarquía y reducen el tamaño de las tablas de encaminamiento.

CIDR - Classless Inter-Domain Routing

Esta tecnica se usa para facilitar el encaminamiento porque bloques de direcciónes IP se agrupan en un elemento de la tabla. Un bloque de direcciones CIDR tiene esta forma:

A.B.C.D / n

El parte antes de la barra es la primera dirección IP del bloque (en la forma dotted quad). El número n tiene un valor entre 0 y 32. La mascara de la red es un número binario de 32 cifras que empieza con n 1s consecutivos y acaba con (32-n) 0s.

Por ejemplo: 128.96.39.0/25

El inicio del bloque CIDR:

128.96.39.0

La mascara:

11111111 11111111 11111111 10000000

La mascara en dotted quad:

255.255.255.128

El final del bloque CIDR:

128.96.39.127


Esto significa que todas las direcciónes en binario, que tengan la misma cabecera de 25 bits que la dirección del inicio, partenecen a este bloque. Como se ve en la mascara, son 7 bits. Por lo tanto el bloque tiene 2^7= 128 elementos.

Las classes A, B y C del esquema classfull son analogos a los bloques /8, /16 y /24.

Fuentes:
http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
transparencias de la asingatura

índex



[20/04] ()

1.5. IPv6

Este modo de direccionamiento fue diseñado por Steve Deering de Xerox PARC y Craig Module, está destinado a sustituir a IPv4.

La razón para sustituirlo es que el crecimiento de internet y de su uso hace que la cantidad de direcciones que se pueden asignar con IPv4 sean insuficientes, IPv6 tiene 128 bits (16 bytes) y por eso soporta 1024 direcciones por metro quadrado de superfície terrestre.

Las direcciones tienen 128 bits, que corresponde a 32 dígitos hexadecimales. Se puede pensar que las direcciones que permiten 128 bits son demasiadas, pero no se ha escogido ese número sólo por la cantidad de direcciones, sino también para asegurar que el encaminamiento sea efectivo y que tenga un esquema jerárquico que mantenga el espacio de direcciones sin fragmentar.

Notación de IPv6:

68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF

2001:0db8:85a3:0000:1319:8a2e:0370:7344

es la misma dirección que:

2001:0db8:85a3::1319:8a2e:0370:7344

Si más de dos grupos consecutivos son nulos, pueden comprimirse como '::'. Si la dirección tiene más de una serie de grupos nulos consecutivos la compresión solo en uno de ellos. Así:

2001:0DB8:0000:0000:0000:0000:1428:57ab

2001:0DB8:0000:0000:0000::1428:57ab

2001:0DB8:0:0:0:0:1428:57ab

2001:0DB8:0::0:1428:57ab

2001:0DB8::1428:57ab


Fuentes:
http://es.wikipedia.org/wiki/Ipv6
transparencias de la asingatura

índex



2. Resolució d’Adreces Locals (ARP/RARP)



2.1 Resolució

()
ARP (Protocolo de Asociación de Direcciones)

Las direcciónes IP sirven para asignar direcciónes virtuales a las maquinas que estan conecatadas a una internet. Pero para la comunicación entre dos ordenadores se necesita la dirección física de la otra maquina. El protocolo ARP de bajo nivel se dedica a asignar direcciones de forma dinámica y traducir las direcciones IP a direcciones físicas. Asi es posible que programas de un nivel más alto trabajen sólo con direcciónes IP de nivel alto.

El problema mencionado se llama problema de asociación de direcciones. Para resolverlo existen varios estrategias. Se pueden usar tablas de encaminimiento. También se puede codificar la dirección física dentro de la direcció IP. O se aplica un protocolo específico para encontrar direcciones correspondientes. Se usa dentro del conjunto de protocolos TCP/IP.

Las direcciones físicas pueden ser configurables. Pero se usan pocas veces. Mucho más comun son direcciones fijos. Para solicionar el problema de asociación de direcciones el ARP aplica dos algoritmos depende de si la red dispone de difusión:

Escenario difusión (broadcast)

Este escenario se aplica en Ethernet. La rázon es que las direcciones físicas tienen 48 bits y por eso no se pueden codificar en los 32 bits de la dirección IP.

Todos los ordenadores conocen su dirección física F_x (corresponde a la placa) y la dirección IP I_x (el administrador se les ha asignado). Si un ordenador A quiere establecer una comunicación con el ordenador B, passará esto:

Petición

F_a

I_a

¿F_b?

I_b

Respuesta

F_a

I_a

¡F_b!

I_b

Escenario sin difusión

Se usa en redes con la tecnología ATM.

Un ordenador A que quiere comunicar con otro ordenador B tiene que estar conectado con B por un circuito virtual. En lugar de difusión hay un servidor S con una tabla que contiene las direcciones IP (I_x) y ATM (ATM_x). Todos los ordenadores conocen la dirección ATM_s del servidor.

El algoritmo en este caso es el siguiente:

Petición

ATM_a

I_a

¿ATM_b?

I_b

Respuesta

ATM_a

I_a

¡ATM_b!

I_b


Fuentes:
Internetworking with TCP/IP, Comer
transparencias de la asignatura

índex

{i} Hay dos versiones independientes de este párrafo (2.1.) debido a un malentendido entre los miembros del grupo.

2.1 Resolució

()

Amb adreçament IP veiem una única xarxa virtual, que utilitza adreces IP per a enviar i rebre datagrames. D'altra banda, per a poder comunicar dues màquines a la xarxa real necessitem l'adreça física

El mecanisme de traducció d'adreces depèn de la xarxa física:


Independent de la xarxa física

Interconnexió de xarxes

Dependent de la xarxa física

Traducció d'adreçes

Xarxa real


Aquestes traduccions es fan a una xarxa local, però afecta igualment a cada salt que fa un datagrama desde l'origen fins a la destinació, perquè per comunicar amb el gateway tenim la IP però he d'aconseguir l'adreça per arribar a ell a la xarxa on estem connectats.

Aquest problema s'anomena address resolution problem, o problema de resolució d'adreces.

Hi ha diverses solucions per a resoldre aquest problema:

Hi ha dos tipus d'adreces físiques:

Cas model de xarxa amb broadcast, Ethernet:

Utilitzem un protocol de baix nivell anomenat ARP (Address Resolution Protocol, [RCF 826]), que és eficient i fàcil de mantenir. El seu funcionament és molt simple:

En el cas que A vol enviar quelcom a B:

  1. A coneix la seva IP i la IP a la qual vol contactar i la seva adreça física. Només li cal saber l'adreça física de B.

  2. A envia a tothom (difusió, broadcast, ethernet ho permet) un paquet especial preguntant quina adreça física té la IP de B.

  3. B respon amb la seva adreça física. Ara A ja pot enviar a B.

Petició de ARP enviada:

Petició

FA

IA

F?

IB

Tothom rep aquesta trama. Només B contesta amb:

Resposta

FA

IA

FB

IB

Cas model de xarxa sense broadcast, ATM: En el mateix cas d'abans, A i B han d'estar connectats a través d'un circuit virtual (ATMA-ATMB) per a poder comunicar-se. En aquest cas tenim un servidor ARP, S, que conté una taula amb informació adreça IP - adreça física. Tots els elements de la xarxa han de conèixer l'adreça física del servidor 'S'. L'esquema queda modificat d'aquesta manera:

  1. A envia una petició d'adreça física de B a S a traves d'un circuit virtual establert entre tots dos. Això és possible ja que A coneix l'adreça física d'S.

  2. S respon a A amb l'adreça física de B.

  3. A ja pot enviar el datagrama a B perque ja coneix la seva adreça física.

Petició de ARP enviada:

Petició

ATMA

IA

ATM?

IB

S rep aquesta trama i B contesta amb:

Resposta

ATMA

IA

ATMB

IB

Tant en el cas de xarxes amb difusió com sense, s'utilitzen els mateixos missatges ARP.

El format d'aquests missatges és una mica més complicat que el mostrat aquí, ja que admet diferents tipus d'adreces físiques i de protocol. Ara seguit ho veurem.

Fuentes:
Transparencias de la asingatura

índex



2.2 Protocol ARP (ARP)

{i}

FORMATO DE LOS MENSAJES ARP

A continuación se muestra el formato de los menajes ARP, y es el mismo tanto para redes en que se adimite difusión, como para redes en las que no se admite:

Campos más importantes:

TERMINOS A TENER EN CUENTA EN UN DISEÑO ARP

Conceptualmente ARP puede ser dividido en tres partes, una sección de salida, una de entrada y un administrador de cache. Cuando un datagrama es enviado, el software de interfaz de red llama la sección de salida para enlazar una dirección de algún protocolo de alto nivel (por ejemplo IP) a su correspondiente dirección de hardware. Los procedimientos de la sección de salida regresan el enlace, el cual es usado por las rutinas de interfaz de red para encapsular y transmitir el paquete. La sección de entrada maneja los paquetes de ARP que llegan de la red. Los procedimientos de la sección de entrada actualizan el cache de ARP agregando nuevos enlaces. El administrador del cache implanta las políticas de remplazo. Examina las entradas en el cache y las retira cuando han cumplido un tiempo determinado.

Al construir software de ARP se debe de tener cuidado en implantar todos los aspectos del protocolo, ya que algunas aplicaciones pueden dar enlaces incorrectos debido a que eliminan el temporizador del cache con el fin de dar mayor eficiencia. Algunos parámetros que se deben de tener en cuenta cuando se desarrolla un software de ARP son los siguientes:

Fuentes: Transparencias de la asignatura

índex



[21/04] ()

2.3 ARP invers (RARP)

A vegades es planteja el problema invers a ARP, trobar la direcció IP a partir d'una determinada direcció de xarxa local. Com exemple si es dona una situació d'una estació de treball sense disc (diskless), aquesta xarxa ha de carregar el seu sistema operatiu des d'un altre ordenador, normalment situal a la mateixa LAN però amb desconeixement de tot el relacionat amb la configuració de la xarxa. L'únic que l'estació coneix es la seva direcció MAC que es troba en la seva tarja de xarxa.Per tant no poden comunicarnos mitjançant TCP/IP fins que no tinguem la adreça IP.
En aquests casos es va inventar RARP (Reverse Address Resolution Protocol) i te la funcionalitat següent:

L'estació sense disc envia un missatge broadcast en el que indica la seva MAC i demana que algú li doni la informació de la direcció IP que li correspon. En la xarxa que tindrem montada haurà d'haber un server RARP el qual s'encarregarà d'antendre les peticions d'aquest tipus mitjançant les consultes de les seves taules. El resultat d'aqesutes consultes serà la devolució de la direcció IP corresponent a l'estació sense disc.
De forma esquematizada ho podem explicar així:
  1. Una màquina sense IP envia la petició broadcast a una llista de direccions físiques.

  2. El server RARP respon i enia la IP que te emmagatzemada en la taula

  3. la màquina rep la IP i ja te la capacitat de comunicació amb les altres de la xarxa.

  4. Aquest proces es realitaza normalment a través de TFTP enviant una imatge del boot a la màquina.

El format de RARP es el mateix que d'ARP pero amb una direfencia. La direferencia és que s'usen els codis de les operacions 3 i 4 per a la pregunta i la resposta respectivament.
Actualment s'utlitzen altres protocols com són BOOTP i DHCP.
Fonts: Trasparencies de l'assignatura

índex



[20/04] ()

2.4. Atacs amb ARP

El protocolo ARP es susceptible de diversos ataques. La seguridad no era uno de sus requisitos de diseño.

Fuentes:
http://en.wikipedia.org/wiki/ARP_poisoning
transparencias de la asingatura

índex



3. Protocol d'internet IP



[25/04] ()

3.1 IP

L'objectiu del protocol d'internet es poder proporcionar a l'usuari una abstracció de les xarxes fisiques (es el que deiu en les trasparencies " un servei de baix nivell que accepta datagrames i els entrega).
La interconexió d'aquestes xarxes mitjançant IP es realitza gracies a que IP proporciona un servei sense conexió d'entrada de dades. Gracies a això IP s'ha convertit en la base de tota comunicació d'Internet. L'arquitectura d'aquesta Internet es basa en 3 serveis independets entre si, es a dir, que es poden modificar un sense que els altres s'hagis de modificar també:

  1. Servei de capa d'aplicació: S'ofereix a l'usuari i no a altres capes. Aquest servei identifica els interlocutors de la comunicació, sap si hi han recursos suficients per establir la comunicació, sincronitza aplicacions i estableix acords sobre els procediments per controlar la integritat de les dades.

  1. Servei de transport fiable

  2. Servei d'entrega de datagrames sense connexió: Aquest servei es caracteritza per estar definit com:

    1. no fiable: L'entrega de les dades no esta garantitzada.

    2. Del millor intent: Se suposa que no pot fallar, que el procés funcionara correctament. Solament pot fallar si no tenim recursos suficients per realtizar la comunicació o si la propia xarxa falla.

    3. Sense connexió: cada paquet serà tractat de manera independent. Això implica que els paquets que contenen fragments del mateix datagrama no tenen que pasar per el mateix lloc.

La IP és considera la unitat bàsica per a la trasmisió de dades en Internet. També es qui gestiona la funció d'enrutament, es a dir, escullirà els camins per on pasaran les dades, i és qui s'encarrega de definir les regles de l'entrega no fiable. En aquesta entrega podem considerar accions com processar dades, que datagrames son acceptats i quins no, quan llançar els missatges d'error, entre altres.
La unitat en que s'envien les dades que la IP s'encarrega de direccionar s'anomena datagrama.

Fonts:
http://dis.eafit.edu.co/cursos/st716/material/Introduccion.ppt
Trasparencies de l'assignatura
índex



()

3.2. Datagrama (o datagrama IP)

Un datagrama es un fragment de paquet que s'envia amb la suficient informació per que la xarxa pugui encaminar el fragment cap al destinatari de manera independent als fragments restants. Això pot provocar una recomposició barrejada o incomplerta del paquet al destino.

L'estructura d'un datagrama és: capçalera i dades.

Dos protocols basats en datagrames son IPX i UDP.

Els datagrames per si sols com una unitat d'informació que pot completar una tasca sencera sols tenen cabuda als serveis de xarxa no orientats a connexió (ConnectionLess). Es serveis que orientats connexió necessitaran de varis datagrames per connectar, desconnectar, hadshaking dels processos i dades en sí.

A IP només existeix una unitat de dades, a diferència de X.25 en que teniem 5 de diferents. A més IP no especifica el format de les dades. Aquest datagrama serà transportat en una trama Ethernet, per exemple.

Capçaleres

Dades

será tranemès com:

Preamble

Física Orígen

Física Destí

IP

Capçaleres

Dades

CRC

Datagrama IP (no depèn del hardware):

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28...31

Versió

Long. Capç.

Tipus de servei

Longitud Total

Identificació

Flags

Offset de Frag.

Temps de vida (TTL)

Protocol

Checksum de la capçalera

Adreça IP d'origen

Adreça IP de destí

Opcions IP (si n'hi ha)

Padding

Dades
...

totes les opcions possibles és de 216 − (24*4) = 65471 bytes.

Fonts:[[BR]]




()

3.3. Fragmentació

La fragmentació és el procés de divisió dels datagrames en troços o fragments donat que cada xarxa física nomes pot portar una certa quantitat de dades en un mateix paquet.

Els datagrames poden atravessar moltes xarxes diferents, cada una amb un valor límit de quantitat de dades que pot portar un paquet. Aquest valor es coneix com MTU (Maximun Transfer Unit o Unitat Màxima de Transferència).

Un datagrama pot arribar a tenir fins a 64Kb però la majoria de xarxes físiques no poden transportar trames tan grans. El que interessa és que cada datagrama vagi en una única trama per aconseguir una major eficiència en la comunicació. Aqui es planteja la problemàtica de escollir una longitud de datagrama que sigui prou gran per a ser eficient, i suficientment petita per no haver d’utilitzar més d’un paquet per transportar el datagrama. Un fet que complica aquesta elecció és el desconeixement a priori del MTU mínima de les xarxes que atravessara el datagrama.

La solució que adopta TCP/IP és la de pendre una longitud inicial per defecte que es consideri adient i, si ens trobem amb una xarxa que no accepta aquesta longitud, fragmentarem el datagrama. Aquesta fragmentació en torços més petits esdevindran cada un d’ells nous datagrames més petits, amb capçaleres molt similars a les del datagrama original.

La posterior desfragmentació es produeix en la destinació. Això comporta uns certs avantatges, però també implica alguns problemes:

Aventatges:

Desaventatges:

Per dur a terme la fragmentació, IP utilitza una sèrie de camps a la seva capçalera. Els descriurem breument:

Fonts:

Apunts de clase

índex



[20/04] ()

3.4. Capçaleres datagrama

La cabecera del datagrama de IP está formada por varios campos:

Como curiosidad, en clase vimos una página de paquetes extraños ( Museum of Broken Packets ), como por ejemplo uno que no tiene cabecera, y uno en concreto de un paquete que enviaba hotmail en el que el campo TTL la cabecera de la cabecera es igual a 1, lo que es casi imposible que se produzca por casualidad varias veces enviandose desde el mismo servidor, así que esto significa que la máquina que ha enviado el paquete ya sabía de antemano el número de routers por los que iba a pasar el paquete, habiendo hecho previamente una traza y consiguiendo información de la red dónde se encuentra el host del usuario.

+ TCP 0x14 64.4.14.250:80 -> 193.0.67.34:62990 ttl=1 off=0x0 id=0x7529 tos=0x0 len=40 phys=46

Fuentes:
http://www.uoc.edu/masters/cat/img/922.pdf
Museum of Broken Packets
transparencias de la asingatura

índex



4. Encaminament bàsic


4.1 Interfícies

{i}

El encaminamiento IP permite a un datagrama Ip llegar de un origen a un destino pasando por distintas redes físicas. Este encaminamiento puede ser denominado IP forwading o routing. A diferencia de otros protocolos que funcionan en un solo tipo de red física, IP tiene que hacer la elección de distintos caminos, es ahi donde aparece el encaminamiento.

Es preciso entender con claridad el concepto de Interficie de red para comprender el de encaminamiento. Una interficie sería el punto de acceso de un host a una red. Una interficie contiene información sobre la red ( tipo, dirección física, MTU) y sobre el acceso (Dirección IP, Mascara de red, estadísticas etc) y ofrece los distintos servicios para acceder a ella. Es decir un host puede tener distintas interficies de red cada una conectada a una red distinta.

Existe un tipo de interficie que nos permite la comunicación reflexiva con el propio host. Es decir, podemos establecer conexiones de red dentro de una misma maquina. Esta interficie se llama loopback y nos permite hacer pruebas con Ip ademas de utilizar aplicaciones orientadas a red o servicios en una sola maquina aislada de cualquier red.

Fuentes: Transparencias de la asignatura

índex



[21/04] ()

4.2 Entrega Directa/Indirecta

El direccionamiento lo realizan los hosts y los routers.

Entrega directa
Para enviar un datagrama por entrega directa, lo primero que hay que hacer es obtener la dirección física del destino mediante ARP y se envía la trama físicamene. Esta trama se envía directamente, no necesita routers, porque el destino está dentro de la misma red física.

Entrega indirecta
La entrega indirecta se realiza cuando la dirección del destino no se encuentra en la mísma red física. El Host que envía el datagrama lo entrega a un router, y este router se encarga de direccionarlo a otro hasta que llegue a la red física en la que se encuentra el destino, una vez allí elrouter realiza una entrega directa. Internet está formada por una red de routers interconectados y cooperando para que los datagramas pasen de router a router hasta llegar a la red de su destino.

Ruta Datagrama(Datagrama)
{

Extrae de la Cabecera de Datagrama la dirección de destino D;
Extrae de D el prefijo de Red N;
Si N corresponde a cualquier dirección directamente conectada Entonces
Envía el Datagrama a D sobre la Red N; (Entrega directa)
Sino
Si hay una ruta especifica para D Entonces
Envía Datagrama al salto siguiente especificado; (Entrega indirecta)
Sino
Si hay una ruta para la red N Entonces
Envía Datagrama al salto siguiente especificado; (Entrega indirecta)
Sino
Si hay una ruta por defecto Entonces
Envía el Datagrama a la dirección por defecto; (Entrega indirecta)
Sino
Declarar Fallo de Enrutamiento;
Fsi
Fsi
Fsi
Fsi
}

FUENTES:
http://www.monografias.com/trabajos7/protoip/protoip.shtml#ESS
http://www.uoc.edu/masters/cat/img/922.pdf
Transparencias de la asignatura.

índex



()

4.3. Taula encaminament

Cuando un host o un router de una red quiere enviar un paquete, consulta su tabla de rutas. Esta tabla administra la información sobre las direcciónes de maquinas conecidas.

Las entradas de la tabla tienen el formato siguiente:

(red destinataria R, router/dirección final ADDR, interfaz I)

es decir: Para cada red R contiene la dirección ADDR del router siguiente o la dirección destinataria (para enviar directamente) y el interfaz I a usar.

Una vez encontrado el router siguiente el datagrama se envia a este. Es importante mencionar que la dirección destinataria dentro del datagramo no se cambia durante todo el camino ya que tenemos los routers que se hacen cargo del encaminamiento.

Esto significa que el router no conoce todo el camino, solamente el proximo destinatario (también se llama next hop). Este hecho, junto con el sistema de prefijos de IP (vease el párrafo 1.4.), hace que las tablas de rutas queden pequeñas, los detalles del encaminamiento sean transparentes y en consecuencia el encaminamiento sea eficiente.

Las tablas de rutas pueden tener entradas especiales:


Fuentes:
transparencias de la asignatura
Internetworking with TCP/IP, Comer


índex



()

4.4 Consideracions finals

Aqui tenim algunes consideracions necesàries en quan a l'encaminament de datagrames basat en taules de routing: Normalment, el tràfic dirigit cap a una mateixa xarxa seguirà sempre el mateix camí, sense importar quin sigui l'estat de la xarxa (hi hagi o no congestió), sense discriminar el tipus de tràfic.

Si el tràfic destinat a aquesta xarxa pot utilitzar més d'un camí per arribar la seva destinació, només utilitzarà un únic camí, evitant utilitzar més d'un camí de manera concurrent.

Els datagrames enviats s'entreguen o es descarten només en la destinació (últim router). En el cas de que siguin descartats, s'ha d'activar algun mecanisme que informi a l'origen de l'error.

Els camins d'anada que segueixen els datagrames no té perquè coincidir amb els camins de tornada, donat que cada router encamina el tràfic de manera independent.

Pel que fa a IP, a l'arribada d'un datagrama, l'interfície de xarxa li pasa aquest datagrama al mòdul d'IP, i comprova que la seva adreça i la de destinació coincideixin. En aquest cas s'accepta el datagrama i es pasa a la capa superior. S'ha de tenir en compte que poden existir vàries interfícies de xarxa amb adreces ip diferents, aixi com també s'han de tenir en compte les adreces de broadcast.

En el cas de que el datagrama no sigui acceptat (la adreça d'origen i destí no coincideixen), si el receptor es un host, el datagrama es descarta (error per mala configuració, no s'ha de reencaminarja que causaria tràfic innecessari). Si el receptor és un router, el datagrama es reenviat (fowarding: aplicació de l'algorisme d'encamminament si al decrementar ttl no és 0).

Fonts:

Apunts de clase

índex



5. ICMP



[21/04] ()

5.1 Missatges

El protocolo de internet (IP) necesita un mecanismo de envío de mensajes de propósito específico, ya que, como hemos visto, IP es un servicio que no es fiable, y se algo falla no tiene forma de notificar lo que ha pasado (por ejemplo, que el host destino no esté conectado, que el TTL haya llegado a 0, que un ruter esté congestionado, etc.)

El protocolo de mensajes de control de internet (Internet Control Message Protocol, ICMP) sirve para comunicar ruters i hostst para intercanviar información de conrol y de error. Este protocolo es una parte requerida del protocolo IP y tiene que estar en todas las implementaciones.

Hay discusión si el ICMP es realmente un protocolo o si es sólo una herramienta que utiliza IP para notificar errores porque lso mensajes ICMP viajan dentro de los paquetes IP (al contrario que los ARP), pero en general, se considera que los dos protocolos están al mismo nivel, primero porque ICMP es una parte requerida para IP, y segundo, porque ICMP comparte el datagrama IP únicamente para tener un solo tipo de mensaje en la capa de red.

Al no dispooner del camino que sigue un datagrama, los mensajes de ICMP solo pueden ser enviados al host de origen, no a los elementos intermedios.

Formato de los mensajes


En la imagen superior se muestran los campos de la cabecera y la forma en la que viajan los mensajes en el datagrama IP.

Todos los mensajes ICMP tienen un formato diferente pero todos comparten el mismo modelo de cabecera, que tiene tres campos, el tipo, el código y el Checksum. Además los mensajes de error siempre llevan la cabecera y seguidamente los primeros 64 bits del datagrama IP que ha causado el error.

Hay trece tipos de mensajes ICMP actualmente en uso, y hay unos 30 subtipos identificados con el campo código, en la siguiente tabla se muestran los 13 tipos:

Tipo

Código

Descripción

Clase

0

0

Respuesta de eco (echo reply)

Petición

8

0

Petición de eco (echo request)

Petición

3

0-15

Destino inalcanzable (unreachable destination)

Error

4

0

Petición de control de flujo (source quench)

Error

5

0-3

Redireccionamiento

Error

9

0

Publicación de rutas

Petición

10

0

Petición de rutas

Petición

11

0-1

El tiempo de vida ha expirado (time exceeded)

Error

12

0-1

Cabecera IP incorrecta

Error

13

0

Petición de hora

Petición

14

0

Respuesta de hora (en milisegundos desde la medianoche)

Petición

17

0

Petición de la máscara de la subred

Petición

18

0

Respuesta de la máscara de la subred

Petición

Que pasa si uno de estos mensajes ICMP genera un error?

Antes de nada aclarar que sí que pueden fallar, porque de hecho los datagramas ICMP son iguales que los IP, pero en cambio, aunque cualquier datagrama IP puede generar un mensaje de error no todos los mensajes ICMP generan un mensaje de error al fallar, los mensajes de error son una excepción, porque pueden provocar respuestas en cascada que pueden afectar gravemente a la red, por eso es importante remarcar la diferencia entre los mensajes ICMP que son de error y los que son de petición (como se ve en la tabla de más arriba).

Igualmente, como aclaración, también hay un grupo de paquetes o mensajes IP que no generan mensaje de error: los paquetes IP destinados a unadirección broadcast, los fragmentos que no sean el primero y si la dirección de origen no identifica una única estación (por ejemplo, la dirección de origen válida 0.0.0.0 o la dirección de origen no válida 255.255.255.255).

Parches

No todas las implementaciones IP han tenido en cuenta la generación de mensajes de error, y algunos usuarios se han aprovechado estos problemas para bloquear sistemas y redes remotas, y de vez en cuando se descubren nuevas excepciones que pueden afectar a los sistemas.
Por eso los fabricantes de sistemas operativos publican parches regularmente para solucionar las vulnerabilidades que se van descubriendo.

Fuentes: http://www.uoc.edu/masters/cat/img/922.pdf
Transparencias de la asignatura.

índex



[21/04] ()

5.2 Ping

És una utilitat que comprova l'estat de la conexó amb diferent nombre d'equips remots per mitjà de l'eviament de paquets d'eco de solicitud (echo request)i de resposta (echo reply)que estan definits en el protocol de la xarxa ICMP i són necessaris per un servei bàsic de comprovació en bon funcionament. El missatge d'eco ha de seguir aquest format:


Com podem veure en la fotografia el missatge consta de 32 bits per cadena i pot constar de varies cadenes. Els 8 primers bits son per a codificar el tipus de missatge, es a dir, pot adoptar el valor 8 per al echo request i el valor 0 per al echo reply. No pot pendre cap valor més. Els següents 8 bits son els que codifiquen el codi que sempre és 0. La resta dels 32 bits, es a dir, els 16 últims es deixen per a codifiar el checksum.
L' identificador s'utilitza per assossiar les respostes rebudes a les peticions fetes (echo request < -- > echo reply) i el número de seqüència serveix per comprovar que no es perdin missatges i en cada petició va evolucionant de forma incremental.
Les peticionss d'eco poden portar dades adicionals que seran les mateixes que han de dur en la resposta. Això és el que dona nom al tipus de missatge.
Existeix un tipus de ping anomenat Ping ATM que es l'utilitzat en les xarxes ATM. En aquest cas les trames trasmeses són ATM. Aquests paquets s'envien per provar si els enllaços ATM estan definits correctament.
Aquests missatges determinen si el sistema IP es accessible en una xarxa i a més a més són útils:
  1. per detectar errors en xarxes o en routers IP.

  2. Per saber el temps que triguen en comunicar-se dos punts remots.

Fonts:
http://es.wikipedia.org/wiki/Ping
Trasparencies de l'assignatura

índex



[23/04] ()

5.3 Destinació inaccessible

El mensaje ICMP de 'Destinación inaccessible' (Host unreachable) es un mensaje que se genera cuando un router no sabe encaminar un paquete. Este mensaje no se genera si el datagrama que provoca el error es un datagrama enviado a una dirección 'multicast' (varios destinatarios agrupados) o es otro datagrama de error.

La razón para que se genera puede ser tanto fallos físicos en las conexiones, el host no existe, el puerto o el protocolo de destino no está activo o los datos llegan fragmentados pero tienen activado el 'flag' de 'no fragmentación'.

00

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

Tipo (=3)

Código (0-12)

CRC

No usado (ceros)

MTU siguiente salto

Cabecera IP y primeros 64 bits del datagrama

El campo de código se usa para especificar el tipo de error:
0: Red inaccesible.
1: Host inaccesible.
2: Protocolo inaccesible; el protocolo de transporte designado no está soportado.
3: Puerto inaccesible.
4: El datagrama es demasiado grande. Se requiere fragmentación pero el flag de 'no fragmentación' (DF) está activado.
5: fallo en la ruta de origen.
6: Error desconocido en la red de destino.
7: Error desconocido en el host de destino.
8: Error aislado en el host de origen (solo uso militar).
9: La red de destino está prohibida por el administrador.
10: El host remoto está prohibido por el administrador.
11: La red es inaccesible para el tipo de servicio.
12: El host es inaccesible para el tipo de servicio.
13: Comunicación prohibida por el administrador (paquetes filtrados).
14: Violación de la precedencia de hosts (indica que la precedencia requerida no está permitida para la combinación de host o red y puerto.
15: Paquete eliminado por normas de prioridad (la prioridad del datagrama está por debajo del nivel establecido por los administradores de red.

El campo de 'MTU siguiente salto' (bits 48-63) contiene el MTU del siguiente salto si un error de tipo 4 ocurre.

La cabecera IP y los 64 bits del paquete que generó el eror se usan para que el host que recibe el error pueda comprobar el datagrama que lo generó.

Fuentes:
Transparéncias de clase
http://www.saulo.net/pub/tcpip/
http://www.wikipedia.org



[24/04] ()

5.4 Traza de la ruta de los datagramas

Para encontrar el camino aproximado que siguen los datagramas hasta llegar al destino solicitado se puede utilizar el mecanismo de traza de ruta (traceroute).

Implementación

Traceroute funciona incrementando el TTL de cada paquete enviado consecutivamente, de manera que el 1er paquete tiene el uno, el segundo el dos y así consecutivamente.
Como hemos visto anteriormente, cuando un paquete pasa por un host se decrementa su TTL y, si es mayor que 0 se reenvía al siguiente salto. Si el TTL llega a 0 el host devuelve un ICMP de error del tipo 11, 'time exceed'.
Este ICMP de error lo utiliza traceroute para ir descubriendo los hosts que los generan, y por lo tanto, los hosts por los que pasa ese datagrama.
Pero esto significa únicamente que obtenemos la traza de los hosts por los que pasan esos datagramas en concreto; no tenemos ninguna grantía de que los siguientes datagramas pasen también por ahí, todo y que es muy probable debido a la estaticidad de las redes, que no suelen variar en cada instante, sino que suelen mantener las rutas fijas.
El host final devolverá normalmente un ICMP de error del tipo 3, 'puerto inaccesible'.

En los sistemas operativos UNIX y Linux modernos 'traceroute' usa por defecto un datagrama UDP con un puerto de destino igual o superior al 33434. Existe también la opción de hacerlo funcionar con datagramas ICMP 'echo reply' (tipo 8), que es el comportamiento por defecto de la misma utilidad de los sistemas operativos Windows.
Existen también implementaciones que usan paquetes TCP, como puede ser 'tcptraceroute'

En ocasiones al hacer un traceroute nos encontramos que algunas líneas nos salen como '*'. Esto es debido a que aunque el paquete no llega al destino no nos llega el ICMP de error. El motivo puede ser:

Autores
Extraído de la página man del traceroute de Linux:

Ejemplo de ejecución

 
K7LINUX ~ # traceroute www.gmail.com
traceroute: Warning: www.gmail.com has multiple addresses; using 72.14.205.83
traceroute to 72.14.205.83 (72.14.205.83), 30 hops max, 40 byte packets
1 192.168.123.254 (192.168.123.254) 0.931 ms 0.699 ms 0.225 ms
2 192.168.1.1 (192.168.1.1) 4.150 ms 1.022 ms 0.960 ms
3 10.8.254.33 (10.8.254.33) 94.606 ms 49.863 ms 84.513 ms
4 66.Red-80-58-123.staticIP.rima-tde.net (80.58.123.66) 84.313 ms 119.681 ms 124.844 ms
5 37.Red-81-46-5.staticIP.rima-tde.net (81.46.5.37) 123.479 ms 74.100 ms 55.798 ms
6 * * *
7 GE4-0-0-0-grtmadrr1.red.telefonica-wholesale.net (213.140.51.9) 70.738 ms 82.140 ms 55.708 ms
8 So1-0-0-0-grtmadpe1.red.telefonica-wholesale.net (213.140.36.190) 61.369 ms 57.823 ms 65.109 ms
9 P10-0-grtlontl2.red.telefonica-wholesale.net (213.140.36.226) 85.568 ms 91.223 ms 88.142 ms
10 72.14.198.9 (72.14.198.9) 95.589 ms 87.513 ms 101.410 ms
11 72.14.236.216 (72.14.236.216) 158.116 ms 165.794 ms 155.979 ms
12 72.14.236.213 (72.14.236.213) 155.237 ms 155.689 ms 198.203 ms
13 72.14.233.113 (72.14.233.113) 173.366 ms 179.084 ms 165.902 ms
14 66.249.94.96 (66.249.94.96) 160.700 ms 255.496 ms 66.249.94.92 (66.249.94.92) 166.167 ms
15 72.14.232.66 (72.14.232.66) 163.927 ms 224.468 ms 162.844 ms
16 72.14.205.83 (72.14.205.83) 173.411 ms 169.369 ms 167.984 ms

Existen también implementaciones gráficas. Como ejemplo, el xtraceroute:



Fuentes:




()

5.5 Altres tipus

Fonts:


índex


Tornar