Кадр Ethernet содержит адрес назначения, адрес источника, поле типа и данные. Размер адреса Ethernet - 6 байтов. Каждый сетевой адаптер имеет свой сетевой адрес. Адаптер "слушает" сеть, принимает адресованные ему кадры и широковещательные кадры с адресом FF:FF:FF:FF:FF:FF, отправляет кадры в сеть.
При попадании кадра в разделяемую среду передачи данных все сетевые адаптеры начинают одновременно принимать кадр. Все они анализируют адрес назначения, и если этот адрес совпадает с их собственным адресом, кадр помещается во внутренний буфер сетевого адаптера. Таким образом компьютер–адресат получает предназначенные ему данные.
Если одновременно два или более компьютера решают, что сеть свободна, и начинают передавать информацию, то такая ситуация, называемая коллизией, препятствует правильной передаче данных по сети. В стандарте Ethernet предусмотрен алгоритм обнаружения и корректной обработки коллизий. Вероятность возникновения коллизии зависит от интенсивности сетевого трафика.
После обнаружения коллизии сетевые адаптеры, которые пытались передать свои кадры, прекращают передачу и после паузы случайной длительности пытаются снова получить доступ к среде, и передать тот кадр, который вызвал коллизию.
Чем больше компьютеров подключено в сегменте Ethernet, тем больше столкновений будет зафиксировано и тем медленнее будет работать сеть. Кроме того, если в сети стоит сервер, к которому часто обращаются, то это также снизит общую производительность сети.
Главным достоинством сети Ethernet, благодаря которому они стали столь популярны, является их экономичность. Для построения сети достаточно иметь по одному сетевому адаптеру для каждого компьютера и один физический сегмент коаксиального кабеля нужной длины. Другие базовые технологии для создания даже небольшой сети требуют наличия дополнительного устройства – концентратора.
Кроме того, адаптеры сети Ethernet обладают высокой надежностью, а к самой сети легко подключить новые узлы.
Сеть Ethernet, имея фиксированную логическую топологию “общая шина”, может поддерживать в сети физическую топологию “звезда” с помощью концентратора, который повторяет входные сигналы на всех портах, кроме того, с которого сигналы поступают. Такая структуризация сети полезна для увеличения расстояния между узлами сети и для повышения ее надежности.
Каждая интерфейсная карта интерфейса Ethernet имеет свой уникальный адрес. Каждому производителю карт выделен свой пул адресов в рамках которого он может выпускать карты. Согласно протоколу Ethernet, каждый интерфейс имеет 6-ти байтовый адрес, который записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная запись байта). Первые три байта называются префиксом, и именно они закреплены за производителем. Каждый префикс определяет 224 различных комбинаций, что равно почти 17-ти млн. адресам..
В настоящее время активно внедряются усовершенствованные технологии: Fast Ethernet, 100VG-AnyLan, Gigabit Ethernet с гораздо большей пропускной способностью.
Таблица 4 Префиксы адресов Ethernet интерфейсов (карт) и производители, за которыми эти префиксы закреплены
Префикс | Производитель | Префикс | Производитель |
00:00:0C | Cisco | 08:00:0B | Unisys |
00:00:0F | NeXT | 08:00:10 | T&T |
00:00:10 | Sytek | 08:00:11 | Tektronix |
00:00:1D | Cabletron | 08:00:14 | Exelan |
00:00:65 | Network General | 08:00:1A | Data General |
00:00:6B | MIPS | 08:00:1B | Data General |
00:00:77 | Cayman System | 08:00:1E | Sun |
00:00:93 | Proteon | 08:00:20 | CDC |
00:00:A2 | Wellfleet | 08:00:2% | DEC |
00:00:A7 | NCD | 08:00:2B | Bull |
00:00:A9 | Network Systems | 08:00:38 | Spider Systems |
00:00:C0 | Western Digital | 08:00:46 | Sony |
00:00:C9 | Emulex | 08:00:47 | Sequent |
00:80:2D | Xylogics Annex | 08:00:5A | IBM |
00:AA:00 | Intel | 08:00:69 | Silicon Graphics |
00:DD:00 | Ungermann-Bass | 08:00:6E | Exelan |
00:DD:01 | Ungermann-Bass | 08:00:86 | Imageon/QMS |
02:07:01 | MICOM/Interlan | 08:00:87 | Xyplex terminal servers |
02:60:8C | 3Com | 08:00:89 | Kinetics |
08:00:02 | 3Com(Bridge) | 08:00:8B | Pyromid |
08:00:03 | ACC | 08:00:90 | Retix |
08:00:05 | Symbolics | AA:00:03 | DEC |
08:00:08 | BBN | AA:00:04 | DEC |
08:00:09 | Hewlett-Packard |
Протокол ARP (RFC 826). Address Resolution Protocol используется для определения соответствия IP-адреса адресу Ethernet. Протокол используется в локальных сетях. Отображение осуществляется только в момент отправления IP-пакетов, так как только в этот момент создаются заголовки IP и Ethernet. Отображение адресов осуществляется путем поиска в ARP-таблице. Упрощенно, ARP-таблица состоит из двух столбцов:
IP-адрес | Ethernet-адрес |
223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
Таблица соответствия необходима, так как адреса выбираются произвольно и нет какого-либо алгоритма для их вычисления. Если машина перемещается в другой сегмент сети, то ее ARP-таблица должна быть изменена.
Протокол IP является самым главным во всей иерархии протоколов семейства TCP/IP. Именно он используется для управления рассылкой TCP/IP пакетов по сети Internet. Основные функции протокола IP:
· определение пакета, который является базовым понятием и единицей передачи данных в сети Internet (датаграммы);
· определение адресной схемы, которая используется в сети Internet;
· передача данных между канальным уровнем (уровнем доступа к сети) и транспортным уровнем;
· маршрутизация пакетов по сети, т.е. передача пакетов от одного шлюза к другому с целью передачи пакета машине-получателю;
· "нарезка" и сборка из фрагментов пакетов транспортного уровня.
У протокола IP отсутствует ориентация на физическое или виртуальное соединение, т.е. прежде чем послать пакет в сеть, модуль операционной системы, реализующий IP, не проверяет возможность установки соединения, т.е. никакой управляющей информации кроме той, что содержится в самом IP-пакете, по сети не передается. Кроме этого, IP не заботится о проверке целостности информации в поле данных пакета, что заставляет отнести его к протоколам ненадежной доставки. Целостность данных проверяется протоколами транспортного уровня (TCP) или протоколами приложений.
Таким образом, вся информация о пути, по которому должен пройти пакет берется из самой сети в момент прохождения пакета. Именно эта процедура и называется маршрутизацией в отличии от коммутации, которая используется для предварительного установления маршрута следования данных, по которому потом эти данные отправляют.
Принцип маршрутизации является одним из тех факторов, который обеспечил гибкость сети Internet и ее победу в соревновании с другими сетевыми технологиями. Маршрутизация является довольно ресурсоемкой процедурой, так как требует анализа каждого пакета, который проходит через шлюз или маршрутизатор, в то время как при коммутации анализируется только управляющая информация, устанавливается канал, физический или виртуальный, и все пакеты пересылаются по этому каналу без анализа маршрутной информации. Однако, эта слабость IP одновременно является и его силой. При неустойчивой работе сети пакеты могут пересылаться по различным маршрутам и затем собираться в единое сообщение. При коммутации путь придется каждый раз вычислять заново для каждого пакета, а в этом случае коммутация потребует больше накладных затрат, чем маршрутизация.
В настоящее время используется версия Ipv4 (RFC791):
Рисунок 83 - Формат пакета IPv4
Total Lenght- общая длина пакета, Protocol- тип пересылаемой датаграммы.
Используя данные заголовка, машина может определить на какой сетевой интерфейс отправлять пакет. Если IP-адрес получателя принадлежит одной из ее сетей, то на интерфейс этой сети пакет и будет отправлен, в противном случае пакет отправят на другой шлюз.
Если пакет слишком долго "бродит" по сети, то очередной шлюз может отправить ICMP-пакет на машину-отправитель для того, чтобы уведомить о том, что надо использовать другой шлюз. При этом, сам IP-пакет будет уничтожен. На этом принципе работает программа ping, которая используется для деления маршрутов прохождения пакетов по сети.
Обсуждая протокол IP и вообще все семейство протоколов TCP/IP нельзя не упомянуть, что в настоящее время перед Internet возникло множество по-настоящему сложных проблем, которые требуют изменения базового протокола сети.
IPing - новое поколение протоколов IP
В начале 1995 года IETF, после 3-x лет консультаций и дискуссий, выпустило предложения по новому стандарту протокола IP - IPv6, который еще называют IPing.
Нельзя сказать, что до появления IPv6 не делались попытки обойти адресные ограничения IPv4. Например, в протоколах BOOTP (BOOTstrap Protocol) и DHCP (Dynamic Host Configuration Protocol) предлагается достаточно простой и естественный способ решения проблемы для ситуации, когда число физических подключений ограничено, или реально все пользователи не работают в сети одновременно. Типичной ситуацией такого сорта является доступ к Internet по коммутируемом каналу, например телефону. Ясно, что одновременно несколько пользователей физически не могут разговаривать по одному телефону, поэтому каждый из них при установке соединения запрашивает свою конфигурацию, в том числе и IP-адрес. Адреса выдаются из ограниченного набора адресов, который закреплен за телефонным пулом. IP-адрес пользователя может варьироваться от сессии. Фактически, DHCP - это расширение BOOTP в сторону увеличения числа протоколов, для которых возможна динамическая настройка удаленных машин. Но это достаточно специфическое решение, ориентированное на специальный вид подключения к сети. Однако, не только адресная проблема определила появление нового протокола. Разработчики позаботились и о масштабируемой адресации IP-пакетов, ввели новые типы адресов, упростили заголовок пакета, ввели идентификацию типа информационных потоков для увеличения эффективности обмена данными, ввели поля идентификации и конфиденциальности информации.