Зачем нужен роутер?

48

Я пытался выяснить, зачем нужен роутер. Я знаю, что маршрутизатор может использоваться для DHCP и некоторых других вещей, но я просто думаю о сети со статическими IP-адресами. Итак, следующее:

Можно ли сделать со статическими IP-адресами следующее:

Modem -> Switch -> PCs

Или вам нужно идти:

Modem -> Router -> Switch -> PCs

Так что именно делает маршрутизатор и зачем он нужен?

Maxbit
источник
Вас больше интересует вопрос о том, зачем вообще нужны маршрутизаторы или зачем нужен маршрутизатор у вас дома ?
grawity
Я думаю, что в целом маршрутизаторы служат точкой доступа, DHCP, брандмауэр и коммутатор, как простое решение для людей, которые не очень разбираются в сетях.
Maxbit
6
@Maxbit Нет, это именно то, что делают SOHO маршрутизаторы.
Даниэль Б
1
Хорошо, тогда я хотел бы знать, почему маршрутизаторы вообще нужны, и если мне нужен маршрутизатор в моем сценарии.
Maxbit
1
Зависит от того, предоставляет ли ваш Интернет-провайдер несколько общедоступных IP-адресов для вашего использования, если они это сделают, можно будет использовать коммутатор, а не маршрутизатор. Однако маршрутизатор позволяет вам использовать один общедоступный IP-адрес с несколькими частными IP-адресами.
Тайсон

Ответы:

79

Я думаю, что в целом маршрутизаторы служат точкой доступа, DHCP, брандмауэр и коммутатор - простым решением для людей, которые не очень разбираются в сетях.

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

Другими словами, вы описываете комбинацию маршрутизатор + коммутатор + точка доступа, которую лучше назвать «маршрутизатор SOHO (малый офис / домашний офис)» или «домашний шлюз».

(Тем не менее, многие специализированные маршрутизаторы действительно имеют интегрированный брандмауэр , а иногда даже сервер DHCP.)

Я хотел бы знать, почему маршрутизаторы вообще нужны

IP-маршрутизация необходима, потому что чистое переключение на уровне Ethernet будет плохо масштабироваться.

Адреса устройств Ethernet назначаются производителем - в них нет полезной структуры; они случайны, насколько сеть обеспокоена. Таким образом, у коммутатора Ethernet есть только два варианта: хранить список каждого отдельного устройства, подключенного к каждому порту (как это делают современные коммутаторы), или просто транслировать каждый пакет на каждый порт (как в оригинальном Ethernet).

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

Таким образом, подобно почтовым индексам или телефонной нумерации, IP придает сети структуру - каждой сети, подсети, суперсети назначается фрагмент адресов, и вы можете описать такие маршруты, как «адреса, начинающиеся с [10.7.xx], могут быть достигнутым через [порт 3] ". Теперь остальному миру не нужно знать о миллионах клиентов Comcast, ему нужно всего несколько маршрутов к самой Comcast.

IP- маршрутизаторы хранят информацию об этих маршрутах и ​​соответственно пересылают все пакеты.

(Такое разделение между Ethernet и IP на самом деле полезно, поскольку оно обеспечивает гибкость - один и тот же Ethernet может нести несколько разных протоколов, таких как IPv4, IPv6, возможно IPX ... Некоторые другие протоколы не имеют такого разделения, такие как DECnet или NetBIOS, и они не могли пережить рост сети.)

Можно ли зайти: Модем -> Переключатель -> ПК со статическими IP-адресами

Конечно, технически это возможно. Статические IP-адреса даже не требуются.

Действительно, у интернет-провайдера рядом с моим рабочим местом около 20 бизнес-клиентов по всему городу фактически не имеют своих собственных маршрутизаторов - их «внешние» коммутаторы подключаются напрямую к одному маршрутизатору в здании интернет-провайдера (который даже обслуживает DHCP для всех их), так же, как вы описываете.

