1

Я замечаю, что когда я отправляю пакеты udp с компьютера A на компьютер B, B может правильно принимать пакеты upd, но если я отправляю пакеты udp с компьютера B на компьютер A, пакеты udp не принимаются

A и B не находятся в одной сети, и все они с публичным IP, они не находятся за NAT.

Означает ли это, что между ними есть межсетевой экран, который не позволяет A получать пакеты udp от B? если A отправит несколько пакетов udp B, прежде чем B отправит пакеты udp A, запомнит ли это брандмауэр, а затем разрешит пакеты udp из B в A?

Я знаю, что TCP находится в состоянии с состоянием, и поэтому у брандмауэра есть много мер, чтобы блокировать некоторые вредоносные TCP-пакеты, такие как TCP SYN, но как брандмауэр блокирует UDP-пакеты? Есть ли хорошие статьи по этому поводу?

потому что А мой компьютер в офисе. Я хочу построить систему, чтобы программа UDP на A могла получать пакеты извне. Но, похоже, брандмауэр фильтрует все входящие пакеты udp. Мне интересно, могу ли я смотреть видео, если я использую коммерческую программу на основе UDP, такую как инструмент потоковой передачи видео на основе UDP или веб-сайт?

Спасибо

3 ответа3

0

Просто зайдите в оба брандмауэра или в дополнительные параметры брандмауэра и создайте правило для входящего / исходящего UDP с определенной информацией о машине или ips. Можно также получить доступ через PS, но я рекомендую перейти непосредственно к MMC или брандмауэру.

0

Возможные причины: (1) межсетевые экраны (2) неправильная информация о маршрутизации (3) NAT где-то на пути, даже если вы не знаете об этом.

Отладьте сеть с помощью traceroute и ping с обеих сторон, посмотрите, что находится между обоими компьютерами, и посмотрите, где находится блок.

(Поскольку вопросу 5 лет, вряд ли можно получить более подробную информацию ...)

0

Похоже, компьютер B находится за маршрутизатором NAT. Если это так, то каждая машина за этим маршрутизатором будет выглядеть так, как если бы она имела одинаковый IP-адрес с точки зрения компьютера А.

Когда задействован NAT, исходящий трафик заставляет маршрутизатор NAT на некоторое время запоминать отправителя этого трафика для этого IP-адреса назначения, поэтому, когда трафик принимается с того же IP-адреса назначения, маршрутизатор NAT знает, кому «вернуть трафик». к «.

Когда NAT-маршрутизатор получает неожиданный трафик "извне", он не знает, кому "вернуть трафик", если вы не сообщите об этом с помощью правил переадресации портов.

NAT на самом деле не связан с типом трафика, за исключением того, что некоторые протоколы не работают с NAT по умолчанию, поскольку IP-адреса кодируются в полезную нагрузку протоколов. NAT обычно изменяет только поле исходного IP-пакетов, но в случае таких вещей, как FTP, может потребоваться "помощник", который изменяет фактическую полезную нагрузку пакета.

Брандмауэр может "заблокировать" пакет любого типа:

  • отправка обратно сообщения ICMP о том, что пакет отклонен по определенной причине
  • просто не отвечает вообще
  • тогда есть хакерские вещи, как брезент.

Единственный способ, которым влияет "отслеживание состояния", заключается в том, что брандмауэр будет обычно обрабатывать новые TCP-соединения совершенно иначе, чем существующие - будет "новый" и "установленный" трафик.

UDP по определению НЕ является протоколом, ориентированным на установление соединения, поэтому нет состояния для отслеживания, насколько это касается уровней OSI 2-4. Все входящие UDP-соединения рассматриваются как "новые" или одинаковые.

Сервер или клиент, который использует UDP для связи, может отслеживать некоторое состояние (для работы таких вещей, как TFTP, необходим небольшой бит состояния - клиент / сервер TFTP отслеживает это самостоятельно). Но стек TCP / IP не должен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .