Вид пакета передаваемый сетевой карточке.

Тема в разделе "WASM.NETWORKS", создана пользователем PROFi, 31 мар 2008.

  1. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Тут вопрос возник. Все перехватчики сетевых пакетов (ну возьмем ириску) при перехвате выдают raw пакет начиная с MAC адресов отправителя и получателя и т.п. Однако в стандарт 802.3 Ethernet II (Media access control frame structure) входит еще и поле контрольной суммы (чточнее здесь CRC а не сумма), а вот этого поля почему-то ни один снифер не показыает.

    Т.е. получается драйверу сетевой карточки передается пакет без 4 байтов CRC?

    Кто нибудь программировал сетевухи через порты ввода вывода. Интерисует сам процесс - как они работают на программно-аппаратном уровне.

    Вообще интерисует вопрос CRC в данном случае может вооще считается аппаратно сетевой карточкой и ей нужно передать только данные без CRC или где-то в сетевом стеке для этой цели есть код?

    PS: можно меня послать конечно к IEEE Std 802.3™-2002, но там 1538 страниц, потому если у кого есть инфа по данному поводу пожалуйста поделитесь.
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    PROFi
    CRC заполняет сама карточка, но я не уверен, что это справедливо для абсолютно всех карточек.
     
  3. ALLeX

    ALLeX Member

    Публикаций:
    0
    Регистрация:
    21 окт 2004
    Сообщения:
    141
    Адрес:
    Ukraine
    +1
    Ищите что то вроде "Аппаратный расчет суммы" или "CRC offload" в настройках драйвера НИК. Справедливо практически для всех совр. карт. Включено дефолтом как правило.
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    в исходниках linux-1.0 в папке drivers\net есть много интересного)
     
  5. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    вот исходный код драйвера для Attansic L1 Gigabit Ethernet под Linux >= 2.6.*
    http://falaleev.at.tut.by/attansic.rar
    могу если что прокомментировать некоторые вещи
     
  6. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
  7. TermoSINteZ

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

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.553
    Адрес:
    Russia
    И кстати не тока CRC но и еще Preambula так же не передается в кадровый уровень.
     
  8. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    нет
    CRC присутствует
    нет преамбулы, SFD и EFD
    драйвер обычно проверяет CRC и передает пакет сетевой подсистеме без него
     
  9. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    rei3er

    Вот это:
    Отсюда: http://book.itep.ru/4/41/eth_4111.htm - ссылка твоя выше

    Как это сочетается с

    Еще в одном источнике читал что нет CRC http://faqs.org.ru/lan/ethernet.htm

    В конечно итоге - просто для экономии времени - кто-нибудь реверсил пакет до передачи через порты на карточку - так есть или нетути CRC? Как считать CRC впринципе понятно, только вот непонятно делается это аппаратно или драйвером?

    PS: rei3er зачем адрес почты светить?
     
  10. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    очень просто
    при передаче пакета преамбула, SFD, EFD и CRC добавляются контроллером на аппаратном уровне
    при получении пакета его CRC и длина записываются контроллером в качестве метаинформации в один приемный буфер, а сам пакет - в другой
    обычно драйвер не передает метаинформацию сетевой подсистеме
    поэтому, все, что выше драйвера, видит только 14 байт заголовка + данные
    этот адрес для всего
    важный я не свечу ;)
     
  11. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
    del

    Ты прав на все 100, приносим свои извенения
    за причиненные неудобства.
     
  12. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Ra_
    Сюда то зачем? - это флуд чистой воды.

    rei3er

    Сенкс. Доступно и понятно. Т.е. на CRC до драйвера сетевой карточки мы никак повлиять не можем. А при программировании сетевухи напрямую - ей достаточно передать кадр без преамбул и CRC - они считаются и проверяются аппаратно.

    По идее можно закрывать топик, если не имеется никаких дополнений.
     
  13. rei3er

    rei3er maxim

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    917
    Адрес:
    minsk
    вообщем, да
    по крайней мере для тех сетевый карточек, с которыми я имел дело
    хотя вполне вероятно, что существуют сетевые карточки, которые драйверу и CRC не передают