Но есть причины, почему это обычно не делается так. (По общему признанию, некоторые из них происходят из-за нехватки адресов IPv4 - таких как NAT. Но многие все еще будут важны даже в мире чистого IPv6.)

  • Как и сейчас , интернет-провайдер направляет один «глобальный» IP-адрес в вашу сеть. Так что, безусловно, вы можете подключить свой ПК напрямую к модему и настроить его по своему «глобальному» адресу. (Скорее всего, это даже автоматически настроить через DHCP.)

    Действительно, это было очень распространенной конфигурацией здесь до конца 2000-х годов. У большинства домашних пользователей был только один компьютер, и этот компьютер часто связывался напрямую через модем с маршрутизаторами интернет-провайдера - сначала с использованием модема с коммутируемым подключением, а затем с ADSL.

    Но каждому устройству нужен свой адрес. Поскольку вы получаете только один IPv4-адрес от вашего интернет-провайдера, вы можете напрямую подключить один компьютер, но не два, если только вы не заплатите за второй адрес.

    Вот почему ваш домашний маршрутизатор имеет функцию «трансляции сетевых адресов» (она же называется NAT), которая дает вам блок «частных» адресов 192.168.x и скрывает их за одним «глобальным».

    (CGNAT также стоит упомянуть, но исследование оставлено читателю.)

  • Помимо NAT, у вашего «роутера» есть и другие функции, такие как брандмауэр, сервер DHCP, кэш DNS. Да, все это может быть сделано маршрутизаторами интернет-провайдера, но это обойдется интернет-провайдеру и принесет неудобства всем клиентам, не предоставляя никаких преимуществ ни одному из них.

    Брандмауэр должен быть настроен через предоставленный интерфейс вашего интернет-провайдера, и большинство интернет-провайдеров предоставляют только минимальный набор опций. (При настройке собственного маршрутизатора у меня есть полный контроль - я могу применять правила брандмауэра к необычным протоколам; я могу создавать несколько подсетей; я могу экспериментировать с туннелями IPv6 или RIP или OSPF ...)

    И брандмауэр, и NAT нуждаются в ресурсах для отслеживания подключений - некоторый объем памяти, немного мощности процессора. В настоящее время эти ресурсы распределены, так как ваш маршрутизатор должен отслеживать только ваши собственные соединения. Но если бы все было сделано интернет-провайдером, их маршрутизаторам потребовалось бы столько же памяти и процессоров, сколько всем маршрутизаторам клиентов вместе , что дорого.

    Сервер DHCP работает намного лучше, когда он на вашей стороне. Даже если интернет-кабель обрезан, ваши собственные устройства могут получать IP-адреса и обмениваться данными локально. (Да, да, статические адреса возможны, но, поверьте мне, это боль в заднице, чтобы отследить.)

    Кеш DNS работает, потому что он у вас дома. Ваш провайдер в любом случае имеет свой собственный кэш DNS , но у вашего маршрутизатора все еще есть свой небольшой кэш, просто потому, что он ближе к вам, обслуживает меньше устройств и, следовательно, может отвечать намного быстрее. (Медленный DNS очень заметен.)

Поэтому причины наличия собственного домашнего маршрутизатора: 1) он быстрее, 2) он дешевле, 3) он проще как для вас, так и для интернет-провайдера.

(Интернет-провайдер, которого я описал ранее? Я не знаю, почему они это делают. Возможно, это отличается, когда у вас всего дюжина клиентов, чем когда у вас много тысяч.)

grawity
источник
Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
Мокубай
5

Домашний модем обычно дает вам только один IP-адрес. Маршрутизатор выполняет NAPT (преобразование порта сетевого адреса), что позволяет вам иметь несколько частных IP-адресов в вашей сети.

Если ваш провайдер предоставляет вам несколько IP-адресов, вы можете обойтись без маршрутизатора на вашей стороне.

user2313067
источник
Ммм, похоже, у меня плохое понимание сетей. Зачем мне нужно несколько IP-адресов от моего провайдера? Насколько я понимаю, этот процесс заключается в том, что если компьютер со статическим IP-адресом 192.168.0.10 запрашивает что-то вроде 10.0.0.0, не входящее в сеть (маска подсети 255.255.255.0), он будет направлен на шлюз по умолчанию, который должен быть подключен модем в WAN. Зачем мне несколько IP-адресов от моего провайдера для этого?
Maxbit
1
Если модем это делает, это маршрутизатор (со встроенным модемом).
Даниэль Б
2
@maxbit Если ваш модем не выполняет NAPT сам (что может приблизить его к маршрутизатору), ваш провайдер увидит пакет, поступающий с 192.168.0.10. Однако это частный IP-адрес, который также может использовать ваш сосед (и он, вероятно, использует один в этой подсети), поэтому ответ не знает, как вам ответить. На самом деле компьютер, на который вы его отправляете, может иметь тот же IP-адрес. Обычно провайдеры даже отбрасывают пакеты с этих IP-адресов и принимают пакеты только с (публичного) IP-адреса, который они вам дали. Модем просто преобразует одну форму сигнала в другую, они не понимают IP и работают на нижнем уровне.
user2313067
1
@ user2313067: Мой провайдер раздает глобальные IPv4-адреса нескольким подключенным устройствам по одному кабельному модему. Я использую брандмауэр NAT в основном для изоляции небезопасного обмена файлами NFS / windows из Интернета. Я мог бы просто использовать обычный брандмауэр, хотя, если бы захотел, но у меня уже был настроен NAT до того, как мой провайдер изменил требование о том, чтобы вы регистрировали свой MAC-адрес Ethernet с ними.
Питер Кордес
2
@ user2313067 Мой провайдер раздает несколько. Но даже если интернет-провайдер раздает только один IP-адрес, вы можете обойтись без маршрутизатора, если у вас подключен только один компьютер. Так что на технический вопрос, можете ли вы, ответ - да.
Бароп
3

В вашем доме у вас, вероятно, есть только один путь для выхода в Интернет через устройство, предоставленное вашим Интернет-провайдером (ISP). Интернет-провайдеру нужен маршрутизаторна другом конце его соединения с вами, однако, который может решить, куда будут поступать данные из вашей системы. Нужно ли ему переходить на один из веб-серверов интернет-провайдера, одну из систем других клиентов, или ему нужно перейти на сервер Google или Microsoft, или ваш IP-адрес назначения указывает на систему в Норвегии и т. Д. ISP будет иметь маршрутизаторы, которые имеют несколько подключений к ним. У него может быть маршрутизатор с каналом, который подключается к сети в Европе, тот, который подключается к сети в Южной Америке и т. Д. И на другом конце этих каналов находятся другие маршрутизаторы, которые могут иметь несколько собственных подключений. Итак, как маршрутизатор вашего интернет-провайдера узнает, на какой маршрутизатор он должен пересылать ваши данные? У него есть роутингтаблица, которая сообщает, какой другой маршрутизатор является следующим «переходом», на который он должен отправить ваши данные. Он не будет знать все промежуточные маршрутизаторы от вашей системы до адреса назначения, поскольку он не знает полного пути от вашей системы до системы назначения, какой из них является лучшим выбором для перемещения ваших данных дальше по пути к месту назначения. Следующий маршрутизатор будет искать в своей собственной таблице маршрутизации, чтобы решить, куда он должен отправить ваши данные. Возможно, он может отправить ваши данные через любое из нескольких соединений, которые у него есть; он будет решать, какой из них использовать, основываясь на " метрике маршрутизации". Будет выбрано соединение с наименьшей метрикой маршрутизации. Но если это соединение прерывается или становится перегруженным, оно может выбрать следующее лучшее соединение на основе своих метрик маршрутизации. Маршрутизаторам вашего интернет-провайдера не нужно постоянно общаться со всеми другими маршрутизаторами в Интернете, им просто нужно знать, какой будет следующий «сетевой скачок » сети в момент получения ваших данных, он может полагаться на следующий маршрутизатор для принятия аналогичных решений и на все остальные маршрутизаторы на пути к сделать так же.

Используя таблицы маршрутизации для выбора следующего перехода, если ваши данные могут обычно проходить через маршрутизатор во Франции для достижения пункта назначения в Норвегии, даже если не было пути через Францию, какой-либо другой маршрутизатор на пути, соединенном с Во Франции маршрутизатор узнает о сбое и перенаправит ваши данные другим путем, например, возможно, через Германию. Интернет является результатом ARPANET ; Одним из требований ARPANet было то, что он должен быть устойчивым и способным выдерживать сбой определенных элементов оборудования в сети путем маршрутизации вокруг отказавшего оборудования. Во времена ARPANET предшественники современных маршрутизаторов назывались интерфейсным процессором сообщений (IMP) .

Что касается вашей домашней сети, было бы возможно иметь прямое соединение с устройством в вашем доме, которое не является маршрутизатором. Если бы вы использовали Интернет еще во времена модемов удаленного доступа, вы бы не использовали маршрутизатор дома. Вместо этого ваш компьютер подключится к устройству, принадлежащему провайдеру. Некоторые предприятия и организации все еще используют ISDN , который работает аналогично старым модемам удаленного доступа, хотя у них может быть маршрутизатор ISDN, если у них есть несколько систем, которым необходимо совместно использовать соединение ISDN.

И даже в те дни, когда коммутируемое соединение использовалось почти всеми домашними пользователями и малыми предприятиями для доступа к Интернету, если домашний пользователь или малый бизнес имели ограниченное количество телефонных линий, но им требовался доступ в Интернет для нескольких компьютеров, Решение, которое было доступно, состояло в том, чтобы настроить один ПК с модемом удаленного доступа для работы в качестве маршрутизатора для всех других компьютеров в локальной сети дома или на работе. Я помню, как устанавливал маршрутизатор с модемом 56 Кбит / с, чтобы обеспечить коммутируемый доступ в Интернет для нескольких компьютеров в небольшом бизнесе.

Сегодня люди ожидают, что смогут иметь как проводные, так и беспроводные соединения в своем доме, которые могут подключаться к интернет-провайдеру одновременно, и, поскольку адреса интернет-протокола версии 4 (IPv4) ограничены, большинство домашних пользователей получают только один публичный IP-адрес, поэтому Требуется устройство, которое может выполнять преобразование сетевых адресов между этим одним общедоступным IP-адресом и несколькими частными IP-адресами, которые они будут использовать для своих собственных систем. И они хотят иметь возможность контролировать, кто имеет доступ извне к своим внутренним системам. Для этого вам понадобится ваш роутер или брандмауэр; большинство домашних маршрутизаторов имеют по крайней мере некоторые ограниченные возможности брандмауэра.

Технически, ISP может справиться с этой функцией для вас, но такой подход не будет хорошо масштабироваться для тысяч или даже миллионов клиентов. Например, если у вас есть собственный маршрутизатор, вы можете использовать частный IP-адрес 192.168.0.5 для одной из ваших систем, как и тысячи других интернет-провайдеров. Интернет-провайдер не обязан гарантировать, что при использовании частного пространства IP-адресов разные клиенты не выбирают одинаковые адреса. Оборудование интернет-провайдера, находящееся вне вашего дома, должно относиться только к одному IP-адресу, который вы предоставили провайдеру. И если вы хотите разрешить входящее подключение через порт 5000 к одной из ваших систем, вы можете управлять этим самостоятельно; Вам не нужно звонить в отдел технической поддержки интернет-провайдера, что добавит дополнительную нагрузку на обслуживающий персонал провайдера.

moonpoint
источник
2

Я полагаю, вам это не нужно

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

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

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

Например, подумайте, если бы у всех в мире был уникальный номер, но номера не были сгруппированы вместе, вам нужно было бы найти полный номер человека в списке, чтобы выяснить, какая дыра / гнездо / порт / направление / угол для отправки данных. Принимая во внимание, что если бы вы сразу увидели, что они в Токио / их IP-адрес начинается с бла-бла-бла, и все в Токио / с IP-адресом, начинающимся с бла-бла-бла, отправили данные из этого отверстия / гнезда / порта / направления / угла тогда быстрее их достать.

Но вернемся к вашему личному делу, вашему дому.

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

Вам не нужно NAPT, если у вас есть только одно устройство. Простой старый переключатель в порядке.

Это не обязательно так же безопасно (если вы не защищаете это самостоятельно), и вы можете подключить только одно устройство, если интернет-провайдер не дает вам несколько IP-адресов. Но вы можете сделать это / это может быть сделано.

