Вопрос: Возможно ли объединить мой интернет-провайдер и доступ в Интернет для мобильного телефона? Я хочу разделить загрузку и загрузку [дублировать]


На этот вопрос уже есть ответ:

Я хотел бы использовать мой интернет-провайдер только для загрузки, а подключение для мобильных телефонов 4G для загрузки. Это связано с тем, что скорость загрузки моего интернет-провайдера невелика, но загрузка в порядке, и моя загрузка в формате 4G прекрасна и бесплатна (я плачу только за скачивание).

Итак, один ПК, два подключения: ISP для загрузки и 4G для загрузки. С этим я буду платить так же, как сегодня, но увеличиваю загрузку с 0,1 Мбит / с до 60 Мбит / с.


12
2018-05-25 08:24


Источник


Да, это дубликат, и есть много других подобных вопросов, в том числе мои собственные пару недель назад, но они, похоже, не получают прямого ответа! - Lefty
Так что, поскольку они, похоже, не дают прямого ответа, я позволил этому жить. Я прочитал другие, и они не исправили проблему, даже после 1000 просмотров. - FreddyJoe
@Lefty: Если вы хотите обратить внимание на свой вопрос, предложите щедрость. - Karan
Разве нет программного обеспечения, которое это делает? Мне кажется, что я читал об этом около месяца aog - Frank
Вы знаете, этот вопрос на самом деле отличается от того, с которым связан этот вопрос, и утверждал, что он является дубликатом. Это касается, как правило, слияния соединений, этот вопрос - это нечто большее. - Matt H


Ответы:


Хотя практически невозможно отделить загрузку и загрузку между соединениями (как подробно описано в других ответах), возможно ручное обходное решение.

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

Вы можете легко переопределить метрику с ручным заказом в расширенных настройках сетевых подключений: Как изменить подключение по умолчанию в Windows, (Должно работать одинаково с XP до 8.1 с незначительными или отсутствующими различиями)

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

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


8
2018-05-25 13:35





Это невозможно. Выражение признательности является неотъемлемой частью протокола управления передачей. Если вы четко разделите входящие и исходящие данные между двумя интерфейсами, вы по сути отключите компонент подтверждения протокола.

TCP - это протокол, ориентированный на соединение, что означает, что соединение устанавливается и поддерживается до тех пор, пока прикладные программы на каждом конце не обмениваются сообщениями. Он определяет, как разбить данные приложения на пакеты, которые могут доставлять сети, отправляет пакеты и принимает пакеты с сетевого уровня, управляет управлением потоком и - поскольку он предназначен для обеспечения безошибочной передачи данных - обрабатывает повторную передачу упавших или искаженных пакетов а также подтверждение всех поступающих пакетов. В модели связи Open Systems Interconnection (OSI) TCP охватывает части Уровня 4, Транспортный уровень и части Уровня 5, Уровень Сессии.

Маршрутизаторы могут реализовывать балансировку сетевой нагрузки между отдельными интерфейсами, но обычно это работает с хешированием. Это означает, что соединение установлено на данном интерфейсе на основе алгоритма хэширования и поддерживается на этом интерфейсе до тех пор, пока он не завершится. Даже с дорогостоящими маршрутизаторами каждый интерфейс необходим для поддержания установленного соединения до завершения.


Дополнение: Возможно, это возможно, но масштаб реализации делает его нецелесообразным. Кроме того, даже если вам удастся разгрузить весь ваш трафик на мобильный телефон, как долго вы думаете, что это произойдет до того, как интернет-провайдер обновит ваши условия обслуживания? Там, вероятно, будет справедливая политика использования где-то уже. Вот требования.

  • Spoof source IP трафика, выходящего с помощью мобильного троса, в соответствии с выходом трафика через ваше интернет-соединение, чтобы он возвращался через ISP con. Это можно сделать с помощью iptables.
  • Маршрутизация локального трафика через мобильную точку. Somethign like: 'route add 192.168.0.0/16 mask 255.255.0.0 [внешний IP-адрес мобильного троса]. Возможно, запустите DDNS, чтобы вы не часто обновляли это.

http://lartc.org/howto/lartc.rpdb.multiple-links.html

https://sandilands.info/sgordon/address-spoofing-with-iptables-in-linux

Если вы хотите пойти ISP большой, посмотрите на асимметричную маршрутизацию с BGP.


8
2018-05-25 09:14



Это балони; в этом ответе очень мало, что на самом деле неправильно, но все это совершенно не имеет значения. - Ben Voigt
Не может ли это решить какая-то форма туннелирования? Выражение признательности по-прежнему должно идти в нежелательном направлении, но большинство данных нет. И туннелирование по UDP могло даже избежать подтверждений, верно? - Artur Gaspar
@ArturGaspar: Благодарности - это только пакеты данных TCP с установленным флагом ACK, они соответствуют тем же правилам, что и все пакеты данных TCP. И нет «нужно идти в нежелательном направлении». IP-пакеты похожи на конверты - вы можете написать свой обратный адрес, перенести их в любое почтовое отделение и оставить в поле. Их не нужно класть в свою коробку - подумайте о том, сколько почтовых открыток отправляется во время отпуска. Улов для IP-пакетов - это фильтрация обратного пути, которая специально предназначена для обнаружения и предотвращения этого (обратите внимание, что подмена почтового адреса возможна и на бумажной почте) - Ben Voigt
В заявлении в этом ответе говорится: «Если вы разделили бы входящие и исходящие данные отчетливо между двумя интерфейсами, вы бы по сути отключили компонент подтверждения протокола». является одной из частей, которая прямо ошибается. Подтверждения TCP работают между конечными точками, и путь, который принимает пакет, не имеет значения (пока время жизни не превышено) и, конечно же, не должно совпадать. - Ben Voigt
Невозможно разделить входящие и исходящие данные? Спутниковая широкополосная загрузка с загрузкой Dialup была продана в Aus в течение многих лет. Google «Односторонний прием, с наземной передачей», - JumpingJezza


Можно использовать оба интернет-доступа для совместного использования загрузки загрузки / выгрузки, но всегда только для каждого подключения. Таким образом, одно TCP (или UDP) соединение может работать только через одну ссылку. Это также упоминается в другом ответе - для исходящих пакетов TCP вы должны получать пакеты подтверждения, и они должны проходить через один и тот же интерфейс.

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

Это верно для всех домашних интернет-доступа, где вам предоставляется IP-адрес от вашего интернет-провайдера. Итак, на первом ISP вы получаете, например, IP 1.2.3.4, но на сотовом телефоне вы получаете IP-адрес оператора вашей телефонной сети, например 5.6.7.8. Все соединение (исходящие и входящие данные) должно идти только с одним из этих IP-адресов.

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


4
2018-05-25 09:28



Вы всегда можете использовать локальный HTTP или SOCKS-прокси вместо ручного редактирования таблицы маршрутизации. Таким образом, вы можете полностью разделить эти два соединения просто через аддон браузера, такой как FoxyProxy. - sleblanc
Интересное предложение, но я не думаю, что вы можете указать исходный ip в конфигурации прокси-сервера (поскольку исходящий сетевой интерфейс выбирается источником ip). - Marki555


Вы должны иметь оверлейное (туннельное) соединение, которое поддерживает разные конечные точки для потока вверх и вниз по потоку. Единственный протокол, который я знаю об этом, поддерживает LISP (протокол разделения идентификатора локатора). Если вы можете найти LISP ISP рядом с вами, вы можете приобрести у них услугу в дополнение к вашим текущим подключениям. Это, вероятно, не будет бесплатным.


2
2018-05-25 10:00





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

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

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

Если у вас нет общедоступного IP-адреса, то в дополнение к фильтрации обратного пути уровень NAT / PAT не позволит этому работать (ваш исходный IP-адрес, используемый вашим компьютером, будет бессмысленным в другой сети и не будет правильно переписываться, если пакет не выходит через маршрутизатор NAT / PAT).

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

Таким образом, «все», что вам нужно сделать, - убедить своего интернет-провайдера (включая их провайдеров вверх по течению) либо (a) отключить фильтрацию обратного пути, либо (b) настроить нежелательный маршрут. Thich не произойдет, основные маршрутизаторы не могут обрабатывать три миллиарда маршрутов, чтобы иметь один для каждого уникального публичного IP-адреса. Таким образом, очень редко встречаются маршруты для любого блока, меньшего чем a / 20, за исключением внутреннего для ISP, где существуют маршруты для всех локальных подсет.


2
2018-05-25 18:25



Возможно, фильтрация между разными источниками не выполняется, если происходит, что его интернет-провайдер также является поставщиком своего плана 4G мобильного телефона? - Ángel
@ Ángel: Это вполне возможно, но если одна и та же компания предоставляет обе услуги, я подозреваю, что это будет сбыт этой способности (ведь спутниковый интернет уже использует очень разные пути для загрузки и скачивания, как под контролем одного и того же интернет-провайдера) - Ben Voigt
только если они официально поддерживают такую ​​конфигурацию. Большинство телефонных компаний здесь предоставляют как телефон (звонки и данные), так и жилой ADSL. В зависимости от (отсутствия) сегрегации этих двух сетей он мог бы работать [в течение некоторого времени], и я ожидал бы, что такая настройка сломается в любой день (но Фредди мог наслаждаться этим взломом до тех пор) - Ángel


Короткий ответ: в 95% случаев это не может быть сделано, а ваш - в пределах 95%.

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

Если бы мы направляли загрузку основного загрузочного соединения через другой сетевой адаптер, чем тот, который использовался для части загрузки, источник загрузки будет видеть ответы на свои пакеты, исходящие из другого IP-адреса, чем тот, на который он ссылается отправка пакетов; это базовая функция безопасности, чтобы игнорировать пакеты, связанные с определенным соединением, но исходящие из стороннего адреса. Следовательно, часть загрузки будет отключена, и соединение остановится. Это имеет мало общего с интернет-провайдерами и их услугами: это происходит даже между двумя ПК в одной локальной сети, если один из двух пытается подключиться к IP-адресу, используя в одном соединении два разных NICS (отсюда два разных IP-адреса).

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

Короткий ответ на этот корректный вопрос: в Windows, * Nix (включая MacOS) и Android no.In Linux да, вы можете.

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

Вместо этого для того, чтобы allott различные приложения для разных интерфейсов, вам нужны две различные функции: одна, способность два одновременно запускать две таблицы маршрутизации, а две - возможность связывать приложения с таблицей маршрутизации. На данный момент только ядро ​​Linux (на несколько лет впереди конкурентов) обладает этими возможностями. Ядро * Nix частично компенсирует это благодаря разумному использованию его брандмауэра, pfsense, но при этом не достигает полного результата.

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

Однако, чтобы использовать разные сетевые карты (и, следовательно, IPS) в зависимости от приложения, вам нужно сетевые пространства имен, ядро ​​Linux, которое позволяет вам создавать отдельную оболочку со своим собственным сетевым стеком. Теперь процессы, запущенные внутри этой отдельной оболочки, будут маршрутизироваться в соответствии с таблицей маршрутизации сетевого пространства имен, а не с основным ПК.

Это, конечно, форма виртуализации, хотя и более слабая форма, чем, скажем, контейнер Linux, не говоря уже о виртуальной машине. Но реальный способ, с одним ПК, маршрутизировать различные процессы через разные интерфейсы.

Подводя итог, в Linux (и только в Linux) вы можете запустить отдельное пространство имен в сети, которое, например, подключается через VPN к вашему рабочему месту, так что вы получаете доступ к своим рабочим ресурсам и, если вы запускаете Firefox, вы, похоже, работаете на своем рабочем месте и одновременно запустите Google Chrome за пределами пространства имен в сети и, таким образом, появляетесь (в Chrome), чтобы быть дома.


2
2018-05-25 21:37



«подразумевая, что они связаны с данным соединением, но происходят из стороннего адреса» ... исходный адрес в пакете - это единственное, что делает его связанным с данным соединением, а фильтрация обратного пути не волнует, пакеты, которые он упадет, ориентированы на соединение или нет (большинство атак спуфинга против протоколов без установления соединения). - Ben Voigt
«Это мало связано с интернет-провайдерами и их услугами: это происходит даже между двумя ПК в одной и той же локальной сети» - это имеет отношение к интернет-провайдеру. Вы можете отключить фильтрацию обратного пути на своем собственном компьютере (если вы работаете с ОС, такой как Linux, которая имеет это в первую очередь). Проблема заключается в том, что ваш интернет-провайдер (или их поставщик вверх по течению) использует его. - Ben Voigt


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

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

Если, с другой стороны, на самом деле вы спрашиваете, возможно ли одобрить соединение 4G для сеанса загрузки в основном, например, при загрузке файлов с ftp / sftp или http. И для обычного просмотра веб-страниц, чтобы этот трафик использовал ваш интернет-провайдер, я думаю, что ответ может быть. Но, возможно, для работы вам придется классифицировать сессию как загружаемую в основном, или загрузочную. Поскольку ftp, http и другие протоколы могут использоваться одинаково для загрузки или загрузки, вы не можете определить это по номеру порта. Поэтому единственной альтернативой является просмотр среднего потока данных. На этом этапе решение было принято, поскольку данные уже текут. Таким образом, это не может быть автоматизировано.

Итак, в вашем случае. NO. (по крайней мере, когда вы на короткой дистанции).


0
2018-05-26 02:30