Mostrando las entradas con la etiqueta paquete. Mostrar todas las entradas
Mostrando las entradas con la etiqueta paquete. Mostrar todas las entradas

lunes, 20 de abril de 2009

Ejemplo de Encapsulamiento (ilustración del datagrama)

Tomando el caso del ejemplo anterior, el datagrama será analizado en fragmentos de 8 bytes, indicando la longitud de cada campo; recordemos que es un paquete de ICMP encapsulado en IP.

Del byte 0 al 7:




y tenemos la siguiente información de sus campos:



IHL: Especifica la longitud del encabezado de IP en palabras de 32 bits (4 Bytes) y el valor mínimo es 5.

TOS: Type of service, 8 bits, especifica los parámetros para el tipo de servicio solicitado. Los parámetros pueden ser utilizados por las redes para defini el manejo del datagrama durante el transporte. El bit M fue agregado en el RFC 1349.



Total Lenght: es la longitud total del datagrama, en este caso es 0x003C (60 bytes).

Identification: Usado para indentificar fragmentos de un datagrama deaquellos de otro. El módulo de protocolo que origina al datagrama fija el valor del campo de identificación a un valor que debe ser único para el par de Fuente-Destino y protocolo por todo el tiempo que el datagrama estará activo en el sistema de red. El módulo de protocolo de origen de un datagrama completo pone los bits MF y el Fragment Offset a cero.



Fragment Offset, 13 bits: usado para dirigir el reensamblado de un datagrama fragmentado. En este caso es cero porque no hay más fragmentos.

Del byte 8 al 15:




TTL: Time to live, es un temporizador para llevar un control del tiempo de vida del datagrama. Cuando el TTL es decrementado a cero, el datagrama es desechado.

Protocol: este campo especifica el protocolo encapsulado, en este caso el valor es 1, lo que nos indica que se trata de un paquete de ICMP (ping). Consulta los valores en la tabla (click aquí).

Header Checksum: 16 bits de la suma de verificación del encabezado de IP y las opciones IP.

Source IP Address: Es la dirección IP del transmisor, en este caso 192.168.1.1 (0xC0.A8.01.01).

Del byte 16 al 27:




Destination IP Address: es la dirección IP del destino, en este caso 192.168.1.17 (0xC0.A8.01.11).

C, Class y Option: en este caso indican (tabla de valores):

  • 0x0: no copiar

  • 0x00: mensaje de control

  • 0x1000: solicitud de Echo (RFC 792, Summary of Message Types, 8 Echo).


Padding: es de longitud variable y sirve como relleno para asegurar que los datos comienzan tras de una frontera de 32 bits después de la dirección de destino.

Aquí es importante destacar que al tratarse de un mensaje de control (ICMP) se utilizan los bytes del 20 al 27 para información de control; y se usan de la siguiente manera (RFC792):
    20                  21                  22                  23
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type Code Checksum
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Identifier Sequence Number
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Data ...

+-+-+-+-+-

De aquí obtenemos que:

  • byte 20, es un paquete tipo 8 (echo request)
  • byte 21, siempre va a cero
  • byte 22 y 23, es el checksum de ICMP
  • bytes 24 y 25, si el byte 21=0 el identificador ayuda a hacer match entre las solicitudes y las respuestas de eco; puede ser 0 o puede usarse para identificar una sesión.
  • bytes 26 y 27 son para llevar la secuencia de las solicitudes de eco, y quien responde debe usar el mismo número; la secuencia debe incrementarse con cada nueva solicitud (en una instrucción típica de ping se envían 4 paquetes, y pueden enviarse cuantos se desee).

Bytes del 28 al 59 (32 bytes)

Son los datos de relleno que se colocaron dentro del mensaje de Echo, y se trata de una secuencia, del 0x61 al 0x77, y se vuelve a comenzar. Cuando se responde la solicitud de eco se debe incluir exactamente la misma información en el campo de datos.









sábado, 7 de junio de 2008

Definiendo la capa de Transporte

Comunicación entre dispositivos.
Las redes de computadoras usan muchos protocolos, aquí se definirán los protocolos de comunicación en un entorno de red.
Cuando un dispositivo se comunica con otro, intercambian una serie de mensajes. Para entender y actuar en estos mensajes, los dispositivos deben estar de acuerdo en el formato y el orden de los mensajes intercambiados, así como las acciones tomadas en la transmisión o recibo de dichos mensajes.
Los dispositivos que se comuncan usan una serie de reglas, llamadas protocolo, para definir sus tareas, diferentes protocolos cumplen diferentes funciones.

Definiendo el campo de Protocolo.

IP usa un número de protocolo en el el encabezado para identificar cual protocolo usar para un datagrama en particular. El ruteador lee el número de protocolo del encabezado, lo compara a las entradas en la tabla de protocolos de transporte, y entonces lo pasa al protocolo apropiado. Por ejemplo, si el número es 6, IP entrega el datagrama a TCP; si el número de protocolo es 17, IP lo entrega a UDP.

