Как данные перемещаются в сети интернет, всегда конвертируются в кадры Ethernet или остаются в пакетах IP?

Я понимаю в целом как работают маршрутизаторы и работают разные уровни osi. Но когда объясняют работу маршрутизаторов не уточняют взаимодействие сетевого и канального(сетевых интерфейсов) уровней.
Т.е. один маршрутизатор отправляет пакет на другой по протоколу ip. Но сети ведь построены зачастую через ethernet(витая пара, мак адреса, ограничение размера пакета по размеру кадра и т.д.; другие протоколы опустим).
  1. Конвертации пакета ip в кадр ethernet не происходит? Ведь поиск маршрута у этих протоколов отличается. Или поиск маршрута разрешается на ip, но между двумя маршрутизаторами всё равно пакет конвертируется в кадр, затем на новом маршрутизаторе "разворачивается" до ip, маршрутизатор решает куда его послать и пакует обратно в ethernet... Но в таком случае ведь все-равно в ethernet нельзя закольцовывать пути, а маршрутизаторы по-любому где-нибудь закольцованы.
  2. Уровни сети ведь нисходящие с прикладного до физического. Если "упаковки" до ethernet не происходит, то он просто пропускается? ведь без физического уровня передать данные нельзя...
  3. 3)Получается конвертация в ethernet происходит только в локальных сетях без маршрутизатора? Сейчас часто домашняя сеть построена через маршрутизатор от провайдера и выходит, что ethernet как протокол тут не используется даже между компьютерами в локальной сети?
  4. 4)Если есть чисто локалка на свиче, то сетевой уровень по-любому используется? Допустим с датаграммы udp упаковка в ip пакет, затем только в кадр ethernet? И по-любому отрабатывают dhcp и arp?
  5. 5)Сейчас стандартно есть сетевая карта(поддерживает ip) в компьютерах, но первые сети были ethernet. Получается там давным-давно были "ethernet карты"? как такое оборудование называлось? (это уже в довесок, первые 4 вопросы важнее)
  • Вопрос задан
  • 417 просмотров
Решения вопроса 1
Vamp
@Vamp
1. Пакеты не конвертируются друг в друга, а вкладываются. То есть в типичном пакете имеются сразу три заголовка - Ethernet, IP и TCP. И когда маршрутизатор решает куда отправить пакет дальше, смотрит только на заголовок IP. У маршрутизатора существует таблица маршрутизации, которая указывает какие IP адреса на какой интерфейс отправлять. Непосредственно перед отправкой маршрутизатор перезапишет ethernet заголовок и вставит в него свой MAC в поле "source MAC address", а MAC выбранного следующего получателя в поле "destination mac address".

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

2. Упаковка в Ethernet может быть пропущена только если источник пакета по каким-то своим внутренним соображениям решает не отправлять его. Например, если сработало запрещающее правило фаервола. Очевидно, что такой пакет не покинет своего места рождения. И, кстати, Ethernet - это ещё не физический уровень.

3. Ethernet используется в локальных сетях. И топология LAN на это не влияет - с маршрутизатором или без него.

4. Если есть чисто локалка на свиче, то сетевой уровень по-любому используется?
Да, сетевой уровень используется и здесь.

Допустим с датаграммы udp упаковка в ip пакет, затем только в кадр ethernet?
Да, UDP заворачивается сначала в IP, а затем в Ethernet.

И по-любому отрабатывают dhcp и arp?
DHCP не является обязательным для применения (он, кстати, работает поверх UDP). ARP тоже может не использоваться, если в этой сети не используется IP адресация (а вот ARP уже самостоятельный протокол канального уровня, который упаковывается только в Ethernet).

5. Во времена до изобретения Ethernet использовались другие протоколы. Например, Token Ring или ARCnet. Соответственно, и оборудование было другое, поддерживающее данные протоколы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
CityCat4
@CityCat4 Куратор тега Сетевое администрирование
Жил-был у бабушки серенький троллик...
Олиферы прочитаны?

Если нет, то тогда вот такая вот история:
- ты берешь кило картошки и высыпаешь его в пакет, на котором пишешь "кило картошки"
- потом упаковываешь это в другой пакет, на котором пишешь "квартира 29"
- потом упаковываешь это в другой пакет, на котором пишешь "3-я ул. Строителей, дом 12"
- потом упаковываешь это в другой пакет, на котором пишешь "В доставку" и зовешь курьера.

Курьер приезжает в доставку и снимает свой пакет.
Доставка видит адрес, довозит пакет до дома, передает его консьержу и снимает свой пакет
Консьерж зовет коридорного, который подымает пакет к двери квартиры и снимает свой пакет, потом звонит в дверь
Адресат открывает дверь и видит пакет с надписью "кило картошки".

Разве картошка по пути следования в что-то "преобразовывалась"?
Ответ написан
@nApoBo3
Вы не понимаете даже в общих чертах как "работает" модель osi.
У вас нет "конвертации" пакетов, у вас есть упаковка пакетов, она происходит у отправителя от большего уровня к меньшему, у получателя распаковка от меньшего к большему. Если очень просто, пакет третьего уровня составляет датасекцию пакета второго уровня, к ней добавляются заголовки пакета второго уровня.
Ответ написан
paran0id
@paran0id
Умный, но ленивый
Конвертации нет, есть инкапсуляция.
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Если смотреть только на Ethernet, то он представляет плоскую сеть, где все узлы равноправны и могут обмениваться трафиком друг с другом на прямую без всякой маршрутизации. Ethernet ничего не знает о других сетях. Для него есть только одна сеть.
Поэтому для взаимодействия между разными сетями нужен более высокоуровневый протокол, который позволяет отличить адреса "своей" сети, от "чужих" адресов (обеспечивает маршрутизацию между сетями). Это IP. Датаграммы IP вкладываются в поле данных Ethernet.
Над IP есть TCP и UDP. TCP гарантирует доставку пакетов, UDP - не гарантирует. Общее между ними то, что оба протокола позволяют идентифицировать конечные приложения на хосте получателя и отправителя по номерам портов. Сам по себе IP не позволяет этого делать, для него конечной точкой является хост в сети, средств идентификации приложений внутри хоста в IP нет. TCP и UDP пакеты вкладываются в поле данных IP пакета.
Ну и далее поверх TCP и UDP куча прикладных протоколов, которые решают какие-то специфические задачи. Эти прикладные протоколы точно так же вкладываются в поле данных протоколов TCP или UDP.

И нет никакой конвертации и преобразования, просто пакет вышележащего протокола является данными для пакета нижележащего протокола (инкапсуляция). Про инкапсуляцию смотри аналогию CityCat4 о картошке.
Ответ написан
@PapaTramp
Wireshark замечательно показывает, кто на ком стоял :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы