|
помогите с глюками UDP, когда две сетевые карты в одном компьютере |
|
|
|
Jan 12 2010, 20:26
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Обнаружен странный эффект, про который не знаю, что и думать. На ПК реализован UDP клиент и установлены две сетевые карты, условно назовем интерфейс А и интерфейс Б. IP и маски для карт установлены вручную так, что обе карты принадлежат одной подсети. Легально ли так назначать настройки карт?
Если легально, то наблюдаем следующий глюк. При запуске клиента, ARP запрос посылается, как и положено, в оба интерфейса А и Б. Ответ, тоже как и положено, приходит только из одного интерфейса, предположим Б, туда подсоединен сервер. И после этих событий, винды вдруг начинают слать UDP пакеты совсем в другой интерфейс А, совсем не в тот, откуда был получен ARP ответ сервера.
Как интерпретировать эту ситуацию? Если нельзя назначать два интерфейса в одну подсеть, то почему Винды не ругаются на эту ошибку? А если можно, то откуда берется наблюдаемая в Виндах путаница с интерфейсами и как с ней бороться?
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Jan 13 2010, 07:25
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Почитайте про такую вещь как "метрика". На основе этого параметра сетевой стек выбирает маршрут отсылки пакетов. У меня такая вещь (два интерфейса в одну подсеть) пару раз ненадолго случалась (по-разным причинам), метрика нормально помогала . Но, если нет специальных предпосылок, это "идеологически" неправильно - надо таки интерфейсы по подсетям разносить. Цитата(Aprox @ Jan 12 2010, 22:26)  Если нельзя назначать два интерфейса в одну подсеть, то почему Винды не ругаются на эту ошибку? В-общем случае - назначать можно, но тогда и физически эти интерфейсы должны "смотреть" в одну подсеть, а у Вас, как я понял, это не так. Цитата(zltigo @ Jan 12 2010, 22:34)  Если нужно, что-бы подсети видели друг-друга, то поднять роутинг. Если там просто разная физика и хочется одну подсеть, то есть более простой вариант - бридж.
|
|
|
|
|
Jan 13 2010, 07:52
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Это да, но с любой маршрутизацией админского труда больше. Не стоит route add выдавать за сакральное одминское знание, доступное только избранным  Цитата Впрочем, говорить пока не о чем Ну можем пофлудить  ))
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 13 2010, 07:58
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(Rst7 @ Jan 13 2010, 09:30)  Мост - это L2, и применять его стоит только в специальных случаях (например, raw-ethernet). Любопытно, у меня сейчас гигабитный проводной сегмент подключен к WiFi через мост (в не очень быстрый инет оно так ходит + доступ к сетевому принтеру), я в WiFi только ARP и прочий немногочисленный broadcast вижу - все остальное встроенный в мост гигабитный свитч фильтрует, так что объем мусора при удачной топологии - минимальный. Возможно, правильнее было бы вместо моста поставить роутер и сделать "через L3", но я и так уже запарился свою домашнюю сетку с десятком хостов админить - разбивать ее еще и на подсети? - не, нафиг, нафиг. Цитата(Rst7 @ Jan 13 2010, 09:52)  Не стоит route add выдавать за сакральное одминское знание, доступное только избранным  Будете смеятся но я таким знанием не владею  . В свой сетевой стек встроил все "концы" для возможной разработки марштуризатора, но "route" ни разу не набирал  Цитата(Rst7 @ Jan 13 2010, 09:52)  Ну можем пофлудить  )) Да с удовольствием
|
|
|
|
|
Jan 13 2010, 11:10
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(Rst7 @ Jan 13 2010, 11:41)  Фильтр. Но броадкаст-то он транслирует напрямик всем. Дык, пока лично в моей сетки того бродкаста - кот наплакал. IPTV - в перспективе, но оно ж вроде как multicast использует? Цитата(Rst7 @ Jan 13 2010, 11:41)  Плюс возможные переполнения таблиц по MAC-адресам. Интересно, реально бывает? Сейчас недорогим 8-портовым свичом с CAM в 4K MAC-адресов никого не удивить.
|
|
|
|
|
Jan 13 2010, 13:25
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Дык, пока лично в моей сетки того бродкаста - кот наплакал. В Вашей - возможно, а вот что у топикстартера? Цитата Интересно, реально бывает? Лехко  Например, от вирусни.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 13 2010, 18:39
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Ну,это понятно, умеючи-то... что хошь... сломать можно Ну кроме того, маршрутизация на уровне L3 (и выше) позволяет решать вопросы обеспечения: а) безопасности; б) взаимодействия с другими сетями; в) гибкости маршрутизации. Если в качестве маршрутизатора используется не железка L2, а комп, то почему бы не пользоваться означенными маленькими радостями? Цитата Сейчас недорогим 8-портовым свичом с CAM в 4K MAC-адресов никого не удивить. Кстати, просто 4K маков дают не такую уж малую вероятность того, что два порта будут дружить. Грубо говоря, для двух устройств это примерно 5E-4. Для четырех - уже 1E-3. Ибо таблица там не по MAC'ам, а по хешам MAC'ов. Должен быть еще костылек, дополнительная lookup-таблица. Ситуация, кстати, резко ухудшается при построении сети с топологией "гирлянда" на L2-свичах.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 13 2010, 19:35
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(Rst7 @ Jan 13 2010, 20:39)  Ну кроме того, маршрутизация на уровне L3 (и выше) позволяет решать вопросы обеспечения: а) безопасности; б) взаимодействия с другими сетями; в) гибкости маршрутизации. Лады, в порядке флуда (а не потому что я действительно против  ), накопаю "минусов" L3: - необходимость в сакральных знаниях + все-таки какие-никакие затраты на администрирование. А со свитчом - и простой монтер справитцо - лишь бы криппер был, да цоколевку знал. - возрастает время передачи пакета - роутеру для дальнейшей обработки надо принять как минимум IP-заголовок (а то и весь пакет, если роутер не навороченный), свичу достаточно только MAC-адреса получателя (если скорости портов совпадают) - при роутинге пакет подвергается модификации - минимум меняется TTL и сумма IP, пакет также какое-то время находится в памяти устройства, есть риск необнаруживаемых искажений - сумма CRC-32 исходящего фрейма вычисляется заново. Исторически в RFC есть интересное обоснование контрольных сумм UDP/TCP - "не все маршрутизаторы одинаково надежны, для ловли их глюков мы заимплементили дополнительные суммы в транспортных протоколах" - строго говоря, IP это не единственно возможный протокол, тут уже никаких сакральных знаний может не хватить Цитата(Rst7 @ Jan 13 2010, 20:39)  Если в качестве маршрутизатора используется не железка L2, а комп, то почему бы не пользоваться означенными маленькими радостями? - банальная стоимость - роутер (тем более комп) сравнимой портовой емкости почти всегда подороже свича будет  Цитата(Rst7 @ Jan 13 2010, 20:39)  Ибо таблица там не по MAC'ам, а по хешам MAC'ов. Хм, мне почему-то казалось что в современных свичах уже честная 48-битовая CAM, неужели хэши еще живы? Цитата(Rst7 @ Jan 13 2010, 20:39)  Ситуация, кстати, резко ухудшается при построении сети с топологией "гирлянда" на L2-свичах. Ну, умеючи-то...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|