Aunque casi siempre se usa TCP o UDP, hay otros protocolos que pueden usar IP, hay aproximadamente 100 protocolos registrados para propósitos especiales. Los números usados por protocolosTCP son asignados y publicados por un grupo llamado Internet Assigned Numbers Authority (IANA). Los números asignados por la IANA son documentados en el RFC1700.
  • Protocolo [Campo de Protocolo ]
  • Transmission Control Protocol (TCP) 6
  • User Datagram Protocol (UDP) 17
  • Internet Control Message Protocol (ICMP) 1
  • IPv6 41
  • ICMP para IPv6 58
  • EIGRP 88

http://www.iana.org/assignments/protocol-numbers


No. Protocol
0 IPv6 Hop-by-Hop Option
1 Internet Control Message
2 Internet Group Management
3 Gateway-to-Gateway
4 IP in IP (encapsulation)
5 Stream
6 Transmission Control
7 CBT
8 Exterior Gateway Protocol
9 any private interior gateway
10 [SGC]
11 Network Voice Protocol
12 PUP
13 ARGUS
14 EMCON
15 Cross Net Debugger
16 Chaos
17 User Datagram
18 Multiplexing
19 DCN Measurement Subsystems
20 Host Monitoring
21 Packet Radio Measurement
22 XEROX NS IDP
23 Trunk-1
24 Trunk-2
25 Leaf-1
26 Leaf-2
27 Reliable Data Protocol
28 Internet Reliable Transaction [RFC938
29 ISO Transport Protocol Class 4 [RFC905
30 Bulk Data Transfer Protocol
31 MFE Network Services Protocol [MFENET
32 [HWB]
33 Sequential Exchange Protocol
34 Third Party Connect Protocol
35 Inter-Domain Policy Routing Protocol [MXS1]
36 XTP
37 Datagram Delivery Protocol
38 IDPR-CMTP IDPR Control Message Transport Proto [MXS1]
39 TP++ Transport Protocol
40 IL Transport Protocol
41 Ipv6
42 Source Demand Routing Protocol
43 [Deering]
44 [Deering]
45 Inter-Domain Routing Protocol [Sue Hares]
46 Reservation Protocol
47 General Routing Encapsulation
48 Mobile Host Routing Protocol[David Johnson]
49 BNA
50 Encap Security Payload for IPv6 [RFC2406]
51 Authentication Header for IPv6
52 Integrated Net Layer Security TUBA [GLENN]
53 IP with Encryption
54 NBMA Address Resolution Protocol [RFC1735]
55 IP Mobility
56 Transport Layer Security Protocol [Oberg] using Kryptonet key management
57 SKIP
58 [RFC1883]
59 [RFC1883]
60 [RFC1883]
61 [IANA]
62 CFTP
63 [IANA]
64 [SHB]
65 [PXL1]
66 MIT Remote Virtual Disk Protocol
67 Internet Pluribus Packet Core
68 [IANA]
69 SATNET Monitoring
70 VISA Protocol
71 Internet Packet Core Utility
72 Computer Protocol Network Executive [DXM2]
73 Computer Protocol Heart Beat
74 Wang Span Network
75 Packet Video Protocol
76 [SHB]
77 SUN ND PROTOCOL-Temporary
78 WIDEBAND Monitoring
79 WIDEBAND EXPAK
80 ISO Internet Protocol
81 VMTP
82 [DRC3]
83 VINES
84 TTP
85 [HWB]
86 Dissimilar Gateway Protocol
87 TCF
88 EIGRP
89 OSPFIGP
90 [SPRITE
91 Locus Address Resolution Protocol
92 Multicast Transport Protocol
93 AX.25 Frames
94 IP-within-IP Encapsulation Protocol [JI6]
95 Mobile Internetworking Control Pro. [JI6]
96 Semaphore Communications Sec. Pro.
97 Ethernet-within-IP Encapsulation [RFC3378]
98 Encapsulation Header
99 [IANA]
100 GMTP
101 Ipsilon Flow Management Protocol [Hinden]
102 PNNI over IP
103 Protocol Independent Multicast [Farinacci]
104 ARIS
105 SCPS
106 QNX
107 Active Networks
108 IP Payload Compression Protocol [RFC2393]
109 Sitara Networks Protocol
110 [Volpe]
111 [Lee]
112 Virtual Router Redundancy Protocol [RFC3768]
113 PGM Reliable Transport Protocol [Speakman]
114 [IANA]
115 Layer Two Tunneling Protocol
116 D-II Data Exchange (DDX)
117 Interactive Agent Transfer Protocol [Murphy]
118 Schedule Transfer Protocol
119 SpectraLink Radio Protocol
120 UTI
121 Simple Message Protocol
122 SM
123 Performance Transparency Protocol
124 [Przygienda]
125 [Partridge]
126 Combat Radio Transport Protocol
127 Combat Radio User Datagram
128 [Waber]
129 [Hollbach]
130 Secure Packet Shield
131 [Petri]
132 SCTP Stream Control Transmission Protocol [Stewart]
133 Fibre Channel
134 [RFC3175]
135[RFC-ietf-mobileip-ipv6-24.txt]
136 [RFC-ietf-tsvwg-udp-lite-02.txt]
137 unassigned
252
253 [RFC3692]
254 [RFC3692]
255 [IANA]