logo
Основы организации компьютерных сетей

Установление соединения с одноранговой системой

 

В эталонной модели OSI несколько приложений может коллективно использовать одно транспортное соединение. Функции транспорта реализуются посегментно. Это означает, что различные приложения могут посылать данные по принципу «первый пришел, первый получил обслуживание». Такие сегменты могут предназначаться для одного получателя или для многих.

Для того чтобы увидеть, как это работает, предположим, что по сети отправляется сообщение электронной почты с присоединенными к нему файлами. Одним из присоединенных файлов является файл, созданный текстовым редактором Microsoft Word, а второй файл – электронная таблица Excel.

При отсылке электронного почтового сообщения еще до начала передачи программное обеспечение устройства устанавливает номер порта для каждой использованной прикладной программы. Он включает дополнительные биты, с помощью которых кодируются тип сообщения, порождающая программа и используемый протокол. Когда каждое приложение, использованное в электронном почтовом сообщении, посылает сегмент потока данных, оно использует этот ранее заданный номер порта. Устройство в пункте назначения, принимая поток данных, разделяет и сортирует сегменты таким образом, что транспортный уровень может передавать данные правильному приложению на машине-получателе. В результате данные Excel-файла принимаются и читаются на устройстве в пункте назначения программой Excel, a Word-файл принимается и читается на устройстве в пункте назначения программой Word.

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

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

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

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

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

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