*RFC791 INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION prefacio Este documento especifica el Internet Protocol del estándar de DoD. Este documento se basa en seis ediciones anteriores de la especificación del Internet Protocol de ARPA, y el actual texto dibuja pesadamente de ellas. Ha habido muchos contribuidores a este trabajo en términos de conceptos y en términos de texto. Esta edición revisa aspectos de la dirección, de la gestión de error, de los códigos de opción, y de la seguridad, de la precedencia, de los compartimientos, y de manejar las características de la restricción del Internet Protocol. 1. INTRODUCcION 1.1. Motivacion El Internet Protocol se diseña para el uso en los sistemas interconectados de las redes de comunicaciones packet-switched de la computadora. Tal sistema se ha llamado un “catenet” [1]. El Internet Protocol preve bloques que transmiten de datagramas llamados los datos de fuentes a las destinaciones, donde están anfitriones las fuentes y las destinaciones identificados por direcciones de longitud fija. El Internet Protocol también preve la fragmentación y el nuevo ensamble de datagramas largos, en caso de necesidad, para la transmisión a través de redes del “paquete pequeño”. 1.2. Alcance El Internet Protocol se limita específicamente en alcance para proporcionar las funciones necesarias para entregar un paquete de los pedacitos (un datagrama del Internet) de una fuente a un excedente de la destinación un sistema interconectado de redes. No hay mecanismos para aumentar los servicios end-to-end de la confiabilidad de los datos, del control de flujo, el ordenar, u otro encontrados comúnmente en protocolos del anfitrión-a-anfitrión. El Internet Protocol puede capitalizar en los servicios de sus redes de soporte para proporcionar varios tipos y calidades del servicio. 1.3. Interfaces Este protocolo es invitado por protocolos del anfitrión-a-anfitrión en un ambiente del Internet. Este protocolo invita protocolos de red locales para llevar el datagrama del Internet a la entrada o al anfitrión siguiente de la destinación. Por ejemplo, un módulo del TCP invitaría el módulo del Internet para tomar un segmento del TCP (los datos incluyendo de jefe y del usuario del TCP) pues la porción de los datos de un datagrama del Internet. El módulo del TCP proporcionaría las direcciones y otros parámetros en el jefe del Internet al módulo del Internet como discusiones de la llamada. El módulo del Internet después crearía un datagrama del Internet e invitaría el interfaz local de la red para transmitir el datagrama del Internet. En la caja de ARPANET, por ejemplo, el módulo del Internet invitaría un módulo neto local que agregaría a líder 1822 [2] al datagrama del Internet que crea un mensaje de ARPANET para transmitir al IMP. La dirección de ARPANET sería derivada del internet address por el interfaz local de la red y sería la dirección de un poco de anfitrión en el ARPANET, ese anfitrión pudo ser una entrada a otras redes. 1.4. Operación El Internet Protocol pone dos funciones en ejecución básicas: dirección y fragmentación. Los módulos del Internet utilizan las direcciones llevaron adentro el jefe del Internet para transmitir datagramas del Internet hacia sus destinaciones. La selección de una trayectoria para la transmisión se llama encaminamiento. Los módulos del Internet utilizan campos en el jefe del Internet para hacer fragmentos y para volver a montar de datagramas del Internet cuando son necesarios para la transmisión a través de redes del “paquete pequeño”. El modelo de la operación es que un módulo del Internet reside en cada anfitrión contratado a la comunicación del Internet y a cada entrada que interconecte redes. Estos módulos comparten las reglas comunes para interpretar campos de dirección y para los datagramas del Internet que hacen fragmentos y que montan. Además, estos módulos (especialmente en entradas) tienen procedimientos para hacer decisiones de la encaminamiento y otras funciones. El Internet Protocol trata cada datagrama del Internet como entidad independiente sin relación a cualquier otro datagrama del Internet. No hay conexiones o circuitos lógicos (virtuales o de otra manera). El Internet Protocol utiliza cuatro mecanismos dominantes en el abastecimiento de su servicio: Tipo de servicio, de Time to Live, de opciones, y de suma de comprobación del jefe. El tipo de servicio se utiliza para indicar la calidad del servicio deseado. El tipo de servicio es un extracto o un sistema generalizado de los parámetros que caracterizan las opciones del servicio proporcionadas en las redes que componen el Internet. Este tipo de indicación del servicio debe ser utilizado por las entradas seleccionar los parámetros reales de la transmisión para una red particular, la red que se utilizarán para el salto siguiente, o la entrada siguiente al encaminar un datagrama del Internet. El Time to Live es una indicación de un límite superior en el curso de la vida de un datagrama del Internet. Es fijado por el remitente del datagrama y reducido en los puntos a lo largo de la ruta donde se procesa. Si el Time to Live alcanza cero antes de que el datagrama del Internet alcance su destinación, se destruye el datagrama del Internet. El Time to Live se puede pensar en como un límite de tiempo del destruct del uno mismo. Las opciones preven las funciones de control necesitadas o útiles en algunas situaciones pero innecesarias para las comunicaciones mas comunes. Las opciones incluyen las provisiones para los timestamps, la seguridad, y la encaminamiento especial. La suma de comprobación del jefe proporciona una verificación que la información utilizó en el proceso del datagrama del Internet se ha transmitido correctamente. Los datos pueden contener errores. Si la suma de comprobación del jefe falla, el datagrama del Internet es desechado inmediatamente por la entidad que detecta el error. El Internet Protocol no proporciona una facilidad de comunicación confiable. No hay reconocimientos end-to-end o salto-por-salto. No hay control de error para los datos, solamente una suma de comprobación del jefe. No hay retransmisiones. Hay control del flujo nulo. Los errores detectados se pueden divulgar vía el Internet Control Message Protocol (ICMP) [3] que que se ponen en ejecución en el módulo del Internet Protocol. 2. DESCRIPCIÓN 2.1. Relación a otros protocolos El diagrama siguiente ilustra el lugar del Internet Protocol en la jerarquía del protocolo: +------+ +-----+ +-----+ +-----+ |Telnet| | FTP | | TFTP| ... | ... | +------+ +-----+ +-----+ +-----+ | | | | +-----+ +-----+ +-----+ | TCP | | UDP | ... | ... | +-----+ +-----+ +-----+ | | | +--------------------------+----+ | Internet Protocol & ICMP | +--------------------------+----+ | +---------------------------+ | Local Network Protocol | +---------------------------+ Relaciones del protocolo Figure 1. El Internet Protocol interconecta en un lado a los protocolos de alto nivel del anfitrión-a-anfitrión y en el otro lado al protocolo de red local. En este contexto una “red local” puede ser una red pequeña en un edificio o una red grande tal como el ARPANET. 2.2. Modelo de la operación El modelo de la operación para transmitir un datagrama a partir de un programa de uso a otro es ilustrado por el panorama siguiente: Suponemos que esta transmisión implicará una entrada intermedia. El programa de uso que envía elabora sus datos e invita su módulo local del Internet para enviar que los datos como datagrama y pasa la dirección de destinación y otros parámetros como discusiones de la llamada. El módulo del Internet prepara un jefe del datagrama y une los datos a él. El módulo del Internet determina una dirección de red local para este internet address, en este caso él es la dirección de una entrada. Envía este datagrama y la dirección de red local al interfaz local de la red. El interfaz local de la red crea un jefe local de la red, y une el datagrama a él, después envía el resultado vía la red local. El datagrama llega un anfitrión de la entrada envuelto en el jefe local de la red, el interfaz local de la red pela este jefe, y da la vuelta al datagrama al módulo del Internet. El módulo del Internet se determina del internet address que el datagrama debe ser remitido a otro anfitrión en una segunda red. El módulo del Internet determina una dirección neta local para el anfitrión de la destinación. Invita el interfaz local de la red para que esa red envíe el datagrama. Este interfaz local de la red crea un jefe local de la red y une el datagrama que envía el resultado al anfitrión de la destinación. En este anfitrión de la destinación el datagrama es pelado del jefe neto local por el interfaz local de la red y dado al módulo del Internet. El módulo del Internet se determina que el datagrama está para un programa de uso en este anfitrión. Pasa los datos al programa de uso en respuesta a una llamada del sistema, pasando la dirección de la fuente y otros parámetros como resultados de la llamada. Application Application Program Program \ / Internet Module Internet Module Internet Module \ / \ / LNI-1 LNI-1 LNI-2 LNI-2 \ / \ / Local Network 1 Local Network 2 Trayectoria de transmisión Figure 2 2.3. Descripción de la función La función o el propósito del Internet Protocol es mover datagramas a través de un sistema interconectado de redes. Esto es hecha pasando los datagramas a partir de un módulo del Internet a otro hasta que se alcanza la destinación. Los módulos del Internet residen en anfitriones y entradas en el sistema del Internet. Los datagramas se encaminan a partir de un módulo del Internet a otro a través de las redes individuales basadas en la interpretación de un internet address. Así, un mecanismo importante del Internet Protocol es el internet address. En la encaminamiento de mensajes a partir de un módulo del Internet a otro, los datagramas pueden necesitar atravesar una red que tamaño máximo del paquete sea más pequeño que el tamaño del datagrama. Para superar esta dificultad, un mecanismo de la fragmentación se proporciona en el Internet Protocol. Dirección Una distinción se hace entre los nombres, las direcciones, y las rutas [4]. Un nombre indica lo que buscamos. Una dirección indica donde está. Una ruta indica cómo conseguir allí. El Internet Protocol se ocupa sobre todo de direcciones. Es la tarea (es decir, anfitrión-a-anfitrión o uso) de protocolos de alto nivel hacer traz de nombres a las direcciones. El módulo del Internet traz direcciones del Internet a las direcciones netas locales. Es la tarea (es decir, red o las entradas local) de los procedimientos de nivel inferior hacer traz de direcciones netas locales a las rutas. Las direcciones son de longitud fija de cuatro octetos (32 pedacitos). Una dirección comienza con un network number, seguido por la dirección local (llamada el campo del “resto”). Hay tres formatos o clases de las direcciones del Internet: en la clase a, el pedacito de la alta orden es cero, los 7 pedacitos siguientes son la red, y los 24 pedacitos pasados son la dirección local; en la clase b, los pedacitos de la alta orden dos son one-zero, los 14 pedacitos siguientes son la red y los 16 pedacitos pasados son la dirección local; en la clase c, los pedacitos de la alta orden tres son one-one-zero, los 21 pedacitos siguientes son la red y los 8 pedacitos pasados son la dirección local. El cuidado debe ser tomado en traz direcciones del Internet a las direcciones netas locales; un solo anfitrión físico debe poder actuar como si fuera varios anfitriones distintos al grado de usar varias direcciones distintas del Internet. Algunos anfitriones también tendrán varios interfaces físicos (multi-autoguiados hacia el blanco). Es decir, la disposición se debe hacer para un anfitrión para tener varios interfaces físicos a la red con cada uno que tiene varias direcciones lógicas del Internet. Los ejemplos de reproducciones de direcciones se pueden encontrar en “reproducciones de direcciones” [5]. Fragmentación La fragmentación de un datagrama del Internet es necesaria cuando origina en una red local que permita un tamaño grande del paquete y deba atravesar una red local esa los paquetes de los límites a un tamaño más pequeño para alcanzar su destinación. Un datagrama del Internet se puede marcar “no hace fragmentos.” Ningún datagrama del Internet así que marcado no es ser Internet hecho fragmentos bajo ninguna circunstancias. Si se va el datagrama del Internet marcado no hace fragmentos no se puede entregar a su destinación sin hacer fragmentos de ella, él a ser desechado en lugar de otro. La fragmentación, la transmisión y el nuevo ensamble a través de una red local que sea invisible al módulo del Internet Protocol se llama fragmentación del Intranet y pueden ser utilizados [6]. El procedimiento de la fragmentación y del nuevo ensamble del Internet necesita poder romper un datagrama en un número casi arbitrario de los pedazos que pueden ser vueltos a montar más adelante. El receptor de los fragmentos utiliza el campo de identificación para asegurarse de que los fragmentos de diversos datagramas no están mezclados. El campo compensado del fragmento dice a receptor la posición de un fragmento en el datagrama original. La compensación y la longitud del fragmento determinan la porción del datagrama original cubierto por este fragmento. La bandera de los más-fragmentos indica (por el reajuste) el fragmento pasado. Estos campos proporcionan la suficiente información para volver a montar datagramas. El campo de identificación se utiliza para distinguir los fragmentos de un datagrama de los de otro. El módulo del protocolo que origina de un datagrama del Internet fija el campo de identificación a un valor que deba ser único para ese par de la fuente-destinación y el protocolo por el tiempo el datagrama será activo en el sistema del Internet. El módulo del protocolo que origina de un datagrama completo fija la bandera de los más-fragmentos a cero y el fragmento compensado a cero. Para hacer fragmentos de un datagrama largo del Internet, un módulo del Internet Protocol (por ejemplo, en una entrada), crea dos datagramas nuevos del Internet y copia el contenido de los campos del jefe del Internet del datagrama largo en ambos jefes nuevos del Internet. Los datos del datagrama largo se dividen en dos porciones en un límite de 8 octetos (pedacito 64) (la segunda porción no pudo ser un múltiplo integral de 8 octetos, pero la primera debe ser). Llamar el número de 8 bloques del octeto en la primera porción NFB (para el número de los bloques del fragmento). La primera porción de los datos se pone en el primer datagrama nuevo del Internet, y el campo total de la longitud se fija a la longitud del primer datagrama. La bandera de los más-fragmentos se fija a una. La segunda porción de los datos se pone en el segundo datagrama nuevo del Internet, y el campo total de la longitud se fija a la longitud del segundo datagrama. La bandera de los más-fragmentos lleva el mismo valor que el datagrama largo. El campo compensado del fragmento del segundo datagrama nuevo del Internet se fija al valor de ese campo en el datagrama largo más NFB. Este procedimiento se puede generalizar para una fractura de la n-manera, más bien que la fractura de dos vías descrita. Para montar los fragmentos de un datagrama del Internet, un módulo del Internet Protocol (por ejemplo en un anfitrión de la destinación) combina datagramas del Internet esos que todo tiene el mismo valor para los cuatro campos: identificación, fuente, destinación, y protocolo. La combinación es hecha poniendo la porción de los datos de cada fragmento en la posición relativa indicada por el fragmento compensado en el jefe del Internet de ese fragmento. El primer fragmento tendrá el fragmento compensado cero, y el fragmento pasado tendrá la bandera de los más-fragmentos reajustada a cero. 2.4. Entradas Internet Protocol del instrumento de las entradas para remitir datagramas entre las redes. Las entradas también ponen la entrada en ejecución al protocolo de la entrada (GGP) [7] para coordinar la encaminamiento y la otra información de control del Internet. En una entrada los protocolos de alto nivel no necesitan ser puestos en ejecución y las funciones de GGP se agregan al módulo del IP. +-------------------------------+ | Internet Protocol & ICMP & GGP| +-------------------------------+ | | +---------------+ +---------------+ | Local Net | | Local Net | +---------------+ +---------------+ Gateway Protocols Figure 3. 3. SPECIFICATION 3.1. Formato de la cabecera de Internet Un resumen de la cabecera de Internet sigue: Versión: 4 pedacitos El campo de la versión indica el formato del jefe del Internet. Este documento describe la versión 4. IHL: 4 pedacitos La longitud del jefe del Internet es la longitud del jefe del Internet en 32 palabras del pedacito, y señala así al principio de los datos. Observar que el valor mínimo para un jefe correcto es 5. Tipo de servicio: 8 pedacitos El tipo de servicio proporciona una indicación de los parámetros abstractos de la calidad del servicio deseada. Estos parámetros deben ser utilizados dirigir la selección de los parámetros reales del servicio al transmitir un datagrama a través de una red particular. Varias redes ofrecen la precedencia del servicio, que trata de alguna manera alto tráfico de la precedencia como más importante que el otro tráfico (generalmente aceptando solamente tráfico sobre cierta precedencia en la época de la alta carga). La opción principal es una compensación de tres vías entre bajo-retrasa, alto-confiabilidad, y alto-rendimiento de procesamiento. Bits 0-2: Precedence. Bit 3: 0 = Normal Delay, 1 = Low Delay. Bit 4: 0 = Normal Throughput, 1 = High Throughput. Bit 5: 0 = Normal Relibility, 1 = High Relibility. Bit 6-7: Reserved for Future Use. Precedence 111 - Network Control 011 - Flash 110 - Internetwork Control 010 - Immediate 101 - CRITIC/ECP 001 - Priority 100 - Flash Override 000 - Routine El uso del retrasa, rendimiento de procesamiento, y las indicaciones de la confiabilidad pueden aumentar el coste (en un cierto sentido) del servicio. En muchas redes un funcionamiento mejor para uno de estos parámetros se junta con funcionamiento peor en otro. A excepción de casos muy inusuales a lo más dos de estas tres indicaciones deben ser fijados. El tipo de servicio se utiliza para especificar el tratamiento del datagrama durante su transmisión a través del sistema del Internet. Los mappings del ejemplo del tipo del Internet de servicio al servicio real proporcionaron en redes tales como AUTODIN II, ARPANET, SATNET, y PRNET se da en “Mappings del servicio” [8]. La designación de la precedencia del control de la red se piensa para ser utilizada dentro de una red solamente. El uso y el control reales de esa designación está hasta cada red. La designación del control de la red interna se piensa para uso de autores del control de la entrada solamente. Si el uso real de estas designaciones de la precedencia está que concierne una red particular, es la responsabilidad de esa red controlar el acceso, y uso, de esas designaciones de la precedencia. Longitud total: 16 pedacitos La longitud total es la longitud del datagrama, medida en octetos, incluyendo jefe del Internet y datos. Este campo permite que la longitud de un datagrama sea hasta 65.535 octetos. Tales datagramas largos son imprácticos para la mayoría de los anfitriones y de las redes. Todos los anfitriones se deben preparar para aceptar los datagramas de hasta 576 octetos (si llegan entero o en fragmentos). Se recomienda que los anfitriones solamente envían los datagramas a más en gran parte de 576 octetos si tienen aseguramiento que la destinación está preparada para aceptar los datagramas más grandes. El número 576 se selecciona para permitir un razonable clasificó el bloque de los datos que se transmitirá además de la información de jefe requerida. Por ejemplo, este tamaño permite un bloque de los datos de 512 octetos más 64 octetos del jefe al ajuste en un datagrama. El jefe máximo del Internet es 60 octetos, y un jefe típico del Internet es 20 octetos, permitiendo un margen para los jefes de protocolos de alto nivel. Identificación: 16 pedacitos Un valor que identifica asignado por el remitente a la ayuda en montar los fragmentos de un datagrama. Banderas: 3 pedacitos Varias banderas del control. 3.2. Discussion 3.3. Interfaces APPENDIX A: Examples & Scenarios APPENDIX B: Data Transmission Order GLOSSARY REFERENCES Original text document Complete HTML RFC (TAR, TGZ, or ZIP format)