Заметка

OSI модель. Как работает Ethernet. Часть 1

Всем привет!

Сегодня мы поговорим об одном из основных протоколов канального уровня Ethernet. Осознание того, как он работает, очень важно, так как это поможет нам глубже понять основы функционирования сети Internet.

Прежде чем вдаваться в подробности, как устроен стандарт Ethernet, нам нужно для начала разобраться в основных понятиях и классификациях, которые описывают и различают network технологии.

Local Area vs. Wide Area

Мы можем классифицировать network технологии как принадлежность к одной из двух основных групп. Local area network (LAN) соединяет много устройств, находящихся относительно близко друг к другу, обычно в одном и том же здании.

LAN_singlenetwork

Например, терминалы библиотеки, отображающие информацию о книге, или же все сетевые устройства, находящиеся у вас дома, соединены по локальной сети (LAN).

lan-network-diagram-illustrator-for-business-and-technology-concept

Wide area network (WAN) соединяет меньшее количество устройств, которые могут находиться на много километров друг от друга. Например, две библиотеки на разных концах города хотят расшарить свои книжные каталоги. Они, скорее всего, будут использовать Wide Area Network (WAN) технологию.

Wide-Area-Network

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

Ethernet

В 1973 году в Xerox Corporation Research Center исследователь Bob Metcalfe изобрел и протестировал первую Ethernet сеть. Во время работы над способом связать Xerox’s «Alto» компьютер с принтером Metcalfe разработал физический метод соединения устройств с помощью кабелей в единую сеть Ethernet, а также стандарты, которые регулируют «общение» по кабелю. С тех пор Ethernet стал наиболее популярной и широко распространенной сетевой технологией в мире. Многие вопросы, связанные с Ethernet, являются общими для многих сетевых технологий, и понимание того, как Ethernet решает эти вопросы, может заложить основу, что позволит улучшить понимание сетей в целом.

Стандарт Ethernet со временем расширился, чтобы охватить новые технологии, к которым «созрел» Internet, однако механизм работы каждой сети Ethernet сегодня все же происходит от оригинальной модели Metcalfe‘а. Исходный Ethernet описывал соединение по одному кабелю, расшаренному между всеми устройствами сети. С тех пор как устройство было подсоединено к этому кабелю, оно могло взаимодействовать с любым подключенным устройством. Это позволяло сети расширяться, подключая новые устройства, при этом не требуя никаких изменений в устройствах, уже находящихся в сети.

ethernet_bus

Ethernet Basics

Ethernet — это local area технология. В лучшем случае, устройства Ethernet могут находиться всего в нескольких сотнях метров от кабеля, что делает ее практически нецелесообразной для соединения географически разбросанных узлов. Современные достижения значительно увеличили эти расстояния, позволяя сетям Ethernet охватывать десятки киллометров.

Protocols

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

Ethernet Terminology

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

  • Medium Ethernet устройства подсоединяются к общему медиуму (medium), обеспечивающему путь, вдоль которого будут перемещаться все электронные сигналы
  • Segment — часть Ethernet, в которой весь трафик сообщений является общим для всех узлов, то есть транслируется с одного узла и принимается всеми остальными (broadcast).
  • Node — устройства, подсоединенные к сегменту, называются станциями или узлами (node).
  • Frame — узлы общаются друг с другом короткими сообщениями, называемыми фреймами (frame), они могут быть разного размера.

Фреймы являются аналогами предложений в человеческом языке. Как в русском языке существуют правила построения правильных предложений, так и протокол Ethernet определяет набор правил для построения фреймов. Существуют минимальный и максимальный размеры для фрейма, а также набор требуемой информации, который должен присутствовать в фрейме. Каждый фрейм, например, должен включать в себя destination address и source address, которые идентифицируют получателя и отправителя сообщения. Адрес является уникальным идентификатором узла, так же, как имя определяет конкретного человека. Никакие два устройства Ethernet не должны иметь один и тот же адрес.

