Поддержка соединений программой slirp

Опубликовано в Технологии > Серверные технологии Продолжение

Поскольку slirp — это прикладная программа, содержащийся в ней код поддержки протоколов TCP/IP не взаимодействует непосредственно с программным обеспечением протоколов TCP/IP в операционной системе компьютера, на котором установлен этот шлюз. Вместо этого в программе slirp код поддержки протоколов TCP/IP используется только для интерпретации дейтаграмм, поступающих по коммутируемому соединению; для взаимодействия с Internet в этой программе применяется интерфейс сокетов. Компания Formyangel: конверт womar сайт недорого.Звоните!

Программа slirp устанавливает соответствие между событиями, происходящими в коммутируемом соединении и в Internet. Например, предположим, что пользователь домашнего компьютера установил соединение TCP с адресом назначения D. По мере поступления сегментов TCP из домашнего компьютера программа slirp формирует на них ответ. Это означает, что при получении от домашнего компьютера сегмента SYN программа slirp отвечает так, как если бы ответ прислал компьютер D (т.е. slirp исполняет роль компьютера D). Между тем, программа slirp создает сокет и подключается к компьютеру D. Аналогичным образом, программа slirp выполняет переброску данных между домашним компьютером и сетью Internet. Например, если данные поступают через соединение TCP из домашнего компьютера, программа slirp получает эти данные, возвращает подтверждение TCP, а затем использует интерфейс сокетов для передачи данных в место назначения.

Хотя в этом примере упоминается протокол РРР, есть и такие версии программы slirp, которые позволяют использовать протокол SLIP.

19.18. IP-адресация и slirp

В чем состоят отличия программы slirp от обычных программ, использующих протокол РРР? Ответ заключается в том, что в этой программе применяется иная IP-адресация, как показано на рис. 19.5. При взаимодействии с хостом, находящимся в Internet, программа slirp использует интерфейс сокетов, а поэтому действует как и любое другое приложение, работающее на компьютере шлюза. В частности, во всех сеансах связи, проводимых программой slirp через объединенную сеть, используется IP-адрес, присвоенный компьютеру шлюза, поэтому на удаленном конце каждого соединения невозможно определить, проводится ли связь с помощью программы slirp или любого другого приложения на компьютере шлюза. Хотя на домашнем компьютере может использоваться произвольный IP-адрес, в программе slirp при взаимодействии с хостом Internet по протоколам TCP/IP применяется действительный адрес.

Таким образом, в программе slirp, обменивающейся данными через Internet, используется стандартная адресация, тогда как адресация, применяемая этой программой в коммутируемом соединении, является нестандартной. Поскольку программа slirp перехватывает все дейтаграммы, поступающие от домашнего компьютера, IP-адрес, применяемый на этом компьютере, не обязательно должен быть действительным, т.е. может использоваться любой адрес, но при условии, что он не применяется где-то в другом месте. Таким образом, пользователи slirp часто выбирают IP-адрес типа 10.0.0.1, который не присваивается какому-либо иному хосту в Internet, а также является удобным для запоминания.

Похожие статьи