Diferència entre revisions de la pàgina «A2. Adreçament IP»

De Wiki IES Marianao. Departament Informàtica
Dreceres ràpides: navegació, cerca
(Dominis de Difusió (Broadcast))
(ARP (Address Resolution Protocol))
 
(Hi ha 55 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
torna  [[M7 - Planificació i administració de xarxes]]
 
torna  [[M7 - Planificació i administració de xarxes]]
  
==  Adreçament lògic ==
+
 
 +
==  Adreçament lògic a nivell de xarxa (IP) ==
  
 
L'adreçament lògic és el que trobem a nivell de xarxa i la seva funció principal és portar la informació d’un punt a un altre a través d’una sèrie de nodes intermedis, per tant s’encarrega de  
 
L'adreçament lògic és el que trobem a nivell de xarxa i la seva funció principal és portar la informació d’un punt a un altre a través d’una sèrie de nodes intermedis, per tant s’encarrega de  
  
# '''Localitzar''' un destinatari en una xarxa.
+
# '''Localitzar''' un destinatari en una xarxa, identificar-lo. Adreçament.  
# '''Escollir''' la millor ruta.
+
# '''Escollir''' la millor ruta. Enrutament.
  
  
 
=== Dominis de Difusió (Broadcast) ===
 
=== Dominis de Difusió (Broadcast) ===
  
A nivell d'enllaç la xarxa es dividia en segments anomenats [[UF1-NF2._Ethernet#Dominis_de_col.C2.B7lisi.C3.B3._Segments_de_xarxa | dominis de col·lisió]]
+
A nivell d'enllaç la xarxa es dividia en segments anomenats [[UF1-NF2._Ethernet#Dominis_de_col.C2.B7lisi.C3.B3._Segments_de_xarxa | dominis de col·lisió]].
  
 
De manera similar a nivell de xarxa, existeix el concepte de '''dominis de difusió''', els dispositius que separen aquests dominis són els routers o altres dispositius de nivell superior.
 
De manera similar a nivell de xarxa, existeix el concepte de '''dominis de difusió''', els dispositius que separen aquests dominis són els routers o altres dispositius de nivell superior.
Línia 21: Línia 22:
 
[[Fitxer:dominidifusio.png | 400px]]
 
[[Fitxer:dominidifusio.png | 400px]]
  
=== Direccionament IP (Versió 4) ===
 
  
És el més important protocol a nivell de xarxa. És el que utilitza la arquitectura TCP/IP (Internet)
+
=== Adreçament IP versió 4 (IPv4) ===
 +
 
 +
El protocol IP és el més important a nivell de xarxa. És el que utilitza la arquitectura TCP/IP (Internet).
 +
 
 +
L'adreçament s'encarrega de
 +
 
 +
És un servei:
 +
* No orientat a connexió.
 +
* No fiable (El control d’errors es realitza en capes superiors).
 +
 
  
* No orientat a connexió
+
==== Notació decimal puntejada ====
* No fiable (El control d’errors es realitza en capes superiors)
 
  
'''''Notació decimal puntejada'''''
 
  
Les direccions IP tenen 32 bits, dividits en 4 grups de 8 bits. Cadascun d’aquests 8 bits s’escriu en decimal (0 al 255) i es separen per punt.
+
Les adreces IP tenen 32 bits, dividits en 4 grups de 8 bits. Cadascun d’aquests 8 bits s’escriu en decimal (0 al 255) i es separen per punt.
  
 
Per exemple
 
Per exemple
Línia 42: Línia 49:
 
193.76.11.32
 
193.76.11.32
  
La direcció IP de cada dispositiu que està a Internet ha de ser única, amb aquest mètode es poden nombrar 2<sup>32</sup> = 4.294.967.296 dispositius. En el seu moment es va pensar que ja seria suficient, però donat el creixement a hores d’ara ja és insuficient.
 
  
'''''Classes de direccions IP'''''
+
''L'adreça IP de cada dispositiu que està a Internet ha de ser única!!''.
 +
 
 +
 
 +
 
 +
Amb aquest mètode es poden nombrar 2<sup>32</sup> = 4.294.967.296 dispositius. En el seu moment es va pensar que ja seria suficient, però donat el creixement a hores d’ara ja és insuficient.
 +
 
 +
====Classes d'adreces IP====
 +
 
 +
 
 +
Les adreces IP es classifiquen en classes per adaptar-se a les xarxes de diferents mides.
  
Les direccions IP es classifiquen en classes
+
 +
Cada adreça es divideix en una part de '''xarxa''' i una altra part de '''host'''. Els primers bits indiquen la '''classe'''.
  
* Per adaptar-se a les xarxes de diferents mides
 
* Cada direcció es divideix en un inici que indica la classe, una part de xarxa i una altra part de host.
 
  
 
{| cellspacing="0" cellpadding="7" border="1"
 
{| cellspacing="0" cellpadding="7" border="1"
Línia 87: Línia 101:
 
 
  
* Classe A : Xarxes grans.  
+
* Classe A : Xarxes grans.  
* Classe B : Xarxes mitjanes
+
* Classe B : Xarxes mitjanes.
* Classe C : Xarxes petites
+
* Classe C : Xarxes petites.
* Classe D : Per a missatges de difusió (broadcast). Per enviar un mateix missatge a moltes estacions (Independentment de la xarxa on estiguin)
+
* Classe D : Xaxes multicast.
* Classe E : Reservades per a investigació.
+
* Classe E : Reservades per a investigació.
  
La estructura de les direccions IP és la següent
 
  
 +
[[Fitxer:graficclasses.png]]
  
  
 +
Unicast: Un únic destinatari.
  
 +
Multicast: Per enviar un mateix missatge a moltes estacions (Independentment de la xarxa on estiguin). Media Streaming, TV.
  
'''''Classe A''''' : El primer byte indica la xarxa i els tres següents el Host
+
Broadcast: Tots els membres del domini de difusió són destinataris.
  
 +
==== Màscara de Subxarxa ====
  
 +
Una màscara de xarxa s'associa a cada IP, aquesta màscara permet identificar a quina xarxa està la IP. Sense aquesta la IP no té significat.
  
'''''Classe B''''' : Els 2 primers bytes indiquen la xarxa i els dos següents el Host
+
La estructura són 32 bits, que es divideix en una seqüència de 1's seguida d'una seqüència de 0's. Els primers indiquen quina part de la IP és de xarxa. Aplicant un AND binari de la IP i la màscara s'obté la xarxa.
  
 +
La estructura de les adreces IP és la següent
  
 +
'''''Classe A''''' : El primer byte indica la xarxa i els tres següents el Host.
  
'''''Classe C''''' : Els 3 primers bytes indiquen la xarxa i l’últim el Host
+
'''''Classe B''''' : Els 2 primers bytes indiquen la xarxa i els dos següents el Host.
  
 +
'''''Classe C''''' : Els 3 primers bytes indiquen la xarxa i l’últim el Host.
  
  
 +
La '''''màscara de subxarxa per defecte''''' es crea posant la part de xarxa de la classe corresponent a 1’s binari i la part de host a 0’s.
  
 
La '''''màscara de subxarxa per defecte''''' es crea posant la part de xarxa a 1’s binari i la part de host a 0’s
 
  
 
{| cellspacing="0" cellpadding="7" border="1"
 
{| cellspacing="0" cellpadding="7" border="1"
Línia 129: Línia 149:
 
|-
 
|-
 
| A
 
| A
| 1-126
+
| 1-127
 
| 0
 
| 0
| X.H.H.H
+
| 0xxxxxxx.hhhhhhhh.hhhhhhhh.hhhhhhhh<br/>X.H.H.H
| 255.0.0.0
+
| 11111111.00000000.00000000.00000000<br/>255.0.0.0
| 2<sup>7</sup> - 2 = 126
+
| 2<sup>7</sup> = 128
 
| 2<sup>24</sup> - 2 =16.777.214
 
| 2<sup>24</sup> - 2 =16.777.214
 
|-
 
|-
Línia 139: Línia 159:
 
| 128-191
 
| 128-191
 
| 10
 
| 10
| X.X.H.H
+
| 10xxxxxx.xxxxxxxx.hhhhhhhh.hhhhhhhh<br/>X.X.H.H
| 255.255.0.0
+
| 11111111.11111111.00000000.00000000<br/>255.255.0.0
| 2<sup>14</sup> - 2 =16.382
+
| 2<sup>14</sup> =16.384
 
| 2<sup>16</sup> - 2 = 65.534
 
| 2<sup>16</sup> - 2 = 65.534
 
|-
 
|-
Línia 147: Línia 167:
 
| 192-223
 
| 192-223
 
| 110
 
| 110
| X.X.X.H
+
| 110xxxxx.xxxxxxxx.xxxxxxxx.hhhhhhhh<br/>X.X.X.H
| 255.255.255.0
+
| 11111111.11111111.11111111.00000000<br/>255.255.255.0
| 2<sup>21</sup> - 2 =2.097.150
+
| 2<sup>21</sup> =2.097.152
 
| 2<sup>8</sup> - 2 = 254
 
| 2<sup>8</sup> - 2 = 254
 
|}
 
|}
  
'''''Direccions IP reservades'''''
+
====  Adreces IP reservades ====
 
 
* La direcció 0.0.0.0 es reserva per l’estació en el moment d’arrencar (Per tant no es fa servir cap xarxa que comenci amb 0)
 
* Les direccions 127.0.0.1 es reserven per a loopback, direcció local referencia a la propia estació (tampoc es fa servir cap xarxa que comenci amb 127)
 
* Direcció de xarxa : Les direccions amb 0’s a la part que indica el Host es reserven per identificar la xarxa
 
* Direcció de broadcast : Les direccions amb 1’s a la part que identifica el Host es reserven per a identificar la direcció de difusió (broadcast) de la xarxa.
 
 
 
Per exemple : 150.15.4.3 és una IP vàlida de dispositiu, però la 150.15.0.0 i 150.15.255.255, no per que són les direccions de xarxa i de broadcast.
 
 
 
  
 +
RFC6890[[https://datatracker.ietf.org/doc/html/rfc6890 https://datatracker.ietf.org/doc/html/rfc6890]]  ''Special-Purpose IP Address Registries''
  
 +
''Special-Purpose Address Registry'' [[https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml]] 
  
 +
Aquestes adreces no es poden fer servir, per exemple
  
+
* L'adreça '''0.0.0.0''' es reserva per l’estació en el moment d’arrencar (Per tant no es fa servir cap xarxa que comenci amb 0).
 +
* Les adreces '''127.0.0.0/8''' es reserven per a loopback, direcció local referencia a la pròpia estació (tampoc es fa servir cap xarxa que comenci amb 127).
  
'''''Direccions IP públiques i privades. ICANN'''''
 
  
 +
Exemple d'ús de les adreces reservades
  
 +
<html><pre><code class="bash">
 +
$ netstat -nlt
 +
Active Internet connections (only servers)
 +
Proto Recv-Q Send-Q Local Address          Foreign Address        State     
 +
tcp        0      0 192.168.122.1:53        0.0.0.0:*              LISTEN   
 +
tcp        0      0 127.0.0.53:53          0.0.0.0:*              LISTEN   
 +
tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN   
 +
tcp6      0      0 :::22                  :::*                    LISTEN   
  
 +
$ more /etc/ssh/sshd_config
 +
# Package generated configuration file
 +
# See the sshd_config(5) manpage for details
  
 +
# What ports, IPs and protocols we listen for
 +
Port 22
 +
# Use these options to restrict which interfaces/protocols sshd
 +
will bind to
 +
#ListenAddress ::
 +
#ListenAddress 0.0.0.0
 +
Protocol 2
 +
[...]
  
'''''ICANN : Internet Corporation for Assigned Names and Numbers.'''''
+
$ route -n
 +
Kernel IP routing table
 +
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
 +
0.0.0.0        192.168.8.2    0.0.0.0        UG    100    0        0 enp2s0
 +
169.254.0.0    0.0.0.0        255.255.0.0    U    1000  0        0 enp2s0
 +
192.168.8.0    0.0.0.0        255.255.254.0  U    100    0        0 enp2s0
 +
192.168.122.0  0.0.0.0        255.255.255.0  U    0      0        0 virbr0
  
  
 +
$ ifconfig lo
 +
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
 +
        inet 127.0.0.1  netmask 255.0.0.0
 +
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
 +
        loop  txqueuelen 1000  (Local Loopback)
 +
        RX packets 2605  bytes 238082 (238.0 KB)
 +
        RX errors 0  dropped 0  overruns 0  frame 0
 +
        TX packets 2605  bytes 238082 (238.0 KB)
 +
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  
'''''IANA : Internet Assigned Numbers Authority '''''<font color="#0000ff"><u>[http://www.iana.org/ '''''http://www.iana.org/''''']</u>
 
  
 +
$ more /etc/resolv.conf
 +
# Dynamic resolv.conf(5) file for glibc resolver(3) generated b
 +
y resolvconf(8)
 +
#    DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVE
 +
RWRITTEN
 +
# 127.0.0.53 is the systemd-resolved stub resolver.
 +
# run "systemd-resolve --status" to see details about the actua
 +
l nameservers.
  
 +
nameserver 127.0.0.53
 +
search marianao.local
  
 +
</code></pre></html>
  
  
 +
A més per cada xarxa IPv4, sempre hi ha 2 adreces reservades que no es poden fer servir per configurar en cap equip:
  
 +
* '''Adreça de xarxa''' : Les adreces amb 0’s a la part que indica el Host es reserven per identificar la xarxa.
 +
* '''Adreça de broadcast''' : Les adreces amb 1’s a la part que identifica el Host es reserven per a identificar l'adreça de difusió (broadcast) de la xarxa.
  
Un dels mètodes per evitar l’esgotament de direccions IP assignables és la reserva de direccions per a xarxes privades.
 
  
 +
Per exemple : 150.15.4.3/255.255.0.0 és una IP vàlida de dispositiu en la xarxa per defecte de classe B, però la 150.15.0.0 i 150.15.255.255, no per que són les adreces de xarxa i de broadcast corresponents.
  
  
 +
Exemples, des del terminal, no es pot fer PING a les adreces de difusió (broadcast). Cal privilegis perquè fa PING a totes les IPs de la xarxa
  
 +
<html><pre><code class="bash">
 +
$ ping 192.168.9.255
 +
Do you want to ping broadcast? Then -b. If not, check your local firewall rules.
 +
</code></pre></html>
  
Cada classe té unes direccions reservades per aquest ús:
+
Des de l'IOS ús de les adreces de xarxa a les taules de ruta
 +
<html><pre><code class="bash">
 +
R1# show ip route
 +
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
 +
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
 +
        N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
 +
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
 +
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
 +
      * - candidate default, U - per-user static route, o - ODR
 +
        P - periodic downloaded static route
  
 +
Gateway of last resort is not set
 +
      10.0.0.0/24 is subnetted, 2 subnets
 +
D        10.1.1.0/24 [90/2170112] via 209.165.200.226, 00:01:30, Serial0/0/0
 +
D        10.1.2.0/24 [90/2170112] via 209.165.200.226, 00:01:30, Serial0/0/0
 +
      192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
 +
C        192.168.10.0/24 is directly connected, GigabitEthernet0/0
 +
L        192.168.10.1/32 is directly connected, GigabitEthernet0/0
 +
      192.168.11.0/24 is variably subnetted, 2 subnets, 2 masks
 +
C        192.168.11.0/24 is directly connected, GigabitEthernet0/1
 +
L        192.168.11.1/32 is directly connected, GigabitEthernet0/1
 +
      209.165.200.0/24 is variably subnetted, 2 subnets, 2 masks
 +
C        209.165.200.224/30 is directly connected, Serial0/0/0
 +
L        209.165.200.225/32 is directly connected, Serial0/0/0
 +
R1#
  
 +
</code></pre></html>
  
 +
==== Màscara en format prefix (CIDR) ====
  
 +
Sovint les màscares es poden representar en format prefix o CIDR (Classless Inter-Domain Routing), aquest format consisteix en una barra i un nombre (per exemple /24), on el nombre indica el total de bits amb valor 1 de la màscara
  
Clase A 10.0.0.0 a 10.255.255.255
+
Per exemple, la màscara
  
 +
255.255.0.0 ~ /16
 +
(11111111.11111111.00000000.00000000, 16 primers bits a 1)
  
  
Clase B 172.16.0.0 a 172.31.255.255
+
Les màscares per defecte de les classes
 +
*Per classe A => '''/8'''
 +
*Per classe B => '''/16'''
 +
*Per classe C => '''/24'''
  
 +
==== Obtenir l'adreça de xarxa. Operació AND binària ====
  
 +
Donada una IP/Màscara qualsevol, per saber a quina xarxa pertany, haurem d’'''aplicar la operació AND binària a la adreça del host i la màscara de xarxa'''.
  
Clase C 192.168.0.0 a 192.168.255.255
+
Aquesta operació es realitza bit a bit de la següent manera
  
 +
<html><pre><code class="bash">
 +
0 AND 0 = 0
 +
0 AND 1 = 0
 +
1 AND 0 = 0
 +
1 AND 1 = 1
 +
</code></pre><html>
  
 +
Per exemple a partir de l'adreça 150.10.11.15/16
  
 +
<html><pre><code class="bash">
 +
150.10.11.15 10010110 00001010 00001011 00001111
 +
AND
 +
255.255.0.0  11111111 11111111 00000000 00000000
 +
=
 +
150.10.0.0  10010110 00001010 00000000 00000000
 +
</code></pre></html>
  
 +
====  Adreces IP públiques i privades ====
  
Així per conveni s’estableix que internament les xarxes han de treballar amb aquestes direccions.
+
Els organismes que s'encarreguen de gestionar adreces IP i dominis públics a Internet són:
  
 +
*ICANN : Internet Corporation for Assigned Names and Numbers
  
 +
*[http://www.iana.org/ IANA: Internet Assigned Numbers Authority]
  
 +
*[http://www.ripe.net/ RIPE: Directori Europeu]
  
  
Per connectar-se a Internet aquestes xarxes necessiten un dispositiu (Router o proxy) que segueixi el protocol '''''NAT (Network address Translation)''''' que s’encarrega de substituir les direccions internes per direccions externes vàlides.
+
Consulta de dominis [http://whois.domaintools.com http://whois.domaintools.com]
  
 +
També hi ha l'eina '''whois''' des de Linux
  
 +
<html><pre><code class="bash">
 +
$ whois institutmarianao.cat
 +
Domain Name: institutmarianao.cat
 +
Registry Domain ID: 1188407-D
 +
Registrar WHOIS Server: whois.cat
 +
Registrar URL: http://www.nominalia.com
 +
Updated Date: 2021-03-23T13:04:06.71Z
 +
Creation Date: 2013-02-06T12:40:59.484Z
 +
Registry Expiry Date: 2022-02-06T12:40:59.484Z
 +
Registrar Registration Expiration Date:
 +
Registrar: Nominalia
 +
Registrar IANA ID: 76
 +
Registrar Abuse Contact Email: abuse@nominalia.com
 +
Registrar Abuse Contact Phone: +39-5520021555
 +
Reseller:
 +
Domain Status: ok https://icann.org/epp#ok
 +
Registry Registrant ID:
 +
Registrant Name:
 +
Registrant Organization: Institut Marianao
 +
Registrant Street:
 +
Registrant City:
 +
Registrant State/Province: B
 +
Registrant Postal Code:
 +
Registrant Country: ES
 +
Registrant Phone:
 +
Registrant Phone Ext:
 +
Registrant Fax:
 +
Registrant Fax Ext:
 +
Registrant Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
 +
Registry Admin ID:
 +
Admin Name:
 +
Admin Organization:
 +
Admin Street:
 +
Admin City:
 +
Admin State/Province:
 +
Admin Postal Code:
 +
Admin Country:
 +
Admin Phone:
 +
Admin Phone Ext:
 +
Admin Fax:
 +
Admin Fax Ext:
 +
Admin Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
 +
Registry Tech ID:
 +
Tech Name:
 +
Tech Organization:
 +
Tech Street:
 +
Tech City:
 +
Tech State/Province:
 +
Tech Postal Code:
 +
Tech Country:
 +
Tech Phone:
 +
Tech Phone Ext:
 +
Tech Fax:
 +
Tech Fax Ext:
 +
Tech Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
 +
Registry Billing ID:
 +
Billing Name:
 +
Billing Organization:
 +
Billing Street:
 +
Billing City:
 +
Billing State/Province:
 +
Billing Postal Code:
 +
Billing Country:
 +
Billing Phone:
 +
Billing Phone Ext:
 +
Billing Fax:
 +
Billing Fax Ext:
 +
Billing Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
 +
Name Server: ns-es.1and1-dns.es
 +
Name Server: ns-es.1and1-dns.com
 +
Name Server: ns-es.1and1-dns.biz
 +
Name Server: ns-es.1and1-dns.org
 +
</code></pre></html>
  
  
 +
Un dels mètodes per evitar l’esgotament d'adreces IP assignables és la reserva d'adreces  per a xarxes privades.
  
A més els paquets que porten aquestes direccions no s’enruten a l’exterior, ja que s’entén que van dirigits a dispositius interns de la xarxa.
+
RFC1918 [https://datatracker.ietf.org/doc/html/rfc1918]  '''Private Address Space'''
  
  
 +
Cada classe té unes adreces  reservades per aquest ús:
  
 +
*Clase A  10.0.0.0        -  10.255.255.255  (10/8 prefix)
 +
*Clase B  172.16.0.0      -  172.31.255.255  (172.16/12 prefix)
 +
*Clase C  192.168.0.0    -  192.168.255.255 (192.168/16 prefix)
  
  
Si fem un gràfic percentual de les possibles assignacions de direccions IP, veiem que hi ha moltes més direccions de classe A disponibles que no pas de classe C, en canvi hi ha moltes més xarxes de classe C
+
Així per conveni s’estableix que internament les xarxes locals han de treballar amb aquestes adreces. Estàndard de facto.
  
 +
Per connectar-se a Internet aquestes xarxes necessiten un dispositiu (Router o proxy) que segueixi el protocol '''''NAT (Network address Translation)''''' que s’encarrega de substituir les adreces internes per adreces externes vàlides.
  
 +
A més els paquets que porten aquestes adreces no s’enruten a l’exterior, ja que s’entén que van dirigits a dispositius interns de la xarxa.
  
<span dir="LTR">
+
Si fem un gràfic percentual de les possibles assignacions de direccions IP, veiem que hi ha moltes més adreces de classe A disponibles que no pas de classe C, en canvi hi ha moltes més xarxes de classe C.
  
 
[[Fitxer: graficclasses.png]]
 
[[Fitxer: graficclasses.png]]
 
</span>
 
 
 
  
 
 
  
 
Aquest sistema és clarament ineficient, les adreces de classe A inclouen el 50% d'adreces i en canvi les xarxes d'aquesta classe són molt poques (Xarxes de fins a 16 milions de hosts). Per contra les xarxes de classe C (petites fins a 256 hosts) només disposen del 12,5% d'adreces.
 
Aquest sistema és clarament ineficient, les adreces de classe A inclouen el 50% d'adreces i en canvi les xarxes d'aquesta classe són molt poques (Xarxes de fins a 16 milions de hosts). Per contra les xarxes de classe C (petites fins a 256 hosts) només disposen del 12,5% d'adreces.
 
 
 
 
  
 
La solució mitjançant NAT, permet que per exemple les xarxes de classe C treballin internament amb direccions 192.168.0.X (Classe C), però externament tinguin assignada una direcció de classe A que els subministra el proveïdor de serveis d’Internet.  
 
La solució mitjançant NAT, permet que per exemple les xarxes de classe C treballin internament amb direccions 192.168.0.X (Classe C), però externament tinguin assignada una direcció de classe A que els subministra el proveïdor de serveis d’Internet.  
  
  
 
+
Tots els paquets que surten de la xarxa tenen com a IP origen la externa, el dispositiu NAT s’encarrega de gestionar les diferents comunicacions.
 
 
 
 
Tots els paquets que surten de la xarxa tenen com a IP origen la externa, el dispositiu NAT s’encarrega de gestionar les diferents comunicacions
 
  
  
Línia 262: Línia 451:
 
[[Fitxer: nat.png ]]
 
[[Fitxer: nat.png ]]
  
+
==== Multicast ====
  
'''''Subxarxes'''''
+
http://en.wikipedia.org/wiki/Multicast
  
 +
http://en.wikipedia.org/wiki/IP_multicast
  
 +
http://yalb.net/?p=137
  
 +
==== Subxarxes ====
  
  
 
La divisió en subxarxes consisteix en dividir una xarxa gran en segments més petits i fàcils d’administrar.  
 
La divisió en subxarxes consisteix en dividir una xarxa gran en segments més petits i fàcils d’administrar.  
  
* Permet reduir la mida de les taules dels Routers
+
* Permet reduir la mida de les taules dels Routers.
* En cas que a l’administrador se li quedi petita una xarxa hauria de demanar una altra diferent. Amb les subxarxes pot tenir una xarxa més gran i dividir-la en subxarxes
+
* En cas que a l’administrador se li quedi petita una xarxa hauria de demanar una altra diferent. Amb les subxarxes pot tenir una xarxa més gran i dividir-la en subxarxes.
* Disminueix el tràfec de broadcast (ARP, DNS). Cada subxarxa és un domini de broadcast diferent.
+
<!--* Disminueix el tràfec de difusió (ARP, DHCP, per exemple). Cada subxarxa és un domini de broadcast diferent.-->
  
 
Conseqüències
 
Conseqüències
  
* Crear segments independents (No es veuen)  
+
* Crea segments independents (No es veuen).
* Introdueix un nou nivell de seguretat
+
* Introdueix un nou nivell de seguretat.
* Externament es segueix veient com una única xarxa
+
* Externament es segueix veient com una única xarxa.
 
 
Per crear una subxarxa s’agafen prestats bits del número de Host.
 
 
 
  
  
 +
Per crear una subxarxa '''s’agafen prestats''' bits del número de Host.
  
  
Línia 306: Línia 496:
 
| 15
 
| 15
 
|}
 
|}
 
L’exemple indica el Host 15 de la subxarxa 150.10.11.0 de la xarxa 150.10.0.0
 
 
  
  
 +
L’exemple indica el Host 15 de la subxarxa 150.10.11.0 de la xarxa 150.10.0.0.
  
  
Línia 316: Línia 504:
  
  
 +
En l’exemple la subxarxa és la 255.255.255.0.
  
  
 
+
Mentre que recorda que la subxarxa per defecte de la classe B era (255.255.0.0).
En l’exemple la subxarxa és la 255.255.255.0
 
 
 
 
 
 
 
Mentre que recorda que la subxarxa per defecte de la classe B era (255.255.0.0)
 
 
 
 
 
 
 
 
 
 
 
Per saber en quina subxarxa es troba un host, haurem d’aplicar la operació AND binaria a la direcció del host i la màscara de subxarxa.
 
 
 
  
  
 +
Per saber en quina subxarxa es troba un host, haurem d’aplicar la operació AND binaria a la adreça del host i la màscara de subxarxa.
  
  
Línia 356: Línia 534:
 
| 00000000
 
| 00000000
 
|}
 
|}
 +
  
 
El format de barra diagonal consisteix en indicar el nombre de bits de xarxa i subxarxa i és equivalent a indicar la màscara de subxarxa.
 
El format de barra diagonal consisteix en indicar el nombre de bits de xarxa i subxarxa i és equivalent a indicar la màscara de subxarxa.
  
  
 +
En el nostre cas : /24.
  
 +
L'adreça broadcast de la subxarxa seguirà sent amb la part de Host a 1’s.
  
  
En el nostre cas : /24
+
150.10.11.255.
 
 
 
 
 
 
 
 
 
 
La direcció de broadcast de la subxarxa seguirà sent amb la part de Host a 1’s.
 
 
 
 
 
 
 
150.10.11.255
 
 
 
 
 
 
 
 
 
 
 
En general podem agafar tants bits de la part de Host com vulguem, sempre que en quedin 2 per identificar el host com a mínim (Si només quedés un bit estaria ocupat per identificar 0  subxarxa i 1  Broadcast)
 
 
 
  
  
 +
En general podem agafar tants bits de la part de Host com vulguem, sempre que en quedin 2 per identificar el host com a mínim (Si només quedés un bit estaria ocupat per identificar 0 - Subxarxa i 1 - Broadcast).
  
  
 
Per saber com construir la estructura en subxarxes, hem de preguntar-nos les següents qüestions.
 
Per saber com construir la estructura en subxarxes, hem de preguntar-nos les següents qüestions.
  
 +
*Quantes subxarxes necessitem?
  
 
+
*Quants hosts tindrà cada subxarxa com a mínim (o màxim)?
 
 
 
 
Quantes subxarxes necessitem?
 
 
 
 
 
 
 
Quants hosts tindrà cada subxarxa com a mínim (o màxim)?
 
 
 
 
 
 
 
  
  
Línia 422: Línia 578:
 
| 5
 
| 5
 
|}
 
|}
 
''Opció 1''''': '''6 subxarxes. Necessito 3 bits, queden 5 bits pel Host.
 
  
  
  
 +
''Opció 1''''': '''6 subxarxes. Necessito 3 bits, queden 5 bits pel Host.
  
  
Línia 483: Línia 638:
 
| 198.10.10.255
 
| 198.10.10.255
 
|}
 
|}
 +
 +
  
 
Anàlisis opció 1:
 
Anàlisis opció 1:
  
* Queden 2 subxarxes sense utilitzar
+
* Queden 2 subxarxes sense utilitzar.
* Cada subxarxa admet fins a 30 Hosts
 
* En alguns casos (Depèn del protocol del Router la subxarxa 0 i la 7 no es poden utilitzar) Per tant si podem escollir millor fem servir les altres.
 
 
 
Per identificar a quina subxarxa està un Host podem aplicar la màscara de subxarxa a la IP.
 
  
 +
* Cada subxarxa admet fins a 30 Hosts.
  
 +
* En alguns casos (Depèn del protocol del Router la subxarxa 0 i la 7 no es poden utilitzar) Per tant si podem escollir millor fem servir les altres.
  
 +
Per identificar a quina subxarxa està un Host podem aplicar la màscara de subxarxa a la IP.
  
  
Línia 518: Línia 674:
 
|}
 
|}
  
''Opció 2''''': '''13 Host per subxarxes mínim. Necessito 4 bits, queden 4 bits per la subxarxa.
 
  
  
 +
''Opció 2''''': '''13 Host per subxarxes mínim. Necessito 4 bits, queden 4 bits per la subxarxa.
  
  
 +
De les 256 possibilitats faig 16 grups de 16 hosts (14 + 2).
  
De les 256 possibilitats faig 16 grups de 16 hosts (14 + 2)
 
  
 
{| cellspacing="0" cellpadding="7" border="1"
 
{| cellspacing="0" cellpadding="7" border="1"
Línia 619: Línia 775:
 
|}
 
|}
  
Anàlisis opció 1:
 
  
* Queden 10 subxarxes sense utilitzar
+
Anàlisis opció 2:
* Cada subxarxa admet fins a 14 Hosts
+
 
* En alguns casos (Depèn del protocol del Router la subxarxa 0 i la 7 no es poden utilitzar) Per tant si podem escollir millor fem servir les altres.
+
* Queden 10 subxarxes sense utilitzar.
 +
* Cada subxarxa admet fins a 14 Hosts.
 +
* En alguns casos (Depèn del protocol del Router la subxarxa 0 i la 7 no es poden utilitzar) Per tant si podem escollir millor fem servir les altres.
 +
 
 +
 
 +
=== ARP (Address Resolution Protocol) ===
 +
 
 +
RFC861  [https://datatracker.ietf.org/doc/html/rfc826 RFC861]
 +
 
 +
El protocol ARP és l’encarregat de mantenir la relació entre l'adreçament lògic (IPv4, capa de xarxa) i l'adreçament físic (MAC, capa d'enllaç).
 +
 
 +
Cada dispositiu de la xarxa guarda una taula en memòria RAM que relaciona les adreces IP amb les adreces físiques de la resta de dispositius. Aquesta informació és '''volàtil''' i té '''caducitat''' (pocs minuts).
 +
 
 +
Tot i que els protocols de les capes superiors treballen amb adreces lògiques (i noms de domini), '''en un entorn local (Ethernet, WiFi) la comunicació es realitza sempre utilitzant les adreces físiques'''.
 +
 
 +
 
 +
'''Les adreces físiques (MAC) només es fan servir en un mateix entorn local. En cap cas es fan comunicacions entre adreces físiques d'entorns locals diferents.'''
 +
 
 +
 
 +
Per tant qualsevol dispositiu que treballi amb adreces IP necessita una taula ARP per cada enllaç local on es troba connectat. Aquestes taules són independents entre elles i no intercanvien informació.
 +
 
 +
Per exemple un Router amb 2 interfícies Ethernet i una interfície WiFi tindrà 3 taules ARP diferents.
 +
 
 +
Existeixen dues maneres de recol·lectar entrades per a la taula ARP.
 +
 
 +
* Monitorar el tràfec de xarxa en el seu segment.
 +
 
 +
* Enviar '''petició Broadcast'''.
 +
 
 +
 
 +
 
 +
Per qualsevol comunicació que realitzem a un nou dispositiu, es crearà una nova entrada a la taula .
 +
 
 +
Per exemple, qualsevol comunicació que s'inicia en un host des de les capes superiors quan arriba a nivell d'enllaç o d'accés a la xarxa (Ethernet, WiFi) utilitza el '''protocol ARP''' per identificar l' '''adreça MAC de destí''' de la comunicació.
 +
 
 +
* A partir de l'adreça '''IPv4 de destí''' (Capa Internet)
 +
** Si és una adreça local, de la mateixa xarxa que el propi host, el protocol ARP ha de resoldre aquesta '''IPv4 local'''
 +
** Si és una adreça externa, el protocol ARP ha de resoldre l'adreça '''IPv4 de la porta d'enllaç'''
 +
 
 +
* ARP consulta l'adreça IPv4 a la taula ARP de l'equip
 +
** Si troba la informació, recupera l'adreça MAC corresponent i finalitza
 +
** En cas contrari, fa una petició en '''difusió''' (broadcast FF:FF:FF:FF:FF:FF) demanant quin host té configurada l'adreça IPv4 => '''ARP Request'''
 +
*** Si l'equip que té aquesta adreça IPv4 es troba a la xarxa local, respon '''unicast''' directament al host que ha fet la petició i aquest afegeix la informació a la taula ARP => '''ARP Response'''
 +
*** En cas contrari el procés acaba amb un error que es propaga a les capes superiors
 +
 
 +
 
 +
Exemple de la taula ARP d'un host Linux
 +
 
 +
<html><pre><code class="bash">
 +
$ arp -n
 +
Address                  HWtype  HWaddress          Flags Mask            Iface
 +
192.168.8.4              ether  1c:98:ec:1e:16:18  C                    enp2s0
 +
192.168.8.2              ether  6c:c2:17:85:10:6d  C                    enp2s0
 +
</code></pre></html>
 +
 
 +
 
 +
 
 +
Captura del procés ARP en difusió. Les trames ARP contenen el valor '''0x0806''' al camp tipus (EtherType) de la trama Ethernet. Mentre que les trames corresponents a paquets IP tenen el valor '''0x0800'''
 +
 
 +
https://en.wikipedia.org/wiki/EtherType
 +
 
 +
<html><pre><code class="bash">
 +
$ sudo tcpdump -i enp2s0 -e -n -v host 192.168.9.49 and  arptcpdump: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
 +
16:01:52.053630 00:01:6c:d2:c6:f4 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.8.4 tell 192.168.9.49, length 28
 +
16:01:52.053757 1c:98:ec:1e:16:18 > 00:01:6c:d2:c6:f4, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Reply 192.168.8.4 is-at 1c:98:ec:1e:16:18, length 46
 +
</code></pre></html>
 +
 
 +
 
 +
Captura del procés d'actualització d'informació existent
 +
 
 +
<html><pre><code class="bash">
 +
16:01:57.187119 1c:98:ec:1e:16:18 > 00:01:6c:d2:c6:f4, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.9.49 tell 192.168.8.4, length 46
 +
16:01:57.187146 00:01:6c:d2:c6:f4 > 1c:98:ec:1e:16:18, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Reply 192.168.9.49 is-at 00:01:6c:d2:c6:f4, length 28
 +
</code></pre></html>
 +
 
 +
=== IPv6 (Internet Protocol versió 6) ===
 +
 
 +
 
 +
[https://tools.ietf.org/html/rfc8200 https://tools.ietf.org/html/rfc8200]  Protocol IPv6
 +
 
 +
[https://tools.ietf.org/html/rfc4291 https://tools.ietf.org/html/rfc4291]  Esquema d'adreces IPv6
 +
 
 +
[https://tools.ietf.org/html/rfc5952 https://tools.ietf.org/html/rfc5952]  Recomanacions respecte la representació de les adreces
 +
 
 +
 
 +
 
 +
 
 +
De totes les solucions vistes per pal·liar l’esgotament d'adreces a Internet, aquesta és la més sensata. Tot i que encara no està completament funcional, els sistemes actuals ja la porten integrada.
 +
 
 +
 
 +
* Adreces '''128 bits''' (16 bytes).
 +
 
 +
* Es representa amb 32 números Hexadecimals, de 4 en quatre separat per dos punts.
 +
 
 +
** '''Format preferent''': 8 blocs.
 +
 
 +
Ex: 43E0:0000:0000:AD33:67FF:0000:4500:0DF0, o ometent 0's a l'esquerra dels blocs
 +
    43E0:0:0:AD33:67FF:0:4500:DF0
 +
 
 +
** '''Format comprimit''': Comprimint blocs seguits de 0's es substitueixen per "::". Si hi ha varis blocs de 0’s seguits es substitueix només una vegada.
 +
 
 +
Ex: 43E0:0:0:AD33:67FF:0:4500:DF0 quedaria 43E0::AD33:67FF:0:4500:DF0
 +
 
 +
 
 +
* Es reserven 48 bits per enumerar les estacions, i es pot utilitzar la adreça MAC dels equips.
 +
 
 +
* Les estacions poden realitzar una configuració automàtica dels seus paràmetres.
 +
 
 +
<!--  És compatible amb IPv4 (El prefix 00 del començament indica que es tracta d’una adreça IPv4), de manera que permet la coexistència durant un període de temps mentre es realitza la implantació. -->
 +
 
 +
* Desapareix la necessitat del NAT. Traducció d'adreces privades => públiques
 +
 
 +
* Desapareixen les adreces de difusió.
 +
 
 +
* Incorpora funcionalitat "anycast" => qualsevol destí entre un grup que comparteix la mateixa adreça
 +
 
 +
 
 +
==== Adreces IPv6 ====
 +
 
 +
Hi ha tres tipus principals d’adreces IPv6:
 +
* '''unicast''': Distribució a una única destinació.
 +
* '''anycast''': Distribució a un única destinació d’un conjunt de destinacions possibles. Una petició dirigida a una IP anycast s’encamina al node més proper dintre de tots els nodes rèplica que existeixin.
 +
* '''multicast''': Distribució múltiple. Es lliura a totes les adreces dins d’aquest grup de multidistribució. El prefix que tindrà sempre és ff00::.
 +
 
 +
Desapareix ''broadcast''. 
 +
 
 +
Exemple anycast [http://www.root-servers.org/ http://www.root-servers.org/]
 +
 
 +
 
 +
Les adreces més habituals d'especial interés són les següents:
 +
 
 +
* Adreces '''Unicast Globals''' (públiques, context Internet), inclou el rang 2000::/3 però actualment només s'assignen blocs del prefix '''2001::/16'''
 +
* Adreces d'enllaç local o '''link local''' en adreces IPv6 (d'àmbit local) té el prefix '''FE80::/64'''
 +
* Adreça de '''Loopback''' ::1/128 (en IPv4 era 127.0.0.1)
 +
* Adreces '''multicast''', ff00::/8 és el rang d’adreces que s’usen per a difusió (multicast) a diferents nivells.
 +
 
 +
[[https://datatracker.ietf.org/doc/html/rfc4291#section-2.7 https://datatracker.ietf.org/doc/html/rfc4291#section-2.7]]
 +
 
 +
Per exemple
 +
 
 +
Àmbits:
 +
1 - Interface-Local scope
 +
2 - Link-Local scope
 +
5 - Site-Local scope
 +
8 - Organization-Local scope
 +
E - Global scope
 +
 
 +
 
 +
Altres tipus d'adreces
 +
 
 +
::/128 aquesta adreça tot a zeros s’usa per indicar que l’ordinador o l’adaptador de xarxa no té cap adreça IP assignada.
 +
 
 +
::ffff:0:0/96 s’utilitza per encapsular les adreces IPv6 dins les adreces IPv4.
 +
 
 +
2001::/32 s’utilitza per a l’algoritme de túnel de Teredo.
 +
 
 +
2001:db8::/32 s’usen quan s’escriuen exemples en documentacions o especificacions tècniques.
  
'''''IPv6 (Internet protocol versió 6)'''''
+
2002::/16 s’usen per a l’algoritme de túnel de 6to4.
  
 +
fec0::/10 és el rang d’adreces que s’usa per a xarxes privades. Equivalen en el protocol IPv4 a les 10.0.0.0/8, 172.16.0.0/16 i 192.168.0.0/24.
  
 +
==== EUI-64 Format ====
  
 +
Genera automàticament l'adreça link-local  (fe80:) a partir de la MAC
  
 +
<pre>
 +
cfgs@pc-info-host:~$ ifconfig
 +
enp2s0    Link encap:Ethernet  HWaddr 00:01:6c:d2:c6:f4 
 +
          inet addr:192.168.3.137  Bcast:192.168.3.255  Mask:255.255.254.0
 +
          inet6 addr: fe80::f731:d357:50d3:dcb2/64 Scope:Link
 +
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +
          RX packets:95876 errors:0 dropped:0 overruns:0 frame:0
 +
          TX packets:10770 errors:0 dropped:0 overruns:0 carrier:0
 +
          collisions:0 txqueuelen:1000
 +
          RX bytes:24789810 (24.7 MB)  TX bytes:1149284 (1.1 MB)
  
De totes les solucions vistes per pal·liar l’esgotament de direccions a Internet, aquesta és la més sensata.
+
</pre>
  
* Direccions 128 bits (16 bytes)
 
* Es representa amb 32 números Hexadecimals, de 4 en quatre separat per dos punts. Ex : 43E0 :0:0: AD33: 67FF : 0: 4500: DF0 (Si hi ha varis 0’s seguits, es posa :: en una d’elles, quedaria 43E0 :: AD33: 67FF : 0: 4500: DF0 )
 
* Es reserven 48 bits per enumerar les estacions, i es pot utilitzar la direcció MAC dels equips
 
* Les estacions poden realitzar una configuració automàtica dels seus paràmetres
 
* És compatible amb IPv4 (El prefix 00 del començament indica que es tracta d’una direcció IPv4), de manera que permet la coexistència durant un període de temps mentre es realitza la implantació.
 
  
=== ARP (Address Resolution Protocol) ===
+
Utilitat [http://silmor.de/ipaddrcalc.html#ip6 http://silmor.de/ipaddrcalc.html#ip6]
  
El protocol ARP és l’encarregat de mantenir la relació entre el direccionament lògic i el direccionament físic.
+
==== Transició IPv4 a IPv6 ====
  
 +
Existeixen varis mecanismes que permeten la coexistència entre IPv4 i IPv6
  
 +
* Adreces IPv4 dins adreces IPv6: Codificar els 32 bits de l'adreça IPv4 dins la part de host de la IPv6
  
 +
* 6to4: transporta comunicacions IPv6 dins paquets IPv4. Utilitza servidors (gateway remots) per gestionar les conversions d'adreces
  
 +
* Teredo: transporta comunicacions IPv6 dins paquets IPv4. Utilitza servidors (gateway remots) per gestionar les conversions d'adreces 
  
Cada dispositiu de la xarxa guarda una taula en memòria RAM que relaciona les direccions IP amb les direccions físiques de la resta de dispositius
+
Utilitat [http://silmor.de/ipaddrcalc.html#ip46 http://silmor.de/ipaddrcalc.html#ip46]
  
  
 +
==== Configuració IPv6 ====
  
  
 +
* Els equips normalment tenen mínim dues adreces IPv6
 +
** Adreça Link-local per les comunicacions locals i amb la porta d'enllaç
 +
** Adreça Unicast Global per les comunicacions amb Internet
  
Per realitzar qualsevol comunicació primerament es consulta la taula per realitzar l’encasellament de capa d’enllaç. (Obtenir direcció física d’una direcció IP).
+
Als Routers cal activar l'encaminament IPv6, per exemple
  
 +
<pre>
 +
R0(config)#ipv6 unicast-routing
 +
R0(config)#interface gigabitEthernet 0/0
 +
R0(config-if)#ipv6 address 2001:BE4:1:1::1/64
 +
R0(config-if)#ipv6 address FE80::1 link-local
 +
R0(config-if)#no shutdown
 +
R0(config-if)#exit
 +
R0(config)#interface gigabitEthernet 0/1
 +
R0(config-if)#ipv6 address 2001:AD01:1:1::1/64
 +
R0(config-if)#ipv6 address FE80::1 link-local
 +
R0(config-if)#no shutdown
 +
R0(config-if)#ex
 +
R0(config)#ex
 +
R0#write
 +
</pre>
  
 +
== ipcalc ==
  
 +
Exemple 1
  
 +
<pre>
 +
cfgs@pc-info-host:~$ ipcalc 192.168.0.1/24
 +
Address:  192.168.0.1          11000000.10101000.00000000. 00000001
 +
Netmask:  255.255.255.0 = 24  11111111.11111111.11111111. 00000000
 +
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
 +
=>
 +
Network:  192.168.0.0/24      11000000.10101000.00000000. 00000000
 +
HostMin:  192.168.0.1          11000000.10101000.00000000. 00000001
 +
HostMax:  192.168.0.254        11000000.10101000.00000000. 11111110
 +
Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111
 +
Hosts/Net: 254                  Class C, Private Internet
  
Existeixen dues maneres de recol·lectar entrades per a la taula ARP.
+
cfgs@pc-info-host:~$
 +
</pre>
  
* Monitorar el tràfec de xarxa en el seu segment
+
Exemple 2
* Enviar petició Broadcast.
 
  
Per qualsevol comunicació que realitzem a un nou dispositiu, es crearà una nova entrada a la taula
+
<pre>
 +
cfgs@pc-info-host:~$ ipcalc 192.168.0.1/26
 +
Address:  192.168.0.1          11000000.10101000.00000000.00 000001
 +
Netmask:  255.255.255.192 = 26 11111111.11111111.11111111.11 000000
 +
Wildcard:  0.0.0.63            00000000.00000000.00000000.00 111111
 +
=>
 +
Network:  192.168.0.0/26      11000000.10101000.00000000.00 000000
 +
HostMin:  192.168.0.1          11000000.10101000.00000000.00 000001
 +
HostMax:  192.168.0.62        11000000.10101000.00000000.00 111110
 +
Broadcast: 192.168.0.63        11000000.10101000.00000000.00 111111
 +
Hosts/Net: 62                    Class C, Private Internet
  
 +
cfgs@pc-info-host:~$
 +
</pre>
  
 +
Exemple 3
  
 +
<pre>
 +
cfgs@pc-info-host:~$ ipcalc 192.168.0.0 -s 10 40
 +
Address:  192.168.0.0          11000000.10101000.00000000. 00000000
 +
Netmask:  255.255.255.0 = 24  11111111.11111111.11111111. 00000000
 +
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
 +
=>
 +
Network:  192.168.0.0/24      11000000.10101000.00000000. 00000000
 +
HostMin:  192.168.0.1          11000000.10101000.00000000. 00000001
 +
HostMax:  192.168.0.254        11000000.10101000.00000000. 11111110
 +
Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111
 +
Hosts/Net: 254                  Class C, Private Internet
  
 +
1. Requested size: 10 hosts
 +
Netmask:  255.255.255.240 = 28 11111111.11111111.11111111.1111 0000
 +
Network:  192.168.0.64/28      11000000.10101000.00000000.0100 0000
 +
HostMin:  192.168.0.65        11000000.10101000.00000000.0100 0001
 +
HostMax:  192.168.0.78        11000000.10101000.00000000.0100 1110
 +
Broadcast: 192.168.0.79        11000000.10101000.00000000.0100 1111
 +
Hosts/Net: 14                    Class C, Private Internet
  
Taula ARP
+
2. Requested size: 40 hosts
 +
Netmask:  255.255.255.192 = 26 11111111.11111111.11111111.11 000000
 +
Network:  192.168.0.0/26      11000000.10101000.00000000.00 000000
 +
HostMin:  192.168.0.1          11000000.10101000.00000000.00 000001
 +
HostMax:  192.168.0.62        11000000.10101000.00000000.00 111110
 +
Broadcast: 192.168.0.63        11000000.10101000.00000000.00 111111
 +
Hosts/Net: 62                    Class C, Private Internet
  
{| cellspacing="0" cellpadding="7" border="1"
+
Needed size:  80 addresses.
| Dirección Internet
+
Used network: 192.168.0.0/25
| Dirección física
+
Unused:
| Tipo
+
192.168.0.80/28
|-
+
192.168.0.96/27
| 68.2.168.1
+
192.168.0.128/25
| 00-50-57-00-76-84
+
cfgs@pc-info-host:~$
| Dinámica / Estática
+
</pre>
|}
 

Revisió de 20:19, 21 nov 2024

torna M7 - Planificació i administració de xarxes


Adreçament lògic a nivell de xarxa (IP)

L'adreçament lògic és el que trobem a nivell de xarxa i la seva funció principal és portar la informació d’un punt a un altre a través d’una sèrie de nodes intermedis, per tant s’encarrega de

  1. Localitzar un destinatari en una xarxa, identificar-lo. Adreçament.
  2. Escollir la millor ruta. Enrutament.


Dominis de Difusió (Broadcast)

A nivell d'enllaç la xarxa es dividia en segments anomenats dominis de col·lisió.

De manera similar a nivell de xarxa, existeix el concepte de dominis de difusió, els dispositius que separen aquests dominis són els routers o altres dispositius de nivell superior.

El domini de broadcast el componen el conjunt de tots els dispositius d’una xarxa que rebran una comunicació broadcast.

Una comunicació broadcast porta MAC destí FF:FF:FF:FF:FF, quan aquesta arriba a un router no passa més enllà.

Dominidifusio.png


Adreçament IP versió 4 (IPv4)

El protocol IP és el més important a nivell de xarxa. És el que utilitza la arquitectura TCP/IP (Internet).

L'adreçament s'encarrega de

És un servei:

  • No orientat a connexió.
  • No fiable (El control d’errors es realitza en capes superiors).


Notació decimal puntejada

Les adreces IP tenen 32 bits, dividits en 4 grups de 8 bits. Cadascun d’aquests 8 bits s’escriu en decimal (0 al 255) i es separen per punt.

Per exemple

11000001010011000000101100100000

11000001 .01001100 .00001011 .00100000

193 76 11 32

193.76.11.32


L'adreça IP de cada dispositiu que està a Internet ha de ser única!!.


Amb aquest mètode es poden nombrar 232 = 4.294.967.296 dispositius. En el seu moment es va pensar que ja seria suficient, però donat el creixement a hores d’ara ja és insuficient.

Classes d'adreces IP

Les adreces IP es classifiquen en classes per adaptar-se a les xarxes de diferents mides.


Cada adreça es divideix en una part de xarxa i una altra part de host. Els primers bits indiquen la classe.


Classe 1er byte
Inici Rang decimal Rang binari
A 0 1 al 127 00000001 al 01111111
B 10 128 al 191 10000000 al 10111111
C 110 192 al 223 11000000 al 11011111
D 1110 224 al 239 11100000 al 11101111
E 11110 240 al 255 11110000 al 11111111


  • Classe A : Xarxes grans.
  • Classe B : Xarxes mitjanes.
  • Classe C : Xarxes petites.
  • Classe D : Xaxes multicast.
  • Classe E : Reservades per a investigació.


Graficclasses.png


Unicast: Un únic destinatari.

Multicast: Per enviar un mateix missatge a moltes estacions (Independentment de la xarxa on estiguin). Media Streaming, TV.

Broadcast: Tots els membres del domini de difusió són destinataris.

Màscara de Subxarxa

Una màscara de xarxa s'associa a cada IP, aquesta màscara permet identificar a quina xarxa està la IP. Sense aquesta la IP no té significat.

La estructura són 32 bits, que es divideix en una seqüència de 1's seguida d'una seqüència de 0's. Els primers indiquen quina part de la IP és de xarxa. Aplicant un AND binari de la IP i la màscara s'obté la xarxa.

La estructura de les adreces IP és la següent

Classe A : El primer byte indica la xarxa i els tres següents el Host.

Classe B : Els 2 primers bytes indiquen la xarxa i els dos següents el Host.

Classe C : Els 3 primers bytes indiquen la xarxa i l’últim el Host.


La màscara de subxarxa per defecte es crea posant la part de xarxa de la classe corresponent a 1’s binari i la part de host a 0’s.


Classe Rang decimal del primer octet Bits ordre superior 1er octet Estructura


Xarxa/Host

Màscara subxarxa per defecte Quantitat de xarxes Quantitat de Hosts
A 1-127 0 0xxxxxxx.hhhhhhhh.hhhhhhhh.hhhhhhhh
X.H.H.H
11111111.00000000.00000000.00000000
255.0.0.0
27 = 128 224 - 2 =16.777.214
B 128-191 10 10xxxxxx.xxxxxxxx.hhhhhhhh.hhhhhhhh
X.X.H.H
11111111.11111111.00000000.00000000
255.255.0.0
214 =16.384 216 - 2 = 65.534
C 192-223 110 110xxxxx.xxxxxxxx.xxxxxxxx.hhhhhhhh
X.X.X.H
11111111.11111111.11111111.00000000
255.255.255.0
221 =2.097.152 28 - 2 = 254

Adreces IP reservades

RFC6890[https://datatracker.ietf.org/doc/html/rfc6890] Special-Purpose IP Address Registries

Special-Purpose Address Registry [https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml]

Aquestes adreces no es poden fer servir, per exemple

  • L'adreça 0.0.0.0 es reserva per l’estació en el moment d’arrencar (Per tant no es fa servir cap xarxa que comenci amb 0).
  • Les adreces 127.0.0.0/8 es reserven per a loopback, direcció local referencia a la pròpia estació (tampoc es fa servir cap xarxa que comenci amb 127).


Exemple d'ús de les adreces reservades


$ netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     

$ more /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd
 will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
[...]

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.8.2     0.0.0.0         UG    100    0        0 enp2s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp2s0
192.168.8.0     0.0.0.0         255.255.254.0   U     100    0        0 enp2s0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0


$ ifconfig lo
lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2605  bytes 238082 (238.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2605  bytes 238082 (238.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


$ more /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated b
y resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVE
RWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actua
l nameservers.

nameserver 127.0.0.53
search marianao.local


A més per cada xarxa IPv4, sempre hi ha 2 adreces reservades que no es poden fer servir per configurar en cap equip:

  • Adreça de xarxa : Les adreces amb 0’s a la part que indica el Host es reserven per identificar la xarxa.
  • Adreça de broadcast : Les adreces amb 1’s a la part que identifica el Host es reserven per a identificar l'adreça de difusió (broadcast) de la xarxa.


Per exemple : 150.15.4.3/255.255.0.0 és una IP vàlida de dispositiu en la xarxa per defecte de classe B, però la 150.15.0.0 i 150.15.255.255, no per que són les adreces de xarxa i de broadcast corresponents.


Exemples, des del terminal, no es pot fer PING a les adreces de difusió (broadcast). Cal privilegis perquè fa PING a totes les IPs de la xarxa


$ ping 192.168.9.255
Do you want to ping broadcast? Then -b. If not, check your local firewall rules.

Des de l'IOS ús de les adreces de xarxa a les taules de ruta


R1# show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
        N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
        E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
      * - candidate default, U - per-user static route, o - ODR
        P - periodic downloaded static route

Gateway of last resort is not set
      10.0.0.0/24 is subnetted, 2 subnets
D        10.1.1.0/24 [90/2170112] via 209.165.200.226, 00:01:30, Serial0/0/0
D        10.1.2.0/24 [90/2170112] via 209.165.200.226, 00:01:30, Serial0/0/0
      192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.10.0/24 is directly connected, GigabitEthernet0/0
L        192.168.10.1/32 is directly connected, GigabitEthernet0/0
      192.168.11.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.11.0/24 is directly connected, GigabitEthernet0/1
L        192.168.11.1/32 is directly connected, GigabitEthernet0/1
      209.165.200.0/24 is variably subnetted, 2 subnets, 2 masks
C        209.165.200.224/30 is directly connected, Serial0/0/0
L        209.165.200.225/32 is directly connected, Serial0/0/0
R1#

Màscara en format prefix (CIDR)

Sovint les màscares es poden representar en format prefix o CIDR (Classless Inter-Domain Routing), aquest format consisteix en una barra i un nombre (per exemple /24), on el nombre indica el total de bits amb valor 1 de la màscara

Per exemple, la màscara

255.255.0.0 ~ /16 (11111111.11111111.00000000.00000000, 16 primers bits a 1)


Les màscares per defecte de les classes

  • Per classe A => /8
  • Per classe B => /16
  • Per classe C => /24

Obtenir l'adreça de xarxa. Operació AND binària

Donada una IP/Màscara qualsevol, per saber a quina xarxa pertany, haurem d’aplicar la operació AND binària a la adreça del host i la màscara de xarxa.

Aquesta operació es realitza bit a bit de la següent manera


0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Per exemple a partir de l'adreça 150.10.11.15/16

150.10.11.15 10010110 00001010 00001011 00001111
AND
255.255.0.0  11111111 11111111 00000000 00000000
=
150.10.0.0   10010110 00001010 00000000 00000000

Adreces IP públiques i privades

Els organismes que s'encarreguen de gestionar adreces IP i dominis públics a Internet són:

  • ICANN : Internet Corporation for Assigned Names and Numbers


Consulta de dominis http://whois.domaintools.com

També hi ha l'eina whois des de Linux


$ whois institutmarianao.cat
Domain Name: institutmarianao.cat
Registry Domain ID: 1188407-D
Registrar WHOIS Server: whois.cat
Registrar URL: http://www.nominalia.com
Updated Date: 2021-03-23T13:04:06.71Z
Creation Date: 2013-02-06T12:40:59.484Z
Registry Expiry Date: 2022-02-06T12:40:59.484Z
Registrar Registration Expiration Date: 
Registrar: Nominalia
Registrar IANA ID: 76
Registrar Abuse Contact Email: abuse@nominalia.com
Registrar Abuse Contact Phone: +39-5520021555
Reseller: 
Domain Status: ok https://icann.org/epp#ok
Registry Registrant ID: 
Registrant Name: 
Registrant Organization: Institut Marianao
Registrant Street: 
Registrant City: 
Registrant State/Province: B
Registrant Postal Code: 
Registrant Country: ES
Registrant Phone: 
Registrant Phone Ext: 
Registrant Fax: 
Registrant Fax Ext: 
Registrant Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
Registry Admin ID: 
Admin Name: 
Admin Organization: 
Admin Street: 
Admin City: 
Admin State/Province: 
Admin Postal Code: 
Admin Country: 
Admin Phone: 
Admin Phone Ext: 
Admin Fax: 
Admin Fax Ext: 
Admin Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
Registry Tech ID: 
Tech Name: 
Tech Organization: 
Tech Street: 
Tech City: 
Tech State/Province: 
Tech Postal Code: 
Tech Country: 
Tech Phone: 
Tech Phone Ext: 
Tech Fax: 
Tech Fax Ext: 
Tech Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
Registry Billing ID: 
Billing Name: 
Billing Organization: 
Billing Street: 
Billing City: 
Billing State/Province: 
Billing Postal Code: 
Billing Country: 
Billing Phone: 
Billing Phone Ext: 
Billing Fax: 
Billing Fax Ext: 
Billing Email: Please query the Whois service of the Registrar of Record identified in this output for information on how to contact the Registrant, Admin, or Tech contact of the queried domain name.
Name Server: ns-es.1and1-dns.es
Name Server: ns-es.1and1-dns.com
Name Server: ns-es.1and1-dns.biz
Name Server: ns-es.1and1-dns.org


Un dels mètodes per evitar l’esgotament d'adreces IP assignables és la reserva d'adreces per a xarxes privades.

RFC1918 [1] Private Address Space


Cada classe té unes adreces reservades per aquest ús:

  • Clase A 10.0.0.0 - 10.255.255.255 (10/8 prefix)
  • Clase B 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
  • Clase C 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)


Així per conveni s’estableix que internament les xarxes locals han de treballar amb aquestes adreces. Estàndard de facto.

Per connectar-se a Internet aquestes xarxes necessiten un dispositiu (Router o proxy) que segueixi el protocol NAT (Network address Translation) que s’encarrega de substituir les adreces internes per adreces externes vàlides.

A més els paquets que porten aquestes adreces no s’enruten a l’exterior, ja que s’entén que van dirigits a dispositius interns de la xarxa.

Si fem un gràfic percentual de les possibles assignacions de direccions IP, veiem que hi ha moltes més adreces de classe A disponibles que no pas de classe C, en canvi hi ha moltes més xarxes de classe C.

Graficclasses.png


Aquest sistema és clarament ineficient, les adreces de classe A inclouen el 50% d'adreces i en canvi les xarxes d'aquesta classe són molt poques (Xarxes de fins a 16 milions de hosts). Per contra les xarxes de classe C (petites fins a 256 hosts) només disposen del 12,5% d'adreces.

La solució mitjançant NAT, permet que per exemple les xarxes de classe C treballin internament amb direccions 192.168.0.X (Classe C), però externament tinguin assignada una direcció de classe A que els subministra el proveïdor de serveis d’Internet.


Tots els paquets que surten de la xarxa tenen com a IP origen la externa, el dispositiu NAT s’encarrega de gestionar les diferents comunicacions.


Nat.png

Multicast

http://en.wikipedia.org/wiki/Multicast

http://en.wikipedia.org/wiki/IP_multicast

http://yalb.net/?p=137

Subxarxes

La divisió en subxarxes consisteix en dividir una xarxa gran en segments més petits i fàcils d’administrar.

  • Permet reduir la mida de les taules dels Routers.
  • En cas que a l’administrador se li quedi petita una xarxa hauria de demanar una altra diferent. Amb les subxarxes pot tenir una xarxa més gran i dividir-la en subxarxes.

Conseqüències

  • Crea segments independents (No es veuen).
  • Introdueix un nou nivell de seguretat.
  • Externament es segueix veient com una única xarxa.


Per crear una subxarxa s’agafen prestats bits del número de Host.


Per exemple en una xarxa de classe B agafem prestats 8 bits de host.

1er Byte 2n byte 3er byte 4rt byte
Xarxa Xarxa Subxarxa Host
150 10 11 15


L’exemple indica el Host 15 de la subxarxa 150.10.11.0 de la xarxa 150.10.0.0.


La màscara de subxarxa es construeix posant a 1’s la part de xarxa i la part de subxarxa, i deixant a 0’s la part de Host.


En l’exemple la subxarxa és la 255.255.255.0.


Mentre que recorda que la subxarxa per defecte de la classe B era (255.255.0.0).


Per saber en quina subxarxa es troba un host, haurem d’aplicar la operació AND binaria a la adreça del host i la màscara de subxarxa.


Per poder fer la operació binària cal posar en binari els diferents valors

150.10.11.15 10010110 00001010 00001011 00001111
AND 255.255.255.0 11111111 11111111 11111111 00000000
150.10.11.0 10010110 00001010 00001011 00000000


El format de barra diagonal consisteix en indicar el nombre de bits de xarxa i subxarxa i és equivalent a indicar la màscara de subxarxa.


En el nostre cas : /24.

L'adreça broadcast de la subxarxa seguirà sent amb la part de Host a 1’s.


150.10.11.255.


En general podem agafar tants bits de la part de Host com vulguem, sempre que en quedin 2 per identificar el host com a mínim (Si només quedés un bit estaria ocupat per identificar 0 - Subxarxa i 1 - Broadcast).


Per saber com construir la estructura en subxarxes, hem de preguntar-nos les següents qüestions.

  • Quantes subxarxes necessitem?
  • Quants hosts tindrà cada subxarxa com a mínim (o màxim)?


Per exemple. Tenim la xarxa 198.10.10.0 /24 de classe C amb 55 dispositius, i volem distribuir-los en els diferents departaments d’una empresa, a cadascun li assignarem una subxarxa.

Departament 1 10
Departament 2 12
Departament 3 13
Departament 4 10
Administració 5
Gerència 5


Opció 1: 6 subxarxes. Necessito 3 bits, queden 5 bits pel Host.


De les 256 possibilitats faig 8 grups de 32 hosts (30 + 2)

Xarxa 198.10.10.0 /27
Màscara de subxarxa 255.255.255.224
Subxarxa ID Rang Hosts Broadcast
0 198.10.10.0 198.10.10.1 al 198.10.10.30 198.10.10.31
1 198.10.10.32 198.10.10.33 al 198.10.10.62 198.10.10.63
2 198.10.10.64 198.10.10.65 al 198.10.10.94 198.10.10.95
3 198.10.10.96 198.10.10.97 al 198.10.10.126 198.10.10.127
4 198.10.10.128 198.10.10.129 al 198.10.10.158 198.10.10.159
5 198.10.10.160 198.10.10.161 al 198.10.10.190 198.10.10.191
6 198.10.10.192 198.10.10.193 al 198.10.10.222 198.10.10.223
7 198.10.10.224 198.10.10.225 al 198.10.10.254 198.10.10.255


Anàlisis opció 1:

  • Queden 2 subxarxes sense utilitzar.
  • Cada subxarxa admet fins a 30 Hosts.
  • En alguns casos (Depèn del protocol del Router la subxarxa 0 i la 7 no es poden utilitzar) Per tant si podem escollir millor fem servir les altres.

Per identificar a quina subxarxa està un Host podem aplicar la màscara de subxarxa a la IP.


Per exemple : 198.10.10.100 /27

198.10.10.100 11000110 00001010 00001010 01100100
AND 255.255.255.224 11111111 11111111 11111111 11100000
198.10.10.96 11000110 00001010 00001010 01100000


Opció 2: 13 Host per subxarxes mínim. Necessito 4 bits, queden 4 bits per la subxarxa.


De les 256 possibilitats faig 16 grups de 16 hosts (14 + 2).


Xarxa 198.10.10.0 /28
Màscara de subxarxa 255.255.255.240
Subxarxa ID Rang Hosts Broadcast
0 198.10.10.0 198.10.10.1 al 198.10.10.14 198.10.10.15
1 198.10.10.16 198.10.10.17 al 198.10.10.30 198.10.10.31
2 198.10.10.32 198.10.10.33 al 198.10.10.46 198.10.10.47
3 198.10.10.48 198.10.10.49 al 198.10.10.62 198.10.10.63
4 198.10.10.64 198.10.10.65 al 198.10.10.78 198.10.10.79
5 198.10.10.80 198.10.10.81 al 198.10.10.94 198.10.10.95
6 198.10.10.96 198.10.10.97 al 198.10.10.110 198.10.10.111
7 198.10.10.112 198.10.10.113 al 198.10.10.126 198.10.10.127
8 198.10.10.128 198.10.10.129 al 198.10.10.142 198.10.10.143
9 198.10.10.144 198.10.10.145 al 198.10.10.158 198.10.10.159
10 198.10.10.160 198.10.10.161 al 198.10.10.174 198.10.10.175
11 198.10.10.176 198.10.10.177 al 198.10.10.190 198.10.10.191
12 198.10.10.192 198.10.10.193 al 198.10.10.206 198.10.10.207
13 198.10.10.208 198.10.10.209 al 198.10.10.222 198.10.10.223
14 198.10.10.224 198.10.10.225 al 198.10.10.238 198.10.10.239
15 198.10.10.240 198.10.10.225 al 198.10.10.254 198.10.10.255


Anàlisis opció 2:

  • Queden 10 subxarxes sense utilitzar.
  • Cada subxarxa admet fins a 14 Hosts.
  • En alguns casos (Depèn del protocol del Router la subxarxa 0 i la 7 no es poden utilitzar) Per tant si podem escollir millor fem servir les altres.


ARP (Address Resolution Protocol)

RFC861 RFC861

El protocol ARP és l’encarregat de mantenir la relació entre l'adreçament lògic (IPv4, capa de xarxa) i l'adreçament físic (MAC, capa d'enllaç).

Cada dispositiu de la xarxa guarda una taula en memòria RAM que relaciona les adreces IP amb les adreces físiques de la resta de dispositius. Aquesta informació és volàtil i té caducitat (pocs minuts).

Tot i que els protocols de les capes superiors treballen amb adreces lògiques (i noms de domini), en un entorn local (Ethernet, WiFi) la comunicació es realitza sempre utilitzant les adreces físiques.


Les adreces físiques (MAC) només es fan servir en un mateix entorn local. En cap cas es fan comunicacions entre adreces físiques d'entorns locals diferents.


Per tant qualsevol dispositiu que treballi amb adreces IP necessita una taula ARP per cada enllaç local on es troba connectat. Aquestes taules són independents entre elles i no intercanvien informació.

Per exemple un Router amb 2 interfícies Ethernet i una interfície WiFi tindrà 3 taules ARP diferents.

Existeixen dues maneres de recol·lectar entrades per a la taula ARP.

  • Monitorar el tràfec de xarxa en el seu segment.
  • Enviar petició Broadcast.


Per qualsevol comunicació que realitzem a un nou dispositiu, es crearà una nova entrada a la taula .

Per exemple, qualsevol comunicació que s'inicia en un host des de les capes superiors quan arriba a nivell d'enllaç o d'accés a la xarxa (Ethernet, WiFi) utilitza el protocol ARP per identificar l' adreça MAC de destí de la comunicació.

  • A partir de l'adreça IPv4 de destí (Capa Internet)
    • Si és una adreça local, de la mateixa xarxa que el propi host, el protocol ARP ha de resoldre aquesta IPv4 local
    • Si és una adreça externa, el protocol ARP ha de resoldre l'adreça IPv4 de la porta d'enllaç
  • ARP consulta l'adreça IPv4 a la taula ARP de l'equip
    • Si troba la informació, recupera l'adreça MAC corresponent i finalitza
    • En cas contrari, fa una petició en difusió (broadcast FF:FF:FF:FF:FF:FF) demanant quin host té configurada l'adreça IPv4 => ARP Request
      • Si l'equip que té aquesta adreça IPv4 es troba a la xarxa local, respon unicast directament al host que ha fet la petició i aquest afegeix la informació a la taula ARP => ARP Response
      • En cas contrari el procés acaba amb un error que es propaga a les capes superiors


Exemple de la taula ARP d'un host Linux


$ arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.8.4              ether   1c:98:ec:1e:16:18   C                     enp2s0
192.168.8.2              ether   6c:c2:17:85:10:6d   C                     enp2s0


Captura del procés ARP en difusió. Les trames ARP contenen el valor 0x0806 al camp tipus (EtherType) de la trama Ethernet. Mentre que les trames corresponents a paquets IP tenen el valor 0x0800

https://en.wikipedia.org/wiki/EtherType


$ sudo tcpdump -i enp2s0 -e -n -v host 192.168.9.49 and  arptcpdump: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:01:52.053630 00:01:6c:d2:c6:f4 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.8.4 tell 192.168.9.49, length 28
16:01:52.053757 1c:98:ec:1e:16:18 > 00:01:6c:d2:c6:f4, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Reply 192.168.8.4 is-at 1c:98:ec:1e:16:18, length 46


Captura del procés d'actualització d'informació existent


16:01:57.187119 1c:98:ec:1e:16:18 > 00:01:6c:d2:c6:f4, ethertype ARP (0x0806), length 60: Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.9.49 tell 192.168.8.4, length 46
16:01:57.187146 00:01:6c:d2:c6:f4 > 1c:98:ec:1e:16:18, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Reply 192.168.9.49 is-at 00:01:6c:d2:c6:f4, length 28

IPv6 (Internet Protocol versió 6)

https://tools.ietf.org/html/rfc8200 Protocol IPv6

https://tools.ietf.org/html/rfc4291 Esquema d'adreces IPv6

https://tools.ietf.org/html/rfc5952 Recomanacions respecte la representació de les adreces



De totes les solucions vistes per pal·liar l’esgotament d'adreces a Internet, aquesta és la més sensata. Tot i que encara no està completament funcional, els sistemes actuals ja la porten integrada.


  • Adreces 128 bits (16 bytes).
  • Es representa amb 32 números Hexadecimals, de 4 en quatre separat per dos punts.
    • Format preferent: 8 blocs.

Ex: 43E0:0000:0000:AD33:67FF:0000:4500:0DF0, o ometent 0's a l'esquerra dels blocs

   43E0:0:0:AD33:67FF:0:4500:DF0
    • Format comprimit: Comprimint blocs seguits de 0's es substitueixen per "::". Si hi ha varis blocs de 0’s seguits es substitueix només una vegada.

Ex: 43E0:0:0:AD33:67FF:0:4500:DF0 quedaria 43E0::AD33:67FF:0:4500:DF0


  • Es reserven 48 bits per enumerar les estacions, i es pot utilitzar la adreça MAC dels equips.
  • Les estacions poden realitzar una configuració automàtica dels seus paràmetres.


  • Desapareix la necessitat del NAT. Traducció d'adreces privades => públiques
  • Desapareixen les adreces de difusió.
  • Incorpora funcionalitat "anycast" => qualsevol destí entre un grup que comparteix la mateixa adreça


Adreces IPv6

Hi ha tres tipus principals d’adreces IPv6:

  • unicast: Distribució a una única destinació.
  • anycast: Distribució a un única destinació d’un conjunt de destinacions possibles. Una petició dirigida a una IP anycast s’encamina al node més proper dintre de tots els nodes rèplica que existeixin.
  • multicast: Distribució múltiple. Es lliura a totes les adreces dins d’aquest grup de multidistribució. El prefix que tindrà sempre és ff00::.

Desapareix broadcast.

Exemple anycast http://www.root-servers.org/


Les adreces més habituals d'especial interés són les següents:

  • Adreces Unicast Globals (públiques, context Internet), inclou el rang 2000::/3 però actualment només s'assignen blocs del prefix 2001::/16
  • Adreces d'enllaç local o link local en adreces IPv6 (d'àmbit local) té el prefix FE80::/64
  • Adreça de Loopback ::1/128 (en IPv4 era 127.0.0.1)
  • Adreces multicast, ff00::/8 és el rang d’adreces que s’usen per a difusió (multicast) a diferents nivells.

[https://datatracker.ietf.org/doc/html/rfc4291#section-2.7]

Per exemple

Àmbits: 1 - Interface-Local scope 2 - Link-Local scope 5 - Site-Local scope 8 - Organization-Local scope E - Global scope


Altres tipus d'adreces

/128 aquesta adreça tot a zeros s’usa per indicar que l’ordinador o l’adaptador de xarxa no té cap adreça IP assignada.
ffff:0:0/96 s’utilitza per encapsular les adreces IPv6 dins les adreces IPv4.

2001::/32 s’utilitza per a l’algoritme de túnel de Teredo.

2001:db8::/32 s’usen quan s’escriuen exemples en documentacions o especificacions tècniques.

2002::/16 s’usen per a l’algoritme de túnel de 6to4.

fec0::/10 és el rang d’adreces que s’usa per a xarxes privades. Equivalen en el protocol IPv4 a les 10.0.0.0/8, 172.16.0.0/16 i 192.168.0.0/24.

EUI-64 Format

Genera automàticament l'adreça link-local (fe80:) a partir de la MAC

cfgs@pc-info-host:~$ ifconfig 
enp2s0    Link encap:Ethernet  HWaddr 00:01:6c:d2:c6:f4  
          inet addr:192.168.3.137  Bcast:192.168.3.255  Mask:255.255.254.0
          inet6 addr: fe80::f731:d357:50d3:dcb2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:95876 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10770 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:24789810 (24.7 MB)  TX bytes:1149284 (1.1 MB)


Utilitat http://silmor.de/ipaddrcalc.html#ip6

Transició IPv4 a IPv6

Existeixen varis mecanismes que permeten la coexistència entre IPv4 i IPv6

  • Adreces IPv4 dins adreces IPv6: Codificar els 32 bits de l'adreça IPv4 dins la part de host de la IPv6
  • 6to4: transporta comunicacions IPv6 dins paquets IPv4. Utilitza servidors (gateway remots) per gestionar les conversions d'adreces
  • Teredo: transporta comunicacions IPv6 dins paquets IPv4. Utilitza servidors (gateway remots) per gestionar les conversions d'adreces

Utilitat http://silmor.de/ipaddrcalc.html#ip46


Configuració IPv6

  • Els equips normalment tenen mínim dues adreces IPv6
    • Adreça Link-local per les comunicacions locals i amb la porta d'enllaç
    • Adreça Unicast Global per les comunicacions amb Internet

Als Routers cal activar l'encaminament IPv6, per exemple

R0(config)#ipv6 unicast-routing
R0(config)#interface gigabitEthernet 0/0
R0(config-if)#ipv6 address 2001:BE4:1:1::1/64 
R0(config-if)#ipv6 address FE80::1 link-local 
R0(config-if)#no shutdown
R0(config-if)#exit
R0(config)#interface gigabitEthernet 0/1
R0(config-if)#ipv6 address 2001:AD01:1:1::1/64
R0(config-if)#ipv6 address FE80::1 link-local 
R0(config-if)#no shutdown 
R0(config-if)#ex
R0(config)#ex
R0#write

ipcalc

Exemple 1

cfgs@pc-info-host:~$ ipcalc 192.168.0.1/24
Address:   192.168.0.1          11000000.10101000.00000000. 00000001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000
HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001
HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111
Hosts/Net: 254                   Class C, Private Internet

cfgs@pc-info-host:~$

Exemple 2

cfgs@pc-info-host:~$ ipcalc 192.168.0.1/26
Address:   192.168.0.1          11000000.10101000.00000000.00 000001
Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard:  0.0.0.63             00000000.00000000.00000000.00 111111
=>
Network:   192.168.0.0/26       11000000.10101000.00000000.00 000000
HostMin:   192.168.0.1          11000000.10101000.00000000.00 000001
HostMax:   192.168.0.62         11000000.10101000.00000000.00 111110
Broadcast: 192.168.0.63         11000000.10101000.00000000.00 111111
Hosts/Net: 62                    Class C, Private Internet

cfgs@pc-info-host:~$

Exemple 3

cfgs@pc-info-host:~$ ipcalc 192.168.0.0 -s 10 40
Address:   192.168.0.0          11000000.10101000.00000000. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.0.0/24       11000000.10101000.00000000. 00000000
HostMin:   192.168.0.1          11000000.10101000.00000000. 00000001
HostMax:   192.168.0.254        11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255        11000000.10101000.00000000. 11111111
Hosts/Net: 254                   Class C, Private Internet

1. Requested size: 10 hosts
Netmask:   255.255.255.240 = 28 11111111.11111111.11111111.1111 0000
Network:   192.168.0.64/28      11000000.10101000.00000000.0100 0000
HostMin:   192.168.0.65         11000000.10101000.00000000.0100 0001
HostMax:   192.168.0.78         11000000.10101000.00000000.0100 1110
Broadcast: 192.168.0.79         11000000.10101000.00000000.0100 1111
Hosts/Net: 14                    Class C, Private Internet

2. Requested size: 40 hosts
Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Network:   192.168.0.0/26       11000000.10101000.00000000.00 000000
HostMin:   192.168.0.1          11000000.10101000.00000000.00 000001
HostMax:   192.168.0.62         11000000.10101000.00000000.00 111110
Broadcast: 192.168.0.63         11000000.10101000.00000000.00 111111
Hosts/Net: 62                    Class C, Private Internet

Needed size:  80 addresses.
Used network: 192.168.0.0/25
Unused:
192.168.0.80/28
192.168.0.96/27
192.168.0.128/25
cfgs@pc-info-host:~$