ТОП 10:

Дистанционно-векторный протокол RIP



Протокол RIP (Routing Information Potocol) является простым протоколом дистанционно-векторного типа. С помощью этого протокола маршрутизаторы обмениваются друг с другом служебной информацией о содержании своих таблиц маршрутизации. В качестве метрики в нем обычно используется хопы (количество транзитный маршрутизаторов до сети назначения). Протокол предусматривает передачу маршрутизаторами своим соседним маршрутизаторам каждые 30 секунд специальных служебных сообщений, содержащих вектор дистанций (фактически: список записей типа «адрес сети – расстояние до этой сети»). Каждый маршрутизатор, приняв такое RIP сообщение, сравнивает принятый вектор со своей таблицей маршрутизации. Для записи о каждой из сетей из RIP сообщения полученное расстояние увеличивается на единицу и далее:

· если в таблице нет записи об этой сети она включается в таблицу и в качестве следующего маршрутизатора указывается адрес маршрутизатора – источника RIP сообщения;

· если в таблице существует запись об этой сети, но расстояние (метрика) в таблице маршрутизации хуже, чем в принятом сообщении, то указывают новую полученную дистанцию и в качестве следующего маршрутизатора указывается адрес маршрутизатора – источника RIP сообщения;

· если в таблице существует запись об этой сети, но расстояние (метрика) в таблице маршрутизации лучше, чем в принятом сообщении, то эта запись RIP сообщения игнорируется;

· если в таблице существует запись об этой сети, и расстояние (метрика) в таблице маршрутизации соответствует полученному в RIP сообщении, то эта запись в таблице подтверждается.

Таким образом, механизм RIP сообщений позволяет выбирать в таблицу маршрутизации направления с минимальным значением метрики, а также отслеживать изменения конфигурации интерсети.

Например, в случае подключения к какому либо маршрутизатору новой сети, информация об этом будет передана всем соседним маршрутизаторам не позднее, чем через 30 секунд. Эти маршрутизаторы включат информацию о новой сети в свои таблицы (увеличив расстояние на 1) и в своих RIP сообщениях передадут эту информацию своим “соседям” и т.п. Так по истечению некоторого промежутка времени все маршрутизаторы интерсети узнают о существовании новой сети и поместят в свою таблицу адрес маршрутизатора, обеспечивающего кратчайший маршрут к ней (так как из всех принятых RIP сообщений об этой сети используется только сообщение с минимальной метрикой).

В случае, если какая то сеть становится недоступной, существует два механизма оповещения об этом других маршрутизаторов. Маршрутизатор, непосредственно связанный с этой сетью метит в своей таблице маршрутизации, что сеть становится не достижимой и при очередном RIP сообщении эта информация начнет распространяться по сети аналогично информации при подключении сети. Расстояние “бесконечно” выбрано равное 16 хопам. В случае получения в RIP сообщении такого значения расстояния до сети каждый маршрутизатор проверяет – получено ли это сообщение от маршрутизатора, который являлся источником прежней записи в таблице маршрутизации. Если это так, то информация считается достоверной, сеть метится как недоступная и информация об этом передается дальше.

Однако, в случае отказа маршрутизатора все подключенные через него сети становятся недоступными, но сообщить об этом некому. В этом случае срабатывает механизм тайм аута. Дело в том, что каждая запись в таблице маршрутизации, полученная с помощью RIP протокола, является динамической, т.е. имеет ограниченное время жизни. Это время ограничено 6 периодами рассылка RIP сообщений. Если запись в таблице маршрутизации в течении этого времени не подтверждается, то она удаляется из таблицы. Таким образом, в случае отказа маршрутизатора, записи о сетях, доступных через этот маршрутизатор, через 180 секунд будут удалены из таблиц маршрутизации его ближайших соседей. Через 360 секунд они будут удалены у следующих маршрутизаторов и т.п.

Однако, этот протокол в силу своей простоты не всегда корректно и вовремя обрабатывает изменение конфигурации интерсети, а маршрутизаторы, основываясь только на расстояниях до сетей, весьма приблизительно представляют себе реальную топологию интерсети. К тому же размер интерсети ограничен “бесконечностью” в 16 хопов.

Протокол состояния связей OSPF

Протокол OSPF (Open Shortest Path First) более сложный протокол, который может применяться в крупных интерсетях. Каждый маршрутизатор имеет более полное представление о топологии интерсети. Это представление в виде графа связей между сетями и марщрутизаторами хранится в специальной топологической базе данных маршрутизатора. На основе этой информации маршрутизатор для каждой сети решает задачу поиска оптимального маршрута на графе, а затем первый шаг этого маршрута – до следующего маршрутизатора сохраняется в виде записи в стандартной таблице маршрутизации.

