Ethernet против TCP против IP?

24

В чем разница между Ethernet, TCPи IPв простых (простых абстрактных) условиях?

Пожалуйста, не копируйте из Википедии ...

вака
источник
4
Если вам интересны сети, изучите модель OSI «7-слойная» en.wikipedia.org/wiki/OSI_model. Относится к большинству, если не ко всем сетям, будь то сотовый телефон, Wi-Fi, BlueTooth, удаленная машина. разблокировать ...
ник т
13
Никто не должен быть вынужден изучать модель OSI.
Ян Бойд

Ответы:

79

Представьте себе одну из этих систем сообщений с пневматической трубкой . Ethernet - это труба, используемая для отправки сообщения, IP - это конверт в трубе, а TCP / UDP - это буква в конверте.

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

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

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

Это, конечно, огромное упрощение того, что на самом деле происходит, но это довольно приличная основа для начала.

Игнасио Васкес-Абрамс
источник
8
Этот ответ должен быть напечатан в учебнике для средней школы. Не удивительно, что у вас более 18 тыс. Репутации.
Бельмин Фернандес
Черт возьми, это отличное объяснение! Спасибо!
Chiggsy
5
Так что на самом деле это серия трубок !
Майкл Хэмптон
1
А как насчет TCP? Добавление метафоры, направленной на ориентацию потока, мультиплексирование, соединение и надежность, превратит этот великолепный ответ в идеальный.
artistoex
@artistoex: Хотя это действительно так, это также значительно увеличит продолжительность работы и потребует доработки базовой аналогии. Лучше рассмотреть эти конкретные проблемы в параллельной аналогии, а не пытаться включить ее в эту.
Игнасио Васкес-Абрамс
7

Любой из них используется в слое. Ethernet на уровне 2, IP на уровне 3 и TCP на уровне 4 (номера уровней основаны на модели OSI).

У каждого из них есть обязанность доставки пакетов от одного до другого:

Ethernet : от одного перехода к другому (прыжок означает напрямую подключенное устройство)

IP : от одного конца к другому (удаленное устройство или подключенное устройство)

TCP : от одного процесса к другому (процесс выполняется на двух концах)

SUb
источник
1
Удивительный способ посмотреть на это. Добавить к этому. В заголовке Ethernet есть mac-адреса, чтобы указать, какой соседний компьютер отправлять. IP добавляет информацию об IP-адресе, поэтому пакет можно маршрутизировать по нескольким маршрутам. TCP добавляет информацию о порте, поэтому можно различать несколько процессов, работающих на одном компьютере (с IP-адресом).
Барриста
4

Значительно упрощен и потенциально неточен. ;) tcp (протокол управления передачей) и ip (интернет-протокол) являются программными протоколами. Они работают на разных уровнях сетевого стека. Ethernet является средой, которую он передает по сравнению с вещами, такими как Token Ring, оптоволокно и т. Д., Описывающими физический уровень стека.

DMAH
источник
3

Ethernet

Служба физической связи . Читает и пишет сообщения на проводе. (упрощенный)

IP

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

TCP

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

  • надежны (запрашивает повторные передачи, если сообщения теряются)
  • избежать заторов на пути связи
  • не сокрушит приемник
artistoex
источник
1

Физический (уровень 1): своего рода физический (электрический, электромагнитный, оптический) метод и стандарт сигнализации. Почти всегда обрабатываются в аппаратных средствах. Сильно средний и скорость зависит.

Ethernet (уровень 2): использует MAC-адреса для идентификации узлов - «протокольные единицы данных» называются кадрами. Этот уровень не имеет понятия межсетевого взаимодействия. Он отправляет кадр в пункт назначения, предполагая, что он может выбросить через среду и что он туда доберется.

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

UDP (уровень 3.1ish): По сути, IP-пакет расширен, чтобы иметь понятие «порт». Порты позволяют вам обращаться к разным слушателям на одном и том же хосте - так что более чем одна программа на хосте может использовать все эти замечательные вещи, а среда может использоваться более эффективно.

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

LawrenceC
источник
1
UDP - это тот же уровень, что и TCP - его уровень 3.1 не работает. TCP - это «протокол 6», а UDP - «протокол 11» в поле протокола IPv4 (или следующего заголовка IPv6). Они оба упакованы по IP (UDP не упаковывает TCP).
Александр Берд
Очень верно. Я многому научился с момента публикации этого 4 года назад, лол.
LawrenceC