Протокол tcp.
Эти протоколы берут свое начало от одной из первых территориальных сетей ARPANET. Они получили широкое распространение благодаря реализации в ОС Unix и в сети Internet и в настоящее время оформлены в виде стандартов RFC (Requests For Comments) организацией IETF (Internet Engineering Task Force).
TCP/IP - пятиуровневые протоколы, но основными среди них, давшими название всей совокупности, являются протоколы сетевого (IP - Internet Protocol) и транспортного (TCP - Transport Control Protocol) уровней. Протоколы физического и канального уровней не регламентированы и берутся из технологий ЛВС, Т1/Е1, АТМ и т.п.
TCP - дуплексный транспортный протокол с установлением соединения. Его функции: упаковка и распаковка пакетов на концах транспортного соединения; установление виртуального канала путем обмена запросом и согласием на соединение; управление потоком - получатель при подтверждении правильности передачи сообщает размер окна, т.е. диапазон номеров пакетов, которые получатель готов принять; помещение срочных данных между специальными указателями, т.е. возможность управлять скоростью передачи.
В TCP имеется программа-демон, которая постоянно готова к работе и при приходе запроса генерирует свою копию для обслуживания создаваемого соединения, а сама программа-родитель ждет новых вызовов.
Схема установления соединения в одноранговых сетях такова: инициатор соединения обращается к своей ОС, которая в ответ выдает номер протокольного порта и посылает сегмент получателю. Тот должен подтвердить получение запроса и послать свой сегмент-запрос на создание обратного соединения (так как соединение дуплексное). Инициатор должен подтвердить создание обратного соединения. Получается трехшаговая процедура (handshake) установления соединения. Во время этих обменов партнеры сообщают номера байтов в потоках данных, с которых начинаются сообщения. На противоположной стороне счетчики устанавливаются в состояние на единицу больше, чем и обеспечивается механизм синхронизации в дейтаграммной передаче, реализуемой на сетевом уровне. После установления соединения начинается обмен. При этом номера протокольных портов включаются в заголовок пакета. Каждое соединение (socket) получает свой идентификатор ISN. Разъединение происходит в обратном порядке.
Примечание: ISN в TCP/IP не используется, но предусмотрен в UNIX, так как может потребоваться в других протоколах.
Схема установления соединения в сетях "клиент-сервер" аналогична (за исключением handshake) и включает посылку клиентом запроса на соединение (команда ACTIVE_OPEN) с указанием адреса сервера, тайм-аута (времени жизни), уровня секретности. Можно сразу же поместить в запрос данные (тогда команда ACTIVE_OPEN_WITH_DATA). Если сервер готов к связи, он отвечает командой согласия (OPEN_RECEIVED), в которой назначает номер соединения. Далее командой SEND посылаются данные, а командой DELIVER подтверждается их получение. Подтверждение приема может быть на каждый правильно принятый сегмент или на группу сегментов. Разъединение выполняется обменом командами CLOSE и CLOSING.
Структура ТСР-пакета (в скобках указано число битов):
порт отправителя (16);
порт получателя (16);
код позиции в сообщении, т.е. порядковый номер первого байта в поле данных сегмента (32);
подтверждение в виде номера первого байта (32) из числа еще не подтвержденных байтов;
управление (16);
размер окна (16), т.е. число байт, которое можно послать до получения подтверждения (размер окна указывает получатель в сегментах подтверждения приема);
контрольная сумма (16);
дополнительные признаки, например срочность передачи (16);
опции (24);
заполнитель (8);
данные.
Нужно отметить, что каждый байт сообщения имеет уникальный порядковый номер.
Если передача ведется только в одном направлении, то поле "код позиции" в заголовке используется станцией-отправителем для указания номера первого байта в данном сегменте, а поле "подтверждение" используется станцией-получателем в виде указания в положительных квитанциях номера N, что означает, что правильно приняты все байты вплоть до номера N-1. При дуплексной передаче каждая станция использует оба этих поля в посылаемых ими сегментах.
Отсюда вытекает одно из ограничений на максимально допустимую в протоколе TCP/IP пропускную способность. Это ограничение составляет (232 байта) / (время жизни дейтаграммы), так как для конкретного соединения в сети не должно одновременно существовать более одного байта с одним и тем же номером.
Еще более жесткое ограничение возникает из-за представления размера окна всего 16-ю битами. Это ограничение заключается в том, что за время Tv прохождения пакета от отправителя к получателю и обратно в сеть может быть направлено не более 216информационных единиц конкретного сообщения. Поскольку обычно такой единицей является байт, то имеем (216*8 бит) / Tv . Так, для каналов со спутниками на геостационарных орбитах Tv составляет около 0,5 с и ограничение скорости будет около 1 Мбит/с. Заметно увеличить этот предел можно, если в качестве информационной единицы использовать С байт, С>1. В настоящее время часто такой единицей является сегмент.
В ТСР повторная передача пакета происходит, если в течение оговоренного интервала времени Тm (тайм-аута) не пришло положительное подтверждение. Следовательно, не нужно посылать отрицательные квитанции. Обычно Tm немного больше 2t , где t- некоторая оценка времени прохождения пакета туда и обратно. Это время периодически корректируется по результату измеренияTv, а именно
t := 0,9t + 0,1Tv.
Попытки повторных передач пакета не могут продолжаться бесконечно, и при превышении интервала времени, устанавливаемого в пределах 0,5...2,0 мин, соединение разрывается.
- Понятие сети. Классификация сетей.
- Топология информационной сети. Способы коммутации в информационных сетях.
- Коммутация каналов и коммутация пакетов.
- Виды связи и режимы работы информационных сетей.
- Эталонная модель взаимодействия открытых систем.
- Каналы передачи данных.
- Проводные линии связи.
- Аналоговые каналы передачи данных. Модемы.
- Модуляция при передаче данных. Амплитудная и частотная модуляции.
- Модуляция при передаче данных. Квадратурно-амплитудная и фазовая модуляция.
- Кодово-импульсная модуляция.
- Цифровые каналы передачи данных.
- Беспроводные линии связи.
- Спутниковые каналы передачи данных.
- Сотовые технологии связи.
- Оптические линии связи.
- Организация симплексной, полудуплексной и дуплексной связи.
- Протоколы физического уровня для модемной связи.
- Протоколы канального уровня для модемной связи.
- Количество информации. Энтропия. Избыточность сообщения.
- Основные используемые коды.
- Асинхронное и синхронное кодирование. Манчестерское кодирование.
- Способы контроля правильности передачи данных.
- Циклические коды.
- Сжатие при передаче данных. Алгоритмы сжатия. Коэффициент сжатия.
- Методы доступа.
- Протоколы лвс. Структура кадра.
- Аппаратные средства лвс.
- Сети Ethernet.
- Сеть Token Ring.
- Высокоскоростные лвс.
- Транспортные и сетевые протоколы.
- Управление потоками данных в сетях. Маршрутизация. Мостовые соединения.
- Протокол tcp.
- Протокол ip.
- Другие протоколы стека tcp/ip.
- Протоколы spx/ipx.
- Сети с коммутацией пакетов X.25.
- Интеллектуальные сети связи. Функциональные серверы.
- Сетевые ос. Функции и характеристики.
- Информационная безопасность в сетях.
- Распределенные вычисления. Технологии распределенных вычислений.
- Технологии распределенных вычислений
- Распределенные базы данных.
- Удаленный доступ. Виртуальная сеть. --------------
- Структура территориальных сетей. Типичные услуги телекоммуникаций.
- Протоколы теледоступа. Электронная почта. Файловый Обмен.
- Файловый обмен
- Вспомогательные подсистемы Ethernet. Archie, Whois, Telnet.
- Сеть www. Способы представления информации. Способы доступа к сети.
- Средства создания Web –приложений.
- Безопасность в сети Internet. Межсетевые экраны.