Redes de Computadoras: Puertos, Direcciones IP, Protocolos, Formatos de Trama y Cabeceras

Informática21,35 KB

Redes de Computadoras: Referencia Técnica de Protocolos y Formatos

Esta referencia recoge los principales números de puerto, rangos de direcciones IP, formatos de tramas y cabeceras de los protocolos más utilizados en redes de computadoras.

Números de puertos conocidos (0-1023)

  • FTP: TCP, control 21, datos 20
  • TELNET: TCP 23
  • SMTP: TCP 25
  • HTTP: TCP 80
  • DNS: suele usar UDP 53
  • SNMP: suele usar UDP 161 (trap 162)
  • DHCP: UDP, servidor 67, cliente 68
  • RIP: UDP 520
  • POP3: TCP 110
  • IMAP4: TCP 143
  • SIP: 5060 (TCP/UDP/SCTP), 5061 (TLS)
  • BGP: TCP 179

Rangos de direcciones IP

  • Clase A: 0.0.0.0 a 127.255.255.255
  • Clase B: 128.0.0.0 a 191.255.255.255
  • Clase C: 192.0.0.0 a 223.255.255.255
  • Clase D: 224.0.0.0 a 239.255.255.255
  • Clase E: 240.0.0.0 a 247.255.255.255

Direcciones privadas

  • Clase A: 10.0.0.0 a 10.255.255.255
  • Clase B: 172.16.0.0 a 172.31.255.255
  • Clase C: 192.168.0.0 a 192.168.255.255

Formato Ethernet

DirDestino (6 bytes) | DirOrigen (6 bytes) | Tipo (2 bytes) | Datos (46-1500 bytes) | CRC (4 bytes)

  • Tipo 0800 (2 bytes): Datagrama IP (46-1500 bytes)
  • Tipo 0806 (2 bytes): Petición/respuesta ARP (28 bytes), PAD (18 bytes)
  • Tipo 0835 (2 bytes): Petición/respuesta RARP (28 bytes), PAD (18 bytes)

Formato 802.2/802.3

802.3 MAC | 802.2 LLC | 802.2 SNAP | datos | CRC

DirDestino (6 bytes) | DirOrigen (6 bytes) | Longitud (2 bytes) | DSAP 0xAA (1 byte) | SSAP 0xAA (1 byte) | Control 0x03 (1 byte) | OrgCode 0x000000 (3 bytes) | Tipo (2 bytes) | Datos (38-1492 bytes) | CRC (4 bytes)

  • Tipo 0800 (2 bytes): Datagrama IP (38-1492 bytes)
  • Tipo 0806 (2 bytes): Petición/respuesta ARP (28 bytes), PAD (10 bytes)
  • Tipo 0835 (2 bytes): Petición/respuesta RARP (28 bytes), PAD (10 bytes)

Formato de tramas SLIP

Cabecera de 40 bytes (20 bytes de cabecera IP y 20 bytes de cabecera TCP). CSLIP: 3 a 5 bytes.

  • END: 0xC0
  • SLIP ESC: 0xDB
  • Datos 0xC0 se codifican como 0xDB, 0xDC
  • Datos 0xDB se codifican como 0xDB, 0xDD

Formato de tramas PPP

Flag 7E (1 byte) | Dirección FF (1 byte) | Control 03 (1 byte) | Protocolo (2 bytes) | Datos (hasta 1500 bytes) | CRC (2 bytes) | Flag 7E (1 byte)

  • Protocolo 0021: Datagrama IP
  • Protocolo C021: Datos de control de enlace
  • Protocolo 8021: Datos de control de red

Línea síncrona: se inserta un cero tras cada cinco unos seguidos.

Línea asíncrona: el byte 0x7D actúa como carácter de escape; el carácter siguiente debe tener el sexto bit complementado.

MTU típicas (bytes)

  • Hyperchannel: 65535
  • Token Ring de 16 Mbits/s: 17914
  • Token Ring de 4 Mbits/s: 4464
  • FDDI: 4352
  • Ethernet: 1500
  • IEEE 802.2/802.3: 1492
  • X.25: 576
  • PPP: 296

Formato ARP

[Cabecera Ethernet, con DirDestino = broadcast]

