Linux для пользователя
Шрифт:
Глава 14. Интернет и электронная почта
14.1. Необходимые сведения о протоколах Интернета
ОС Linux в некотором смысле является продуктом, рожденным всемирной сетью Интернет. Создатели Linux использовали Интернет для обмена идеями, исходными кодами, просто опытом. И до настоящего времени Linux чаще всего воспринимается именно как сетевая ОС, наиболее приспособленная для решения серверных задач, как в отдельной организации, так и для обеспечения соединения с другими
Здесь не место для того, чтобы подробно объяснять устройство Интернета: для этого вам лучше найти специальные книги, посвященные этому вопросу. Но некоторые термины необходимо четко определить, чтобы последующий материал был всем понятен.
Во-первых, надо сказать, что рядовые пользователи обычно подключаются к сети Интернет через провайдера услуг Интернета (Internet Service Provider, ISP). Провайдер занимается эксплуатацией каналов связи и организацией взаимодействия пользователей с Сетью.
Во-вторых, передача информации в сети Интернет осуществляется с помощью набора (или, как часто говорят, "стека") протоколов TCP/IP.
Комплект TCP/IP состоит из нескольких различных протоколов, каждый из которых выполняет в сети определенную задачу. Базовых протоколов два: протокол управления передачей (TCP), который обеспечивает отправку и прием сообщений, и межсетевой протокол (IP), который определяет правила пересылки отдельных пакетов от отправителя получателю (правила маршрутизации). Остальные протоколы выполняют различные вспомогательные и управляющие функции.
Одним из базовых понятий протокола IP является понятие IP-адреса. Каждому сетевому интерфейсу (Ethernet-карте, последовательному порту с модемом и т. д.) на компьютере присваивается IP-адрес. Такой адрес состоит из четырех байт. Их принято записывать в так называемой "десятично-точечной нотации" (dotted decimal notation). В ней каждый байт представляется десятичным числом в интервале от 0 до 255, байты разделены точками. Возможно использование одного адреса несколькими интерфейсами на одной машине, но, как правило, этого не делают.
Последний байт в адресе считается индивидуальным адресом данного компьютера (точнее, интерфейса, но обычно говорят именно об адресе компьютера). Оставшаяся часть считается "сетевой частью" адреса. Для выделения сетевой части применяют так называемую "маску". Это такая последовательность, наложение которой в двоичной форме на адрес машины (операцией "логическое И") выделяет "сетевую часть". Добавлением к сетевой части нулевого четвертого байта получают адрес сети, к которой принадлежит данный компьютер.
В каждой сети обычно выделяют "широковещательный адрес" - специальный адрес, который "слушают" все машины в сети, кроме своего собственного. Таким образом передается информация о маршрутизации или сетевые сообщения об ошибках. Чаще всего в качестве широковещательного используют наибольший адрес в IP-сети - x.x.x.255. Однако некоторые сети используют в качестве широковещательного адрес x.x.x.0.
Все сказанное иллюстрируется следующим примером:
Для выхода в Интернет с персональных (в частности, домашних) компьютеров чаще всего используется модем и телефонная линия. Существуют два протокола, которые позволяют передавать IP-сообщения по телефонным линиям. Это протокол SLIP (Serial Line Internet Protocol - межсетевой протокол для последовательного канала) и протокол РРР (Point-to-Point Protocol - протокол "точка-точка"). SLIP по возрасту старше и поэтому не всегда удовлетворяет предъявляемым ныне требованиям, а РРР - более современный универсальный протокол, который завоевывает все большую популярность. Он обеспечивает гораздо более стабильное соединение и может поддерживать работу целого ряда сетевых протоколов помимо IP.
Для установления SLIP-соединения в дистрибутивы Linux обычно включается программа dip, а РРР-соединение устанавливается с помощью программы pppd. Эта программа конфигурирует соединение, устанавливает лимиты MTU и получает IP-адреса. В отличие от dip, pppd не умеет устанавливать соединение с удаленной хост-системой. Чтобы использовать pppd, нужно сначала установить соединение, для чего обычно используется программа chat. Сначала эта программа устанавливает соединение, а затем pppd конфигурирует его.
Протокол PPP предусматривает возможность использования средств аутентификации пользователя, подключающегося к серверу. Обычно аутентификация осуществляется за счет проверки имени и пароля пользователя. Существует два основных способа аутентификации, определяемых протоколами PAP (Password Authentication Protocol) и CHAP (Challenge Handshake Authentication Protocol).
PAP-аутентификация происходит следующим образом. При установлении PPP соединения сервер предлагает пользователю использовать аутентификацию по протоколу PAP. Пользователь соглашается и затем передает свое имя и пароль открытым текстом. Если удаленную сторону имя и пароль устраивают, то аутентификация считается успешной.
Имена и пароли для PAP хранятся в файле /etc/ppp/pap-secrets в виде отдельных строк следующего формата: имя пользователя, имя удаленного сервера и пароль. У него должны быть такие права доступа "rw- --- ---".
В принципе, в PAP используется только имя и пароль пользователя, а имя удаленного сервера нужно только для того, чтобы можно было определить, какой пароль нужно использовать в случае, когда вы используете одно и то же имя у разных провайдеров, например: