109.1 Fundamentos de protocolos de Internet - Teoria

Modelo TCP/IP vs Modelo OSI

Modelo OSI (7 capas) - Referencia teorica

CapaNombreFuncionEjemplo
7AplicacionInterfaz con el usuarioHTTP, FTP, SSH, DNS
6PresentacionFormato de datos, cifradoSSL/TLS, JPEG
5SesionGestiona sesionesNetBIOS
4TransporteEntrega extremo a extremoTCP, UDP
3RedDireccionamiento logico, enrutamientoIP, ICMP
2Enlace de datosDireccionamiento fisico, tramasEthernet, Wi-Fi, ARP
1FisicaBits en el medio fisicoCables, fibra optica

Modelo TCP/IP (4 capas) - Modelo practico

Capa TCP/IPEquivalencia OSIProtocolos
4. Aplicacion5, 6, 7HTTP, FTP, SSH, DNS, SMTP
3. Transporte4TCP, UDP
2. Internet3IP (IPv4, IPv6), ICMP
1. Acceso a red1, 2Ethernet, Wi-Fi, ARP

IPv4

Estructura

  • Direccion de 32 bits (4 octetos)
  • Representada en notacion decimal con puntos: 192.168.1.100
  • Cada octeto: 0-255
  • Total de direcciones: 2^32 = ~4.3 mil millones

Clases de direcciones IPv4

ClaseRango primer octetoMascara por defectoUso
A1-126255.0.0.0 (/8)Redes grandes
B128-191255.255.0.0 (/16)Redes medianas
C192-223255.255.255.0 (/24)Redes pequenas
D224-239N/AMulticast
E240-255N/AExperimental/Reservado

Nota: 127.0.0.0/8 es loopback (127.0.0.1 es la mas conocida)

Direcciones IPv4 privadas (RFC 1918)

ClaseRangoCIDRCantidad de hosts
A10.0.0.0 - 10.255.255.25510.0.0.0/8~16.7 millones
B172.16.0.0 - 172.31.255.255172.16.0.0/12~1 millon
C192.168.0.0 - 192.168.255.255192.168.0.0/16~65,000

Direcciones especiales

DireccionUso
127.0.0.0/8Loopback (localhost)
0.0.0.0Esta red / todas las interfaces
255.255.255.255Broadcast general
169.254.0.0/16Link-local (APIPA, autoasignada)

Mascaras de subred y CIDR

Mascara de subred

  • Define que parte de la direccion IP es la red y cual es el host
  • Los bits en 1 representan la red, los bits en 0 representan el host

Notacion CIDR (Classless Inter-Domain Routing)

Se expresa como /N donde N es el numero de bits de red.

CIDRMascaraHosts disponiblesUso comun
/8255.0.0.016,777,214Clase A
/16255.255.0.065,534Clase B
/24255.255.255.0254Clase C
/25255.255.255.128126Mitad de clase C
/26255.255.255.19262Cuarto de clase C
/27255.255.255.22430
/28255.255.255.24014
/29255.255.255.2486
/30255.255.255.2522Enlaces punto a punto
/32255.255.255.2551Host unico

Calcular numero de hosts

Hosts disponibles = 2^(32 - prefijo_CIDR) - 2

Se restan 2: una para la direccion de red y otra para broadcast.

Ejemplo: /24 = 2^(32-24) - 2 = 2^8 - 2 = 256 - 2 = 254 hosts

Subnetting basico

Dividir una red en subredes mas pequenas.

Ejemplo: Dividir 192.168.1.0/24 en 4 subredes:

  • Necesitamos 2 bits adicionales (2^2 = 4 subredes)
  • Nueva mascara: /26 (24 + 2 = 26)
  • Cada subred tiene 2^6 - 2 = 62 hosts
SubredRango de hostsBroadcast
192.168.1.0/26192.168.1.1 - 192.168.1.62192.168.1.63
192.168.1.64/26192.168.1.65 - 192.168.1.126192.168.1.127
192.168.1.128/26192.168.1.129 - 192.168.1.190192.168.1.191
192.168.1.192/26192.168.1.193 - 192.168.1.254192.168.1.255

IPv6

Estructura

  • Direccion de 128 bits (8 grupos de 4 digitos hexadecimales)
  • Separados por dos puntos : (no puntos)
  • Ejemplo completo: 2001:0db8:0000:0000:0000:0000:0000:0001

Reglas de abreviacion

  1. Omitir ceros a la izquierda en cada grupo: 0db8 -> db8, 0001 -> 1
  2. Sustituir grupos consecutivos de ceros por :: (solo una vez)
Completa:   2001:0db8:0000:0000:0000:0000:0000:0001
Abreviada:  2001:db8::1

Tipos de direcciones IPv6

TipoPrefijoDescripcion
Link-localfe80::/10Autoconfigurada, solo valida en el enlace local
Loopback::1Equivalente a 127.0.0.1 en IPv4
Global unicast2000::/3Direcciones publicas enrutables (como las IPv4 publicas)
Unique localfc00::/7 (fd00::/8)Privadas (equivalente a RFC 1918 en IPv4)
Multicastff00::/8Multidifusion
No especificada::Equivalente a 0.0.0.0

Tipos de direcciones IPv6

TipoDescripcion
UnicastIdentifica una unica interfaz. El paquete se entrega a esa interfaz
MulticastIdentifica un grupo de interfaces. El paquete se entrega a todas las del grupo
AnycastIdentifica un grupo de interfaces. El paquete se entrega a la mas cercana del grupo

Nota: IPv6 no tiene broadcast. La funcionalidad de broadcast se implementa mediante multicast.

Notacion de puertos con IPv6

En URLs y configuraciones, las direcciones IPv6 se encierran entre corchetes [] para distinguir los dos puntos de la direccion del separador de puerto:

# IPv4 - notacion normal
http://192.168.1.1:443

# IPv6 - la direccion va entre corchetes
http://[2001:db8::1]:443
http://[::1]:8080
ssh://[fe80::1%eth0]:22

Para el examen: La notacion [direccion_IPv6]:puerto es fundamental para evitar ambiguedades con los : de IPv6.

SLAAC (Stateless Address Autoconfiguration)

SLAAC es el mecanismo de autoconfiguracion de direcciones IPv6 sin estado (sin necesidad de un servidor DHCP).

  • El host genera su propia direccion IPv6 combinando:
    1. El prefijo de red anunciado por el router (via Router Advertisement)
    2. Un identificador de interfaz generado a partir de la MAC (EUI-64) o de forma aleatoria (privacy extensions)
  • No necesita servidor DHCP (pero puede usarse DHCPv6 como complemento)
  • Los routers envian Router Advertisements (RA) periodicamente o al ser solicitados (Router Solicitation)
  • Las direcciones link-local (fe80::/10) se generan siempre automaticamente con SLAAC
Ejemplo de generacion SLAAC:
Prefijo del router: 2001:db8:1::/64
MAC del host:       00:1A:2B:3C:4D:5E
Direccion generada: 2001:db8:1::21a:2bff:fe3c:4d5e/64

NDP (Neighbor Discovery Protocol)

NDP es el protocolo de descubrimiento de vecinos de IPv6, que reemplaza a ARP de IPv4.

Funciones principales de NDP:

  • Resolucion de direcciones: Equivalente a ARP. Resuelve direcciones IPv6 a direcciones MAC (usa Neighbor Solicitation / Neighbor Advertisement)
  • Descubrimiento de routers: Los hosts descubren routers en el enlace local (Router Solicitation / Router Advertisement)
  • Deteccion de direcciones duplicadas (DAD): Verifica que una direccion no este ya en uso antes de asignarla
  • Redireccion: Los routers informan a los hosts de rutas mas optimas

NDP usa mensajes ICMPv6 (no un protocolo separado como ARP).

Tipo de mensaje NDPFuncion
Router Solicitation (RS)El host solicita informacion de routers
Router Advertisement (RA)El router anuncia prefijos y parametros
Neighbor Solicitation (NS)Consulta direccion MAC (como ARP request)
Neighbor Advertisement (NA)Responde con direccion MAC (como ARP reply)
RedirectEl router indica una ruta mejor

Diferencias clave IPv4 vs IPv6

CaracteristicaIPv4IPv6
Tamano32 bits128 bits
NotacionDecimal con puntosHexadecimal con dos puntos
CabeceraVariable, complejaFija, simplificada
BroadcastSiNo (usa multicast)
AutoconfigDHCPSLAAC + DHCPv6
IPSecOpcionalIntegrado

Protocolos de transporte

TCP (Transmission Control Protocol)

  • Orientado a conexion (handshake de 3 vias: SYN, SYN-ACK, ACK)
  • Fiable: Garantiza entrega ordenada, retransmision de paquetes perdidos
  • Mas lento por el overhead de control
  • Usado para: HTTP, HTTPS, SSH, FTP, SMTP, POP3, IMAP

UDP (User Datagram Protocol)

  • Sin conexion (sin handshake)
  • No fiable: No garantiza entrega ni orden
  • Mas rapido y ligero
  • Usado para: DNS, DHCP, NTP, SNMP, streaming, VoIP

ICMP (Internet Control Message Protocol)

  • Protocolo de control y diagnostico
  • No transporta datos de usuario
  • Usado por ping (ICMP echo request/reply) y traceroute
  • Tipos importantes: Echo Request (8), Echo Reply (0), Destination Unreachable (3), Time Exceeded (11)

Puertos de red conocidos

Puertos importantes para el examen

