Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Ключевые аспекты организации уровня передачи данных. Обработка ошибок. Управление потоком.
Ключевые аспекты организации уровня передачи данных. Уровень передачи данных должен выполнять ряд специфических функций. К ним относятся: • обеспечение строго очерченного служебного интерфейса для сетевого уровня; • обработка ошибок передачи данных; • управление потоком данных, исключающее затопление медленных прием- ников быстрыми передатчиками. Для этих целей канальный уровень берет пакеты, полученные с сетевого уров- ня, и вставляет их в специальные кадры для передачи. В каждом кадре содер- жится заголовок, поле данных и концевик. Управление кадрами — это основа деятельности уровня передачи данных. Обработка ошибок. Решив проблему маркировки начала и конца кадра, мы сталкиваемся с новой проблемой: как гарантировать доставку сетевому уровню принимающей машины всех кадров, и при этом в правильном порядке. Предположим, что отправитель просто посылает кадры, не заботясь о том, дошли ли они до адресата. Этого было бы достаточно для службы без подтверждений и без установления соединения, но не для ориентированной на соединение службы с подтверждениями. Обычно для гарантирования надежной доставки поставщику посылается информация о том, что происходит на другом конце линии. Протокол требует от получателя посылать обратно специальные управляющие кадры, содержащие позитивные или негативные подтверждения о полученных кадрах. Получив позитивное подтверждение, отправитель узнает, что посланный им кадр успешно получен на том конце линии. Негативное подтверждение, напротив, означает, что с кадром что-то случилось и его нужно передать снова. Кроме того, посланный кадр может из-за неисправности или помехи пропасть полностью. В данном случае принимающая сторона его просто не получит и, соответственно, никак не прореагирует, а отправитель может вечно ожидать положительного или отрицательного ответа и так ничего и не получить. Чтобы избежать зависаний сети в случае полной потери кадров, в уровне передачи данных используются таймеры. После посылки кадра включается таймер, отсчитывая интервал времени, достаточный для получения принимающим компьютером этого кадра, его обработки и посылки обратно подтверждения. В нормальной ситуации кадр правильно принимается, а подтверждение посылается назад и вручается отправителю, прежде чем истечет установленный интервал времени, после этого таймер отключается. Однако, если либо кадр, либо подтверждение теряется по пути, установленный интервал времени истечет и отправитель получит сообщение о возможной проблеме. Самым простым решением для отправителя будет послать кадр еще раз. Однако при этом возникает опасность получения одного и того же кадра несколько раз уровнем передачи данных принимающего компьютера и повторной передачи его сетевому уровню. Чтобы этого не случилось, необходимо пронумеровать отсылаемые кадры, так чтобы получатель мог отличить повторно переданные кадры от оригиналов. Управление потоком. Еще один важный аспект разработки уровня передачи данных (а также более высоких уровней) связан с вопросом, что делать, если отправитель постоянно желает передавать кадры быстрее, чем получатель способен их получать. Такая ситуация может возникнуть, если у передающей стороны оказывается более мощный (или менее загруженный) компьютер, чем у принимающей. Отправитель продолжает посылать кадры на высокой скорости до тех пор, пока получатель не окажется полностью ими завален. Даже при идеально работающей линии связи в определенный момент получатель просто не сможет продолжать обработку все прибывающих кадров и начнет их терять. Очевидно, что для предотвращения подобной ситуации следует что-то предпринять. Обычным решением в данном случае является использование управления потоком, ограничивающего скорость передатчика скоростью, с которой приемник может обрабатывать поток. Для такого ограничения необходим механизм обратной связи между получателем и отправителем, информирующий отправителя о способности или неспособности получателя продолжать принимать информацию. На сегодняшний день разработано много схем регулирования потока, но в большинстве из них используется один и тот же принцип. Протокол содержит четко определенные правила, определяющие, когда отправитель может посылать следующий кадр. Эти правила часто запрещают пересылку кадра до тех пор, пока получатель не даст разрешения, либо явно, либо неявно. Например, при установке соединения получатель может сказать: «Вы можете послать мне сейчас n кадров, но не посылайте следующие кадры, пока я не попрошу вас продолжать». В данной главе мы рассмотрим различные механизмы, основанные на этом принципе. Другие механизмы будут обсуждаться в последующих главах.
|
Последнее изменение этой страницы: 2019-05-08; Просмотров: 178; Нарушение авторского права страницы