IPv4 был разработан при поддержке DARPA для использования в ARPANET. Эти протоколы общеизвестны как TCP/IP, хотя TCP и IP являются лишь двумя из множества протоколов в семействе. Эти протоколы не предполагают наличие надежной подсети, которая гарантирует доставку данных. Вместо этого IPv4 был придуман для модели, в которой хосты принадлежат к сетям с различными характеристиками, а сети были объединены маршрутизаторами.
Протоколы Интернета были разработаны для сетей с коммутацией пакетов, использующих дейтаграммы, переправляемые через соединения типа Ethernet, которые не предоставляют уведомлений о доставке.
Эта модель ведет к использованию по меньшей мере двух уровней протоколов IPv4. Один уровень работает в сквозном режиме между двумя хостами, вовлеченными в диалог. Он основан на протоколе более низкого уровня, который работает на последовательной основе, переправляя каждое сообщение на хост назначения через промежуточные маршрутизаторы. Вообще существует по крайней мере один уровень протокола над другими двумя - это уровень приложения. Эти три уровня примерно соответствуют уровням 3 (сетевому), 4 (транспортному) и 7 (прикладному) в эталонной модели взаимодействия открытых систем ISO [ISO, 1984].
Разбиение на уровни протоколов, поддерживающих эту модель, показано на рисунке.
IPv4 - протокол" title="IPv4 - протокол" />
Протокол Интернета (IP) является в данной модели протоколом самого низкого уровня; этот уровень соответствует сетевому уровню ISO. IP работает шаг за шагом, когда дейтаграмма отправляется от исходящего хоста на место назначения через любые промежуточные маршрутизаторы. Он предоставляет службы сетевого уровня по адресации хостов, маршрутизации и при необходимости фрагментации и повторной сборки, если промежуточные сети не могут переслать весь пакет как одно целое. Все другие протоколы используют службы IPv4. Протокол управления передачей (TCP) и протокол пользовательских дейтаграмм (UDP) являются протоколами транспортного уровня, предоставляющими дополнительные возможности приложениям, использующим IP.
Каждый протокол добавляет к адресу хоста IP номер порта таким образом, что можно идентифицировать локальные и удаленные сокеты. TCP IPv4 предоставляет ориентированную на соединение, надежную, недублированную передачу данных с управлением потоком; он поддерживает в домене Интернета тип сокетов потока. UDP кроме идентификатора порта предоставляет контрольную сумму данных для проверки целостности, но в других отношениях мало что добавляет к службам, предоставляемым IP. UDP является протоколом, используемым в домене Интернета сокетами дейтаграмм. Протокол управляющих сообщений Интернета (ICMP) используется для сообщений об ошибках и других простых задач по управлению сетью; он логически является частью IP, но подобно транспортным протоколам расположен над IP. Пользователи обычно не получают к нему доступ. Непосредственный доступ к протоколам IP и ICMP возможен через прямые сокеты.
Протоколы Интернета IPv4 были разработаны для поддержки гетерогенных систем хостов и архитектур, которые используют широкое разнообразие внутренних представлений данных. Даже основная единица данных (байт) не была одинаковой на всех хостах; один типичный тип хоста поддерживал байты переменного размера. Однако сетевым протоколам требуется стандартное представление. Это представление выражается через использование октета - 8-битного байта.
Мы будем использовать этот термин, поскольку он используется в спецификациях протоколов для описания сетевых данных, хотя мы будем продолжать использовать термин байт для ссылки на данные или память внутри системы. Все поля в протоколах Интернета IPv4, которые превышают размер октета, выражаются в сетевом порядке байтов, когда старший октет идет первым. Сетевая реализация FreeBSD использует набор процедур или макросов для преобразования 16-разрядных и 32-разрядных целых полей между порядками байтов хоста и сети на хостах (таких, как системы PC), которые имеют отличный собственный порядок.
- 14/01/2010 18:56 - UDP. Протокол пользовательских дейтаграмм
- 14/01/2010 11:41 - Управляющие блоки протоколов
- 14/01/2010 09:55 - Порты и связи Интернета
- 14/01/2010 09:39 - Многоадресная рассылка Интернета. Setsockopt
- 14/01/2010 09:29 - Широковещательные адреса