Отслеживание изменений в конфигурации интерсети происходит следующим образом. Каждый маршрутизатор периодически (каждые 10 секунд) тестирует все подключенные к нему сети с помощью передачи коротких служебных сообщений HELLO. Если состояния сетей не изменяется, то таблица маршрутизации не корректируется и никаких сообщений другим маршрутизаторам не передается. Если же состояние какой либо связи изменилось (сеть стала недоступна, изменилась пропускная способность связи, появилась новая сеть и т.п.), то маршрутизатор перестраивает свой граф интерсети, заново решает задачи нахождения оптимального маршрута (возможно не для всех сетей, а только затронутых данным изменением) и корректирует свою таблицу маршрутизации. Затем он передает всем своим соседним маршрутизаторам информацию об изменении состояния только данной связи (а не всей сети). Все маршрутизаторы ретранслируют это сообщение всем своим соседям (причем немедленно, не дожидаясь периода обновления информации как в RIP). Таким образом, информация об изменениях в состоянии связей интерсети быстро распространяется и используется всеми маршрутизаторами. При этом не передается лишней информации, что экономит пропускную способность сети.

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

В качестве метрики для построения оптимального маршрута в протоколе OSPF может быть использовано не только расстояние в хопах, но и пропускная способность связей, из которых состоит соответствующий маршрут. Так, например, метрика для сети Ethernet составляет 10 единиц, Fast Ethernet – 1 единица, канал 56 кбит/с – 1785 единиц. Поэтому, возможно, что маршрут через 10 сетей Fast Ethernet будет оптимальней, чем через одно коммутируемое соединение (56 кбит/с), хотя в хопах последний маршрут в десять раз “короче”.

Протоколы транспортного уровня

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

Протокол UDP

Протокол UDP (User Datagram Protocol) является протоколом без установления соединения и без подтверждения. Он предоставляет минимальные услуги протоколам прикладного уровня, но при этом с наименьшими издержками на передачу служебной информации. Этот протокол работает в качестве транзитного протокола, обеспечивая взаимодействие между протоколами прикладного и сетевого уровней. Он обеспечивает передачу прикладным программам информацию об опциях принятых IP пакетов, а также ICMP - сообщения, приходящие от транзитных маршрутизаторов в случае невозможности дальнейшей передачи ими IP пакетов. От прикладного уровня протокол UDP передает на сетевой уровень параметры времени жизни и тип сервиса, которые записываются в заголовки IP пакетов. Заголовок UDP сегмента составляет всего 8 байт. Его формат показан в таблице.

Таблица 10. Формат сегмента UDP

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Номер порта источника Номер порта назначения
Длина UDP сегмента Контрольная сумма сегмента
Данные протокола прикладного уровня

Протокол UDP не имеет механизма разбиения на сегменты потока байтов, поступающего от протоколов верхнего уровня, и сборки потока из сегментов в узле назначения. Поэтому этот протокол используется только для передачи небольших сообщений, по размеру не превышающего одного пакета. Однако, это не значит, что созданный IP пакет не может быть фрагментирован при передаче через сети с малым MTU. Но этот процесс реализуется на сетевом уровне и совершенно прозрачен для транспортных протоколов – им передается уже собранный из фрагментов сегмент, который и передавался транспортным модулем системы отправителя.

Хотя в протоколе имеются средства контроля корректности пришедшего сегмента (с помощью контрольной суммы), но информация об этом в виде подтверждения не передается. Протокол UDP используется в случае передачи коротких запросов, когда сам факт ответа на запрос является подтверждением его приема, а так же для передачи сообщений служебных протоколов (RIP, OSPF, DNS, DHCP и т.п.).

Протокол TCP

Протокол TCP (Transmission Control Protocol) является надежным протоколом с установлением соединения. Он обеспечивает подтверждение полученных пакетов, отслеживание ошибок передачи и их исправление, а также управление потоком. Этот протокол предназначен для передачи значительных объемов информации. Эта информация поступает на транспортный уровень в виде последовательности байтов, которая разбивается на сегменты для передачи по сети. Эти сегменты последовательно нумеруются, снабжаются TCP заголовком и передаются на сетевой уровень, где вкладываются в пакеты и передаются средствами IP протокола. Последовательная нумерация сегментов позволяет корректно собрать из них все сообщение в узле адресате.

Протокол TCP обеспечивает передачу информации не между компьютерами (как это делает протокол IP), а между прикладными процессами, работающими на каждом из компьютеров, участвующих в обмене информацией. Каждый прикладной процесс имеет точку входа и на транспортном уровне к каждой точке входа организуются очереди входящий и исходящих сегментов. Эти очереди называются портами и протокол TCP использует номера портов для идентификации точки входа прикладной программы, работающей на компьютере. Номер порта это 16 разрядное число (от 0 до 65535), которое назначается или централизованно – для стандартных служб (например: 21 – служба FTP, 23 – telnet, 80 – http и т.п.) или локально – разработчиками соответствующих приложений. Присвоение службам зарезервированных номеров портов осуществляется организацией IANA и они публикуются в стандарте RFC 1700. Номер порта вместе с IP адресом компьютера называются сокетом и однозначно идентифицируют прикладной процесс в сети.

Сегмент TCP имеет более сложную структуру, чем сегмент UDP. Размер TCP заголовка составляет 20 байт (как и размер IP заголовка), его формат показан в таблице.

Таблица 11. Формат сегмента TCP

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Номер порта источника Номер порта назначения
Номер последнего отправленного байта
Номер последнего принятого байта
смещение резерв контроль Окно
Контрольная сумма Указатель срочности
Опции (могут отсутствовать)
Данные протокола прикладного уровня
           

Перед непосредственной передачей сегментов между портами протокол TCP устанавливает между ними логическое соединение. В рамках установления соединения выясняется, что система получатель готова принимать информацию, а так же договариваются о параметрах передачи (в частности – максимальном размере сегмента, ширине окна и т.п.).

В процессе передачи данных осуществляется подтверждение корректности принятых пакетов. Это обеспечивается механизмом квитирования на основе метода скользящего окна (см. раздел 2.6). Особенностью реализации метода скользящего окна в ТСР является то, что хотя передача и ведется дискретными сегментами, но окно определяется на исходной последовательности пронумерованных байтов. Подтверждение приходит именно на номер последнего принятого байта. Посылаются только положительные квитанции. В случае приема сбойного сегмента (как и при его потере) квитанция не передается и модуль TCP после истечения тайм аута самостоятельно повторно передает необходимый сегмент. Протокол TCP поддерживает двустороннюю передачу информации, что означает, что квитанции передаются не отдельными сообщениями, а в заголовках сегментов встречного потока данных.

Протокол TCP позволяет также управлять потоком данных. Это необходимо в случае, если источник данных быстро передает сегменты, а принимающая система не в состоянии их быстро обработать. При этом сегменты помещаются в буфер при переполнении которого все принимаемые сегменты будут автоматически отбрасываться. Чтобы этого не происходило система в заголовке квитанции, подтверждающей прием очередной порции байт, указывается размер свободного буферного пространства (поле окно). Система – отправитель, получив очередную квитанцию на свой отправленный сегмент, вычитает из значения этого поля количество байт, отправленных с момента передачи этого сегмента. Если результат равен нулю, то система приостанавливает передачу до тех пор, пока не получит подтверждение на все отправленные сегменты.

Протокол контроля сообщений

Передача пакетов в IP сетях осуществляется через последовательность промежуточных узлов, которые принимают решение о судьбе каждого пакета. При этом в случае возникновения каких либо проблем в процессе передачи пакета (сбойный IP заголовок, невозможность фрагментации, недоступность сети-получателя и т.п.) система отправитель должна знать – что же произошло в пути. Протокол IP передает пакеты как дейтаграммы и не обеспечивает подтверждений о приеме или потере пакетов. Протокол ТСР хоть и устанавливает соединение, но подтверждение отправляются только на пришедшие к получателю пакеты. Что же произошло с потерянным в процессе передачи пакетом, этот протокол сообщить не может.

Для обеспечения сообщений об ошибках, возникающих в процессе передачи пакета в интерсети, используется протокол ICMP (Internet Control Message Protocol). В случае, если маршрутизатор испытывает проблемы с обработкой пакета (например, при невозможности его фрагментации) или система – получатель не может обработать пришедший пакет (например, при потере одного из фрагментов), они уничтожают этот пакет, а в адрес системы-отправителя отправляют ICMP сообщение о причине возникшей проблемы.

