Главная страница

Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


Скачать 22.28 Mb.
НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Дата12.03.2017
Размер22.28 Mb.
Формат файлаpdf
Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
ТипУчебник
#3698
страница48 из 99
1   ...   44   45   46   47   48   49   50   51   ...   99
ГЛАВА 15 Адресация в стеке
протоколов TCP/IP
Приступая к изучению технологии TCP/IP, мы прежде всего рассмотрим структуру стека протоколов
этой технологии, узнаем, как распределены функции между протоколами разных уровней, а также
обсудим более общую тему уникальности стека протоколов TCP/IP, позволяющей ему доминировать
в сетевом мире.
Важную часть технологии TCP/IP составляют задачи адресации, к числу которых относятся следую­
щие:
Согласованное использование адресов различного типа. Эта задача включает отображение
адресов разных типов, например преобразование сетевого ІР-адреса в локальный, доменного
имени — в ІР-адрес.
О Обеспечение уникальности адресов. В зависимости от типа адреса требуется обеспечивать одно­
значность адресации в пределах компьютера, подсети, корпоративной сети или Интернета.
Конфигурирование сетевых интерфейсов и сетевых приложений.
Каждая из перечисленных задач имеет достаточно простое решение для сети, число узлов которой
не превосходит нескольких десятков. Например, для отображения символьного доменного имени на
ІР-адрес достаточно поддерживать на каждом хосте таблицу всех символьных имен, используемых
в сети, и соответствующих им ІР-адресов. Столь же просто «вручную» присвоить всем интерфейсам
в небольшой сети уникальные адреса. Однако в крупных сетях эти же задачи усложняются настолько,
что требуют принципиально других решений.
Ключевым словом, которое характеризует подход к решению этих проблем, принятый в TCP/IP,
является масштабируемость.
Процедуры, предлагаемые TCP/IP для назначения, отображения и конфигурирования адресов,
одинаково хорошо работают в сетях разного масштаба. В этой главе наряду с собственно схемой
образования ІР-адресов мы познакомимся с наиболее популярными масштабируемыми средствами
поддержки адресации в сетях TCP/IP: технологией бесклассовой междоменной маршрутизации,
системой доменных имен, протоколом динамического конфигурирования хостов.

Стек протоколов TCP/IP
483
Стек протоколов TCP/IP
Сегодня стек T C P/IP широко используется как в глобальных, так и в локальных сетях.
Этот стек имеет иерархическую структуру, в которой определено 4 уровня (рис. 15.1).
Прикладной уровень
FTP, Telnet, HTTP, SMTP,
SNMP, TFTP
Транспортный уровень
TCP, UDP
Сетевой уровень
IP, ICMP, RIP, OSPF
Уровень сетевых
интерфейсов
He регламентируется
Рис. 15.1
. Иерархическая структура стека TCP/IP
Прикладной уровень стека T C P/IP соответствует трем верхним уровням модели OSI: прикладному, представления и сеансовому. Он объединяет сервисы, предоставляемые системой пользовательским приложениям. За долгие годы применения в сетях различ­
ных
стран и организаций стек T C P/IP накопил большое количество протоколов и служб прикладного уровня. К ним относятся такие распространенные протоколы, как протокол передачи файлов (File Transfer Protocol, FTP), протокол эмуляции терминала telnet, про­
стой протокол передачи почты (Simple Mail Transfer Protocol, SMTP), протокол передачи гипертекста (Hypertext Transfer Protocol, HTTP) и многие другие. Протоколы прикладного уровня развертываются на хостах1.
Транспортный уровень стека T C P/IP может предоставлять вышележащему уровню два типа сервиса:
□ гарантированную доставку обеспечивает протокол управления передачей (Transmission
Control Protocol, TCP);
□ доставку по возможности, или с максимальными усилиями, обеспечивает протокол пользовательских дейтаграмм (User Datagram Protocol, UDP).
Для того чтобы обеспечить надежную доставку данных, протокол TCP предусматривает установление логического соединения, что позволяет ему нумеровать пакеты, подтверж­
дать их прием квитанциями, в случае потери организовывать повторные передачи, рас­
познавать и уничтожать дубликаты, доставлять прикладному уровню пакеты в том порядке, в котором они были отправлены. Благодаря этому протоколу объекты на хосте-отправителе и хосте-получателе могут поддерживать обмен данными в дуплексном режиме. TCP дает
1В Интернете (а значит, и в стеке протоколов TCP/IP) конечный узел традиционно называют хостом,
а маршрутизатор — шлюзом. Далее мы будем использовать пары терминов «конечный узел» — «хост»
и «маршрутизатор» — «шлюз» как синонимы, чтобы отдать дань уважения традиционной термино­
логии Интернета и в то же время не отказываться от современных терминов.

484
Глава 15. Адресация в стеке протоколов TCP/IP
возможность без ошибок доставить сформированный на одном из компьютеров поток байтов на любой другой компьютер, входящий в составную сеть.
Второй протокол этого уровня, UDP, является простейшим дейтаграммным протоколом, который используется тогда, когда задача надежного обмена данными либо вообще не ставится, либо решается средствами более высокого уровня — прикладным уровнем или пользовательскими приложениями.
В функции протоколов TCP и UDP входит также исполнение роли связующего звена между прилегающими к транспортному уровню прикладным и сетевым уровнями. От при­
кладного протокола транспортный уровень принимает задание на передачу данных с тем или иным качеством прикладному уровню-получателю. Нижележащий сетевой уровень протоколы TCP и UDP рассматривают как своего рода инструмент, не очень надежный, но способный перемещать пакет в свободном и рискованном путешествии по составной сети.
Программные модули, реализующие протоколы TCP и UDP, подобно модулям протоколов прикладного уровня, устанавливаются на хостах.
Сетевой уровень, называемый также уровнем Интернета, является стержнем всей архи­
тектуры TCP/IP. Именно этот уровень, функции которого соответствуют сетевому уровню модели OSI, обеспечивает перемещение пакетов в пределах составной сети, образованной объединением нескольких подсетей. Протоколы сетевого уровня поддерживают интерфейс с вышележащим транспортным уровнем, получая от него запросы на передачу данных по составной сети, а также с нижележащим уровнем сетевых интерфейсов, о функциях которого мы расскажем далее.
Основным протоколом сетевого уровня является межсетевой протокол (Internet Protocol,
IP). В его задачу входит продвижение пакета между сетями — от одного маршрутизатора к другому до тех пор, пока пакет не попадет в сеть назначения. В отличие от протоколов прикладного и транспортного уровней, протокол IP развертывается не только на хостах, но и на всех маршрутизаторах (шлюзах). Протокол IP — это дейтаграммный протокол, работающий без установления соединений по принципу доставки с максимальными уси­
лиями. Такой тип сетевого сервиса называют также «ненадежным».
К сетевому уровню T C P/IP часто относят протоколы, выполняющие вспомогательные функции по отношению к IP. Это, прежде всего, протоколы маршрутизации RIP и OSPF, предназначенные для изучения топологии сети, определения маршрутов и составления таблиц маршрутизации, на основании которых протокол IP перемещает пакеты в нужном направлении. По этой же причине к сетевому уровню могут быть отнесены протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP), предна­
значенный для передачи маршрутизатором источнику сведений об ошибках, возникших при передаче пакета, и некоторые другие протоколы.
Идеологическим отличием архитектуры стека T C P/IP от многоуровневой архитектуры других стеков является интерпретация функций самого нижнего уровня — уровня сетевых интерфейсов.
Напомним, что ниж$ие уровни модели OSI (канальный и физический) реализуют мно­
жество функций доступа к среде передачи, формированию кадров, согласованию величин электрических сигналов, кодированию и синхронизации, а также некоторые другие. Все эти весьма конкретные функции составляют суть таких протоколов обмена данными, как
Ethernet, РРР и многих других.

