Создание системы ТСР-проксирования
Предлагается разработать системы ТСР-проксирования.
!!!Пожалуйста, только люди с значительным практическим опытом работы с сетевыми интерфейсами, программирования под них.
Краткое ТЗ
Действующие лица: Клиент, Сервер А, Сервер Б.
Основная задача: Передавать данные от Сервера Б к Клиенту, так чтобы IP-адрес Сервера Б не фигурировал нигде в соединение.
Предположтельная схема решения:
1. Клиент посылает SYN пакет к Серверу А.
2. Сервер А передает параметры пакета Серверу Б (Sequence number)
3. Сервер Б отвечает Клиенту SYN-ACK пакетом (с соответствующим Acknowledgment number)
4. Клиент посылает SYN-ACK-ACK пакет на Сервер А, тем самым завершается "установка соединения"
5. Пакеты с данными передаюся Клиенту от Сервера Б.
Необходимо реализовать серверное ПО (Linux/BSD) для Серверов А и Б для практического использования данной схемы.
Предполагается что система должна работать устойчиво (сессия поддерживается длительное время), так как с Сервера Б клиенту будут отгружаться большие обьемы данных.
На уровне НТТР все должно выглядеть как обычная сессия между Клиентом и Сервером А.