Сравнение прикладных шлюзов и туннелей
Как было показано в предыдущей главе, для обеспечения взаимодействия между компьютерами в разнородной среде может применяться туннелирование. Иногда бывает сложно сделать выбор между туннелями и прикладными шлюзами, поскольку ни один из этих методов не решает всех проблем, и каждый метод обнаруживает определенные преимущества и недостатки в разных ситуациях.
Основное преимущество использования прикладного шлюза вместо туннеля связано с тем, что для создания прикладных шлюзов не требуется вносить изменения в операционную систему компьютера. Во многих случаях для программистов исключена возможность внесения изменений в операционную систему потому, что у них нет доступа к исходному коду или отсутствует необходимый для этого опыт. Прикладной шлюз может быть создан с использованием обычных инструментальных средств программирования; для этого не требуется вносить какие-либо изменения в программное обеспечение базового протокола. Кроме того, после установки прикладного шлюза на сетевом узле могут использоваться обычные клиентские и серверные программы.
Применение прикладных шлюзов имеет еще одно преимущество: оно позволяет обеспечить дальнейшее функционирование всех сетевых систем без каких-либо осложнений. Системным администраторам не нужно осваивать новые сетевые технологии или вносить изменения в какие-либо физические сетевые соединения. Пользователям также не нужно изучать новые интерфейсы применяемых ими служб; каждый пользователь продолжает работать с существующим клиентским программным обеспечением тех сетей, которыми он привык пользоваться.
Прикладные шлюзы имеют также определенные недостатки. Метод с применением прикладного шлюза требует разработки отдельной программы прикладного шлюза для каждой службы. Почтовый шлюз обеспечивает взаимодействие почтовых служб Двух отдельных систем, но не предоставляет возможности дистанционного доступа к файлам или дистанционной регистрации. При развёртывании в сетевых системах предприятия каждой новой службы приходится создавать новый прикладной шлюз, обеспечивающий взаимодействие компонентов новой службы, относящихся к разным сетям.
Для прикладных шлюзов могут также потребоваться дополнительные аппаратные ресурсы. Для их установки на предприятии может возникнуть необходимость приобретения новых компьютеров или установки дополнительных сетевых интерфейсов на существующих компьютерах. А для установки новых сетевых интерфейсов может потребоваться дополнительное аппаратное и программное обеспечение. Поскольку преобразование, необходимое для перенаправления сообщения или данных, может оказаться сложным, то для развертывания прикладных шлюзов требуются компьютеры с мощными процессорами или с большим объемом памяти. Поэтому перед предприятием может возникнуть необходимость приобрести дополнительные компьютеры или модернизировать существующие, чтобы они могли выдерживать нагрузку, связанную с установкой новых служб. В связи с увеличением затрат процессорного времени появляется дополнительная задержка обработки, которая складывается с существующей задержкой, возникающей в процессе обмена данными между клиентом и сервером. Если эта задержка становится значительной, клиентская программа может зарегистрировать тайм-аут при передаче сообщения и отправить его повторно.