1

Я наткнулся на эту статью, которая, в отличие от любой неоднозначной статьи, которую я прочитал, утверждает, что мой

«Сетевой кабель тонкого карандаша (или адаптер беспроводной сети) на задней панели компьютера содержит 65 536 микроскопических путей».

Мне всегда говорили, что порт - это просто число (не провод), которое используется для различения разных виртуальных соединений друг от друга, так как же эти два объяснения могут сосуществовать?

  • Кроме того, это не может означать, что некоторые сетевые кабели не используются для передачи сигналов, когда порт не используется, не так ли?

В статье также говорится, что

пакеты требуются для остановки на каждом сетевом узле и:

  1. Найти открытый порт,
  2. Пройдите идентификационный тест, который позволит пройти через этот порт, а если нет,
  3. Перейдите к следующему порту и попробуйте еще раз, пока он не сможет пройти через плату.
  • Я думал, что пакеты содержат определенный порт назначения, так зачем им искать новый открытый порт?
  • Наконец, что нужно, чтобы пройти идентификационный тест?

3 ответа3

4

Эта статья ужасно написана. Он использует метафорический язык и "популярные знания", чтобы попытаться объяснить сетевые концепции. Существует 65 536 адресуемых портов, но они не существуют в качестве физического оптоволоконного кабеля или какого-либо другого чёрта, который статья пыталась описать. Количество доступных портов несколько произвольно получено (16-разрядное целое число, вероятно, имело смысл в прошлом), и, вероятно, стандартизировано в RFC.

Я не эксперт по сетям, но я почти уверен, что сетевое оборудование (коммутаторы и т.д.) Использует правила типа брандмауэра, чтобы определить, следует ли передавать трафик через определенный порт по линии (например, ваш провайдер может блокировать трафик). на порт, используемый Bittorrent, или ваш домашний маршрутизатор может заблокировать порт для проверки связи).

4

Мне всегда говорили, что порт - это просто число (не провод), которое используется для различения разных виртуальных соединений друг от друга, так как же эти два объяснения могут сосуществовать?

Цитируемый вами абзац полон метафор. На транспортном уровне порты - это просто числа в пакетах; они не физические.

Физический, или «канальный» уровень, ничего не знает ни о портах TCP/UDP, ни об IP-адресах - он только передает серии битов с одного конца на другой.

Кроме того, это не может означать, что некоторые сетевые кабели не используются для передачи сигналов, когда порт не используется, не так ли?

Нет. Кабель используется точно так же, независимо от того, есть ли у вас одно соединение или двадцать. В проводных сетях Ethernet есть только четыре пары проводов - две пары в старых кабелях; определенно не 65536; все они используются одновременно.

В статье также говорится, что <...>. Я думал, что пакеты содержат определенный порт назначения, так зачем им искать новый открытый порт?

В этот момент, статья медленно пересекая линию между "метафорой" и «Bullsh„нонсенсом“.

Номера портов TCP назначаются при установлении соединения и используются только двумя концами этого соединения. Между тем, маршрутизация происходит на уровне «Интернет», используя только IP-адреса и не обращая никакого внимания на данные, содержащиеся в IP-пакетах или изменяя их каким-либо образом.

(Единственное исключение - когда выполняется NAPT - например, домашним маршрутизатором, чтобы несколько компьютеров использовали один IP-адрес. В этом случае пакеты, полученные вашим компьютером, могут передавать номера портов TCP или UDP, отличные от первоначально отправленных.)

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

1

«Сетевой кабель тонкого карандаша (или адаптер беспроводной сети) на задней панели компьютера содержит 65 536 микроскопических путей».

TCP отвечает за сохранение трафика, разделенного портом на обоих концах, и частичное абстрагирование понятия одного из множества мультиплексированных "соединений" на последовательной среде. TCP использует понятие "сокет", который является портом IP+ источника и портом IP+ назначения. Несколько сокетов могут существовать на одном носителе, но стек TCP/IP на другом конце будет сортировать их, и трафик на двух сокетах не будет смешиваться друг с другом. Так что, в некотором смысле, это путь.

TCP и UDP используют понятие портов и сокетов. Другие протоколы, такие как IP нижнего уровня, этого не делают. Не все, что выходит из сетевого интерфейса, должно быть TCP или UDP.

пакеты требуются для остановки на каждом сетевом узле и:

Найдите открытый порт, пройдите тест идентификации, который пропустит его через этот порт, и, если нет, перейдите к следующему порту и повторите попытку, пока ему не разрешат пройти через плату.

Это не имеет смысла для меня. Обычно, когда приложение открывает сокет, оно может указать порт (и попытка открытия сокета потерпит неудачу, если порт используется) или принять порт, назначенный ядром (серверы обычно указывают номер порта, а клиенты на сервер обычно берут случайный назначенный ядром порт).

Возможно, вышеизложенное описывает часть протокола более высокого уровня. Мне нужно больше контекста, чтобы полностью понять вышеприведенное утверждение.

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