Tipo de dirección física (2 bytes) [Ethernet = 1] | Tipo de dirección de red [IP = 0x0800] (2 bytes) | Tamaño dirección física (1 byte) [Ethernet = 6] | Tamaño dirección de red (1 byte) [IP = 4] | Tipo de mensaje (2 bytes) [01 = petición ARP, 02 = respuesta ARP, 03 = petición RARP, 04 = respuesta RARP] | Dirección física del origen (6 bytes) | Dirección de red del origen (4 bytes) | Dirección física del destino (6 bytes) | Dirección de red del destino (4 bytes)

Direcciones multicast reservadas

  • 224.0.0.1: todas las estaciones de una subred
  • 224.0.0.2: todos los routers de una subred
  • 224.0.0.5: todos los routers con OSPF

Direcciones físicas multicast: 01:00:5E:00:00:00 a 01:00:5E:7F:FF:FF. Los 23 bits menos significativos de la dirección física corresponden a los 23 bits menos significativos del grupo multicast.

Formato de la cabecera IP

  • Versión (4 bits): IPv4 = 4
  • Longitud de cabecera (4 bits): 5-15 (número de palabras de 32 bits)
  • TOS (8 bits): 3 bits de precedencia; el bit restante a cero
  • Longitud total (16 bits): máximo 65535 bytes, normal 8192 bytes, mínimo 576 bytes
  • Identificación (16 bits): identifica los fragmentos de un mismo datagrama
  • Flags (3 bits): 0, DF (no fragmentar), MF (más fragmentos)
  • Desplazamiento del fragmento (13 bits): múltiplo de 8
  • TTL (8 bits): normalmente 32-64
  • Protocolo (8 bits): 1 = ICMP, 2 = IGMP, 6 = TCP, 17 = UDP, 89 = OSPF
  • Checksum de cabecera (16 bits)
  • Dirección IP origen y destino (32 bits cada una)
  • Opciones (máximo 40 bytes, múltiplo de 32 bits, rellenado con ceros)

Opciones de la cabecera IP

Byte de tipo: bit 0 = flag de copia; bits 1-2 = clase de opción (0 control de red, 1 depuración y medida); bits 3-7 = número de opción.

  • Fin de lista: valor 0, copia 0, clase 0, número 0
  • Sin operación: valor 1, copia 0, clase 0, número 1
  • Ruta en origen estricta: valor 137, copia 1, clase 0, número 9
  • Ruta en origen vaga: valor 131, copia 1, clase 0, número 3
  • Registro de ruta: valor 7, copia 0, clase 0, número 7
  • Marca de tiempo: valor 68, copia 0, clase 2, número 4
  • Seguridad: valor 130, copia 1, clase 0, número 2

Codificación de ruta en origen estricta (137): tamaño, puntero, lista de direcciones.
Codificación de ruta en origen vaga (131): tamaño, puntero, lista de direcciones.
Codificación de registro de ruta (7): tamaño, puntero, lista de direcciones.
Codificación de marcas de tiempo (68): tamaño, puntero (incremento de 4), desbordamiento, flag. Flag = 0: solo marcas de tiempo; flag = 1: se guardan dirección IP y tiempo (puntero += 8); flag = 3: dirección IP escrita en origen.

Mensajes ICMP

Tipo (1 byte) | Código (1 byte) | Checksum (2 bytes) | Datos