Поле данных ICMP сообщения об ошибке всегда содержит в себе IP заголовок пакета, который система не смогла обработать, плюс первые 8 байтов области данных. Обычно это UDP заголовок или начало ТСР заголовка (содержащие номера портов и номер последнего отправленного байта). Это позволяет точно идентифицировать данные, которые были потеряны в результате возникшей проблемы.

Типичные ошибки, приводящие к генерации ICMP сообщений:

· сеть, компьютер, протокол или порт назначения недоступны;

· сеть или компьютер назначения не известны;

· пакет не может быть передан без фрагментации, а она запрещена;

· связь с сетью или компьютером назначения запрещена;

· время жизни пакета истекло;

· не удалось собрать все фрагменты пакета за время тайм-аута;

· и т.п.

Кроме того, ICMP сообщения используются системами для обмена некоторой служебной информацией и передачи запросов-ответов диагностических программ (например, утилиты PING).

Интернет

Общие понятия об Интернет

Термин Internet (Интернет) происходит от выражения Interconnected Networks (связанные сети), то есть в узком смысле — это глобальное сообщество малых и больших сетей. В более широком смысле — это глобальное информационное пространство, хранящее огромное количество информации на миллионах компьютеров, которые обмениваются данными. Эта сеть построена на основе стека протоколов TCP/IP, рассмотренного в предыдущем разделе.

В 1969 году, когда был создан Интернет, эта сеть объединяла всего лишь четыре хост-компьютера, а сегодня их число измеряется десятками миллионов. Каждый компьютер, подключенный к Интернету, — это часть Сети. Однако, подключение происходит не непосредственно к «Интернет», а к сети провайдера – организации, предоставляющей (платные) услуги по подключению. На рисунке показана схема подключения отдельного компьютера к Интернет через сеть провайдера. При этом приведены различные варианты подключения.

Рис. 18. Подключение к Интернет

Для индивидуальных пользователей чаще всего используется временное (сеансовое) соединение по телефонной линии. Для этого пользователь набирает один из телефонных номеров, предоставленных провайдером (модемный пул), и дозванивается на один из его модемов. После соединения с ISP (Internet Service Provider) Интернет-провайдером, компьютер становится частью сети данного ISP.

Каждый провайдер имеет свою магистральную сеть, или бэкбоун (Backbone). Обычно ISP — это крупные компании, которые в ряде регионов имеют так называемые точки присутствия (POP, Point of Presence), где происходит подключение локальных пользователей. В каждой точке доступа находятся модемные пулы, на которые звонят локальные клиенты этого ISP в данном регионе. Провайдер может арендовать волоконно-оптические линии у телефонной компании для соединения всех своих точек присутствия (POP), а может протянуть свои собственные волоконно-оптические линии. Крупнейшие коммуникационные компаний имеют собственные высокоскоростные каналы. На рисунке показаны опорные сети двух Интернет-провайдеров. Очевидно, что все клиенты провайдера ISP-А могут взаимодействовать между собой по собственной сети, а все клиенты компании ISP-В — по своей, но при отсутствии связи между сетями ISP-A и ISP-B клиенты компании «A» и клиенты компании «В» не могут связаться друг с другом. Для реализации данной услуги компании «A» и «B» договариваются подключиться к так называемым точкам доступа (NAP — Network Access Points) в разных городах, и трафик между двумя компаниями течет по сетям через NAP. На рисунке показаны магистральные сети только двух ISP-провайдеров. Аналогично организуется подключение к другим магистральным сетям, в результате чего образуется объединение множества сетей высокого уровня.

В Интернете действуют сотни крупных Интернет-провайдеров, их магистральные сети связаны через NAP в различных городах, и миллиарды байтов данных текут по разным сетям через NAP-узлы. На сегодняшний день существует множество компаний, имеющих собственные опорные сети (бэкбоуны), которые связываются с помощью NAP с сетями других компаний по всему миру. Благодаря этому каждый, кто находится в Интернете, имеет доступ к любому его узлу, независимо от того, где он расположен территориально

Скорость передачи информации на различных участках Сети существенно различается. Магистральные линии, или бэкбоуны, связывают все регионы мира — это высокоскоростные каналы, построенные на основе волоконно-оптических кабелей. Кабели обозначаются OC (optical carrier), например OC-3, OC-12 или OC-48. Так, линия OC-3 может передавать 155 Мбит/с, а OC-48 — 2488 Мбит/с (2488 Гбит/с). В то же время получение информации на домашний компьютер с модемным подключением 56 K происходит со скоростью всего 56 000 бит/с.







Последнее изменение этой страницы: 2016-09-20; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.175.201.14 (0.01 с.)