| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > собрать пакет с vlan tagged |
| Автор: box 8.5.2014, 11:54 |
| всем привет ! подскажите пожалуйста как собрать пакет с vlan tag'ом . заполнить поля структуры желательно с примером |
| Автор: tzirechnoy 8.5.2014, 14:26 |
| Это сильно зависит от используемого сетевого стэка. |
| Автор: box 8.5.2014, 15:43 |
| оська фряха 10-я , компилятор c++ |
| Автор: konshyn 8.5.2014, 18:30 |
box, почитай про сетевую модель OSI. Предположу, что тебе нужно собрать пакет для ethernet-сети. http://ru.wikipedia.org/wiki/IEEE_802.1Q vlan заголовка. Преамбула используется для сетевых устройств, и тебе она вообще не нужна. ее заполнять не нужно и оставлять для нее место тоже. дальше по формату пакет будет выглядеть так(байты идут по порядку, я напишу в разных строках для понимания): 54 04 a6 bf b0 43 (mac получателя. здесь написан частный случай, вообще заполняй все 0xFF) FF FF FF FF FF FF (вот так) 64 66 b3 01 80 dd (это мак твоего сетевого устройства) 81 00 (id протокола 802.1q (vlan)) 00 63 (про эти два байта в ссылек на вики почитай. здесь записан vlan 110) 08 00 (ID протокола ip) [20 байт] - заполнение заголовка ip [8 или 20 байт] - заполнение заголовка udp или tcp (для примера) [1460] - байт - данные(максимум в сетях ethernet. формально максимум (в Интернет пакет с большим размером не сможешь отправить,а в локальных сетях можно и больше, но нужно увезде увеличивать MTU)) вот и готов твой пакет |
| Автор: box 9.5.2014, 00:41 |
| а как будет выглядеть порядок цыфр в програмном коде , приведите пример пожалуйста |