TipoCódigoDescripciónError
170Solicitud de máscara de redNo
180Respuesta de máscara de redNo
40Respuesta de marca de tiempoNo
130Solicitud de marca de tiempoNo
12VariosProblemas con parámetrosSí
11VariosPlazo de tiempo excedidoSí
100Solicitud de rutaNo
90Aviso de rutaNo
80Solicitud de ecoNo
5VariosRedirecciónSí
40Source quenchSí
3VariosDestino inalcanzableSí (3/4: fragmentation needed but don't-fragment bit set)
00Respuesta de ecoNo

Redirección: Tipo = 5 | Código | Checksum | Dirección IP del encaminador | Cabecera IP y 8 bytes de datos.

Petición y respuesta de eco: Tipo [petición = 8, respuesta = 0] | Código | Checksum | Identificador (2 bytes) | Número de secuencia (2 bytes) | Datos.

Plazo de tiempo excedido: Tipo = 11 | Código [tránsito = 0, reensamblado = 1] | Checksum | No usado (2 bytes) | Cabecera IP y 8 bytes de datos.

Formato de tramas UDP

Puerto origen (2 bytes, opcional) | Puerto destino (2 bytes) [RIP = 520] | Tamaño (2 bytes) | Checksum (2 bytes, opcional) | Datos (normal = 512 bytes, API = 8192 bytes, límite IP = 65507 bytes)

Formato RIPv1 (máximo 16 saltos)

Comando [1 = petición, 2 = respuesta] (1 byte) | Versión = 1 (1 byte) | 0 (2 bytes) | Familia de direcciones [2 = IP, 0 = vacío] (2 bytes) | 0 (2 bytes) | Dirección IP (4 bytes) | 0 (4 bytes) | 0 (4 bytes) | Métrica (4 bytes). Hasta 25 rutas.

Formato RIPv2 (multicast a 224.0.0.9)

Comando [1 = petición, 2 = respuesta] (1 byte) | Versión = 2 (1 byte) | Dominio de encaminamiento (2 bytes) | Familia de direcciones (2 bytes) [2 = IP, 0xFFFF = contraseña en claro (16 bytes)] | Marca de ruta (2 bytes) [identificador AS, compatibilidad BGP] | Dirección IP (4 bytes) | Máscara de subred (4 bytes) | IP del siguiente router (4 bytes) | Métrica (4 bytes). Hasta 25 rutas.

OSPF y BGP

  • OSPF: IP con TOS = 0000, precedencia de control de internetwork, multicast 224.0.0.5.
  • BGP: mensajes OPEN, UPDATE, KEEPALIVE y NOTIFICATION.

Formato de tramas TCP

Puerto origen (2 bytes) | Puerto destino (2 bytes) | Número de secuencia (4 bytes) [el primero = ISN + 1] | Número de asentimiento (4 bytes) [requiere ACK = 1] | Longitud de cabecera (4 bits) | Reservado (6 bits) | Flags: URG, ACK, PSH, RST, SYN, FIN | Tamaño de ventana (2 bytes) [máximo = 2^16] | Checksum TCP (2 bytes) | Puntero urgente (2 bytes) | Opciones (si las hay) | Datos (si los hay)

Opciones TCP

  • Fin de lista de opciones: Tipo = 0
  • No operación: Tipo = 1
  • Tamaño máximo del segmento (MSS): Tipo = 2, Longitud = 4, MSS (2 bytes)
  • Factor de escala de ventana: Tipo = 3, Longitud = 3, ShiftCount (1 byte)
  • Marcas de tiempo: Tipo = 8, Longitud = 10, Valor (4 bytes), Respuesta de eco (4 bytes)

Cálculo del RTT (tiempo de ida y vuelta)

  • RTT paso bajo: RTT = 0.9 × RTT_anterior + 0.1 × M
  • RTT según RFC: RTO = 2 × RTT
  • Algoritmo de Jacobson: RTT es la media y D la varianza. Inicialmente D_anterior = 1,5 s y RTT_anterior = 0.
    Err = M − RTT_anterior
    RTT = RTT_anterior + 0.125 × Err
    D = D_anterior + 0.25 × (|Err| − D_anterior)
    RTO = RTT + 4 × D

Formato de DNS

Identificación (2 bytes) | Flags (2 bytes) | Número de preguntas (2 bytes) | Número de RR de respuesta (2 bytes) | Número de RR de autoridad (2 bytes) | Número de RR adicionales (2 bytes) | Preguntas | Respuestas | Autoridad | Información adicional

Flags DNS

  • QR (1 bit): petición = 0, respuesta = 1
  • OPCODE (4 bits): normal = 0, inversa = 1
  • AA (1 bit): respuesta con autoridad
  • TC (1 bit): respuesta truncada (primeros 512 bytes)
  • RD (1 bit): uso recursivo = 1, iterativo = 0
  • RA (1 bit): recursivo permitido = 1, prohibido = 0
  • RCODE (4 bits): sin error = 0, host o dominio inexistente = 3

Pregunta DNS

Nombre de la pregunta (variable) | Tipo de pregunta (2 bytes) | Clase de pregunta (2 bytes) [1 = Internet]

Tipos: A (1) dirección IP; NS (2) servidor de nombres; CNAME (5) nombre canónico (alias); PTR (12) nombre asociado a una dirección IP; HINFO (13) información del host; MX (15) intercambiador de correo; ALL (255) todos los RR disponibles.

Respuesta DNS

Nombre del dominio (variable) | Tipo (2 bytes) | Clase (2 bytes) | TTL en segundos (4 bytes) | Longitud (2 bytes) | Datos (variable)

Mensaje completo: cabecera DNS, pregunta, respuesta 1, respuesta 2, respuesta 3...

Códigos de respuesta SMTP

  • 1yz: respuesta positiva preliminar
  • 2yz: respuesta positiva completa
  • 3yz: respuesta positiva intermedia
  • 4yz: respuesta negativa transitoria
  • 5yz: respuesta negativa permanente
  • x0z: sintaxis
  • x1z: información o ayuda
  • x2z: conexión o sesión
  • x5z: sistema de correo

Módulo MIB-II

GrupoFunciónNúmero de objetos
SNMPProtocolo SNMP30
EGPProtocolo EGP18
UDPProtocolo UDP7
TCPProtocolo TCP19
ICMPProtocolo ICMP26
IPProtocolo IP38
ATTraducción de direcciones3
InterfacesInterfaces de red (tarjetas de red)23
SystemInformación básica del sistema7

Mensajes SNMP

Petición/respuesta: Versión | Comunidad | Tipo de PDU | ID de solicitud | Status Error | Índice de error | Lista nombre-valor
Trap: Versión | Comunidad | Tipo de PDU | Enterprise | Dirección del agente | Tipo de trap | Trap específico | Time stamp | Lista nombre-valor

  • Versión: 0 para SNMPv1, 1 para SNMPv2, 2 para SNMPv2c, 3 para SNMPv3
  • Comunidad: contraseña de acceso en SNMPv1 y v2c
  • Tipo de PDU: indica el tipo de mensaje (set, get, get-next...)
  • ID de solicitud: relaciona la solicitud con su respuesta
  • Status Error: 0 en la solicitud; distinto de 0 en respuestas con fallo
  • Índice de error: 0 en la solicitud; índice de la variable que causó el fallo
  • Lista objeto-valor: en get o get-next los valores son NULL
  • Mensaje set: si falla una variable, falla la petición completa

Mensajes DHCP

OP Code (1 byte) [solicitud = 1, respuesta = 2] | Tipo de hardware (1 byte) [Ethernet = 1, 802 = 6] | Longitud de dirección física (1 byte) | Saltos (1 byte) | Identificador de transacción (4 bytes) | Tiempo en segundos (2 bytes) | Flags (2 bytes) [bit 15 = difusión] | IP del cliente (4 bytes) | IP asignada (4 bytes) | IP del servidor DHCP (4 bytes) | IP del router (4 bytes) | Dirección física del cliente (16 bytes) | Nombre del servidor (64 bytes) | Nombre del archivo de arranque (128 bytes) | Opciones (312 bytes)

Comandos Telnet

Un comando consta de 0xFF (IAC) seguido de uno o más bytes de código. Para enviar el dato 0xFF se envían dos 0xFF.

  • Erase Character (EC): 247
  • Erase Line (EL): 248
  • Abort Output (AO): 245
  • Go Ahead (GA): 249
  • Are You There (AYT): 246
  • Pause (BRK): 243
  • Interrupt Process (IP): 244
  • Data Mark (DM): 242
  • Option Negotiation WILL: 251
  • Option Negotiation WONT: 252
  • Option Negotiation DO: 253
  • Option Negotiation DONT: 254
  • Sub-option Begin (SB): 250
  • Sub-option End (SE): 240

Negociación de opciones

  • 0: transmisión binaria
  • 1: eco
  • 3: suprimir Go Ahead
  • 5: status
  • 6: marca de tiempo
  • 24: tipo de terminal
  • 31: tamaño de la ventana (filas × columnas)
  • 33: control de flujo remoto
  • 34: modo línea
  • 37: autenticación

Comandos FTP

ABOR, USER, PASS, TYPE, MODE, STRU, QUIT, SYST, REIN, PORT, LIST, CWD, PWD, RMD, MKD, DELE, RETR, STOR, APPE, STAT, HELP

Respuestas FTP

  • 1xx: inicio de una acción con éxito
  • 2xx: comando realizado con éxito
  • 3xx: respuesta intermedia con éxito
  • 4xx: errores transitorios
  • 5xx: errores permanentes

HTTP

Cada línea termina en CR/LF. Se utiliza ISO Latín-1 de 8 bits.

  • Petición: request-line, cabeceras (0 o más), cuerpo (solo en POST)
  • Request-line: método URI versión HTTP
  • Métodos: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS
  • Respuesta: status-line, cabeceras (0 o más), cuerpo
  • Status-line: versión HTTP código de respuesta frase de respuesta

Campos de cabecera

  • WWW-Authenticate: respuesta
  • User-Agent: petición
  • Server: respuesta
  • Referer: petición
  • Pragma: respuesta y petición
  • MIME-Version: respuesta y petición
  • Location: respuesta
  • Last-Modified: body
  • If-Modified-Since: petición
  • From: petición
  • Expires: body
  • Date: respuesta y petición
  • Content-Type: body
  • Content-Length: body
  • Content-Encoding: body
  • Authorization: petición
  • Allow: body

Códigos de respuesta

  • 1xx: no se utiliza
  • 200-204: éxito
  • 301-304: redirección; el cliente debe realizar más acciones
  • 400-404: error del cliente
  • 500-503: error del servidor

Formato de mensajes RTP

Versión (2 bits) | Padding (1 bit) | Extensión (1 bit) | CC (4 bits) [número de fuentes] | Marker (1 bit) | Payload Type (7 bits) | Número de secuencia (2 bytes) | Timestamp (4 bytes) | Identificador de fuente de sincronización SSRC (4 bytes). Cabecera básica de 12 bytes. Después: identificadores CSRC (4 bytes cada uno), extensión de cabecera (4 bytes), carga útil (audio, vídeo...).

SIP

Peticiones

INVITE, ACK, BYE, CANCEL, OPTIONS, REGISTER

Respuestas

  • Provisionales (1xx): informativas (trying, ringing, forwarded, queued...)
  • Finales (terminan la transacción):
    • Éxito (2xx): OK
    • Redirección (3xx): moved permanently, moved temporarily...
    • Fallo de la petición (4xx): bad request, unauthorized, timeout, busy here, user not found...
    • Fallo del servidor (5xx): not implemented, version not supported...
    • Fallo global (6xx): busy everywhere, user does not exist anywhere, session not acceptable...

IPv6: prefijos asignados

AsignaciónPrefijo (binario)InicioMáscara (bits)Espacio utilizado
Reservado0000 00000::81/256
NSAP0000 001200::71/128
IPX0000 010400::71/128
Global unicast agregable0012000::31/8
Local al enlace (unicast)1111 1110 10FE80::101/1024
Local al sitio (unicast)1111 1110 11FEC0::101/1024
Multicast1111 1111FF00::81/256

Unicast

FP (3 bits) [001] | TLA ID (13 bits) [nivel más alto] | RES (8 bits) | NLA ID (24 bits) [proveedores] | SLA ID (16 bits) [organizaciones] | Interface ID (64 bits) [interfaz del nodo]

Multicast

FP (8 bits) [1111 1111] | Flags (4 bits) [permanente / transitoria] | Scope (4 bits) [ámbito] | Group ID (112 bits) [grupo multicast]

Cabecera IPv6

Versión (4 bits) [6] | Traffic Class (8 bits) [prioridad] | Flow Label (20 bits) | Payload Length (2 bytes) [>64 kB = 0] | Next Header (1 byte) | Hop Limit (1 byte) | Dirección origen (16 bytes) | Dirección destino (16 bytes)

Cabecera de encaminamiento (routing)

Next Header (1 byte) | Hdr Len (1 byte) | Type (1 byte) | Addrs Left (1 byte) | Reserved (4 bytes) | Address 1 (16 bytes) ... Address N (16 bytes)

Cabecera de fragmento

Next Header (1 byte) | Reserved (1 byte) | Fragment Offset, reserved, More Fragments (2 bytes) | Fragment Id (4 bytes)

Otras cabeceras de extensión

  • Autenticación: autentica al emisor del paquete y comprueba la integridad del mismo.
  • ESP (Encapsulating Security Payload): carga útil de seguridad cifrada. Se cifra todo lo que sigue a esta cabecera.
  • Opciones de destino: similares a hop-by-hop, pero solo son examinadas por la interfaz de destino.

Descargar

PDF Word HTML