Стек протоколов TCP/IP
485
У нижнего уровня стека T C P/IP задача существенно проще — он отвечает только за орга­
низацию взаимодействия с подсетями разных технологий, входящими в составную сеть.
TCP/IP рассматривает любую подсеть, входящую в составную сеть, как средство транс­
портировки пакетов между двумя соседними маршрутизаторами.
Задачу организации интерфейса между технологией TC P/IP и любой другой технологией промежуточной сети упрощенно можно свести к двум задачам:
□ упаковка (инкапсуляция) IP-пакета в единицу передаваемых данных промежуточной сети;
□ преобразование сетевых адресов в адреса технологии данной промежуточной сети.
Такой гибкий подход упрощает решение проблемы расширения набора поддерживаемых технологий. При появлении новой популярной технологии она быстро включается в стек
TCP/IP путем разработки соответствующего стандарта, определяющего метод инкапсу­
ляции ІР-пакетов в ее кадры (например, спецификация RFC 1577, определяющая работу протокола IP через сети ATM, появилась в 1994 году вскоре после принятия основных стандартов ATM). Так как для каждой вновь появляющейся технологии разрабатываются собственные интерфейсные средства, функции этого уровня нельзя определить раз и на­
всегда, и именно поэтому нижний уровень стека T C P/IP не регламентируется.
Каждый коммуникационный протокол оперирует некоторой единицей передаваемых дан­
ных. Названия этих единиц иногда закрепляются стандартом, а чаще просто определяются традицией. В стеке T C P/IP за многие годы его существования образовалась устоявшаяся терминология в этой области (рис. 15.2).
Прикладные протоколы
Поток
UDP
TCP
f
Дейтаграмма
^г Сегмент
IP
>
г Пакет (дейтаграмма)
Сетевые интерфейсы
т
Кадр (фрейм)
Рис. 15.2.
Названия протокольных единиц данных в TCP/IP
Потоком данных, информационным потоком,
или просто
потоком,
называют данные, по­
ступающие от приложений на вход протоколов транспортного уровня — TCP и UDP.
Протокол TCP «нарезает» из потока данных
сегменты.
Единицу данных протокола UDP часто называют
дейтаграммой,
или
датаграммой.
Дей­
таграмма — это общее название для единиц данных, которыми оперируют протоколы без установления соединений. К таким протоколам относится и протокол IP, поэтому его единицу данных иногда тоже называют дейтаграммой, хотя достаточно часто используется и другой термин —
пакет.

486
Глава 15. Адресация в стеке протоколов TCP/IP
В стеке TC P/IP единицы данных любых технологий, в которые упаковываются 1Р-пакеты для их последующей передачи через сети составной сети, принято называть также кадрами, или фреймам. При этом не имеет значения, какое название используется для этой единицы данных в технологии составляющей сети. Для TC P/IP фреймом является и кадр Ethernet, и ячейка ATM, и пакет Х.25 в тех случаях, когда они выступают в качестве контейнера, в котором IP-пакет переносится через составную сеть.
Типы адресов стека TCP/IP
Итак, для идентификации сетевых интерфейсов используются три типа адресов:
□ локальные (аппаратные) адреса;
□ сетевые адреса (1Р-адреса);
□ символьные (доменные) имена.
Локальные адреса
В бо;ґьшинстве технологий LAN (Ethernet, FDDI, Token Ring) для однозначной адресации интерфейсов используются МАС-адреса. Существует немало технологий (Х.25, ATM, frame relay), в которых применяются другие схемы адресации. Роль, которую играют эти адреса в TCP/IP, не зависит от того, какая именно технология используется в подсети, поэтому они имеют общее название — локальные (аппаратные) адреса.
Слово «локальный» в контексте T C P/IP означает «действующий не во всей составной сети, а лишь в пределах подсети». Именно в таком смысле понимаются здесь термины:
«локальная технология» (технология, на основе которой построена подсеть) и «локальный адрес» (адрес, который используется некоторой локальной технологией для адресации узлов в пределах подсети). Напомним, что в качестве подсети («локальной сети») может выступать сеть, построенная как на основе локальной технологии, например Ethernet,
FDDI, так и на основе глобальной технологии, например Х.25, Frame Relay. Следовательно, говоря о подсети, мы используем слово «локальная» не как характеристику технологии, на которой построена эта подсеть, а как указание на роль, которую играет эта подсеть в архитектуре составной сети.
Сложности могут возникнуть и при интерпретации определения «аппаратный». В данном случае термин «аппаратный» подчеркивает концептуальное представление разработчи­
ков стека T C P /IP о подсети как о некотором вспомогательном аппаратном средстве, единственной функцией которого является перемещение IP -пакета через подсеть до ближайшего шлюза (маршрутизатора). И не важно, что реально нижележащая локаль­
ная технология может быть достаточно сложной, все ее сложности технологией TCP/IP игнорируются.
Рассмотрим, например, случай, когда в составную сеть T C P/IP входит сеть IPX/SPX. По­
следняя сама может быть разделена на подсети, и так же как IP-сеть, она идентифицирует свои узлы аппаратными и сетевыми IPX-адресами. Но технология T C P/IP игнорирует многоуровневое строение сети IPX/SPX и рассматривает в качестве локальных адресов узлов подсети IPX/SPX адреса сетевого уровня данной технологии (IPX-адреса). Анало­
гично, если в составную сеть включена сеть Х.25, то локальными адресами узлов этой сети
Т Г >
----------------------------------------- --------------------------------- V О С

Типы адресов стека TCP/IP
487
Сетевые IP-адреса
Чтобы технология TC P/IP могла решать свою задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в от­
дельных сетях. Эта система адресации должна позволять универсальным и однозначным способом идентифицировать любой интерфейс составной сети. Очевидным решением является уникальная нумерация всех сетей составной сети, а затем нумерация всех узлов в пределах каждой из этих сетей. Пара, состоящая из номера сети и номера узла, отвечает поставленным условиям и может являться сетевым адресом.
В качестве номера узла может выступать либо локальный адрес этого узла (такая схема принята в стеке IPX/SPX), либо некоторое число, никак не связанное с локальной техно­
логией и однозначно идентифицирующее узел в пределах данной подсети. В первом слу­
чае сетевой адрес становится зависимым от локальных технологий, что ограничивает его применение. Например, сетевые адреса IPX/SPX рассчитаны на работу в составных сетях, объединяющих сети, в которых используются только МАС-адреса или адреса аналогичного формата. Второй подход более универсален, он характерен для стека T C P /IP 1.
В технологии T C P/IP сетевой адрес называют 1Р-адресом.
ВНИМАНИЕ--------------------------------------------------------------------------------------------------
Если рассматривать IP-сеть, то можно отметить, что маршрутизатор по определению входит сразу
в несколько сетей, следовательно, каждый его интерфейс имеет собственный IP-адрес. Конечный
узел также может входить в несколько ІР-сетей. В этом случае компьютер должен иметь несколько
ІР-адресов — по числу сетевых связей. Таким образом, IP-адрес идентифицирует не отдельный ком­
пьютер или маршрутизатор, а одно сетевое соединение.
Каждый раз, когда пакет направляется адресату через составную сеть, в его заголовке указывается IP-адрес узла назначения. По номеру сети назначения каждый очередной маршрутизатор находит IP-адрес следующего маршрутизатора. Перед тем как отправить пакет в следующую сеть, маршрутизатор должен определить на основании найденного ІР- адреса следующего маршрутизатора его локальный адрес. Для этой цели протокол IP, как показано на рис. 15.3, обращается к протоколу разрешения адресов (ARP).
ARP
12-В7-01-56-BA-F5
А
129.35.251.23
DNS
www.service.telecom.com
Рис. 15.3. Преобразование адресов
1 Заметим, что использование локального адреса в качестве номера узла имеет ряд преимуществ. Как будет показано палее, именно такая схема пойнята в ппотоколе IPv6

488
Глава 15. Адресация в стеке протоколов TCP/IP
Доменные имена
Для идентификации компьютеров аппаратное и программное обеспечение в сетях ТСР/
IP полагается на IP-адреса. Например, команда
ftp://192.45.66.17
будет устанавливать сеанс связи с нужным ftp-сервером, а команда
http://203.23.106.33
откроет начальную страницу на корпоративном веб-сервере. Однако пользователи обычно предпочитают работать с более удобными
символьными именами
компьютеров.
Символьные идентификаторы сетевых интерфейсов в пределах составной сети строятся по иерархическому принципу. Составляющие полного символьного (или доменного) имени в IP-сетях разделяются точкой и перечисляются в следующем порядке: сначала простое имя хоста, затем имя группы хостов (например, имя организации), потом имя более круп­
ной группы (домена) и так до имени домена самого высокого уровня (например, домена объединяющего организации по географическому принципу: RU — Россия, UK — Велико­
британия, US — США). Примером доменного имени может служить имя
base2.sales.zil.ru.
Между
доменным именем
и ІР-адресом узла нет никакой функциональной зависимости, поэтому единственный способ установления соответствия — это таблица. В сетях TCP/IP используется специальная
система доменных имен
(Domain Name System, DNS), которая устанавливает это соответствие на основании создаваемых администраторами сети таблиц соответствия. Поэтому доменные имена называют также
DNS-именами.
В общем случае сетевой интерфейс может иметь несколько локальных адресов, сетевых адресов и доменных имен.
1   ...   44   45   46   47   48   49   50   51   ...   99


написать администратору сайта