- •2. Разработка мультимедийного курса
- •1. Содержание курса «администрирование информационнх систем»
- •1.1. Принципы построения открытых системы и «клиент-серверных» технологий. Модель iso/osi
- •1.1.1 Открытые системы и открытые спецификации
- •1.1.2 Технологии «клиент-сервер»
- •1.1.3 Модель iso/osi, функции протоколов каждого из уровней
- •1.2. Стек tcp/ip и его протоколы
- •1.2.1 Структура стека tcp/ip
- •1.2.2 Краткая характеристика протоколов
- •1.2.3 Надежность протоколов
- •1.2.4 Инкапсуляция
- •1.2.5 Протокол ip и его основные функции
- •1.2.6 Фрагментация
- •1.2.7 Формат заголовка пакета Ipv4
- •1.2.8 Протокол iPv6
- •1.2.9 Протокол icmp
- •1.2.10. Протокол udp
- •1.2.11 Протокол tcp и формат его заголовка
- •1.2.12 Окно передачи в tcp
- •1.3. Адресация в ip сетях
- •1.3.1 Адресация в ip-сетях
- •1.3.2 Типы адресов: физический (mac), сетевой (ip) и символьный (dns)
- •1.3.3 Соглашения о специальных адресах
- •1.3.4 Отображение физических адресов на ip-адреса: протоколы arp и rarp
- •1.4. Принципы работы dns
- •1.4.1 Отображение символьных адресов на ip-адреса: служба dns
- •1.4.2. Основные домены верхнего уровня
- •1.4.3 Система доменных имен bind
- •1.4.4 Автоматизация процесса назначения ip-адресов узлам сети - протокол dhcp
- •1.5. Принципы и основные протоколы маршрутизации в Интернет
- •1.5.1 Основные принципы ip-маршрутизации
- •1.5.2 Разбиения адресного пространства сети на подсети
- •1.5.3 Маскирование
- •1.5.4 Таблицы маршрутизации в ip-сетях
- •1.5.5 Фиксированная маршрутизация
- •1.5.6 Простая маршрутизация
- •1.5.7 Адаптивная маршрутизация
- •1.5.8. Дистанционно-векторный алгоритм маршрутизации (на примере rip)
- •1.5.9 Алгоритм состояния связей (на примере ospf)
- •1.5.10 Комбинирование различных протоколов обмена
- •1.5.11 Протоколы egp и bgp сети Internet
- •1.6. Протоколы прикладного уровня
- •1.6.1 Основные сервисы Интернет и соответствующие протоколы
- •1.6.2 Порты и сокеты
- •1.6.3 Http, ftp и др. Протоколы прикладного уровня
- •1.6.4 Mime, типы и расширения
- •1.6.5 Этапы транзакции http
- •1.6.6 Понятия uri, url
- •1.6.7 Схемы http-сеанса
- •1.6.8 Структура Запроса клиента
- •1.6.9 Структура ответа сервера
- •1.6.10 Cookie
- •1.7. Программирование в Интернет
- •1.7.1 Программирование в Интернет
- •1.7.2 Серверное и клиентское по
- •1.7.3 Программы, выполняющиеся на клиенте (JavaScript, Java-аплеты)
- •1.7.4 Программы, выполняющиеся на сервере
- •1.7.5 Спецификация cgi
- •1.7.6 Perl
- •1.7.7 Isapi
- •1.8. Администрирование в Unix и в Windows. Управление web-сервером.
- •1.8.1 Администрирование в Unix и в Windows
- •1.8.2 Управление web-сервером
- •1.8.3 Построение isp
- •1.8.4 Архитектура сервера Apache
- •1.8.5 Архитектура сервера Internet Information Server
- •1.9. Интернет-экономика. Модели назначения цен. Сетевая коммерция.
- •1.9.1. Экономика информационных сетей.
- •9.2. Интернет-экономика (иэ): основные понятия иэ
- •1.9.3. Составляющие расходов на предоставление услуг Интернет
- •1.9.4. Межсоединения и распределенная экономика: ip-транспорт; структура цены и экономика соглашений о межсоединениях; разделение распределенной стоимости
- •1.9.5. Модель назначения цен. Оценка потребления: тарифы и цены в иэ; методы оценивания стоимости коммуникаций
- •1.9.6. Категории электронного бизнеса
- •1.9.7. Сетевая коммерция: услуги общественного и частного потребления; электронные службы; электронные платежные системы
- •1.9.8. Экономическая эффективность сетей типа Интернет
- •1.10. Перспективы развития глобальных информационных систем
- •2. Разработка мультимедийного курса
1.2.12 Окно передачи в tcp
Концепция квитирования
В рамках соединения правильность передачи каждого сегмента должна подтверждаться квитанцией получателя. Квитирование - это один из традиционных методов обеспечения надежной связи. Идея квитирования состоит в следующем.
Для того, чтобы можно было организовать повторную передачу искаженных данных отправитель нумерует отправляемые единицы передаваемых данных (кадры). Для каждого кадра отправитель ожидает от приемника так называемую положительную квитанцию - служебное сообщение, извещающее о том, что исходный кадр был получен и данные в нем оказались корректными. Время этого ожидания ограничено - при отправке каждого кадра передатчик запускает таймер, и если по его истечению положительная квитанция на получена, то кадр считается утерянным. Так как TCP-канал является дуплексным, то подтверждения для данных, идущих в одном направлении, могут передаваться вместе с данными, идущими в противоположном направлении. В некоторых протоколах приемник, в случае получения кадра с искаженными данными должен отправить отрицательную квитанцию - явное указание того, что данный кадр нужно передать повторно.
Существуют два подхода к организации процесса обмена положительными и отрицательными квитанциями: с простоями и с организацией "окна".
Метод с простоями требует, чтобы источник, пославший кадр, ожидал получения квитанции (положительной или отрицательной) от приемника и только после этого посылал следующий кадр (или повторял искаженный). Из рисунка 4 видно, что в этом случае производительность обмена данными существенно снижается - хотя передатчик и мог бы послать следующий кадр сразу же после отправки предыдущего, он обязан ждать прихода квитанции. Снижение производительности для этого метода коррекции особенно заметно на низкоскоростных каналах связи, то есть в территориальных сетях.
Рис. 2.6. Метод подтверждения корректности передачи кадров с простоем источника.
Во втором методе для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе, без получения на эти кадры ответных квитанций. Таким образом, между отправленными и подтвержденными данными существует окно уже отправленных, но еще неподтвержденных данных. Количество кадров, которые разрешается передавать таким образом, называется размером окна. Как правило, размер окна устанавливается в стартовых файлах сетевого программного обеспечения. Обычно кадры при обмене нумеруются циклически, от 1 до W. При отправке кадра с номером 1 источнику разрешается передать еще W-1 кадров до получения квитанции на кадр 1. Если же за это время квитанция на кадр 1 так и не пришла, то процесс передачи приостанавливается, и по истечению некоторого тайм-аута кадр 1 считается утерянным (или квитанция на него утеряна) и он передается снова.
Рис. 2.7. Метод "окна" - непрерывная отправка пакетов.
Если же поток квитанций поступает более-менее регулярно, в пределах допуска в W кадров, то скорость обмена достигает максимально возможной величины для данного канала и принятого протокола.
Последний алгоритм называют алгоритмом скользящего окна.
Реализация скользящего окна в протоколе TCP
В протоколе TCP реализована разновидность алгоритма квитирования с использованием окна. Особенность этого алгоритма состоит в том, что окно определено на множестве нумерованных байт неструктурированного потока данных, поступающих с верхнего уровня и буферизуемых протоколом TCP.
Квитанция посылается только в случае правильного приема данных, отрицательные квитанции не посылаются. Таким образом, отсутствие квитанции означает либо прием искаженного сегмента, либо потерю сегмента, либо потерю квитанции.
В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте. Если размер окна равен W, а последняя квитанция содержала значение N, то отправитель может посылать новые сегменты до тех пор, пока в очередной сегмент не попадет байт с номером N+W. Этот сегмент выходит за рамки окна, и передачу в таком случае необходимо приостановить до прихода следующей квитанции.
Выбор тайм-аута
Выбор времени ожидания (тайм-аута) очередной квитанции является важной задачей, результат решения которой влияет на производительность протокола TCP.
Тайм-аут не должен быть слишком коротким, чтобы по возможности исключить избыточные повторные передачи, которые снижают полезную пропускную способность системы. Но он не должен быть и слишком большим, чтобы избежать длительных простоев, связанных с ожиданием несуществующей или "заблудившейся" квитанции.
При выборе величины тайм-аута должны учитываться скорость и надежность физических линий связи, их протяженность и многие другие подобные факторы. В протоколе TCP тайм-аут определяется с помощью достаточно сложного адаптивного алгоритма.
Варьируя величину окна, можно повлиять на загрузку сети. Чем больше окно, тем большую порцию неподтвержденных данных можно послать в сеть. Если сеть не справляется с нагрузкой, то возникают очереди в промежуточных узлах-маршрутизаторах и в конечных узлах-компьютерах.