№8

№8

Записки джуна

Подумал, что по пятницам буду делиться интересными ресурсами, которые я посмотрел/прочитал на неделе. Это не обязательно будет разработка. Возможно, будут книги/статьи/видео, которые помогли переосмыслить какие-то вещи в жизни. Но это позже. А сейчас ссылка на интервью, о котором я писал вчера.

Итак, сегодня мне удалось понять, как же канальный уровень обнаруживает и исправляет ошибки при передаче кадров. Если отправитель посылает данные получателю, а они не доходят, то на исправление таких ошибок существуют два метода, основанные на корректирующих кодах.

1. Коды с исправлением ошибок (Error-correcting codes).

Здесь необходима информация, которая должна присутствовать, чтобы принимающая сторона могла выявить: какие данные не дошли.

2. Коды с обнаружением ошибок (Error-detecting codes).

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

Углубляться не стал. Пока что. Но принцип ясен.


Есть ещё одна важная вещица на канальном уровне - управление потоком (данных).

При передаче данных случаются ситуации, когда быстрый отправитель буквально "топит" медленного получателя информацией. Чтобы избежать таких ситуаций, применяются два похода:

1. Управление потоком с обратной связью (Feedback based flow control).

Собственно, здесь получатель просто периодически отправляет информацию о том, как у него идут дела с приёмом.

2. Управление потоком с ограничением (Rate based flow control).

Здесь чуть сложнее. В протокол уровня встраивают механизм, который ограничивает скорость передачи для отправителей. При этом подходе нет никакой обратной связи с получателем.

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