русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Порты и установление TCP-соединений


Дата добавления: 2013-12-23; просмотров: 1482; Нарушение авторских прав


Организация клиент-серверной связи

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

Клиент – это инициатор связи, тот, кто формирует запрос на соединение и передает его в сеть. Очевидно, что в пакете должен быть указан адрес (имя) компьютера, которому необходимо передать пакет. Кроме того, в пакете должно быть некоторое имя (адрес) серверного приложения.

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

В качестве адреса компьютера используется IP-адрес, а в качестве адреса приложения используется номер порта.

В протоколах TCP и UDP для связи с прикладными процессами используются порты.

Важно!В данном случае имеются в виду логические, а не физические порты!

Номера портам присваиваются следующим образом: имеются стандартные, зарезервированные номера (например, номер 21 закреплен за сервисом FTP, 23 - за telnet), а менее известные приложения пользуются произвольно выбранными локальными номерами.

Получается, что серверное приложение заранее объявляет о номере порта, по которому оно ожидает пакеты. Клиенты должны указывать этот номер порта сервера. Таким образом реализуется связь протоколом UDP.

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



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

 

 

Одна оконечная точка может участвовать в нескольких соединениях, то есть один сервер может одновременно обслуживать нескольких клиентов.

Установление соединения выполняется в следующей последовательности:

  • При установлении соединения одна из сторон является инициатором. Она посылает запрос к протоколу TCP на открытие порта для передачи (active open).
  • После открытия порта протокол TCP на стороне процесса-инициатора посылает запрос процессу, с которым требуется установить соединение.
  • Протокол TCP на приемной стороне открывает порт для приема данных (passive open) и возвращает квитанцию, подтверждающую прием запроса.
  • Для того чтобы передача могла вестись в обе стороны, протокол на приемной стороне также открывает порт для передачи (active port) и также передает запрос к противоположной стороне.
  • Сторона-инициатор открывает порт для приема и возвращает квитанцию. Соединение считается установленным. Далее происходит обмен данными в рамках соединения.


<== предыдущая лекция | следующая лекция ==>
Сегменты TCP | Концепция квитирования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.