Система доменных имен DNS
Встает задача отображения доменных имен в IP-адреса. На раннем этапе развития Internet на каждом хосте вручную создавался текстовый файл “hosts”, который состоял из пар записей <IP-address — Domain Name>, например:
102.54.94.97 – nick.bgs.com.
По мере роста сети появилась необходимость введения специальной службы — DNS (Domain Name System) – системы доменных имен. Служба DNS использует в своей работе протокол типа «клиент– сервер» (client – server). DNS-серверы содержат распределенную базу отображений. DNS-клиенты обращаются к этим серверам с запросами об отображении доменного имени в IP-адрес.
Каждый DNS-сервер кроме таблицы отображения имен содержит ссылки на DNS-серверы своих поддоменов. DNS-серверы применяют (для сокращения времени поиска) процедуру кэширования проходящих через них ответов. Сведения сохраняются на срок от нескольких часов, до нескольких дней.
DNS-клиенты используют рекурсивную процедуру разрешения DNS-имен (см. рис.6.4.). Она следующая:
Рис.6.4.
· DNS-клиент запрашивает локальный DNS-сервер;
· локальный сервер (если он не знает ответа) обращается к корневому (root) серверу;
· корневой сервер делает последовательные запросы к DNS-серверам доменов, пока не находит нужный адрес;
· адрес передается локальному серверу, а от него к DNS-клиенту.
Стек протоколов TCP/IP
Развитие сети ARPAnet привело к созданию сетевой архитектуры DARPA, которая и послужила основой сети Internet. Эта архитектура базируется на двух основных протоколах:
· TCP (Transmission Control Protocol) — протокол управления передачей;
· IP (Internet Protocol) — протокол межсетевого взаимодействия.
В дальнейшем всю иерархию протоколов сети Интернет стали называть стеком (stack – набор, комплект) TCP/IP по аналогии с другой системой для локальных сетей – стеком IPX/SPX компании Novell.
Стек TCP/IP был разработан ранее концепции ВОС (OSI) и поэтому лишь ориентировочно может быть отображен на ее 7-уровневую модель.
Структурно стек TCP/IP делится на 4 уровня (см. рис.6.5.):
1 — прикладной; 2 — транспортный; 3 — сетевой (межсетевого взаимодействия); 4 — сетевых интерфейсов.
Дадим краткую характеристику уровней этой архитектуры.
Уровень I
Верхний (прикладной) уровень содержит все службы, предоставляемые системой пользовательским приложениям. Он реализуется программными системами, построенными в архитектуре «клиент – сервер». Этот уровень постоянно расширяется за счет включения новых служб. К протоколам данного уровня относятся:
q FTP (File Transfer Protocol) — протокол передачи файлов;
q TFTP (Trivial FTP) — простой протокол передачи файлов;
q Telnet — протокол эмуляции удаленного терминала;
q SMTP (Simple Mail Transfer Protocol) — простой почтовый протокол;
q
SNMP (Simple Network Management Protocol) — простой протокол управления сетью;
q DNS (Domain Name System) — протокол разрешения имен;
q HTTP (HyperText Transfer Protocol) — гипертекстовый транспортный протокол и т. д.
Рис.6.5.
Каждая прикладная программа выбирает тип транспортировки по сети (непрерывный поток сообщений или последовательность отдельных сообщений) и передает данные транспортному уровню в требуемой форме.
Уровень II
Уровень II (транспортный) обеспечивает взаимодействие между прикладными программами. Он управляет потоком информации и отвечает за надежность передачи. На этом уровне реализуется обнаружение ошибок, механизм подтверждения, повторной передачи потерянных или искаженных пакетов.
На уровне функционируют:
1.
Протокол управления передачей TCP, который обеспечивает надежную доставку сообщений между удаленными системами за счет образования логических соединений. Обмен осуществляется в дуплексном режиме. TCP делит данные на сегменты и передает их IP-уровню (рис.6.6.).
2. Протокол UDP (User Datagram Protocol) обеспечивает дейтаграммную передачу пользуясь услугами протокола IP. Он выполняет функции связующего звена (мультиплексора) между сетевым протоколом и службами прикладного уровня.
3. Протокол T/TCP (Transaction Transmission Control Protocol) – протокол управления транзакциями. Был предложен недавно для поддержки передачи транзакций в Internet.
Рис.6.6.
Уровень III
Это уровень межсетевого взаимодействия, который реализует концепцию передачи пакетов в режиме без установления соединения, и является стержнем всей архитектуры TCP/IP. Для передачи используется тот маршрут, который в данный момент представляется наиболее рациональным. Этот уровень называют также уровнем internet в соответствии с его основной функцией — передачей данных через составную сеть.
Уровень принимает от транспортного уровня пакет с указанием адреса передачи. Пакет инкапсулируется в дейтаграмму, заполняется заголовок и при необходимости используется алгоритм маршрутизации. Аналогично производится прием дейтаграмм и передача пакетов транспортному протоколу.
В качестве основного протокола данного уровня используется протокол IP (Internet Protocol).
К этому же уровню относятся протоколы маршрутизации, такие как:
¨ RIP (Routing Internet Protocol);
¨ OSPF (Open Shortest Path First);
¨ EGP (Exterior Gateway Protocol);
¨ IGP (Interior Gateway Protocol);
¨ ARP (Address Resolution Protocol);
¨ RARP (Reverse Address Resolution Protocol) и т.д.
На этом же уровне функционирует и протокол ICMP (Internet Control Message Protocol) — протокол межсетевых управляющих сообщений. С помощью данного протокола (посылкой специальных пакетов) сообщается о таких ситуациях, как:
· невозможность доставки пакета;
· превышение времени жизни пакета;
· превышение продолжительности сборки пакета из фрагментов;
· аномальные значения параметров;
· изменение маршрута пересылки и типа обслуживания;
· состояние системы и т.д.
Уровень IV
Это уровень сетевых интерфейсов, который по своим функциям соответствует физическому и канальному уровням модели OSI. В стеке протоколов TCP/IP этот уровень не регламентируется. Он отвечает за прием дейтаграмм и их передачу по конкретной сети. Для каждого типа сетей должны быть разработаны соответствующие интерфейсные средства. Например, к таким средствам относится протокол инкапсуляции IP-пакетов в кадры Ethernet (по документу RFC 1042).
Аналогичные средства предусматриваются для сетей Token Ring, FDDI, 100VG-AnyLAN, а также для работы с глобальными сетями, поддерживающими протоколы SLIP, PPP, X.25, Frame Relay, ATM и т.д. К примеру, процедура инкапсуляции IP-кадров в ячейки ATM изложена в документе RFC 1577.
Взаимодействие компьютеров на каждом уровне приведено на рисунке 6.7.
Рис.6.7.
Каждый коммуникационный протокол оперирует с некоторой единицей передаваемых данных. В TCP/IP сложилась определенная (традиционная) терминология в этой области (см. рис.).
Потоком называют данные, поступающие на вход протоколов транспортного уровня TCP и UDP.
Протокол TCP нарезает из потока данных сегменты.
Единицу данных протокола UDP часто называют дейтаграммой. Дейтаграмма – это общее название для единиц данных, которыми оперируют протоколы без установления соединения. К таким протоколам относится и протокол IP.
Дейтаграмму протокола IP называют также пакетом.
Единицы данных протоколов, на основе которых IP-пакеты переносятся по сети, называют кадрами (фреймами) (см.рис.6.8.).
Рис.6.8.
Протокол IP
Дейтаграмма (пакет) протокола имеет формат, показанный на рисунке 6.9.
Поле «номер версии» (4 бита) указывает сейчас почти повсеместно версию IPv4, однако некоторые домены уже переходят на версию IPv6.
Поле «длина заголовка» (4 бита) указывает длину в 32-разрядных словах. Обычная длина – 5 слов, однако за счет поля опций (options) она может быть увеличена до 15 слов (60 байт).
Рис.6.9.
Поле «тип сервиса» (8 бит) содержит:
· Три бита PR, указывающие приоритет пакета (0 – нормальный; 7 – самый высокий). Значение этого поля может приниматься во внимание маршрутизаторами.
· Биты D, T и R используются протоколами маршрутизации. Они задают критерий выбора маршрута. D=1 – указывает на необходимость минимизации задержки при доставке данного пакета. T=1 – показывает на желательность максимизации пропускной способности. R=1 – указывает на необходимость обеспечения максимальной надежности доставки.
· Два последних бита в этом поле зарезервированы.
Поле «общая длина» (2 байта) — это общая длина в байтах заголовка и поля данных. Максимальная длина составляет 65535 байт. При передаче по разным сетям длина пакета выбирается исходя из размера внутренней области кадра. На рисунке показано такое размещение для сети Ethernet. По стандарту все устройства сети Интернет должны быть готовы принимать дейтаграммы длиной 576 байт.
Передача дейтаграммы в кадре называется инкапсуляцией. Длина пакета выбирается с учетом максимальной длины кадра протокола нижнего уровня, несущего IP-пакеты. Для сети Ethernet – это 1500 байт, для FDDI – 4096 байт.
При необходимости протокол IP выполняет функции фрагментации и сборки. Это разделение дейтаграммы на части и их последующее объединение. Фрагментация осуществляется с учетом максимальной длины единицы передачи MTU (Maximum Transmission Unit) конкретной сети. Формируемые маршрутизатором фрагменты идентифицируются смещением относительно начала исходной дейтаграммы.
Поле «идентификатор пакета» (2 байта) используется для распознавания пакетов, образованных в результате фрагментации исходного пакета. Все фрагменты должны иметь одинаковое значение этого поля.
Поле «флаги» (3 бита) содержит:
· Бит DF (Do not Fragment) = 1 запрещает маршрутизатору фрагментировать данный пакет.
· Бит MF (More Fragments) = 1 указывает на то, что данный пакет является промежуточным (не последним) фрагментом.
· Третий бит зарезервирован
Поле «смещение фрагмента» (13 бит) задает смещение в байтах поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации. Это смещение должно быть кратно 8.
Поле «время жизни» (1 байт) указывает предельный срок, в течении которого пакет может перемещаться по сети. Задается в секундах. Каждый маршрутизатор вычитает величину задержки (но не менее 1 сек.) из этой величины. Если параметр становится равным нулю — пакет уничтожается. (Этот параметр можно считать часовым механизмом самоуничтожения.) На практике каждый маршрутизатор просто вычитает 1 из значения этого поля «Time to live», т.к. скорости в сети высокие и время пересылки между узлами практически всегда не превышает 1 секунды.
Поле «протокол верхнего уровня» (1 байт) указывает, какому протоколу предназначается информация, размещенная в поле данных пакета. Например: 6 — для протокола TCP; 17 — протоколу UDP; 87 — протоколу OSPF и т.д.
Поле «контрольная сумма» (2 байта) применяется для защиты от ошибок заголовка пакета. Это сумма по mod 8 всех 16-битовых слов заголовка. При обнаружении маршрутизатором ошибки пакет отбрасывается.
Поля «адрес отправителя» и «адрес получателя» (по 32 бита).
Поле «опции» является необязательным. Используется обычно при отладке сети. В этом поле может быть, например, указан точный маршрут прохождения дейтаграммы по сети, содержаться временные отметки, данные о безопасности и т.д.
Поле «выравнивание» – это дополнение (при необходимости) нулями до полного 32-битового слова.
Основная функция протокола – это передача дейтаграммы от отправителя до получателя через объединенную систему компьютерных сетей.
В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP вызывает средства транспортировки, принятые в этой сети, чтобы с их помощью передать этот пакет на маршрутизатор, ведущий к следующей сети, или непосредственно на узел-получатель.
Протокол IP относится к протоколам без установления соединения. Перед этим протоколом не ставится задача надежной доставки сообщения от отправителя к получателю. Этот протокол обрабатывает каждый IP-пакет как независимую единицу, не имеющую связи ни с какими другими IP-пакетами.
В протоколе нет механизмов, обеспечивающих достоверность передачи (защищен только заголовок дейтаграммы). В протоколе отсутствует квитирование (передача подтверждений), нет процедуры упорядочивания, повторных передач. При обнаружении ошибок или истечении времени жизни маршрутизатор просто стирает данный пакет. Все вопросы обеспечения надежности доставки решает протокол TCP, работающий непосредственно над протоколом IP.
Дата добавления: 2016-04-11; просмотров: 791;