Ethernet-пакеты

Тема в разделе "WASM.NETWORKS", создана пользователем blueboar, 20 авг 2009.

  1. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    В таком случае получаем следующее:

    01-00-0C-CC-CC-CD MAC1
    00-1D-A1-4C-8E-11 MAC2
    81-00 ETHERNET TYPE
    E0-02 VLAN INFO
    00-32 ? TYPE/LEN
    AA-AA-03 SNAP_DATA
    00-00-0C VENDOR OUI (CISCO)
    01-0B VENDOR_DATA
    00-00-00-... По идее должен быть "настоящий интернет-тип"
    Но типа 00 не существует
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    blueboar
    Поставь Wareshark. Он всё покажет и объяснит.
     
  3. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    WIRESHARK. Я как раз до него дошел :). У дзенствующих мысли сходятся XD. А то WINDUMP молча сказал OUI Unknown и заткнулся
     
  4. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    В общем я понял что я полный нуб в сетевых протоколах, а думал что Бог ггг...

    Пошел читать спецификации. Видимо надолго :)
     
  5. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Кстати если не влом, выложи пожалуйста этот дамп, тоже интересно.
     
  6. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    Какой? Тот что дал WireShark? Или 16-ричный? Если 16-ричный, то я его уже выкладывал. А Wireshark сказал вот чего:

    - Изначально было все просто - Два мак-адреса и тип (или размер, если <1500 с чем то байт):

    01-00-0C-CC-CC-CD Это мак-адрес 1
    00-1D-A1-4C-8E-11 Это мак-адрес 2
    81-00 Тип пакета. Это специальный тип для обработки VLANов

    Так как это специальный тип, у него есть свои "специальные" данные:

    E0-02 Это номер VLANа и приоритет

    Но! Какой бы там специальный тип ни был, мы же все-таки тип пакета должны узнать.
    Так что дальше снова "тип". Но так как <1500 байт - не тип, а длина

    00-32 Это длина пакета (50 байт)

    А как же тип? Нам ведь он все-таки нужен. Тогда вступает в действие протокол SNAP.
    У него 3 байта - сервис отправителя, сервис получателя и еще какой-то (не разобрался)

    AA-AA-03 Отправитель/получатель AA

    А что означает отправитель и получатель AA? А это значит что у IEEE очень быстро кончились все варианты для сервисов отправителя и получателя от 00 до FF, и чтобы выкрутиться, она ввела специальный сервис отправителей/получателей AA. Если мы его встречаем, мы обрабатываем его "специальным образом"
    (Между делом - еще есть E0-E0: IPX, F0-F0: NetBIOS и 42-42: CISCO STP)

    Тогда у нас идет три байта на производителя (специальная таблица OUI). Там под 00-00-0C записан CISCO.

    00-00-0C VENDOR OUI (CISCO)

    А дальше два байта под номер протокола. Причем не абы какого, а именно протокола фирмы CISCO. Если там будет 0800, то это протокол CISCO 0800, а не просто протокол.

    01-0B Это номер протокола CISCO STP (Spanning Tree Protocol)

    И собственно все. Дальше идет STP, а его я не разбирал
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    16-ричное это представление данных. Я имею ввиду сам дамп - файл.
     
  8. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    Дамп к сожалению не могу - там много конфиденциальной для нашего предприятия информации
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Ладно не буду выпытывать военные секреты.
     
  10. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Почитал я эту тему, и понял, что не понял - почему в кадрах Ethernet II не нужен размер?
    Как тогда адаптер узнает конец кадра? В стандарте написано что конец кадра (EFD) можно не посылать.
    Я думал, что размер кадра нужно знать, чтобы определить расположение в буфере контрольной суммы. Или адаптер все-таки как-то узнает размер кадра канального уровня, потом читает посл. 4 и так узнает размер переданных данных?

    Использую Wireshark с граф. интерфейсом.
    В отчете показан размер каждого кадра в дампе, начиная от MAC-адреса назначения и заканчивая посл. байтом данных (CRC в дампе отсутствует).
     
  11. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.568
    Адрес:
    Russia
    AndreyMust19
    В вашем случае размер кадра вычисляет сама программа. На физическом уровне кадры отделяются преамбулой (Preamble), которую сетевуха убирает при чтении кадра из среды передачи. Читайте стандарт до конца.
     
  12. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Вот я и хочу узнать - как вычисляет программа. Откуда она его узнает.
    Но там между кадрами надо еще 9,6 мс подождать.