Лекции (989962), страница 10
Текст из файла (страница 10)
Пакеты до него будут такжедоставляться на маршрутизатор 130.30.10.5 (интерфейс Eth1).Составитель: Ляхевич А.Г., 2000 - 2002 годПродолжение табл.ПоясненияОписаны два маршрута до сети 200.15.1.0, один из которых проходит через маршрутизатор130.30.10.7 (интерфейс eth1), а второй – через маршрутизатор 190.55.15.1 (интерфейс eth2).Маршрут, проходящий через маршрутизатор 190.55.15.1 длиннее (метрика 3) и проходит через 3сети: сеть 190.55.0.0, сеть А и сеть B. Указанный в таблице маршрутизации маршрутизатор190.55.15.1 является лишь промежуточным: получив пакет до сети 200.15.1.0, он, в соответствиис собственной таблицей маршрутизации, передаст пакет маршрутизатору сети А. Тот проанализирует свою таблицу маршрутизации и передаст пакет маршрутизатору сети B, который наосновании своей таблицы маршрутизации доставит пакет до сети назначения 200.15.1.0. Такаяцепочечная схема доставки характерна для крупных сетей и позволяет не хранить на первоммаршрутизаторе 190.55.15.1 информацию о всем пути следования пакета: достаточно толькознать адрес ближайшего маршрутизатора на пути к адресату.
Т.е. информация распределенамежду большим числом маршрутизаторов в сети. В противном случае, пришлось бы на каждоммаршрутизаторе хранить все пути до всех существующих сетей, что нерационально, а в сетиInternet и невозможно.Описан маршрут по умолчанию 0.0.0.0. Любые пакеты до сетей (компьютеров) для которых несуществует записи в таблице маршрутизации будут направлены по этому маршруту, т.е.
вданном случае направлены в Internet, на маршрутизатор 231.1.1.5, соединенный с данныммаршрутизатором по модему (сетевой интерфейс ppp0).№ стр.7-89Необходимо также обратить внимание на поле "метрика" таблицы маршрутизации. Обычно метрикаувеличивается на 1 при прохождении каждого маршрутизатора и соответствует реальному расстоянию досети назначения, однако для особо перегруженных маршрутов маршрутизатор может быть вручнуюнастроен так, чтобы увеличивать метрику более чем на 1, искусственно делая маршрут более длинным. Врезультате пакеты, если это возможно, будут направляться по другому, более короткому маршруту, итолько пакеты для которых этот маршрут является единственным (или короче всех остальных) будутнаправлены на этот маршрутизатор.4.
Если в процессе доставки пакета возникнет ошибка, то будет получено сообщение по протоколу ICMP,указывающего причину ошибки. По протоколу ICMP может быть передана управляющая информация,позволяющая изменить маршрут доставки на более оптимальный или вообще поменять его, если какой-тошлюз временно не работает. Протокол ICMP также позволяет посылать короткие служебные пакеты(ping), которые позволяют протестировать работоспособность сети. Если с компьютера А будет посланping компьютеру B, то операционная система компьютера B также ответит коротким пакетом попротоколу ICMP.
После получения этого пакета компьютер А во-первых знает, что компьютер Bдоступен, а во вторых знает за какое время пакет дошел до компьютера B и вернулся обратно. Послеотправки нескольких ping-ов собирается статистика: минимальное, максимальное и среднее время приемапередачи пакетов, процент утерянных пакетов.
Основные виды ICMP сообщений перечислены в таблицеТаблицаТипКод0300123451345890012300Основные виды ICMP сообщений.СообщениеEcho Reply (Эхо-ответ)Destination Unreachable (Адресат недостижим по различным причинам):Net Unreachable (нет маршрута в сеть)Host Unreachable (хост недоступен)Protocol Unreachable (протокол недоступен)Port Unreachable (порт недоступен)Datagram Too Big (необходима фрагментация, но она запрещена)Source Route Failed (невозможно выполнить опцию Source Route)Communication Administratively Prohibited (обработка дейтаграммы административнозапрещена)Source Quench (Замедление источника)Redirect (выбрать другой маршрутизатор для посылки датаграмм):в данную сетьна данный хоств данную сеть с данным TOS (Type Of Service – тип обслуживания)на данный хост с данным TOS (Type Of Service – тип обслуживания)Echo (Эхо-запрос)Router Advertisement (Объявление маршрутизатора)Составитель: Ляхевич А.Г., 2000 - 2002 годПродолжение табл.ТипКод10110011213141718010000СообщениеRouter Solicitation (Запрос объявления маршрутизатора)Time Exceeded (Время жизни дейтаграммы истекло)при передачепри сборкеParameter problem (Ошибка в параметрах)Ошибка в IP-заголовкеОтсутствует необходимая опцияTimestamp (Запрос временной метки для синхронизации часов)Timestamp Reply (Ответ на запрос временной метки)Address Mask Request (Запрос сетевой маски)Address Mask Reply (Ответ на запрос сетевой маски)2.3.2.
Протоколы транспортного уровня TCP и UDP.Протоколы транспортного уровня в стеке TCP/IP представлены двумя протоколами: TCP и UDP. ПротоколTCP позволяет устанавливать виртуальный канал передачи данных между компьютерами. Каналустанавливается следующим образом:1. Компьютер А посылает компьютеру B пакет, с установленным флагом SYN (синхронизация) ислучайным числом (а)=> SYN (a).2.
Компьютер B отвечает пакетом, с установленными флагами ACK (подтверждение), с параметром(а+1), и установленным флагом SYN и своим случайным числом (b).<= ACK(a+1), SYN (b)3. Компьютер A завершает "рукопожатие" пакетом, с флагами ACK(a+1), ACK (b+1).=> ACK (a+1), ACK (b+1)После установления канала, программа может направлять в него данные непрерывным потоком, как настандартное устройство ввода вывода. Протокол TCP сам разобьет данные на пакеты, при помощи алгоритма "скользящего окна" обеспечит подтверждение факта получения пакетов принимающей стороной и повторную передачу пакетов, если в этом будет необходимость.
Кроме того, в протоколе TCP реализованыдостаточно сложные механизмы регулирования загрузки сети и устранения заторов в сети. Протокол UDPболее быстр, чем протокол TCP, однако менее надежен. Данные передаются без установления виртуальногоканала, в предположении, что принимающая сторона ждет данные. Программа должна сама позаботиться оразбитии передаваемых данных на пакеты, протокол не содержит средств подтверждения факта доставкисообщения и средств коррекции ошибок - все эти задачи должна решать программа.При рассмотрении протоколов транспортного уровня необходимо остановиться на понятии "порт" и"сокет". Порт в протоколах транспортного уровня – это не физически существующий порт ввода-вывода(как, например, последовательный порт COM1), а "виртуальный" порт, который программно изолируетданные передаваемые по одному порту, от данных передаваемых по другому порту.
Порты нумеруются от 0до 65535. Существуют общеизвестные порты (well known ports), каждый из которых традиционно связан стем или иным видом сетевого приложения. Например, стандартным портом для Web-сервера является порт80. Большинство общеизвестных портов имеют номера меньше 1024. Это связано с тем, что в ОС Unixпорты с номерами меньше 1024 доступны только приложениям с привилегиями суперпользователя root(администратор), поэтому пользователь без этих привилегий не сможет запустить собственный Web-сервер,который подменит на 80 порту настоящий Web-сервер.
Порты TCP и порты UDP не зависят друг от друга.Порт 80 TCP может быть занят одним сетевым приложением, а 80 порт UDP – другим приложением.Сокет (socket) – это описатель сетевого соединения между двумя сетевыми приложениями, котороевключает в себя:- IP-адрес и номер порта локальной машины.- IP-адрес и номер порта удаленной машины.Сокет однозначно описывает сетевое соединение.
У двух различных соединений хотя бы один изприведенных выше параметров должен отличаться. Например к 80 порту сервера могут одновременноподключиться два приложения, работающие с различных портов на клиентской машине.3. Протоколы прикладного уровня HTTP, FTP, SMTP, IMAP, POP3, TELNET.В соответствии с архитектурой клиент-сервер, программа делится на две части (одна работает на сервере,вторая – на компьютере пользователя), функционирующие как единое целое.
Протоколы прикладногоуровня описывают взаимодействие клиентской и серверной частью программы. Выделяют следующиенаиболее известные прикладные протоколы:Составитель: Ляхевич А.Г., 2000 - 2002 год1.2.3.4.HTTP (Hyper Text Transfer Protocol )- протокол передачи гипертекста, работает на 80 порту. Используется в WWW для передачи гипертекстовых HTML страниц. При работе по этому протоколу, каждыйэлемент HTML – страницы загружается отдельно, причем соединение между загрузками прерывается иникакой информации о соединении не сохраняется. Это сделано для того, чтобы пользователя Webстраниц каждый получал "по чуть-чуть, в порядке общей очереди". В противном случае могла бысоздаться ситуация, когда один человек качает страницу с большим количеством рисунков высокогоразрешения, а все остальные ждут пока он это закончит.FTP (File Transfer Protocol.) – протокол передачи файлов, работает на 20 и 21 порту.
Предназначен длякопирование файлов между компьютерами. Полностью занимает канал, пока не будет получен файл,сохраняет информацию о соединении. При сбое возможна докачка с того места, где произошел сбой.SMTP, IMAP-4, POP3 – почтовые протоколы (электронная почта).