2013-03-14 2 views
4

Я написал две серверные программы для двойного стека перед реализацией в приложении., какой подход к серверу с двумя стеками лучше?

  1. Программа двухэтапного сервера, которая может принимать как клиентов IPv6, так и IPv4 с одним интерфейсом IPv6. Но IPv4 reuest как отображаемый IPv6-адрес.

  2. Программа двухэтапного сервера, имеющая два интерфейса, прослушивает так, чтобы обрабатывать клиенты IPv6 и IPv4 отдельно, как интерфейс IPv6 для клиентов IPv6 и IPv4-интерфейс для клиентов IPv4, в которых нет участия IPv4-сопоставленного адреса для запроса клиента IPv4 к серверу.

Оба работают нормально. Но поскольку мне нужно использовать только одну модель сервера для построения моего серверного приложения. поэтому, какой из них предпочтительнее или даже предлагать мне, если есть какая-либо другая лучшая модель.?

Is IPv4 сопоставленный IPv6-адрес будет создавать любые проблемы в будущем.?

Может ли кто-нибудь мне помочь. Заранее спасибо за помощь. (работает в среде Linux 2.6.9 & сетевое программирование с использованием C.)

+0

Вам нужно когда-либо настраивать IPv4-платформы, которые невозможно построить с помощью кода IPv6? –

+0

Нет. Ядро поддерживает как IPv4, так и IPv6. Нам нужно общаться с клиентами IPv4/IPv6, а также приложениям, чтобы поддерживать автономную платформу. –

ответ

2

Если вы можете делать все, что вам нужно с IPv6, то я думаю, что вариант 1 намного проще. Ваш код будет более чистым, а обслуживание будет проще. Возможно, вы захотите явно установить флаг IPV6_V6ONLY в ваш код 0, если вы полагаетесь на это, если поведение по умолчанию будет изменено с помощью sysadmin.

+0

Спасибо @Sander steffann –

+0

Спасибо @Sander steffann. Мое требование - это сервер с двумя стеками, который я сделал с одним интерфейсом в 1-й модели. Как вы сказали, первая модель проста в обслуживании. Но я столкнулся с проблемой пересмотра статьи с IPv4 Mapped адресом в книге «Сетевое программирование IPv6». Jun-ichiro itojun Hagino (книги Google). В главе 4, раздел 4.3, были упомянуты некоторые проблемы, что использование IPv4-адреса IPv6, сопоставленного IPv6, влияет на безопасность и переносимость. Таким образом, безопасность приложений важна, что даже требует дополнительного интерфейса.? Заранее спасибо .. –

+0

Я не могу представить никаких проблем с безопасностью с этим подходом ... –