Протоколы сети Интернет |
103 |
|
|
pernetting), состоящей из группы подсетей, каждой из которых при& сваивается адрес подсети. Но в целом совокупность подсетей вы& глядит, как единая сеть с одним префиксом (например, для Европы выделены префиксы 194 и 195). Благодаря технологии CIDR, сокра& щается число маршрутов и, следовательно, размер и сложность таб& лиц маршрутизации, которые должны поддерживать коммутаторы и маршрутизаторы. Несмотря на то, что CIDR привносит известную гибкость в схему IP&адресации, она, тем не менее, не решает глав& ной проблемы – недостатка IP&адресов в обозримом будущем.
Протокол IPv6 решает этот вопрос путём расширения адресного поля до 128 битов, обеспечивая тем самым 2128 потенциальных адре& сов, что составляет величину 340.282.366.920.938.463.463.374.607.431.768.211.456. По расчётам Кристиана Хюйтема, такого адресного пространства достаточно, чтобы присвоить по 32 адреса каждому квадратному дюйму суши на Земле – что, в принципе, должно решить проблему. С учётом предложений о присвоении IP&адресов сетевым кофевар& кам, холодильникам, системам обогрева и кондиционирования, ав& томобилям и вообще всем мыслимым устройствам, ценность и рен& табельность протокола IPv6 возрастёт ещё больше. Протокол IPv6 об& ладает также дополнительными функциональными возможностями, хотя для их реализации потребуется модернизация существующего сетевого программного обеспечения.
Но вернемся к протоколу IPv4. Компьютер, подключенный к сети Интернет, кроме IP&адреса может идентифицироваться доменным именем. Сеть Интернет разделена на логические области (домены). Адреса в системе имён доменов (DNS), администрирование кото& рых лежит на ICANN, имеют стандартный вид, представляющий со& бой последовательность имен, разделенных точками, например:
компьютер.организация.домен. Подавляющее большинство из 45 миллионов (или около того) зарегистрированных доменов верхне& го уровня (TLD) является коммерческими. Домены TLD, которые идентифицируются как суффикс доменного имени, бывают двух типов: обобщённые домены верхнего уровня (net, com, org) и коды стран (ru, fi, ua).
Сам же ICANN получил от IANA полномочия по администрирова& нию Интернет&адресов. При администрировании со стороны IANA, ответственность за присвоение TLD возлагалась на центр сетевой информации Интернет (InterNIC) компании Network Solutions Inc. В те& чение первых десятков лет существования Интернет, присвоение доменов было бесплатным. Позже, InterNIC начал брать плату за до& мены .com в размере $70 за первые два года и $35 за каждый сле& дующий год. В 1999 году InterNIC потерял монопольное право на при& своение доменов, так как в апреле 1999 года были утверждены четы&
104 |
Глава 4 |
|
|
ре конкурентные организации на испытательный срок до 25 июня 1999 года. ICANN также объявил, что ряд других заявителей удовле& творяют его критериям аккредитации, и они будут аккредитованы по окончании испытательного срока.
Имена доменов гораздо легче запомнить и ввести, но необходи& мо преобразование для перевода имён доменов в IP&адреса; это не& обходимо для того, чтобы разные маршрутизаторы и коммутаторы могли направить информацию в нужный пункт назначения.
Функционирование сети Интернет основано на сложном комплек& се протоколов, обеспечивающих выполнение различных функций – от непосредственно передачи данных до управления конфигураци& ей оборудования сети.
Для того, чтобы классифицировать различные протоколы и понять их место в общей структуре технологии межсетевого взаимодейст& вия, удобно воспользоваться так называемым «многоуровневым представлением сетевых протоколов». В рамках такого представле& ния подразумевается, что протоколы более высокого уровня исполь& зуют функции протоколов более низкого уровня. Классической, хотя и представляющей сейчас, скорее, академический интерес, моде& лью такого рода является семиуровневая модель взаимодействия открытых систем (Open Systems Interconnection – OSI), разработан& ная ITU&T в рамках неудавшейся попытки создать международный стандарт семейства сетевых протоколов. Вместе с тем, некоторые результаты данного проекта являются хорошим материалом для учебников, чем мы и воспользуемся.
Рис. 4.1 иллюстрирует взаимоотношения архитектуры Интернет, определенной ARPA, с моделью OSI, а также поясняет функции каж& дого из уровней.
Архитектура Интернет была разработана агентством ARPA для соединения компьютеров в государственных, военных, академиче& ских и других организациях, в основном, на территории США, что обусловило ее практический характер. С другой стороны, модель OSI охватывала более широкий круг вопросов передачи информации, и в ее рамках не был конкретизирован тип взаимодействующих сис& тем, что породило более «дробное» разбиение на уровни. Однако между той и другой архитектурой имеется очевидное соответствие.
Первый уровень модели ARPA – уровень сетевого интерфейса – поддерживает физический перенос информации между устройст& вами в сети, т.е. объединяет функции двух уровней OSI – физиче& ского и звена данных. Уровень сетевого интерфейса обеспечивает физическое соединение со средой передачи, обеспечивает, если
Протоколы сети Интернет |
105 |
|
|
это необходимо, разрешение конфликтов, возникающих в процес& се организации доступа к среде (например, используя технологию CSMA/CD в сети Ethernet), упаковывает данные в пакеты. Пакет2 – это протокольная единица, которая содержит информацию верх& них уровней, и служебные поля (аппаратные адреса, порядковые но& мера, подтверждения и т.д.), необходимые для функционирования протоколов этого уровня.
Уровни модели OSI
Уровень Приложений (Application Layer)
Уровень Представления (Presentation Layer)
Уровень Сессий (Session Layer)
Транспортный Уровень (Transport Layer)
Сетевой Уровень (Network Layer)
Уровень Звена Данных (Data Link Layer)
Физический Уровень (Physical Layer)
Пользовательские приложения или приложения, непосредственно их поддерживающие, такие как передача файлов или электронная почта. Эти приложения реализуют и используют при взаимодействии соотв. протоколы & HTTP, FTP, SMTP и т.д.
Может поддерживать подтверждение доставки от отправителя до получателя. На приемном конце
обеспечивает идентификацию (номер порта) приложения Уровня 7, которому предназначается информация.
Примеры протоколов транспортного уровня& TCP, UDP.
Обеспечивает формирование таблиц маршрутов и пересылку . Ограниченно поддерживает диагностические функции (протокол ICMP). Протокол,обеспечивающий пересылку – IP. Пример протокола для формирования таблицы маршрутов – OSPF.
Обеспечивает передачу информации по каналу связи. Может обеспечивать обнаружение ошибок и повторную передачу, в зависимости от конкретного протокола. Примеры протоколов& PPP, LAPD, L_2 Ethernet.
Обеспечивает использование физической среды для передачи битов. Определяет физические характеристики сигналов, функции синхронизации, физические характеристики разъемов.
Примеры – E1, V.35, SDH, Ethernet.
Уровни
архитектуры ARPA
Уровень
Приложений (Process/ Application Layer)
Транспортный Уровень (Host&to&Host Layer)
Сетевой Уровень (Internet Layer)
Уровень сетевого интерфейса
или локальной сети (Network Interface
or Local Network Layer)
Рис. 4.1 Уровни модели OSI и архитектуры Интернет
Сетевой уровень отвечает за передачу информации, упакованной в дейтаграммы (datagram), от одного компьютера к другому. Дейта& грамма – это протокольная единица, которой оперируют протоколы семейства TCP/IP. Она содержит адресную информацию, необходи& мую для переноса дейтаграммы через сеть, а не только в рамках од& ного звена данных. Понятие дейтаграммы никак не связано с физи& ческими характеристиками сетей и каналов связи, что подчеркивает независимость протоколов TCP/IP от аппаратуры. Основным прото& колом, реализующим функции сетевого уровня, является протокол IP. Этот протокол отвечает за маршрутизацию, фрагментацию и сбор& ку дейтаграмм в рабочей станции.
Обмен между сетевыми узлами информацией о состоянии сети, необходимой для формирования оптимальных маршрутов следова& ния дейтаграмм, обеспечивают протоколы маршрутизации – RIP, EGP, BGP, OSPF и др.
2 Иногда при рассмотрении протоколов этого уровня (Ethernet, HDLC) употребляется также термин кадр (frame).
106 |
Глава 4 |
|
|
Протокол преобразования адресов (Address Resolution Protocol – ARP) преобразует IP&адреса в адреса, использующиеся в локаль& ных сетях (например, Ethernet). На некоторых рисунках, изображаю& щих архитектуру и взаимосвязь протоколов, ARP размещают ниже IP, чтобы показать его тесную взаимосвязь с Уровнем Сетевого Интерфейса.
Протокол контрольных сообщений – Internet Control Message Pro& tocol (ICMP) предоставляет возможность программному обеспече& нию рабочей станции или маршрутизатора обмениваться информа& цией о проблемах маршрутизации пакетов с другими устройствами в сети. Протокол ICMP – необходимая часть реализации стека про& токолов TCP/IP.
Когда дейтаграмма проходит по сети, она может быть потеряна или искажена. Транспортный уровень решает эту проблему и обес& печивает надежную передачу информации от источника к приемни& ку. Кроме того, реализации протоколов этого уровня образуют уни& версальный интерфейс для приложений, обеспечивающий доступ к услугам сетевого уровня. Наиболее важными протоколами транс& портного уровня являются TCP и UDP.
Конечные пользователи взаимодействуют с компьютером на уров& не приложений. Разработано множество протоколов, используемых соответствующими приложениями. Например, приложения переда& чи файлов используют протокол FTP. Web&приложения используют протокол HTTP. Оба протокола FTP и HTTP базируются на протоколе TCP. Приложение Telnet обеспечивает подключение удаленных тер& миналов. Протокол эксплуатационного управления сетью SNMP по& зволяет управлять конфигурацией оборудования в сети и собирать информацию об его функционировании, в том числе, и о аварийных ситуациях. Приложения, созданные для организации речевой связи и видеосвязи, используют протокол RTP для передачи информации, чувствительной к задержкам. X Window – популярный протокол для подключения к интеллектуальному графическому терминалу. Этот список можно продолжать практически бесконечно.
Таким образом, IP–сети используют для передачи информации разнообразные протоколы, причем функции протоколов не зависят от того, какие данные передаются. Иными словами, IP, ARP, ICMP, TCP, UDP и другие элементы стека протоколов TCP/IP предоставляют уни& версальные средства передачи информации, какой бы она ни была природы (файл по FTP, Web – страница или аудиоданные).
Вкачестве основного протокола сетевого уровня в стеке прото& колов TCP/IP используется протокол IP, который изначально проек&
Протоколы сети Интернет |
107 |
|
|
тировался как протокол передачи пакетов в сетях, состоящих из боль& шого количества локальных сетей. Поэтому протокол IP хорошо ра& ботает в сетях со сложной топологией, рационально используя на& личие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи. Протокол IP организует пакетную пе& редачу информации от узла к узлу IP&сети, не используя процедур установления соединения между источником и приемником инфор& мации. Кроме того, Internet Protocol является дейтаграммным про& токолом: при передаче информации по протоколу IP каждый пакет передается от узла к узлу и обрабатывается в узлах независимо от других пакетов.
Протокол IP не обеспечивает надежность доставки информации, так как он не имеет механизмов повторной передачи. Он не имеет также и механизмов управления потоком данных (flow&control). Дей& таграммы могут быть потеряны, размножены, или получены не в том порядке, в каком были переданы.
Протокол IP базируется на протоколе уровня звена данных, кото& рый обеспечивает передачу данных по физической среде. Программ& ный модуль, реализующий протокол IP, определяет маршрут пере& носа данных по сети до точки назначения, или до промежуточного маршрутизатора, где дейтаграмма извлекается из кадра локальной сети и направляется в канал, который соответствует выбранному маршруту. Дейтаграммы могут разбиваться на более мелкие фраг& менты, или, наоборот, несколько дейтаграмм могут объединяться в одну на стыке разных сетей, если эти сети поддерживают передачу дейтаграмм разной длины.
В каждой рабочей станции, подключенной к IP&сети, обработка IP&дейтаграмм, производится по одним и тем же правилам адреса& ции, фрагментации и маршрутизации. Рабочие станции рассматри& вают каждую дейтаграмму как независимую протокольную единицу, так как протокол IP не использует логических соединений или каких& либо других средств идентификации виртуальных каналов3 .
На рис. 4.2 показана структура протокольной единицы протокола IP – дейтаграммы.
Поле версия (version) идентифицирует используемую версию про& токола IP, в рассматриваемом случае указывается версия 4. Необхо& димость этого поля объясняется тем, что в переходный период в сети могут использоваться протоколы разных версий.
Поле длина заголовка (header length), состоящее из 4 битов, оп& ределяет длину заголовка, причем длина указывается как количест& во блоков размером 32 бита. В типичном случае значение этого поля равно 5.
3 При рассмотрении протокола IP версии 6 и вопросов обеспечения качества обслуживания, мы увидим некоторые отклонения от этого принципа.