Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сетевое администрирование - лекции.doc
Скачиваний:
12
Добавлен:
24.12.2018
Размер:
343.55 Кб
Скачать
  1. Порты и сокеты

Рассмотрим назначение портов, которые применяются в сетях TCP/IP. В заголовках протоколов нет наименований протоколов, а есть только их номера. Кроме того, данные каждому приложению также доставляются с использованием номеров, которые называются портам, и лежат в диапазоне от 1 до 65535. Пара - протокол и порт - позволяет стеку протоколов TCP/IP доставить данные нуждающемуся в них приложению. Номера портов закреплены за информационными сервисами Internet.

Информационный сервис - это прикладная программа, которая осуществляет обслуживание на определенном порте TCP или UDP. К сервисам относятся: доступ в режиме удаленного терминала, доступ к файловым архивам FTP, доступ к серверам World Wide Web и т.д. Например, Web-сервера могут использовать следующие номера портов – 80 (традиционно), 8080, 8081, 8181, 8282 и 8383.

При работе через стек протоколов TCP/IP сообщения, которыми обмениваются приложения, сначала инкапсулируются в сегменты TCP или дейтаграммы UDP, при этом указывается соответствующий порт транспортного протокола. Потом транспортные протоколы мультиплексируются в IP, который запоминает номер протокола. Все IP-пакеты передаются по сети получателю, где происходит обратная операция изъятия информации из оболочки TCP/IP. Сначала по номеру протокола в модуле IP выделенные данные пересылаются соответствующему протоколу транспортного уровня. На транспортном уровне по номеру порта получателя определяется, какому сервису данные посланы.

Однако, этим механизм взаимодействия приложений в рамках TCP/IP не исчерпывается. Дело в том, что кроме статически назначенных существуют еще динамически назначаемые сервисы.

Динамически назначаемые номера портов TCP и UDP используются для того, чтобы можно было организовать обслуживание множества запросов по сети к одному сервису. Следовательно, должен быть механизм, который бы позволил распараллелить их обслуживание. Таким механизмом служит динамическое назначение портов. Происходит это назначение в момент установки соединения. Клиент, запрашивая обслуживание, обращается к сервису по номеру порта, но при этом сообщает, что принимать ответы он будет по номеру порта, отличному от сервиса. Таким образом, сервер может обслуживать запросы к одному и тому же порту, используя разные порты при ответе. Образующаяся при этом пара (IP-адрес, номер порта) называется сокетом (буквально "розетка"). Таким образом, можно сказать, что http-сервер для обслуживания использует сокет, например, 144.206.130.137;80, а клиент, который к нему обращается, сокет 144.206.130.138;8080.

  1. Основные принципы ip-маршрутизации

Как уже было сказано, протокол IP не является протоколом, ориентированным на соединение. Следовательно, решение о направлении IP-пакета на тот или иной сетевой интерфейс принимается шлюзом в момент прохождения через него пакета. Данное решение принимается на основании таблицы маршрутов, которая имеется на каждом компьютере в сети.

Введем пример сети, на которой будем рассматривать маршрутизацию пакетов (рисунок).

Рисунок - Пример фрагмента локальной сети

На рисунке 2.21 изображены два фрагмента подсетей (144.206.160.0 и 144.206.128.0) сети класса B (144.206.0.0). Машина с интерфейсами, которые имеют адреса 144.206.160.32 и 144.206.130.137 – это шлюз между двумя подсетями, а машина с адресом сетевого интерфейса 144.206.130.3 - это шлюз сети с другой сетью, которая подключена к Internet.

Рассмотрим сначала путь пакета от машины с адресом 144.206.160.40 к машине с адресом 144.206.160.33. Прежде чем отправить пакет, модуль ARP проверит, существует ли соответствие между IP-адресом получателя и физическим адресом какого-либо интерфейса включенного в локальную сеть. В нашем случае такого соответствия еще нет, поэтому в сеть будет отправлен широковещательный запрос на получение физического адреса по заданному IP-адресу. В ответ машина 144.206.160.33 сообщит свой адрес, после чего пакет будет отправлен в сеть.

Теперь отправим пакет машине 144.206.130.138, которая находится в другой подсети. В этом случае, на широковещательный запрос мы ответа не получим. Поэтому в описании маршрутов пакетов всегда есть IP-адрес, на который следует отправлять пакеты по умолчанию, если нет другого способа их рассылки. Естественно, что это адрес шлюза, т.е. 144.206.160.32. Физический адрес этого интерфейса получают точно также, как описано выше.

