Уведомление о заторе

Метод с использованием уведомления о заторе является немного более сложным по сравнению с буферизацией и обычно используется в сочетании с буферизацией и обычно используется в сочетании с буферизацией для устранения ее основных недостатков. При использовании метода с уведомлением о заторе после того, как буфера приемного устройства начинают заполняться, приемная станция отправляет сообщение, которое по сути означает «замедлить передачу данных». После того как буфер немного разгрузится, приемная станция может отправить другое сообщение с указанием, что передача может быть возобновлена. Очевидным недостатком такого решения является то, что при наличии в цепочке промежуточных устройств (таких как маршрутизаторы) уведомления о заторе лишь усугубляет ситуацию, заполняя буфера на каждом маршрутизаторе вдоль этой цепочки.

Например, предположим, что маршрутизатор А передает пакеты маршрутизатору С через маршрутизатор В (рисунок). Как только буфер маршрутизатора С начнет заполняться, он передает уведомление о заторе маршрутизатору В. Затем маршрутизатор В отправляет уведомление о заторе маршрутизатору А. Это приводит к заполнению буфера маршрутизатора А, что в конечном итоге вызывает потерю данных (безусловно, этого не произойдет, если передающая станция определит, в чем смысл уведомления о заторе, и полностью прекратит передачу данных). В конечном итоге маршрутизатор С перешлет маршрутизатору В сообщение о том, что может быть возобновлена передача, но к этому времени часть пакетов уже будет потеряна.

Применение окон

Метод с применением окон представляет собой наиболее сложную и гибкую форму управления потоком данных и в настоящее время, вероятно, является одним из наиболее широко применяемых методов управления потоком данных. При передаче с применением окон разрешается передавать одновременно заранее согласованное количество пакетов (называемое окном) до получения подтверждения (АСК – фрейм подтверждения ACKnowledgment) от приемной станции. Это означает, что возможность передачи одной станцией такого объема данных, который не может быть принят другой станцией, почти полностью исключена. Дело в том, что передающая станция, отправив разрешенное количество пакетов, должна дождаться ответа от удаленной приемной станции и только после этого отправить дополнительные данные. В протоколе ТСР используется одна из разновидностей метода передачи с применением окон, основанная на прямых подтверждениях (Forward ACKnowledgment – FACK), а предельные объемы передаваемых данных измеряются в байтах. Применение метода FAC можно проиллюстрировать следующим примером. Предположим, что отправитель послал получателю данные объемом 50 байтов. Если получатель успешно принял все 50 байтов, он отправляет подтверждение АСК на 51 байт, которое сообщает отправителю, что все 50 байтов были получены и далее ожидается 51 байт. Отправитель не отправляет 51 байт пока не получит подтверждение на получения всех 50 байтов, если такое подтверждение не поступает по истечению тайм-аута (период ожидания принято называть тайм аутом повторной передачи – Retransmit Timer) отправитель выполнит повторную передачу данных. Если же отправитель получит подтверждение АСК на часть байтов, он выполнит повторную передачу только тех байтов, которые не были приняты получателем. Но этот пример несколько упрощен, так как следует учитывать, что в этом протоколе применяется еще одно средство – скользящие окна.

Скользящие окна получили такое название, поскольку в процессе передачи можно условно представить, что программное обеспечение ТСР «перемещает» окно в потоке данных на каждое подтверждение АСК.

Например, (рисунок) компьютер с сетевым именем Bart отправляет сообщение на компьютер Homer. Размер окна (т.е количество байтов, которое разрешено передавать до получения подтверждения)составляет 500 байтов. Компьютер Bart передав допущенный объем информации, устанавливает тайм – аут и ожидает, будет ли получен ответ от компьютера Homer. Компьютер Homer получает данные и передает подтверждение, после чего компьютер Bart начинает передавать данные с 501 байта по 1000 байт.

Метод передачи с применением окон, предусмотренный в протоколе ТСР – это динамический метод. Это означает, что размер окна может изменяться на протяжении одного сеанса передачи данных. Такие изменения происходят в ответ на ошибки; при этом размер окна уменьшается (или в ответ на их отсутствие; при этом окно увеличивается). В процессе первоначального установления сеанса определяется базовый размер окно. Кроме того, отправителю передается начальный порядковый номер (SEQuence number – SEQ), который указывает номер начального байта. В заголовке ТСР каждого передаваемого сегмента ТСР содержится поле размера окна, которое указывает размер окна, установленный другим участником соединения. Если возникает ошибка и часть данных теряется (вызывая повторную передачу данных программным обеспечением ТСР), хост получателя может уменьшить размер окна. С другой стороны, если значительные объемы данных были приняты без ошибки, хост отправителя может увеличить размер окна.

Например, на рисунке показано, как компьютер Children передает данные компьютеру Rachel. Первоначальный размер окна для компьютера Children составляет 100 байт. Children передает 100 байт компьютеру Rachel, который получает все 100 байтов, отправляет подтверждение АСК с разрешением отправить 101-й байт и увеличивает размер окна до 200 байтов. Затем компьютер Children перемещает свое окно на 101-й байт и расширяет его для включения следующих 200 байтов. После этого он посылает еще 200 байтов компьютеру Rachel, который успешно получает только байты до 250-го. Поэтому компьютер Rachel отправляет в ответ подтверждение АСК на получение байтов, начиная с 251-го, наряду с уменьшением окна на 100 байтов. Компьютер Children перемещает окно назад к 251-му байту, и уменьшает окно, включив в него только байты с 251-го по 350-й.

 

Уровень 3 – СЕТЕВОЙ

Протоколы сетевого уровня обеспечивают логическую адресацию и определение маршрута. Методы логической адресации зависят от набора протоколов, но основные принципы остаются одинаковыми. Адреса сетевого уровня применяются в основном для указания местонахождения хоста. Эта задача обычно решается путем разделения адреса на две части: роле группы и поле хоста. Вместе эти поля полностью описывают хост, но лишь в контексте группы, к которой он относится. Такое разделение адреса позволяет каждому хосту учитывать только наличие других хостов в его группе и применять для передачи пакетов от одной группы к другой специализированные устройства, называемые маршрутизаторами. К числу широко применяемых протоколов сетевого уровня относятся IP и IPX.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: