Читаем Linux полностью

Не смотря на то, что адресация IP-пакетов осуществляется при помощи IP-адресов, при передаче данных с компьютера на компьютер необходимо использовать аппаратные МАС-адреса (конечно, кроме тех случаев, когда используется соединение типа «точка-точка»). Для определения соответствия аппаратных МАС-адресов IP-адресам служит протокол ARP (Address Resolution Protocol) – протокол преобразования адресов. Он применяется в сетях любых типов, использующих широковещательный режим. ARP можно применять только в пределах одной сети. Однако это не мешает передавать пакет через несколько сетей, просто при прохождении пакетом маршрутизатора, он определяет новый МАС-адрес приемника. Каждый компьютер в сети создает кэш ARP, который содержит последние запросы.

Иногда аппаратные адреса необходимо транслировать в IP-адреса. Для этого используется протокол RARP (Reverse Address Resolution Protocol, обратный протокол преобразования адресов).

Протокол ICMP

Протокол ICMP – межсетевой протокол управления сообщениями (Internet Control Message Protocol) отвечает за низкоуровневую поддержку протокола IP, включая подтверждение получения сообщения, сообщения об ошибках и многое другое. В какой-то мере может использоваться для маршрутизации пакетов.

Протоколы транспортного уровня

Протоколы транспортного уровня базируются на протоколе IP. Существуют два протокола транспортного уровня – TCP и UDP. Эти протоколы обеспечивают передачу данных с заданными характеристиками между источником и приемником данных. Эти протоколы вводят новый уровень адресации, так называемый номер порта (port number), который определяет, какому процессу на хосте передаются данные. Номера портов занимают два байта. Существует список соответствия номеров портов приложениям, определенный в RFC1700 (Request For Comments, запрос для пояснений. Данные документы описывают стандарты протоколов Интернета и их взаимодействия). Некоторые зарезервированные порты приведены в табл. 3.7.

Таблица 3.7. Сервисы и закрепленные за ними порты

Протокол TCP

Протокол TCP поддерживает надежную передачу данных с предварительным установлением связи между источником и приемником информации. На базе этого протокола реализована большая часть протоколов уровня приложений.

Протокол TCP имеет следующие характеристики, обуславливающие его широкое использование:

• перед началом передачи данных протокол создает канал между источником и приемником информации путем передачи запроса на начало сеанса и получение ответа. По окончании передачи данных сеанс должен быть явно завершен путем передачи соответствующего запроса;

• доставка данных является надежной. Перед отправкой следующего пакета источник информации должен получить подтверждение о приеме предыдущего пакета от приемника информации;

• возможность управления потоком данных;

• возможность доставки экстренных данных.

Эти возможности позволяют программам, использующим протокол TCP, не заботиться об организации надежной передачи данных. С другой стороны, использование этого протокола приводит к уменьшению скорости передачи данных.

Протокол UDP

Протокол UDP обеспечивает логический канал между источником и приемником данных без предварительного установления связи. То есть пакеты, передаваемые по протоколу UDP, не зависят друг от друга, и никакого подтверждения доставки пакета протоколом не предусматривается. Это сильно напоминает бросание бутылки с запиской в море – авось дойдет. Поэтому программы, использующие этот протокол, должны сами организовывать проверку факта доставки информации. Однако благодаря своей простоте протокол UDP может при нормальных условиях передать гораздо больше информации, чем парный ему протокол TCP.

В качестве примера приведем несколько приложений, использующих протокол U DP:

• сервер DNS;

• программы, использующие протокол синхронизации времени NTP;

• программы, использующие протокол удаленной загрузки ВООТР.

Для всех перечисленных программ предполагается, что в случае утери пакета необходимые действия (повторная посылка пакета, выдача сообщения и тому подобные действия) осуществляются самими программами. В случае необходимости гарантированной доставки данных используется протокол TCP.

Протоколы уровня приложений

Последний, четвертый уровень – уровень приложений. К сожалению, почти каждый разработчик программ, использующих протокол уровня приложения, изобретает свой протокол или модифицирует уже существующие. Однако существует некий костяк протоколов, описанный в соответствующих RFC. В зависимости от используемого протокола транспортного уровня протоколы уровня приложений либо полагаются на надежную доставку данных (протокол TCP), либо придумывают свой способ контроля достоверности данных (при использовании протокола UDP). Большая часть протоколов уровня приложений в качестве команд используют обычные английские слова (к примеру, протокол SMTP, HTTP), что значительно упрощает отладку приложений.

Протокол FTP

Перейти на страницу:

Все книги серии Наиболее полное руководство

Linux
Linux

Книга посвящена операционной системе Linux. Приводятся подробные сведения о ее особенностях и возможностях, идеологии файловой системы, инсталляции и основных командах, вопросах компиляции ядра, настройках и сервисах. Большое внимание уделяется организации на базе Linux различных серверов и служб: электронной почты, WWW, FTP, INN, Proxy, NTP, а также проблемам администрирования сети, обеспечения безопасной работы и другим вопросам. Описаны способы настройки под Linux рабочих станций, в т. ч. и бездисковых, установки и эксплуатации на них графических сред типа X Window, а также конфигурирование модемных соединений, принтеров и сканеров, отладка взаимодействия с Linux-машинами такой «экзотической» периферии, как карманные компьютеры, мобильные телефоны, TV-тюнеры и т. п. Рассматриваемые в книге конфигурационные файлы и структура каталогов соответствуют дистрибутиву Red Hat Linux 7.x, тем не менее, при минимальной адаптации все упоминаемые в книге пакеты устанавливаются в любом дистрибутиве Linux.Для начинающих администраторов или пользователей Linux.

Алексей Александрович Стахнов

ОС и Сети, интернет

Похожие книги