XARXES IP


INTRODUCCIÓ


El protocol IP es dissenya per tal d'interconnectar xarxes heterogènies. Per aconseguir-ho els routers han d'utilitzar el mateix protocol. Un router té dues o més interfícies connectades a xarxes diferents. Físicament, les interfícies estan formades per targes de comunicació que permeten transportar o rebre informació a través duna xarxa física específica.


Quan un router rep un datagrama d'una interfície segueix el procés següent:


1.- El datagrama passa a la funció ip_input. Aquesta funció comprova que vagi dirigit al mateix router, si és així passa als nivell superiors, en cas contrari passa a la funció ip_output (IP forwarding). Aquesta és la diferència entre un host i un router, quan un host rep un datagrama que no és per ell el descata (té descativat l'IP forwarding).

2.- ip_output és l'encarregat de l'encaminament, utilitza la taula d'encaminament, que conté les xarxes destinació on sap arribar el router. Per cada xarx destinació la taula diu per quina interfície s'ha d'enviar el datagrama.

3.- Un cop consutada la xarxa, ip_output passa al driver que controla la NIC per on s'enviarà, es guarda a un buffer a l'espera que la NIC l'agafi.


Aquest procediment s'anomena store&forward. Les taules d'encaminament han d'estar inicialitzades. Si el router rep un datagrama amb un direcció desconeguda el descarta. Si un router rep molt datagrames per una mateixa NIC, quan el buffer s'empleni comença a descatar datagrames.


Característiques del protocol IP:



Capçalera IP-REC 791[19]


Version: Versió del protocol = 4.

IHL: IP Header Lenght: Mida de la capçalera en words de 32 bits.

Type of Service: Preferència d'encaminament. Té un format xxxdtrc0. xxx indica una precedència (té sentit en una mateixa xarxa i no a internet). L'últim bit es posa a 0. I dtrc:

d = delay --> optimitzar el retard.

t = throughput --> optimitzar la velocitat eficaç

r = raliability --> optimitzar la fiabilitat

c = cost --> optimitzar el cost econòmic

Total Length: Mida total del datagrama en bytes

Identification, Flags, Fragment Offset: Es fan servir en la fragmentació.

Time to Live: Temps de vida, els routers decrementen aquest camp i descarten el datagrama quan arriba a zero. La funció és evitar que hi hagi datagrames voltant indefinidament per internet.

Protocol: Multiplexació del protocol de nivell superior.

Header Checksum: Dedicat a la detecció d'errors. És només de la capcelera. L'algorisme és el complement a 1 de la suma en complement a 1 de la informació a protegir. Per tant, es posen els bits de checksum a 0, es fan paraules de 16 bits, es sumen en complement a 1 i es fa el complement a 1 del resultat.

Source Address, Destination Address: Adreça font i destí.

Options: Pot o no portar-ne. Les més freqüents són:

Record Route: Els routers afegeixen l'adreça IP de la interfície per encaminar el datagrama.

Loose Source Routing: Especifica una llista d'adreces IP de router que ha de travessar el datagrama (pot travessar també altres routers que no siguin a la llista).

Strict Source Routing: Adreces IP dels únics routers que pot travessar el datagrama.



Fragmentació


IP fragmenta un datagrama quan la MTU (Maximum Transfer Unit) és més petita que la mida del datagrama. Quan es produeix es fan servir els camps següents:

Identification: EL nivell IP del host que genera el datagrames hi posa el valor d'un comptador que incrementa cada cop que es genera un nou datagrama. Identifica els fragments d'un mateix datagrama.

Flags: són 0DM.

-El primer bit no s'utilitza

-D: Si està a 1 aquell datagrama no es pot fragmentar. Si un router necessita fer-ho el decartarà.

-M: Flag de More fragments: Si està a 1 vol dir que hi ha més fragments, tots els fragments d'un datagrama porten 1 menys l'últim.

Offset: Posició del primer byte del fragment en el datagrama original (el primer = 0). Es compra en unitata de 8 bytes.





MTU Path Discovery – RFC 1191[31]


El nivell de transport TCP agrupa els bytes de l'aplicació fins a obtenir segments de mida òptima (més petits o iguals a la MTU). S'intenta evitar la fragmentació:


El host genera segments de la mida de la MTU de la seva xarxa i porta Don't Fragment activat. Es va transportant, si arriba en un router i necessita fragmentació es descarta el datagrama i dína l'error que necessita fragmentació i dóna d'informació la MTU de la xarxa que ha donat l'error, TCP redueix la mida dels segments per adaptar-la a la nova MTU.




ADRECES IP


Les adreces IP tenen 32 bits (4 bytes). Utilitza la notació amb punts i expressa els 4 bytes de l'adreça en decimal separats per punts. L'assignació té en compte

Classe

netid (bytes)

hostid (bytes)

Codificació

Rang

A

1

3

0xxxx...x

0.0.0.0 --> 127.255-255-255

B

2

2

10xxx...x

128.0.0.0 --> 191.255.255.255

C

3

1

110xx...x

192.0.0.0 --> 223.255.255.255

D

-

-

1110x...x

224.0.0.0 --> 239.255.255.255

E

-

-

1111x...x

240.0.0.0 --> 255.255.255.255






Hi ha adreces especials (no totes serveixen per numerar interfícies):


netid

hostid

Significat

xxx

tot 0

Identifica una xarxa. Es fa servir a les taules d'encaminament

xxx

tot 1

Broadcast en la xarxa xxx

tot 0

tot 0

Identifica aquest host. Es fa servir com adreça origen en protocols de configuració.

tot 1

tot 1

Broadcast en aquesta xarxa. Es fa servir com adreça de destinació en protocols d'autoconfiguració.

127

xxx

Loopback: Comunicació entre processos del mateix host.




SUBNETING – RFC 950 [24]


La divisió en classes de les adreces és massa rígida i no permet aprofitar bé les adreces. La solució és deixar que el límit entre el hostid i el netid sigui variable. La motivació de dividir una xarxa en subxarxes és:


Exemple de divisió en subxarxes:


Una empresa (SOHO) contracta l'adreça de classe C 200.200.200.200/24 a l'ISP (aquesta adreça de partida s'anomena adreça base).

Aquesta empresa vol tenir quatre subxarxes, el que es fa és agafar 2 bits del hostid (2^2 = 4) per fer el subnetting (són els bits més significatius de hostid i s'anomenen subnettid).

Els pesos dels bits del subnetid són 2^7 i 2^6.

Per saber quants hosts es poden connectar a les subxarxes s'han de restar les adreces especials (xarxa i broadcast). També caldria descomptar les adreces dels routers.

subnetid

subxarxa

rang

broadcast

adreces disponibles

00

200.200.200.0/26

200.200.200.0 – 200.200.200.63

200.200.200.63

2^6 – 2 = 62

01

200.200.200.64/26

200.200.200.64 – 200.200.200.127

200.200.200.127

62

10

200.200.200.128/26

200.200.200.128 – 200.200.200.191

200.200.200.191

62

11

200.200.200.192/26

200.200.200.192 – 200.200.200.255

200.200.200.255

62



Màscares variables


Les màscares variables entren en joc quan es volen tenir subxarxes de mides diferents. Per a que la divisió en subxarxes sigui correcta no hi poden haver subxarxes amb el mateix rang d'adreces.


subnetid

subxarxa

rang

broadcast

adreces disponibles

00

200.200.200.0/26

200.200.200.0 – 200.200.200.63

200.200.200.63

2^6 – 2 = 62

01

200.200.200.64/26

200.200.200.64 – 200.200.200.127

200.200.200.127

62

10

200.200.200.128/26

200.200.200.128 – 200.200.200.191

200.200.200.191

62

110

200.200.200.192/27

200.200.200.192 – 200.200.200.223

200.200.200.223

2^5 – 2 = 30

111

200.200.200.223/27

200.200.200.224 – 200.200.200.255

200.200.200.255

2^5 – 2 = 30



Classless Inter-Domain Routing (CIDR) – RF1519[33]


Proposa l'eliminació de l'encaminament per classes i la distribució de blocs d'adreces ISP tenint en compte la situació geogràfica. L'idea és agregar les adreces amb un prefix comú.

Per tant 200.1.10.0/24 i 200.1.11.0/24 es poden resumir com 200.1.10.0/23



TAULES D'ENCAMINAMENT I ALGORISME DE LLIURAMENT DE DATAGRAMES


Algorisme de lliurament de datagrames = accions que fa IP quan processa un datagrama pel seu encaminament:


El nivell IP és igual per un host i per un router. A la taula d'encaminament hi ha les destinacions que sap arribar el PC1.

Si el nivell IP rep un datagrama d'una destinació que desconeix el descarta.


Per al PC1 la primera entrada correspon a la xarxa on està connectat, el lliurament és directe, perquè el Gateway = 0.0.0.0. La segona entrada és la de per defecte. Aquesta sempre és indirecta. Com que és la de per defecte sempre té de destinació i màscara 0.0.0.0.

R1 primer té les direcció de les dues subxarxes que genera i la l'entrada per defecte, en aquest cas a l'ISP.



ADDRESS RESOLUTION PROTOCOL (ARP) – RFC826[22]


Motivació: adreces de xarxa versus adrexes físiques


En una LAN es fan servir adreces per identificar l'estació transmissora i la receptora. Ethernet fa servir un medi compartit que funciona com un bus, quan una estació envia una trama arriba a totes les estacions connectades a la xarxa. Totes les targes miren l'adreça Ethernet destinació de la trama, si l'adreça destinació és la de la tarja, interromp la CPU i transfereix el contingut de la trama rebuda per DMA a la memòria del computador. En cas contrari descarta la trama.


Així doncs, després de mirar la taula d'encaminament es pot necessitar una conversió a l'adreça física. No sempre és necessària, per exemple en un enllaç punt-a-punt no és necessària (hi ha una única destinacií).





El mecanisme de conversió que dispara ARP és:


Funcionament del mecanisme de resolució


Agafem com exemple la imatge superior 2.12 per resoldre des del HOST A l'adreça del HOST B:


Les entrades a la CAU tenen timeout, cada cop que s'utilitza una entrada es refresquen els timeouts. Quan s'exhaureix el temps s'esborra l'entrada.


Format dels missatges ARP


Hardware Type: Tipus d'adreça física (Ethernet)

Protocol Type: Protocol de l'adreça (Ipv4)

Hard Length: Nombre de bytes de l'adreça física

Prot Length: Nombre de bytes de l'adreça que es vol resoldre

Opcode: Reques/Reply

Sender Hardware Address / Sender Protocol Address: Adreça físca i del protocol que es vol resoldre, del que envia. En el Reply hi ha l'adreça física buscada

Target Hardware Address / Target Protocol Address: Adreça física i de protocol que es vol resoldre, de l'estació on s'envia.


Proxy ARP



















Gratuitous ARP


Consisteix en un ARP Request que envia un host per resoldre la seva mateixa adreça després de la fase de boot. Motius:



INTERNET CONTROL MESSAGE PROTOCOL (ICMP) – RFX 792[20]


Senyalitza missatges d'error o d'atenció, les seves carecterístiques són:




DYNAMIC HOST CONFIGURATION PROTOCOL (DHCP) – RFC2131[44]


L'assignació d'adreces IP pot ser:


DHCP és un protocol que segueix el model client-servidor amb l'objectiu de subministrar als clients:


Detalls del protocol:






NETWORK ADDRESS TRANSLATION (NAT) – RFC1631[35], RFC 2663[52], RFC 3022[54]


Motivació: Aprofitar millor les adreces públiques.

Funcionament: A l'interior de la xarxa privada els hosts tenen adreces privades. Amb aquestes adreces les estacions no poden accedir a Internet (el servidor que intentessin accedir a Internet no pot contestar a l'adreça privada). El router NAT fa això:


Els canvis que fa el router NAT són transparents als hosts, no saben ni quina adreça pública tenen quan van per internet. Per poder desfer el canvi el router manté una taula NAT amb les adreces privades i les corresponents adreces públiques.

Avantatges de NAT:


Tipus de translaccions


PAT

El mecanisme NAPT ( o PAT) es fa servir quan desitgem que més d'un host faci servir la mateixa adreça pública simltàniament per accedir a Internet.

Funcionament bàsic:


Aquest mecanisme també és valid per TCP/UDP.


DNAT

El mecanisme NAT/PAT permet sortir de la xarxa privada. Per tenir per exemple un servidor accessible des d'Internet es necessita fer el mateix. Els efectes però són molt diferents. Per això en aquest cas es parla Destination Network Address Translation.

En aquest cas estem parlan d'un client extern, primer de tot canviarem l'adreça destinació. Quan els datagrames del client arriben al router, la taula NAT ha d'estar configurada amb les adreces del servidors que es vulgui poder accedir. Per això en aquest cas la configuració ha de ser estàtica.



DOMAIN NAME SYSTEM (DNS) – RFC 1034[26], RFC 1035[27]


Objectiu: Permetre als usuaris d'Internet puguin fer servir noms en lloc d'adreces IP.

Les carecterístiques bàsiques de DNS són



Accés a la base de dades de DNS


Procediment que segueix un host quan vol resoldre una adreça:


La resolució que fa el host s'anomena recursiva i el resultat és l'adreça que està buscant.

La resolució que fa el servidor s'anomena iterativa, consulta iterativament als servidors dels dominis fins que resol l'adreça.

És molt important el CACHING, que consisteix en que el servidor de noms del host guardarà l'adreça sol·licitada.


Les entrades a la BD són Resource Records.


El mecanisme de resolució de noms es fa servir en alguns casos com a mecanisme de balanceig de càrrega dels servidors.


Format dels missatges de DNS




Resource Records

Answer, additional i Authority estan formats per seqüències d'un o més camps RR






ALGORISMES D'ENCAMINAMENT


Tenen d'objectiu afegir entrades a es taules d'encaminament. Es classifiquen en:


Routing Information Protocol (RIP) – RFC 2453 [49]


Característiques


Funcionament

(D=Destinació, G=Gateway, M=Mètrica)

Quan un router rep un missatge d'un altre, el primer que fa és incrementar les mètriques i avaluar-les comparant els nous valors amb els de la taula:


Count to infinity

A -> B -> C

Es dóna quan cau el router C, el router B detecta que C ha caigut, però creu que pot arribar-hi mitjançant A, de manera, que incrementa la mètrica de A i la guarda, així van fent fins que arriben a infinit. Aquest és el principal problema de RIP, el temps de convergència.


Split horizon

És per millorar el problema del temps de convergencia. RIP modifica els missatges de manera que quan fa un Broadcast en una interfície elimina les entrades que tinguin un gateway en la mateixa interfície.



Open Shortest Path First (OSPF) – RFC 2328[47]


Per a xares petites es sol fer servir RIP per la seva senzillesa, però en xarxes grans i amb canvis freqüents es sol fer servir OSPF



Border Gateway Protocol (BGP) – RFC 1771[38], 1772[39]


Protocol d'encaminament EGP.

Tipus de tràfic d'un AS

Funcionament:





SEGURETAT EN XARXES IP



Hi ha una zona anomenada DMZ on hi ha els únics hosts que es desitja que siguin accessibles des de l'exterior. Les eines bàsiques són: