При необходимости отправить пакет в сеть D маршрутизатор просматривает свою базу данных маршрутов и выбирает порт, имеющий наименьшее расстояния до сети назначения (в данном случае порт, связывающий его с маршрутизатором 3).
Для адаптации к изменению состояния связей и оборудования с каждой записью таблицы маршрутизации связан таймер. Если за время тайм-аута не придет новое сообщение, подтверждающее этот маршрут, то он удаляется из маршрутной таблицы.
При использовании протокола RIP работает эвристический алгоритм динамического программирования Беллмана-Форда, и решение, найденное с его помощью является не оптимальным, а близким к оптимальному. Преимуществом протокола RIP является его вычислительная простота, а недостатками - увеличение трафика при периодической рассылке широковещательных пакетов и неоптимальность найденного маршрута.
На рисунке 5.6 показан случай неустойчивой работы сети по протоколу RIP при изменении конфигурации - отказе линии связи маршрутизатора M1 с сетью 1. При работоспособном состоянии этой связи в таблице маршрутов каждого маршрутизатора есть запись о сети с номером 1 и соответствующим расстоянием до нее.
Рис. 5.6. Пример неустойчивой работы сети при использовании протокола RIP.
При обрыве связи с сетью 1 маршрутизатор М1 отмечает, что расстояние до этой сети приняло значение 16. Однако получив через некоторое время от маршрутизатора М2 маршрутное сообщение о том, что от него до сети 1 расстояние составляет 2 хопа, маршрутизатор М1 наращивает это расстояние на 1 и отмечает, что сеть 1 достижима через маршрутизатор 2. В результате пакет, предназначенный для сети 1, будет циркулировать между маршрутизаторами М1 и М2 до тех пор, пока не истечет время хранения записи о сети 1 в маршрутизаторе 2, и он не передаст эту информацию маршрутизатору М1.
|
Для исключения подобных ситуаций маршрутная информация об известной маршрутизатору сети не передается тому маршрутизатору, от которого она пришла.
Существуют и другие, более сложные случаи нестабильного поведения сетей, использующих протокол RIP, при изменениях в состоянии связей или маршрутизаторов сети.
1.5.9 Алгоритм состояния связей (на примере OSPF)
Протокол OSPF (Open Shortest Path Firs) является достаточно современной реализацией алгоритма состояния связей (он принят в 1991 году) и обладает многими особенностями, ориентированными на применение в больших гетерогенных сетях.
Протокол OSPF вычисляет маршруты в IP-сетях, сохраняя при этом другие протоколы обмена маршрутной информацией.
Непосредственно связанные (то есть достижимые без использования промежуточных маршрутизаторов) маршрутизаторы называются "соседями". Каждый маршрутизатор хранит информацию о том, в каком состоянии по его мнению находится сосед. Маршрутизатор полагается на соседние маршрутизаторы и передает им пакеты данных только в том случае, если он уверен, что они полностью работоспособны. Для выяснения состояния связей маршрутизаторы-соседи достаточно часто обмениваются короткими сообщениями HELLO.
Для распространения по сети данных о состоянии связей маршрутизаторы обмениваются сообщениями другого типа. Эти сообщения называются router links advertisement - объявление о связях маршрутизатора (точнее, о состоянии связей). OSPF-маршрутизаторы обмениваются не только своими, но и чужими объявлениями о связях, получая в конце-концов информацию о состоянии всех связей сети. Эта информация и образует граф связей сети, который, естественно, один и тот же для всех маршрутизаторов сети.
|
Кроме информации о соседях, маршрутизатор в своем объявлении перечисляет IP-подсети, с которыми он связан непосредственно, поэтому после получения информации о графе связей сети, вычисление маршрута до каждой сети производится непосредственно по этому графу по алгоритму Дэйкстры. Более точно, маршрутизатор вычисляет путь не до конкретной сети, а до маршрутизатора, к которому эта сеть подключена. Каждый маршрутизатор имеет уникальный идентификатор, который передается в объявлении о состояниях связей. Такой подход дает возможность не тратить IP-адреса на связи типа "точка-точка" между маршрутизаторами, к которым не подключены рабочие станции.
Маршрутизатор вычисляет оптимальный маршрут до каждой адресуемой сети, но запоминает только первый промежуточный маршрутизатор из каждого маршрута. Таким образом, результатом вычислений оптимальных маршрутов является список строк, в которых указывается номер сети и идентификатор маршрутизатора, которому нужно переслать пакет для этой сети. Указанный список маршрутов и является маршрутной таблицей, но вычислен он на основании полной информации о графе связей сети, а не частичной информации, как в протоколе RIP.
Описанный подход приводит к результату, который не может быть достигнут при использовании протокола RIP или других дистанционно-векторных алгоритмов. RIP предполагает, что все подсети определенной IP-сети имеют один и тот же размер, то есть, что все они могут потенциально иметь одинаковое число IP-узлов, адреса которых не перекрываются. Более того, классическая реализация RIP требует, чтобы выделенные линии "точка-точка" имели IP-адрес, что приводит к дополнительным затратам IP-адресов.
|
В OSPF такие требования отсутствуют: сети могут иметь различное число хостов и могут перекрываться. Под перекрытием понимается наличие нескольких маршрутов к одной и той же сети. В этом случае адрес сети в пришедшем пакете может совпасть с адресом сети, присвоенным нескольким портам.
Если адрес принадлежит нескольким подсетям в базе данных маршрутов, то продвигающий пакет маршрутизатор использует наиболее специфический маршрут, то есть адрес подсети, имеющей более длинную маску.
Например, если рабочая группа ответвляется от главной сети, то она имеет адрес главной сети наряду с более специфическим адресом, определяемым маской подсети. При выборе маршрута к хосту в подсети этой рабочей группы маршрутизатор найдет два пути, один для главной сети и один для рабочей группы. Так как последний более специфичен, то он и будет выбран. Этот механизм является обобщением понятия "маршрут по умолчанию", используемого во многих сетях.
Использование подсетей с различным количеством хостов является вполне естественным. Например, если в здании или кампусе на каждом этаже имеются локальные сети, и на некоторых этажах компьютеров больше, чем на других, то администратор может выбрать размеры подсетей, отражающие ожидаемые требования каждого этажа, а не соответствующие размеру наибольшей подсети.
В протоколе OSPF подсети делятся на три категории:
- "хост-сеть", представляющая собой подсеть из одного адреса,
- "тупиковая сеть", которая представляет собой подсеть, подключенную только к одному маршрутизатору,
- "транзитная сеть", которая представляет собой подсеть, подключенную к более чем одному маршрутизатору.
Транзитная сеть является для протокола OSPF особым случаем. В транзитной сети несколько маршрутизаторов являются взаимно и одновременно достижимыми. В широковещательных локальных сетях, таких как Ethernet или Token Ring, маршрутизатор может послать одно сообщение, которое получат все его соседи. Это уменьшает нагрузку на маршрутизатор, когда он посылает сообщения для определения существования связи или обновленные объявления о соседях. Однако, если каждый маршрутизатор будет перечислять всех своих соседей в своих объявлениях о соседях, то объявления займут много места в памяти маршрутизатора. При определении пути по адресам транзитной подсети может обнаружиться много избыточных маршрутов к различным маршрутизаторам. На вычисление, проверку и отбраковку этих маршрутов уйдет много времени.
Когда маршрутизатор начинает работать в первый раз (то есть инсталлируется), он пытается синхронизировать свою базу данных со всеми маршрутизаторами транзитной локальной сети, которые по определению имеют идентичные базы данных. Для упрощения и оптимизации этого процесса в протоколе OSPF используется понятие "выделенного" маршрутизатора, который выполняет две функции.
Во-первых, выделенный маршрутизатор и его резервный "напарник" являются единственными маршрутизаторами, с которыми новый маршрутизатор будет синхронизировать свою базу. Синхронизировав базу с выделенным маршрутизатором, новый маршрутизатор будет синхронизирован со всеми маршрутизаторами данной локальной сети.
Во-вторых, выделенный маршрутизатор делает объявление о сетевых связях, перечисляя своих соседей по подсети. Другие маршрутизаторы просто объявляют о своей связи с выделенным маршрутизатором. Это делает объявления о связях (которых много) более краткими, размером с объявление о связях отдельной сети.
Для начала работы маршрутизатора OSPF нужен минимум информации - IP-конфигурация (IP-адреса и маски подсетей), некоторая информация по умолчанию (default) и команда на включение. Для многих сетей информация по умолчанию весьма похожа. В то же время протокол OSPF предусматривает высокую степень программируемости.
Интерфейс OSPF (порт маршрутизатора, поддерживающего протокол OSPF) является обобщением подсети IP. Подобно подсети IP, интерфейс OSPF имеет IP-адрес и маску подсети. Если один порт OSPF поддерживает более, чем одну подсеть, протокол OSPF рассматривает эти подсети так, как если бы они были на разных физических интерфейсах, и вычисляет маршруты соответственно.
Интерфейсы, к которым подключены локальные сети, называются широковещательными (broadcast) интерфейсами, так как они могут использовать широковещательные возможности локальных сетей для обмена сигнальной информацией между маршрутизаторами. Интерфейсы, к которым подключены глобальные сети, не поддерживающие широковещание, но обеспечивающие доступ ко многим узлам через одну точку входа, например сети Х.25 или frame relay, называются нешироковещательными интерфейсами с множественным доступом или NBMA (non-broadcast multi-access). Они рассматриваются аналогично широковещательным интерфейсам за исключением того, что широковещательная рассылка эмулируется путем посылки сообщения каждому соседу. Так как обнаружение соседей не является автоматическим, как в широковещательных сетях, NBMA-соседи должны задаваться при конфигурировании вручную. Как на широковещательных, так и на NBMA-интерфейсах могут быть заданы приоритеты маршрутизаторов для того, чтобы они могли выбрать выделенный маршрутизатор.
Интерфейсы "точка-точка", подобные PPP, несколько отличаются от традиционной IP-модели. Хотя они и могут иметь IP-адреса и подмаски, но необходимости в этом нет.
В простых сетях достаточно определить, что пункт назначения достижим и найти маршрут, который будет удовлетворительным. В сложных сетях обычно имеется несколько возможных маршрутов. Иногда хотелось бы иметь возможности по установлению дополнительных критериев для выбора пути: например, наименьшая задержка, максимальная пропускная способность или наименьшая стоимость (в сетях с оплатой за пакет). По этим причинам протокол OSPF позволяет сетевому администратору назначать каждому интерфейсу определенное число, называемое метрикой, чтобы оказать нужное влияние на выбор маршрута.
Число, используемое в качестве метрики пути, может быть назначено произвольным образом по желанию администратора. Но по умолчанию в качестве метрики используется время передачи бита в 10-ти наносекундных единицах (10 Мб/с Ethernet'у назначается значение 10, а линии 56 Кб/с - число 1785). Вычисляемая протоколом OSPF метрика пути представляет собой сумму метрик всех проходимых в пути связей; это очень грубая оценка задержки пути. Если маршрутизатор обнаруживает более, чем один путь к удаленной подсети, то он использует путь с наименьшей стоимостью пути.
В протоколе OSPF используется несколько временных параметров, и среди них наиболее важными являются интервал сообщения HELLO и интервал отказа маршрутизатора (router dead interval).
HELLO - это сообщение, которым обмениваются соседние, то есть непосредственно связанные маршрутизаторы подсети, с целью установить состояние линии связи и состояние маршрутизатора-соседа. В сообщении HELLO маршрутизатор передает свои рабочие параметры и говорит о том, кого он рассматривает в качестве своих ближайших соседей. Маршрутизаторы с разными рабочими параметрами игнорируют сообщения HELLO друг друга, поэтому неверно сконфигурированные маршрутизаторы не будут влиять на работу сети. Каждый маршрутизатор шлет сообщение HELLO каждому своему соседу по крайней мере один раз на протяжении интервала HELLO. Если интервал отказа маршрутизатора истекает без получения сообщения HELLO от соседа, то считается, что сосед неработоспособен, и распространяется новое объявление о сетевых связях, чтобы в сети произошел пересчет маршрутов.
1.5.10 Комбинирование различных протоколов обмена
Большинство протоколов маршрутизации, применяемых в современных сетях с коммутацией пакетов, ведут свое происхождение от сети Internet и ее предшественницы - сети ARPANET. Для того, чтобы понять их назначение и особенности, полезно сначала познакомится со структурой сети Internet, которая наложила отпечаток на терминологию и типы протоколов.
Internet изначально строилась как сеть, объединяющая большое количество существующих систем. С самого начала в ее структуре выделяли магистральную сеть (core backbone network), а сети, присоединенные к магистрали, рассматривались как автономные системы (autonomous systems). Магистральная сеть и каждая из автономных систем имели свое собственное административное управление и собственные протоколы маршрутизации. Общая схема архитектуры сети Internet показана на рисунке 5.7. Далее маршрутизаторы будут называться шлюзами для следования традиционной терминологии Internet.
Рис. 5.7. Архитектура сети Internet.
Шлюзы, которые используются для образования подсетей внутри автономной системы, называются внутренними шлюзами (interior gateways), а шлюзы, с помощью которых автономные системы присоединяются к магистрали сети, называются внешними шлюзами (exterior gateways). Непосредственно друг с другом автономные системы не соединяются. Соответственно, протоколы маршрутизации, используемые внутри автономных систем, называются протоколами внутренних шлюзов (interior gateway protocol, IGP), а протоколы, определяющие обмен маршрутной информацией между внешними шлюзами и шлюзами магистральной сети - протоколами внешних шлюзов (exterior gateway protocol, EGP). Внутри магистральной сети также может использоваться любой собственный внутренний протокол IGP.
Смысл разделения всей сети Internet на автономные системы в ее многоуровневом представлении, что необходимо для любой крупной системы, способной к расширению в больших масштабах. Внутренние шлюзы могут использовать для внутренней маршрутизации достаточно подробные графы связей между собой, чтобы выбрать наиболее рациональный маршрут. Однако, если информация такой степени детализации будет храниться во всех маршрутизаторах сети, то топологические базы данных так разрастутся, что потребуют наличия памяти гигантских размеров, а время принятия решений о маршрутизации непременно возрастет.
Поэтому детальная топологическая информация остается внутри автономной системы, а автономную систему как единое целое для остальной части Internet представляют внешние шлюзы, которые сообщают о внутреннем составе автономной системы минимально необходимые сведения - количество IP-сетей, их адреса и внутреннее расстояние до этих сетей от данного внешнего шлюза.
При инициализации внешний шлюз узнает уникальный идентификатор обслуживаемой им автономной системы, а также таблицу достижимости (reachability table), которая позволяет ему взаимодействовать с другими внешними шлюзами через магистральную сеть.
Затем внешний шлюз начинает взаимодействовать по протоколу EGP с другими внешними шлюзами и обмениваться с ними маршрутной информацией, состав которой описан выше. В результате, при отправке пакета из одной автономной системы в другую, внешний шлюз данной системы на основании маршрутной информации, полученной от всех внешних шлюзов, с которыми он общается по протоколу EGP, выбирает наиболее подходящий внешний шлюз и отправляет ему пакет.
1.5.11 Протоколы EGP и BGP сети Internet
В протоколе EGP определены три основные функции:
- установление соседских отношений,
- подтверждение достижимости соседа,
- обновление маршрутной информации.
Каждая функция работает на основе обмена сообщениями запрос-ответ.
Так как каждая автономная система работает под контролем своего административного штата, то перед началом обмена маршрутной информацией внешние шлюзы должны согласиться на такой обмен. Сначала один из шлюзов посылает запрос на установление соседских отношений (acquisition request) другому шлюзу. Если тот согласен на это, то он отвечает сообщением подтверждение установления соседских отношений (acquisition confirm), а если нет - то сообщением отказ от установления соседских отношений (acquisition refuse), которое содержит также причину отказа.
После установления соседских отношений шлюзы начинают периодически проверять состояние достижимости друг друга. Это делается либо с помощью специальных сообщений (привет (hello) и Я-услышал-тебя (I-heard-you)), либо встраиванием подтверждающей информации непосредственно в заголовок обычного маршрутного сообщения.
Обмен маршрутной информацией начинается с посылки одним из шлюзов другому сообщения запрос данных (poll request) о номерах сетей, обслуживаемых другим шлюзом и расстояниях до них от него. Ответом на это сообщение служит сообщение обновленная маршрутная информация (routing update). Если же запрос оказался некорректным, то в ответ на него отсылается сообщение об ошибке.
Все сообщения протокола EGP передаются в поле данных IP-пакетов. Сообщения EGP имеют заголовок фиксированного формата (рисунок 5.8).
Поля Тип и Код совместно определяют тип сообщения, а поле Статус - информацию, зависящую от типа сообщения. Поле Номер автономной системы - это номер, назначенный той автономной системе, к которой присоединен данный внешний шлюз. Поле Номер последовательности служит для синхронизации процесса запросов и ответов.
Рис. 5.8. Формат сообщения протокола EGP.
Поле IP-адрес исходной сети в сообщениях запроса и обновления маршрутной информации обозначает сеть, соединяющую два внешних шлюза (рисунок 5.8).
Сообщение об обновленной маршрутной информации содержит список адресов сетей, которые достижимы в данной автономной системе. Этот список упорядочен по внутренним шлюзам, которые подключены к исходной сети и через которые достижимы данные сети, а для каждого шлюза он упорядочен по расстоянию до каждой достижимой сети от исходной сети, а не от данного внутреннего шлюза. Для примера, приведенного на рисунке 5.9, внешний шлюз R2 в своем сообщении указывает, что сеть 4 достижима с помощью шлюза R3 и расстояние ее равно 2, а сеть 2 достижима через шлюз R2 и ее расстояние равно 1 (а не 0, как если бы шлюз измерял ее расстояние от себя, как в протоколе RIP).
Протокол EGP имеет достаточно много ограничений, связанных с тем, что он рассматривает магистральную сеть как одну неделимую магистраль.
Развитием протокола EGP является протокол BGP (Border Gateway Protocol), имеющий много общего с EGP и используемый наряду с ним в магистрали сети Internet.
Рис. 5.9. Пример автономной системы.
1.6. Протоколы прикладного уровня
1.6.1 Основные сервисы Интернет и соответствующие протоколы
Наиболее удобным и мощным инструментом управления информацией в глобальной телекоммуникационной сети Internet является "Всемирная Паутина" World Wide Web (WWW). Для извлечения информации из различных источников WWW использует кроме своего собственного протокола практически все возможности Internet. Клиентское программное обеспечение существует для большинства платформ и операционных систем от персональных ЭВМ до суперкомпьютеров.
Полноценно работать с богатейшей информацией, предоставляемой огромным числом WWW-серверов по всему миру, могут лишь те пользователи, которые имеют соединение с Internet. Это или прямой доступ, обычно он имеется у крупных компаний или университетов, или доступ по коммутируемой телефонной линии с помощью протоколов SLIP и PPP. К сожалению, ена такого соединения, предлагаемая отечественными поставщиками телекоммуникационных услуг на сегодняшний день остается на достаточно высоком уровне и доступна далеко не каждому пользователю.
Опишем подробнее основные виды сервиса Internet, которыми до повсеместного распространения WWW пользовались миллионы людей во всем мире на протяжении двух десятилетий, и продолжают успешно пользоваться по сей день. Это удаленный доступ, передача файлов и электронная почта.
Удаленный доступ (TELNET)
Internet позволяет вам входить на любой доступный компьютер сети, как бы вы далеко от него не находились, и работать на нем как бы с удаленного терминала, сменяя каталоги, просматривая файлы, запуская программы. Это должен быть компьютер, на котором вы зарегистрированы в качестве пользователя, или один из общедоступных серверов, предоставляющих те или иные услуги, например каталог библиотеки или база данных.
Программа для удаленного доступа называется telnet и состоит из двух взаимодействующих между собой частей: клиента и сервера. Программа-клиент выполняется на вашем компьютере, программа-сервер на компьютере, на который вы заходите. Эти программы обмениваются данными на основании набора правил, называемому протоколом. Точное следование протоколу позволяет устанавливать соединение и проводить сеанс между компьютерами независимо от их типа.
По умолчанию протокол telnet использует для соединения порт номер 23. Здесь и далее под словом порт подразумевается не физический канал ввода-вывода компьютера, а номер, позволяющий определить вид соединения для различных приложений Internet. Если для связи с удаленным компьютером должен использоваться какой-либо порт, отличный от стандартного, вы должны указать его в командной строке после имени компьютера, например telnet base.info.com 1001.
Существует значительное количество программ-клиентов telnet для различных систем, которые позволяют облегчить и упростить связь с удаленным компьютером, сделать ее удобной для пользователя. Некоторые свободно распространяемые или условно-бесплатные их версии можно найти в Internet.
Передача файлов (FTP)
Вы могли заметить, что программа для работы в удаленной системе telnet может действительно очень многое, но она не позволяет перемещать файлы с одного компьютера на другой. Для этой цели существует программа ftp, получившая свое название от одноименного прикладного протокола (File Transfer Protocol - протокол передачи файлов).
Программа ftp как и telnet состоит из клиента, запускаемого на вашем компьютере и программы ftp-сервера, выполняющейся на удаленном компьютере в фоновом режиме. Протокол ftp использует для передачи команд и данных порты 20 и 21. В дружественных по отношению к пользователю операционных системах используются удобные клиентские программы с интуитивным интерфейсом, понятным без дополнительных описаний. При доступе в Internet по вызову (Dial-up) придется изучить команды стандартного ftp. Кстати, Windows-95 включает в себя именно такой, простой ftp, работающий к тому же в окне DOS.
Анонимный FTP
Одной из важнейших возможностей предоставляемой протоколом ftp является анонимный ftp, позволяющий сделать те или иные файлы доступными всему сетевому сообществу. Анонимный ftp не требует от пользователя быть зарегистрированным на компьютере, где установлен этот сервис. Многие анонимные серверы работают круглосуточно, но на некоторые из них в рабочие часы доступ закрыт.
Для анонимного входа используется специально зарезервированное имя anonymous. Если в этот момент анонимный доступ открыт система попросит вас ввести в качестве пароля ваш электронный адрес. После чего вы можете воспользоваться услугами сервера. Обычно общедоступные файлы можно начинать искать с каталога /pub.
На анонимных ftp-серверах можно найти самую различную информацию. Это всевозможные архивы общедоступного программного обеспечения для разнообразных систем, а также архивы компьютерных компаний, которые помещают на свои серверы Upgrade и Demo версии своих программных продуктов, а также дополнения к документации или сообщения об обнаруженных ошибках. Там можно найти всеобъемлющую документацию по Internet, библиотеки компьютерных изображений, карты, схемы, а также репродукции картин.
Большой список анонимных ftp-серверов находится по адресу ftp://nic.switch.ch/file_server/FTP/sitelist/ и состоит из 23 частей общим объемом около 1,3 Мб.
Поиск файлов
Как вы можете видеть, информация в Internet не упорядочена и единого каталога файлов не существует. Как же найти требуемый файл на необъятном пространстве сети? Для этого существуют поисковые порталы:
- https://www.google.com
- https://www.yandex.ru или его мини-версия https://www.ya.ru
- https://www.yahoo.com
- https://www.rambler.ru
- https://www.meta.ua
- https://www.bigmir.net
Электронная почта (E-mail)
Электронная почта - это основная область применения Internet. Популярность электронной почты объясняется, как насущными требованиями, так и тем, что большинство подключений - подключения с помощью модема и телефонной линии. А пользоваться электронной почтой можно при любом виде доступа в Internet.
Напомним, что адрес электронной почты имеет вид: user@host
где host - имя компьютера, user - имя пользователя на этом компьютере. Адрес может подсказать местоположение его владельца - самая правая часть имени компьютера указывает, как правило, на страну. России соответствует обозначение ru, Мексике - mx, Великобритании - uk, Германии - de, Израилю - il и так далее; на Соединенные Штаты Америки указывают com, edu, mil, gov, org и net. Полный список кодов стран можно получить с анонимного ftp-сервера ftp.wisc.edu. В России для некоторых адресов вторая часть справа может указывать на город, так Москве соответствует обозначение msk, Санкт-Петербургу - spb, Екатеринбургу - e-burg, Нижнему Новгороду nnov.
Прикладных пакетов электронной почты для различных платформ существует, наверное, более сотни. По всей видимости ваш Internet провайдер предоставит вам один из них. В случае соединения по UUCP, это скорее всего так и будет, кроме того вам будет затруднительно использовать какую-либо другую программу. Основные возможности почтовых программ наглядно можно рассмотреть на примере самой простой из них - программе mail, входящей в состав операционной системы UNIX.
Программы электронной почте, как правило, ориентированы на пересылку текстовой информации. Если вы хотите переслать двоичный файл, например с исполняемым кодом программы, но по каким либо причинам не можете воспользоваться услугами протокола ftp, следует прибегнуть к кодированию. Подобные программы существуют во многих системах, традиционной считается пара uuencode - uudecode. Первая программа кодирует файл, который необходимо отправить, вторая - раскодирует.
Современные почтовые программы для MS-DOS, Windows, Macintosh не только более дружественно настроены к пользователю, имеют интерфейс в форме меню и диалогов, но и включают в себя все вышеперечисленные возможности и многие другие.
Даже если вы подключены к Internet только в режиме off-line по UUCP, с помощью электронной почты у вас сохраняется возможность не только обмениваться сообщениями, но и получать новости Usenet, и пересылать файлы, и даже просматривать "Паутину" в режиме off-line. Для этого надо обращаться к специализированным файл-серверам или серверам новостей, предоставляющим подобные услуги. Их адреса вы должны узнать у своего провайдера. При первом обращении к подобному серверу стоит послать ему в теле письма команду help.
Кроме обращения к специализированным серверам, которые обычно обслуживают только своих клиентов, посредством электронной почты вы можете участвовать в большом количестве списков рассылки. Идея списка состоит в том, что все участвующие в обсуждении какой-либо темы посылают свои сообщения в адрес ведущего списка, который, в свою очередь рассылает их по всем участникам. Перечислить все темы, обсуждаемые с помощью общедоступных списков рассылки в Internet, в пределах этой публикации не представляется возможным.