PuertoProtocoloServicio
20TCPFTP (datos)
21TCPFTP (control)
22TCPSSH
23TCPTelnet (inseguro, usar SSH)
25TCPSMTP
53TCP/UDPDNS
67/68UDPDHCP (servidor/cliente)
80TCPHTTP
110TCPPOP3
123UDPNTP
139TCPNetBIOS (sesion)
143TCPIMAP
161/162UDPSNMP (consulta/traps)
389TCPLDAP
443TCPHTTPS
465TCPSMTPS (SMTP sobre SSL)
514UDPSyslog
587TCPSMTP submission
636TCPLDAPS (LDAP sobre SSL)
993TCPIMAPS (IMAP sobre SSL)
995TCPPOP3S (POP3 sobre SSL)

Rangos de puertos

RangoNombreDescripcion
0-1023Well-knownServicios estandar (requieren root)
1024-49151RegisteredRegistrados por aplicaciones
49152-65535Dynamic/PrivatePuertos efimeros (conexiones salientes)

Archivos de referencia

/etc/services

Mapea nombres de servicios a numeros de puerto.

ssh        22/tcp
smtp       25/tcp
domain     53/tcp
domain     53/udp
http       80/tcp
https      443/tcp

/etc/protocols

Mapea nombres de protocolos a numeros de protocolo IP.

icmp    1    ICMP
tcp     6    TCP
udp     17   UDP

Puntos clave para el examen

  1. TCP/IP tiene 4 capas: Acceso a red, Internet, Transporte, Aplicacion
  2. Direcciones privadas: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
  3. Formula de hosts: 2^(32-prefijo) - 2
  4. IPv6: 128 bits, fe80:: es link-local, ::1 es loopback, notacion de puertos: [::1]:443
  5. SLAAC: Autoconfiguracion de IPv6 sin servidor DHCP (usa Router Advertisements)
  6. NDP: Reemplaza ARP en IPv6 (usa ICMPv6 para resolucion de direcciones y descubrimiento de routers)
  7. TCP es fiable y orientado a conexion; UDP es rapido y sin conexion
  8. ICMP es para diagnostico (ping, traceroute)
  9. Puertos clave: SSH=22, Telnet=23, SMTP=25, DNS=53, HTTP=80, HTTPS=443, LDAP=389, LDAPS=636
  10. /etc/services mapea servicios a puertos
  11. IPv6 no tiene broadcast, usa multicast. Tipos de direccion: unicast, multicast, anycast
  12. CIDR /24 = 254 hosts, /30 = 2 hosts (punto a punto)

Trampas del examen

Errores comunes y distinciones criticas que LPI suele evaluar en este subtema:

  • Formula de hosts: 2^(32-prefijo) - 2 — Se restan 2 porque la primera direccion es la de red y la ultima es broadcast. Para /24: 2^8 - 2 = 254 hosts (NO 256). Para /30: 2^2 - 2 = 2 hosts. Olvidar restar 2 es un error clasico
  • Rango de direcciones privadas clase B: 172.16.0.0 a 172.31.255.255 — NO es 172.0.0.0/8. El rango privado clase B es 172.16.0.0/12, que abarca de 172.16.x.x a 172.31.x.x. El examen pone direcciones como 172.32.1.1 para ver si la identificas como publica
  • IPv6 NO tiene broadcast — IPv6 usa multicast para funciones que en IPv4 requerian broadcast. Es una diferencia fundamental. El examen pregunta directamente si IPv6 tiene broadcast (respuesta: no)
  • ::1 es loopback en IPv6, NO ::0::1 es el equivalente de 127.0.0.1; :: (todo ceros) es la direccion no especificada (equivalente a 0.0.0.0). No confundirlas
  • :: solo se puede usar UNA VEZ en una direccion IPv6 — La abreviacion de grupos consecutivos de ceros con :: solo se puede aplicar una vez. 2001:db8::1::2 es INVALIDA. El examen puede mostrar direcciones IPv6 y preguntar cuales son validas
  • Notacion de puertos con IPv6: [direccion]:puerto — Las direcciones IPv6 se encierran entre corchetes para separar los : de la direccion del : del puerto. Ejemplo: http://[2001:db8::1]:443. Sin corchetes es ambiguo
  • SLAAC genera direcciones IPv6 SIN servidor DHCP — SLAAC usa Router Advertisements para obtener el prefijo y genera el identificador de interfaz automaticamente. No confundir con DHCPv6, que es un mecanismo separado y opcional
  • NDP reemplaza a ARP en IPv6 — IPv6 usa NDP (Neighbor Discovery Protocol) con mensajes ICMPv6 para resolver direcciones MAC. ARP no existe en IPv6. El examen puede preguntar que protocolo reemplaza a ARP en IPv6
  • TCP es fiable y orientado a conexion; UDP es rapido y sin conexion — DNS usa AMBOS (UDP para consultas normales, TCP para transferencias de zona y respuestas grandes). El examen puede preguntar que protocolo de transporte usa DNS (respuesta: ambos, puerto 53)
  • 169.254.0.0/16 es link-local (APIPA) — Estas direcciones se autoasignan cuando no hay DHCP disponible. No son enrutables. El examen puede mostrar una direccion 169.254.x.x y preguntar que significa (fallo de DHCP)