Шлюз, получив пакет, определяет, что это не его адрес указан в IP-пакете. После этого IP-модуль шлюза принимает решение о дальнейшей отправке пакета. Происходит поиск нужного интерфейса и через него снова рассылается широковещательный запрос ARP. В нашем случае такой запрос вернет для IP-адреса 144.206.130.138 физический адрес машины и пакет будет отправлен по этому адресу.

Если пакет отправляется в Internet, то шлюз не найдет физического адреса машины, и будет вынужден воспользоваться адресом рассылки по умолчанию. Таким образом, пакет попадет на шлюз с адресом 144.206.130.3, и затем будет отправлен далее.

Система маршрутизации основывается на таблице маршрутов, которая определяет куда следует направлять пакет с данным IP-адресом.

Маршрутизация бывает статической и динамической. При статической маршрутизации таблица маршрутов не изменяется. При данной маршрутизации администратору нужно только указать IP-адреса на каждом из сетевых интерфейсов, указать адрес шлюза по умолчанию и включить опцию пересылки пакетов с одного интерфейса на другой.

Если локальная сеть подключается к провайдеру, то дополнительно необходимо получить IP-адрес от провайдера для внешнего интерфейса, т.е. интерфейса, который будет связывать сеть организации с адресом шлюза провайдера.

При динамической маршрутизации таблица маршрутов автоматически изменяется на основе информации, получаемой из сети. Для организации динамической маршрутизации существуют протоколы двух типов внешних и внутренних.

Внешние протоколы служат для обмена информацией о маршрутах между автономными системами (сетями). К внутренним протоколам относятся следующие протоколы: Routing Information Protocol (RIP), Shortest Path First (SPF) Open Shortest Path First (OSPF) и т.д.

Протокол RIP (Routing Information Protocol) предназначен для автоматического обновления таблицы маршрутов. При этом используется информация о состоянии сети, которая рассылается маршрутизаторами (routers). В соответствии с протоколом RIP любая машина может быть маршрутизатором. При этом все маршрутизаторы делятся на активные и пассивные. Активные маршрутизаторы сообщают о маршрутах, которые они поддерживают в сети. Пассивные маршрутизаторы читают эти широковещательные сообщения и исправляют свои таблицы маршрутов, но сами при этом информации в сеть не предоставляют. Обычно в качестве активных маршрутизаторов выступают шлюзы, а в качестве пассивных - обычные машины (hosts).

В основу алгоритма маршрутизации по протоколу RIP положена простая идея: чем больше шлюзов надо пройти пакету, тем больше времени требуется для прохождения маршрута. При обмене сообщениями маршрутизаторы сообщают в сеть IP-номер сети и число "прыжков" (hops), которое надо совершить, пользуясь данным маршрутом.

Другой подход - это учет времени отклика. На этом принципе построен, например, протокол OSPF. Кроме этого OSPF реализует еще и идею лавинной маршрутизации. В RIP каждый маршрутизатор обменивается информацией только с соседями. В результате, информации о потере маршрута в сети, отстоящей на несколько hop'ов от локальной сети, будет получена с опозданием. Лавинная маршрутизация позволяет решить эту проблему за счет оповещения всех известных шлюзов об изменениях локального участка сети.

Внутренние протоколы служат для обмена информацией о маршрутах внутри автономной системы. К внешним протоколам относятся следующие:

EGP (Exterior Gateway Protocol) предназначен для анонсирования сетей, которые доступны для автономных систем за пределами данной автономной системы. По данному протоколу шлюз одной системы передает шлюзу другой системы информацию о сетях, из которых она состоит. EGP не используется для оптимизации маршрутов. Считается, что этим должны заниматься протоколы внутренней маршрутизации.

BGP (Protocol Gateway) - это протокол внешней маршрутизации, который появился позже EGP. В своих сообщениях он уже позволяет указать различные веса для маршрутов, и, таким образом, способствовать выбору наилучшего маршрута. Эти предпочтения устанавливаются администратором и потому иногда такую маршрутизацию называют политической маршрутизацией. Протокол BGP используют практически все российские крупные IP-провайдеры.