Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

15.Механизм окна TCP. Управление потоком данных.




15. Механизм окна TCP. Управление потоком данных.

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

передавать таким образом, называется размером окна.

Механизм окна позволяет:

1. Ускорить передачу, если окно больше длины 1 сообщения

2. Контролировать доставку пакетов

3. Управлять темпом передачи

Хотя единицей передаваемых данных протокола TCP является сегмент (аналог кадра в данном контексте), окно определено на множестве нумерованных байтов неструктурированного потока данных, передаваемого приложением протоколу TCP, т. е. размер окна измеряется в байтах.

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

Когда отправитель посылает TCP-сегмент, он помещает в поле последовательного номера номер первого байта данного сегмента, который служит идентификатором сегмента. На основании этих номеров получатель TCP-сегмента не только отличает данный сегмент от других, но и позиционирует полученный фрагмент относительно общего потока байтов. Кроме того, он может сделать вывод, например, что полученный сегмент является дубликатом или что между двумя полученными сегментами пропущены данные и т. д.

В качестве квитанции получатель сегмента отсылает ответное сообщение(сегмент), в поле подтвержденного номера которого он помещает число, на единицу превышающее максимальный номер байта в полученном сегменте.

Подтвержденный номер часто интерпретируют не только как оповещение о благополучной доставке, но и как номер следующего ожидаемого байта данных. Квитанция в протоколе TCP посылается только в случае правильного приема данных. Таким образом, отсутствие квитанции означает либо потерю сегмента, либо потерю квитанции, либо прием искаженного сегмента. В соответствии с определенным форматом один и тот же TCP-сегмент может нести в себе как пользовательские данные (в поле данных), так и квитанцию (в заголовке), которой

подтверждается получение данных от другой стороны.

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

Когда протокол TCP передает в сеть сегмент, он «на всякий случай» помещает его копию в буфер, называемый также очередью повторной передачи, и запускает таймер. Когда приходит квитанция на этот сегмент, соответствующая копия удаляется из очереди. Если же квитанция не приходит до истечения срока, то сегмент, вернее его копия, посылается повторно.

 

 


16. Заголовок и протокол UDP. Сокеты.

Транспортный протокол 4го уровня, обеспечивающий передачу дейтаграмм:

-без установления соединения и без повторной передачи пакета, без подтверждений,

без определения потерянных или идущих в неправильной послед-ти пакетов, пакеты идут именно в том виде, в котором пришли – того же размера, разбиения нет, быстродействие

Пример – использование приложений по протоколу VoIP – голосовое общение, предполагается, что пользователи сами словами подтверждают сообщения

Заголовок UDP:

Source port – 2байта – порт отправителя

Dest port – 2байта – порт получателя

ChSum – 2байта – контрольная сумма. Если отправ-ль ставит 0 – значит не вычисляется и не проверяется. Для вычисления использ-ся псевдо-заголовок, в котором еще IP-адреса получателя и отправителя. В конце сообщ-я дописывается 8 нулей, если длина сообщения в байт не кратна 2

Протокол UDP:

1. На входной порт подается пакет от ПВУ или от прикладного процесса

2. Формируется заголовок, считается сумма, если надо

3. Логическая доставка пакета

4. Проверка контрольной суммы (либо 0/все правильно, либо неправильно)

5. Если все верно – передает пакет через соотв порт прикладному процессу

6. Если неверно – отбрасываем пакет

Прикладные процессы взаимодействуют с модулем UDP через порты. Все сообщения для данного прикладного процесса проходят через спец выделенный конкретно для этого процесса порт. Общеизвестные номера портов (общеизвестны в Internet, как выделенные для конкр): SNMP – 161(сетевой монитор), boot PC – 68 (протокол загрузки клиента), users – 11 (активные пользователи), 20 – FTP (данные)

При передаче инф-ции через Интернет самое важное – чтобы передатчик и приемник друг друга понимали. Для этого обеспечивают стандартизацию протоколов передачи и стандартизацию интерфейсов между протоколами. У нас м. б. много ПВУ, их надо согласовывать с TCP и UDP через системный интерфейс. Так родилась идея сокетов – устройство двунаправленной связи, используемое для взаимодействия между процессами, находящимися на разных машинах.

Каждый сокет характеризуется протоколом сетевого взаимодействия, локальным и сетевым алресами, постоянно закрепленным или выделенным по запросу портом.

При создании используем параметры:

1. стиль взаимодействия – сессия+установление, дейтаграммы или управляющие команды

2. протокол взаимодействия – TCP, UDP, SNMP

3. пространство имен и адресация
Команды сокета:

Socket – орг-ция пакета (пассивная, активная)

Closes – завершение сокета, Connect – установить,

Bind – привязать к №порта, list – настройки для общения с ПВУ

 

Протоколы T C P и U D P ведут для кажого приложения две системные очереди: очередь данных, поступающих к приложению из сети, и очередь данных, отправляумых этим приложением в сеть. Такие системные очереди называются портами1, причем входная и выходная очереди одного приложения рассматриваются как один порт. Для идентификации портов им присваивают номера.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...