Точка терминологии. Устройство, которое вы называете маршрутизатором, является коробкой. Это делает функции. Маршрутизация, DHCP, NAPT у некоторых тоже есть модем. Вы можете отключить DHCP и NAT на коробке и сделать простую маршрутизацию. И коробка также имеет встроенный переключатель. Следовательно, вы можете перевести его в режим моста, отключив маршрутизатор.

- * функционально мост - это коммутатор. Иногда люди делают несколько различий в том, что коммутатор должен иметь несколько портов ... мост предназначен для сетей, работающих в разных средах. может быть, некоторые говорят, что чипы в коммутаторе - более быстрый дизайн. Но функционально они выполняют переключение / мостовое соединение (то же самое), используют таблицу MAC-адресов (или, возможно, какой-то другой протокол «уровня 2»), а MAC-адреса представляют собой плоскую схему адресов, вероятно, что-нибудь на «уровне 2».

barlop
источник
0

Интернет - это не просто один протокол, а серия протоколов, которые накладываются друг на друга . Эти протоколы организованы в слои , и каждый из них выполняет определенную задачу, связанную с сетью.

Для этого вопроса интерес представляют два уровня: канальный уровень и сетевой уровень (иногда называемый интернет-уровнем , но обратите внимание на нижний регистр i ; это не то же самое, что более широкий Интернет).

Канальный уровень обрабатывает получение сигнала между двумя машинами, которые напрямую связаны друг с другом . Wi-Fi - это протокол, который живет на канальном уровне, как и Ethernet. Есть и другие, но вы, вероятно, используете один из этих двух (или, может быть, оба из них) дома.

Сетевой уровень обрабатывает получение сигнала между двумя компьютерами, которые напрямую не связаны друг с другом, используя цепочку машин, которые являются . Он идет в отдельном слое, так что ему не нужно знать или заботиться о том, как подключены различные машины; в цепочке могут быть машины, подключенные через Ethernet, Wi-Fi, Fibre Channel, PPP или даже более экзотические протоколы, и все они будут работать вместе одинаково.

Маршрутизаторы являются мостом между канальным уровнем и сетевым уровнем . Ваш маршрутизатор напрямую подключен к компьютерам в вашем доме (возможно, с использованием Ethernet, Wi-Fi или их комбинации), а также к компьютеру у вашего интернет-провайдера (есть много разных способов). Но ни одна из этих машин не подключена напрямую друг к другу - они подключены только косвенно, через маршрутизатор, поэтому маршрутизатор образует важную связь между вашими домашними машинами и более широким Интернетом. Даже если ваш маршрутизатор не определит IP-адреса ваших домашних компьютеров, вам все равно понадобится способ сформировать связь между ними, и именно это делает маршрутизатор .

Ложка
источник
Ну нет; переключатель уже связывает все машины вместе. Если вы обращаетесь к другому хосту в той же подсети, вы не проходите через какой-либо маршрутизатор (который внутренне просто подключен к одному из портов коммутатора).
grawity
@grawity: Это верно только в том случае, если все машины и коммутаторы находятся в одной подсети. Это часто верно для большинства машин в данной настройке, но почти всегда есть по крайней мере одно исключение: восходящий канал к провайдеру. Эти исключения из правила делают маршрутизаторы необходимыми.
Ложное
0

Для простейшего возможного ответа:

Любое данное устройство в сети может связываться с другими устройствами в той же подсети через коммутатор. Но для связи с устройством в другой подсети необходим маршрутизатор. Коммутаторы не будут передавать пакеты через подсети.

Дэн Хендерсон
источник
Как уже упоминалось в других ответах, ваша домашняя сеть часто не находится в той же подсети, что и ваш шлюз ISP, и в этом случае ваши компьютеры будут общаться только друг с другом, а не с Интернетом, без маршрутизатора. По этой причине кабельные модемы обычно включают (очень простой) маршрутизатор.
Дэн Хендерсон
Возможно , маршрутизатор провайдера находится в той же подсети, что и вы. Просто стало слишком сложно обслуживать несколько десятков клиентов.
grawity
@ Grawity Возможно, да. Но необычно, по той причине, что вы заявили.
Дэн Хендерсон