Сеть Internet представляет собой объединение более мелких сетей (subnets)—сеть сетей. Под узлами сети чаще всего понимаются сетевые карты связываемых компьютеров. Информация передается от одного узла (host-компьютера) сети к другому в виде потоков, состоящих из пакетов данных. Пакеты помещаются внутрь конвертов и перемещаются от одного компьютера к другому. Итак, исходный, возможно большой, блок информации разбивается на множество мелких пакетов, а затем, по получении, восстанавливается в своем первоначальном виде.
Размер блока данных, передаваемых в одном пакете, не может быть менее 46 байт и более 1500 байт. Ограничение сверху вызвано желанием равномерно загрузить сеть. Ограничение снизу вызвано тем, что пакет не может быть менее 64 байт и должен иметь заголовок в 18 байт. Сетевые сообщения разбиваются и помещаются в отдельные конверты (frames). На приемном конце весь блок информации должен быть корректно собран из частей (отдельных пакетов, выбранных из конвертов).
Важную роль в сетевом программировании играют протоколы. Они задают стандарты, унифицирующие способы соединения подсетей и образования связей между ее узлами. Различают несколько основных типов протоколов:
¨ Transmission Control Protocol (TCP),
¨ Internet Protocol (IP),
¨ User Datagram Protocol (UDP),
¨ Address Resolution Protocol (ARP),
¨ Internet Control Message Protocol (ICMP).
В сетях Ethernet различают 3 типа протоколов: Ethernet 802.2, Ethernet 802.3 и Ethernet version 2. Первые два—являются стандартами IEEE. Протокол Ethernet version 2 не является стандартом, но он наиболее широко используется в сетях Ethernet. Почти все сетевые устройства, включая ОС Windows, по умолчанию используют для передачи IP-пакетов именно этот протокол.
Большинство пакетов, используемых в сетевом программировании, кроме слоя данных, содержат 3 отдельных слоя (layers) информации, характеризующих сеть и протоколы. Следующии рисунок показывает иерархию протоколов IP-пакета. Каждый слой имеет свой собственный формат, определяющий параметры протокола.
Заголовок (Ethernet header) version 2 идентифицирует адреса связываемых сетевых устройств и номер протокола, используемого в следующем слое. Вот формат всего Ethernet IP-пакета:
¨ Первые 6-байт задают адрес получателя (destination). Его называют MAC-адресом (Media Access Card).
¨ Следующие 6-байт задают адрес источника (source). Это MAC-адрес отправителя.
¨ Затем идет 2-байтовый идентификатор протокола следующего уровня,
¨ Блок передаваемых данных (от 46 до 1500 bytes),
¨ 4-байтовая контрольная сумма.
Минимальный размер данных (46 байт) определяется так, чтобы весь Ethernet-пакет был не менее 64 байт. Если размер блока данных меньше 46 байт, то он дополняется определенными символами (padding characters) так, чтобы общий размер стал 64 байта. Если контрольная сумма не соответствует данным, то пакет бракуется.
Рассмотрим формат MAC-адреса. Шесть байт делятся пополам, первая половина (3 байта) определяет изготовителя сетевой карты OUI (Organizationally Unique Identifier), вторые 3 байта определяют ее серийный номер. MAC-адрес вырабатывается сетевой картой и его нельзя изменять.
Уникальность адресов обеспечивается организацией IANA (Internet Assigned Numbers Authority). Она занимается выработкой стандартов. В документах RFC (Internet Request For Comments) опубликовываются MAC-адреса, присвоенные разработчикам сетевых устройств. Вот выдержка из документа RFC 1700.
Identifier |
Vendor |
00000C |
Cisco |
00001D |
Cabletron |
00005E |
IANA |
0000A9 |
Network Systems |
0000AA |
Xerox machines |
0000C0 |
Western Digital |
00AA00 |
Intel |
080009 |
Hewlett-Packard |
08000B |
Unisys |
080020 |
Sun machines |
08002B |
DEC |
080046 |
Sony |
08005A |
IBM |
080069 |
Silicon Graphics |
800010 |
AT&T |
Вы можете встретить различные формы написания одного и того же MAC-адреса:
0020AFCCEC3, 00:20:AF:BC:CE:C3, 00-20-AF-BC-CE-C3
Некоторые типы протоколов (например, ARP) рассылают пакеты запроса (query packet) всем устройствам. Например, когда ищется узел с определенным IP-адресом. Поэтому, в дополнение к зарегистрированным адресам вводится broadcast- и multicast-ареса. Широковещательным (broadcast) считается адрес получателя, в котором все биты (destination address bits) установлены в единицу (0xFFFFFFFFFFFF). Он является единым адресом всех устройств Ethernet-сети и все они должны ответить на запрос с таким адресом.
Ethernet multicast-адрес определяет подмножество устройств сети, которые должны на него откликнуться. В следующей таблице показан ряд multicast-адресов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.