Протокол управления передачей
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

Для надежной транспортировки данных протокол управления передачей должен обеспечивать выполнение следующих основных задач:

• передачу данных;

• поддержку достоверности данных при передаче;

• управление потоком данных;

• разделение каналов передачи данных;

• обслуживание установленных соединений;

• установку приоритетов пользователей;

• обеспечение безопасности при передаче данных.

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

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

Надежность передачи обеспечивается механизмом подтверж­дения после приема блоков данных, а также использованием ну­мерации очередей, в которые выстраиваются передаваемые бай­ты данных. Для этого первому байту в сегменте присваивается не­который номер, называемый номером очереди для сегмента. Ну­мерация байтов в сегменте осуществляется в пределах диапазона 0...(232 - 1) таким образом, что первый байт после заголовка имеет наименьший номер, а последующие байты нумеруются по возра­станию.

Правильность передачи каждого сегмента должна подтверждать­ся квитанцией получателя, а в случае искажения или потери дан­ных должна быть предусмотрена повторная передача. Когда TCP передает сегмент данных, он создает его копию, которая поме­щается в очередь повторной передачи, после чего запускается тай­мер. Если в пределах назначенного срока приходит подтверждение передачи, то сохраненная копия удаляется из очереди, в против­ном случае сегмент посылается повторно.

Несмотря на достаточный диапазон номеров он оказывается мал для исключения появления так называемых дублей, которые возникают в случаях, когда весь диапазон номеров исчерпан, а отправленные сегменты не получили подтверждения. Так, в суще­ствующих сетях при скорости передачи 100 Мбит/с цикл исполь­зования всего диапазона номеров составляет около 5 мин. Если за это время не пришло подтверждение передачи, то двум разным сегментам могут быть назначены одинаковые номера, что, разу­меется, может вызвать коллизии. Для решения таких проблем ис­пользуется механизм опознавания, основанный на накоплении, т. е. опознание N - ro номера означает, что получены и распознаны все байты с номерами N — l , N —2 и т.д.

Маршрутизация дейтаграмм

Рассмотренный ранее стек протоколов TCP/IP разработан для обеспечения взаимодействия удаленных систем, но корректная и эффективная пересылка пакетов данных невозможна без наличия ряда промежуточных устройств — маршрутизаторов. В процессе пересылки сообщений между двумя абонентами, расположенны­ми в различных сетях, формируемые блоки данных после отра­ботки протоколов всех уровней оказываются в маршрутизаторе сети отправителя. Далее происходит их передача по некоторому, заранее не определенному маршруту, пока они не окажутся в марш­рутизаторе сети получателя, который и передает эти блоки полу­чателю по известному физическому адресу. При этом сами проме­жуточные маршрутизаторы передают блоки данных, основываясь не на физическом адресе, а на номере сети получателя.

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

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

Существующие методики оптимизации маршрута можно ус­ловно разделить на два класса: одношаговую и многошаговую.

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

Построение таблицы маршрутизации при одношаговой опти­мизации возможно путем использования:

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

доставки сообщений между различными устройствами сети в этом случае составляются сетевым администратором вручную;

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

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

При использовании алгоритмов многошаговой оптимизации выбор маршрута пересыпки данных производится первым марш­рутизатором, а все остальные только отрабатывают выбранный маршрут. На практике такие алгоритмы используются, как прави­ло, только на этапе отладки.

Управление таблицей маршрутизации во всех промежуточных узлах должно осуществляться динамически, что в большой рас­пределенной сети является весьма сложной задачей. Решение этой задачи основано на использовании семейства протоколов марш­рутизации:

протокола маршрутной информации (RIP — Routing Information Protocol);

протокола первоочередного открытия кратчайшего маршрута (OSPF — Open Shortest Path First);

протокола связи между промежуточными системами (IS-IS — Intermediate System to Intermediate System);

внешнего шлюзового протокола (EGP — Exterior Gateway Pro­tocol);

пограничного межсетевого протокола (BGP — Border Gateway Protocol).

В зависимости от топологии сети маршрутизаторы могут под­держивать один или несколько протоколов маршрутизации. В табл.

 

Номер сети получателя 195.209.0.0

 
Следующий маршрутизатор Число переходов Протокол маршрутизации Таймер
195.209.3.1 3 RIP 235
195.209.1.7 3 RIP 210
195.209.0.9 5 RIP 98

[4.3 приведен пример простой таблицы маршрутизации, содер­жащей типичные записи:

следующий маршрутизатор — адрес маршрутизатора, которо­му необходимо переслать дейтаграмму, чтобы доставить ее полу­чателю;

 • число переходов — число маршрутизаторов, которые должны [обработать дейтаграмму прежде, чем она попадет к получателю; • протокол маршрутизации — определяет протокол, с помо­щью которого данная запись появилась в таблице маршрутиза­ции;

 • таймер — показывает время, прошедшее с момента послед­него обновления данной записи.

Контрольные вопросы

1. Что означает термин «открытая система»?

2. Опишите семиуровневую модель взаимодействия открытых систем. i

3. Почему возникла необходимость введения LCC- и МАС-подуровней?

4. В чем состоят основные задачи TCP/IP?

5. Что такое дейтаграммный принцип передачи данных?

6. Чем отличается динамический IP-адрес от статического?

7. Каковы основные задачи ТСР-протокола?

8. Опишите принцип косвенной маршрутизации и назовите типы таблиц маршрутизации.

 


Глава 15


Дата: 2019-12-22, просмотров: 225.