Ethernet Medium

Поскольку сигнал в Ethernet medium достигает каждого подсоединенного к нему узла, destination address имеет решающее значение для идентификации получателя фрейма.

ethernet1

Например, на рисунке выше, когда компьютер B передает фрейм принтеру C, компьютеры A и D по-прежнему будут получать и изучать этот фрейм. Однако, когда станция получает фрейм, она проверяет destination address, чтобы увидеть, предназначен ли фрейм для нее или нет. Если не для нее, то станция отбрасывает фрейм, даже не рассматривая его содержимое.

Один интересный факт об Ethernet адресации — это реализация broadcast адресации. Фрейм с destination address эквивалентен broadcast адресу (или просто broadcast), предназначенному для каждого узла сети, и каждый узел будет и принимать, и обрабатывать этот тип фрейма.

CSMA/CD

Акроним CSMA/CD расшифровывается как carrier-sense multiple access with collision detection и описывает, как протокол Ethernet регулирует соединения между узлами. Хотя этот термин может показаться пугающим, если разбить его на составляющие части, мы увидим, что он описывает правила, очень похожие на те, которые люди используют при вежливой беседе. Чтобы проиллюстрировать работу Ethernet, мы будем использовать аналогию с обеденным столом переговоров.

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

dinner_table

Термин multiple access охватывает как раз то, что мы обсуждали выше: когда одна Ethernet станция передает данные, все станции в medium‘е слушают передачу, так же, как и когда один человек говорит за столом, все присутствующие в состоянии услышать его или ее.

Теперь давайте представим, что вы за столом и у вас есть, что хотелось бы сказать.Однако, на данный момент говорю я. Так как у нас вежливый разговор, вместо того, чтобы сразу говорить и прервать меня, вы бы подождали, пока я не закончу говорить. То же самое понятие описано в протоколе Ethernet под названием carrier sense. Перед тем, как передавать данные, станция «слушает» medium, чтобы определить, передает ли другая станция данные или нет. Если на medium‘е тихо, станция понимает, что это подходящее время для передачи данных.

Collision Detection

Carrier-sense multiple access дают нам хороший старт в регулировании нашего разговора, но все еще есть один сценарий, который нам нужно разобрать. Давайте вернемся опять к аналогии с обеденным столом и представим, что сейчас сиюминутное затишье в разговоре. У вас и у меня есть, что сказать, и, пользуясь тишиной, мы оба начинаем одновременно говорить. В терминологии Ethernet, случается коллизия(collision), когда мы оба одновременно говорим.

В нашем разговоре мы можем изящно справиться с этой ситуацией. Мы оба слышим, что другой говорит в одно и то же время с нами, поэтому мы можем остановиться, чтобы дать другому возможность продолжить. Узел Ethernet также слушает medium в тот момент, когда он передает, чтобы убедиться, что он — единственный узел, который передает данные в текущее время. Если станции услышат свои собственные фреймы, возвращенные в искаженном виде, как было бы, если некоторые другие станции начали передавать свои собственные сообщения в одно и то же время, то они узнают, что произошла коллизия(collision). Один Ethernet segment иногда называют collision domain, потому что никакие две станции не могут передавать в одно и то же время, не вызывая коллизии.

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

Случайная пауза и повтор — важная часть протокола. Если две станции «сталкиваются» при передаче один раз, то им обеим нужно будет передавать снова. В следующей соответсвующей возможности передать, обе станции, вовлеченные в предыдущую коллизию, будут иметь готовые данные для передачи. Если бы станции пытались передавать при первой же возможности, они, скорее всего, сталкивались бы снова и снова неопределенное время. Вместо этого, случайная задержка делает маловероятным, что любые две станции будут «сталкиваться» больше, чем несколько раз подряд.

На этом сегодня все. В следующий раз мы продолжим изучение технологии Ethernet. Всем удачи и крепких знаний!

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s