Датаграмма: История и Принципы Передачи Данных в Пачковых Сетях
Datagram
Датаграмма: основная единица передачи данных в пакетных сетях. Бесконнечная связь, структура (заголовок и полезная нагрузка), отсутствие гарантий доставки.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Базовая единица передачи данных, связанная с сетью с коммутацией пакетов.
Basic data transfer unit associated with a packet switched network
Датаграмма – это базовая единица передачи данных, используемая в сети с коммутацией пакетов. Датаграммы обычно имеют структуру, состоящую из заголовка и полезной нагрузки. Датаграммы обеспечивают бессоединительный способ передачи данных в сети с коммутацией пакетов. Сеть не гарантирует доставку, время доставки и порядок следования датаграмм.
A datagram is a basic transfer unit associated with a packet switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet switched network. The delivery, arrival time, and order of arrival of datagrams need not be guaranteed by the network.
История
В начале 1970-х годов термин "датаграмма" был создан путем объединения слов "данные" и "телеграмма" докладчиком CCITT по коммутации пакетов, Халвором Ботнером Байом. Хотя слово было новым, концепция уже имела долгую историю. В 1964 году Пол Баран описал в докладе корпорации RAND гипотетическую военную сеть, которая должна была противостоять ядерной атаке. Небольшие стандартизированные блоки сообщений, содержащие адреса источника и назначения, хранились и пересылались в компьютерных узлах высоко избыточной сети. "Пользователь сети, установивший виртуальное соединение с конечной станцией и передавший сообщения, также может рассматривать систему как черный ящик, обеспечивающий видимое цепное соединение". В 1967 году Дональд Дэвис опубликовал основополагающую статью, в которой представил пакет и коммутацию пакетов. Его предложенная базовая сеть аналогична предложенной Полом Бараном, хотя и разработана независимо. Он предполагал, что "все пользователи сети обеспечат себя некоторой формой контроля ошибок". Его целью была "сеть связи общего пользования". Для поддержки удаленного доступа к компьютерным службам с помощью пользовательских терминалов, которые в то время передавали данные посимвольно, он включил в периферию сети интерфейсные компьютеры, преобразующие потоки символов в потоки пакетов и наоборот. В 1970 году Лоуренс Робертс и Барри Д. Уэслер опубликовали статью об ARPANET, первой многоузловой сети коммутации пакетов. Сопроводительная статья описывала ее коммутационные узлы (IMP) и форматы пакетов. Сетевое ядро выполняло коммутацию датаграмм, как в модели Барана и Дэвиса, но услуга, предоставляемая хостам сетью, была ориентирована на установление соединения. Таким образом, пользовательским компьютерам предоставлялась надежная служба передачи сообщений, что значительно упростило проектирование сети. Это сделало ARPANET тем, что впоследствии стали называть сетью виртуальных каналов. Робертс представил идею коммутации пакетов профессионалам в области связи и столкнулся с гневом и враждебностью. До запуска ARPANET они утверждали, что буферы маршрутизаторов быстро заполнятся. После запуска ARPANET они утверждали, что коммутация пакетов никогда не станет экономически выгодной без государственной поддержки. Баран столкнулся с тем же отказом и не смог убедить военных построить сеть коммутации пакетов. В 1973 году Луи Пузин представил свой проект CYCLADES, первой крупномасштабной сети, реализующей чистую модель датаграмм Дэвиса. Таким образом, команда CYCLADES первой взялась за решение очень сложной задачи предоставления пользовательским приложениям надежной виртуальной схемы, используя принцип "от конца к концу" в сетевой службе, которая, как известно, может приводить к незначительным потерям и переупорядочиванию датаграмм. Хотя первоочередная задача Пузина заключалась "не в том, чтобы совершить прорыв в технологии коммутации пакетов, а в создании надежного средства связи для CYCLADES",
In the early 1970s, the term datagram was created by combining the words data and telegram by the CCITT rapporteur on packet switching, Halvor Bothner By. While the word was new, the concept had already a long history. In 1964, Paul Baran described, in a RAND Corporation report, a hypothetical military network having to resist a nuclear attack. Small standardized message blocks, bearing source and destination addresses, were stored and forwarded in computer nodes of a highly redundant meshed computer network. "The network user who has called up a virtual connection to an end station and has transmitted messages might also view the system as a black box providing an apparent circuit connection". In 1967, Donald Davies published a seminal article in which he introduced the packet and packet switching. His proposed core network is similar to the one proposed by Paul Baran though developed independently. He assumes that "all users of the network will provide themselves with some kind of error control". His target is a "common carrier communication network". To support remote access to computer services by user terminals, which at that time were transmitted character by character, he included, at the network periphery, interface computers that convert character flows into packet flows and vice versa. In 1970, Lawrence Roberts and Barry D. Wessler published an article about ARPANET, the first multi node packet switching network. An accompanying paper described its switching nodes (the IMPs) and its packet formats. The network core performed datagram switching as in Baran's and Davies' model, but the service offered to hosts by the network was connection oriented. A reliable message transfer service was thus offered to user computers, thus greatly simplifying the network design. This made the ARPANET what would come to be called a virtual circuit network. Roberts presented the idea of packet switching to the communication professionals and faced anger and hostility. Before ARPANET was operating, they argued that the router buffers would quickly run out. After the ARPANET was operating, they argued packet switching would never be economic without the government subsidy. Baran faced the same rejection and thus failed to convince the military to construct a packet switching network. In 1973, Louis Pouzin presented his design for CYCLADES, the first large scale network implementing the pure Davies datagram model. The CYCLADES team has thus been the first to tackle the highly complex problem of providing user applications a reliable virtual circuit service while using the end to end principle in a network service known to possibly produce non negligible datagram losses and reordering. Although Pouzin's concern "in a first stage is not to make breakthrough [sic] in packet switching technology, but to build a reliable communications tool for Cyclades",
Сервис датаграмм часто сравнивают со службой почтовой доставки; пользователь предоставляет только адрес назначения, но не получает никакой гарантии доставки и никакого подтверждения об успешном получении. Поэтому сервис датаграмм считается ненадежным. Сервис датаграмм маршрутизирует датаграммы без предварительного создания предопределенного пути. Поэтому сервис датаграмм считается без установления соединения. Также не учитывается порядок, в котором датаграммы отправляются или принимаются. Фактически, многие датаграммы в одной группе могут следовать разными путями, прежде чем достичь одного и того же пункта назначения в другом порядке.
Datagram service is often compared to a mail delivery service; the user only provides the destination address but receives no guarantee of delivery, and no confirmation upon successful receipt. Datagram service is therefore considered unreliable. Datagram service routes datagrams without first creating a predetermined path. Datagram service is therefore considered connectionless. There is also no consideration given to the order in which it and other datagrams are sent or received. In fact, many datagrams in the same group can travel along different paths before reaching the same destination in a different order.
Структура
Каждая датграмма состоит из двух частей: заголовка и полезной нагрузки данных. Заголовок содержит всю информацию, необходимую для маршрутизации от отправляющего устройства к получателю без необходимости предварительного обмена данными между устройством и сетью. Заголовки могут включать адреса источника и назначения, а также поля, указывающие тип и длину данных. Полезная нагрузка – это сами данные, подлежащие передаче. Этот процесс помещения полезной нагрузки данных в заголовок с метками называется инкапсуляцией.
Each datagram has two components, a header and a data payload. The header contains all the information sufficient for routing from the originating equipment to the destination without relying on prior exchanges between the equipment and the network. Headers may include source and destination addresses as well as type and length fields. The payload is the data to be transported. This process of nesting data payloads in a tagged header is called encapsulation.
Примеры
+ Номенклатура датаграмм Уровень модели OSI Название уровня 4 Сегмент TCP Уровень 3 Сетевой пакет Уровень 2 Ethernet-кадр (IEEE 802.3) Кадр беспроводной сети LAN (IEEE 802.11) Уровень 1 Чип (CDMA)
+ Datagram nomenclature OSI layer Name Layer 4 TCP segment Layer 3 Network packet Layer 2 Ethernet frame (IEEE 802.3)Wireless LAN frame (IEEE 802.11) Layer 1 Chip (CDMA)
Интернет-протокол
Интернет-протокол (IP) определяет стандарты для нескольких типов датаграмм. Интернет-уровень предоставляет сервис датаграмм на основе IP. Например, UDP работает на основе сервиса датаграмм на интернет-уровне. IP – это полностью без установления соединения, сервис доставки сообщений по принципу "как есть", без гарантии надежности. TCP – это протокол более высокого уровня, работающий поверх IP, который обеспечивает надежный сервис с установлением соединения.
The Internet Protocol (IP) defines standards for several types of datagrams. The internet layer is a datagram service provided by an IP. For example, UDP is run by a datagram service on the internet layer. IP is an entirely connectionless, best effort, unreliable, message delivery service. TCP is a higher level protocol running on top of IP that provides a reliable connection oriented service.