Универсальный прикладной шлюз
Для использования с коммутируемыми телефонными линиями был разработан интересный прикладной шлюз под названием slirp. Этот шлюз отличается тем, что обеспечивает доступ к нескольким службам. В частности, шлюз slirp был разработан для обеспечения возможности выполнения на домашнем компьютере любой прикладной программы для доступа к произвольному приложению в сети Internet по протоколам TCP/IP.
Чтобы оценить важность проекта slirp, необходимо знать, что он решает другую проблему по сравнению с протоколами SLIP или РРР. Программа slirp не определяет протокол инкапсуляции, предназначенный для работы по последовательной линии, а решает важную проблему IP-адресации. Эта проблема возникает, когда пользователь домашнего компьютера желает получить коммутируемый доступ к Internet. В традиционной модели IP-адресации каждому компьютеру должен быть присвоен уникальный IP-адрес. К сожалению, коммутируемый доступ усложняет проверку того, кому принадлежит данный конкретный IP-адрес, и поэтому контроль соблюдения ограничений доступа с помощью такого адреса является затруднительным. Вот почему исходя из соображений защиты многие компании не присваивают постоянные IP-адреса удаленным компьютерам и ограничивают использование обычных терминальных сеансов в режиме коммутируемого доступа.
Основным недостатком ограничения коммутируемого доступа является сужение функциональных возможностей: хотя терминальный сеанс в режиме коммутируемого доступа может выполняться с применением таких символьных протоколов, как FTP и TELNET, пользователь не может обращаться к службам типа World Wide Web, которые требуют наличия у клиентов полного доступа по протоколу IP. Программа slirp позволяет преодолеть это ограничение с помощью механизма, предоставляющего доступ по протоколу IP через коммутируемые телефонные линии без присвоения IP-адреса каждому компьютеру.
19.16. Принципы работы программы slirp
Программа slirp работает как прикладной шлюз на компьютере, имеющем и доступ к Internet, и модем для коммутируемого доступа по телефонной линии. В процессе работы с программой slirp необходимо вначале открыть обычный терминальный сеанс. Это означает, что пользователь домашнего компьютера вначале дозванивается на компьютер, предположим G, на котором работает шлюз slirp, и открывает терминальный сеанс, отправив идентификатор регистрационной учетной записи и пароль. После открытия терминального сеанса работы с компьютером G пользователь быстро выполняет один за другим два действия. Во-первых, он вызывает программу slirp на компьютере G. Во-вторых, он закрывает терминальный сеанс на домашнем компьютере и разрешает программному обеспечению протокола РРР2 использовать установленное соединение. В действительности, существует программное обеспечение, позволяющее автоматизировать действия по дозвону, запуску программы slirp на компьютере сервера, а затем запуску программного обеспечения РРР на локальном компьютере.
В процессе работы по коммутируемому соединению программное обеспечение РРР рассматривает его как последовательную линию. Средства 1Р-маршрутизации домашнего компьютера используют коммутируемое соединение как применяемый по умолчанию маршрут для всего трафика. Программное обеспечение РРР в одном конце соединения инкапсулирует дейтаграммы во фреймы РРР для передачи, а на другом конце соединения программное обеспечение этого протокола извлекает эти дейтаграммы из фреймов. Здесь узнал goldexmedia.ru
Поскольку программа slirp совместима со средствами инкапсуляции протокола РРР, она позволяет передавать или принимать дейтаграммы по коммутируемому соединению. Кроме того, программа slirp содержит весь код, необходимый для обработки входящих сегментов TCP, а также дейтаграмм IP. Например, эта программа может формировать или проверять контрольную сумму IP, а также посылать подтверждения в ответ на получение сегмента TCP. Хотя программа slirp является просто прикладной программой, она содержит программное обеспечение для всего стека протоколов TCP/IP.