Можно ли реализовать Paxos с использованием одноадресных (Java) и адресов класса C?

У меня вопрос: «Возможно ли реализовать алгоритм paxos для распределенных отказоустойчивых приложений с использованием адресации класса C без использования многоадресной рассылки на основе Java, которая использует класс D?»

На самом деле, где бы я ни читал о Paxos, например это на Quora, они предлагают использовать UDP, который требует адресации класса D.

В моем проекте, в котором я реализовал распределенное приложение для загрузки файл-сервера, использовались адреса класса C в диапазоне 192.168.1.#. Теперь, если я перейду на адрес класса D для многоадресной рассылки, мне придется везде менять адреса своих серверов, что кажется мне сложной задачей!

ПРИМЕЧАНИЕ. Я знаю, что классовая адресация сейчас устарела, и мы везде используем бесклассовую адресацию. Но я использовал этот термин для уточнения своих IP-адресов.

Если ваш ответ НЕТ, то, пожалуйста, предложите, как я могу легко переключиться на многоадресную рассылку, не меняя большую часть моего кода. Спасибо.


person asad    schedule 31.07.2015    source источник
comment
Просто прочитайте статью, на которую вы ссылаетесь: они на самом деле предлагают вам использовать TCP, поскольку его проще реализовать, поскольку вам не нужно заботиться о возможной потере пакетов UDP и возможном неупорядоченном поступлении пакетов UDP.   -  person Norbert van Nobelen    schedule 31.07.2015
comment
@NorbertvanNobelen-Нет, главный вопрос: даже если я использую TCP, нужно ли использовать многоадресную рассылку? Я не могу использовать одноадресную рассылку? Пожалуйста, перечитайте мой вопрос!! Главный вопрос: как продолжать использовать Class C Address?   -  person asad    schedule 31.07.2015


Ответы (1)


Если вы хотите использовать многоадресную рассылку, вам не нужно менять адреса ваших серверов. Это совершенно другая концепция. В случае многоадресных адресов сокет привязан к адресу класса D, и в этом случае это не адрес, назначенный сетевому интерфейсу, а своего рода фильтр: вы говорите: «Я хочу получать все отправленные дейтаграммы (многоадресные) с этим адресом назначения».

Я искал несколько примеров многоадресных сокетов, но вы можете получить больше: http://web.cs.wpi.edu/~claypool/courses/4514-B99/samples/multicast.c http://examples.javacodegeeks.com/core-java/net/multicastsocket-net/java-net-multicastsocket-example/

В противном случае вам придется реализовать какое-то членство в группе с одноадресной рассылкой.

person rodolk    schedule 01.08.2015