2014-12-04 2 views
1

Сначала немного фона: у меня есть идея для чата. Я не хочу, чтобы пользователю нужно было установить детали подключения, поэтому я думал, что могу отправить настраиваемый тип пакета ethernet. Этот пакет принимается сверстниками; генерируя базу данных каждого партнера в приложении пользователя. Я не хочу чрезмерно усваивать свои сырые пакеты. Каков минимальный объем данных, необходимых для отправки успешно полученного пакета? Существуют ли какие-либо особые обстоятельства, когда минимальный пакет будет правильно передаваться с некоторым оборудованием, а не с другим оборудованием?Каков минимальный объем данных, необходимых для отправки пакета?

Позвольте мне пояснить и быть явным: я спрашиваю, какой минимальный объем информации требуется в пакете для этого пакета, который должен быть передан и получен. Пример информации, которая может быть найдена в пакете ethernet, - это IP-адрес, аппаратный адрес, время жизни и т. Д.

+2

Почему вы перекомпилируете свою жизнь? использовать портативные протоколы, например. TCP –

+0

Это больше для программирования для меня. Я могу так же легко использовать существующую чат-программу или услугу, если я хочу, чтобы это было легко. – motoku

+1

Похоже, вы ищете многоадресную IP-адрес – Flexo

ответ

1

Какое минимальное количество данных требуется для того, чтобы отправить успешно полученный пакет?

Вам не нужно использовать IP вообще, если вы не собираетесь отправлять его через Интернет. В вашей локальной сети вы можете обойтись с помощью пользовательского сетевого уровня, если хотите. Существуют также существующие протоколы nonip (IPX), которые могут удовлетворить ваши потребности. IPX относительно прост в настройке, но люди будут злиться на вас, если они когда-нибудь поймают вас, используя его. (Я также не знаю, поддерживает ли Windows IPX с winxp). Это был бы трудный путь.

Более простой способ - использовать UDP/IP. UDP разработан как минимальный. Страница wiki для UDP сообщит вам размер заголовка дейтаграммы UDP. Не забудьте добавить к этому IP-заголовок (wiki again) и ethernet-фрейм (там же). Наконец, вам нужна полезная нагрузка.

Существует много вариантов. Это во многом зависит от сетевой инфраструктуры, которую вы собираетесь использовать. Если ваша инфраструктура IP через Ethernet, тогда вы будете придерживаться этого!

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

В вашем последнем вопросе вы, кажется, намекая вы хотели бы использовать «умную» уловку, чтобы минимизировать размер пакета (т.е. отсутствует некритических части заголовка (ов)), но я повторяю: DO НЕ ПРОТИВ СТАНДАРТОВ. Люди будут очень расстроены с вами, если вы поймете, что делаете это, и вы потеряете всех своих друзей.

+0

Спасибо за это. – motoku

+0

Многоадресный IP (используется с UDP, конечно) также является хорошим предложением Flexo. Это позволит сохранить реплицирование gazillions пакетов в вашем протоколе на основе одноранговой сети. Все ваши сверстники могут находиться на одном и том же групповом адресе, а затем коммутаторы будут выполнять всю работу за вас. –

Смежные вопросы