
- •Многоуровневая организация Интернета. Уровни и протоколы. (Слайд 1)
- •1. Базовая эталонная модель взаимодействия открытых систем. Протоколы уровней.
- •2. Стек протоколов Интернета
- •3. Сетевые устройства и уровни коммуникационной модели
- •4. Прикладной уровень
- •4.1. Принципы работы протоколов прикладного уровня
- •4.2. Протоколы прикладного уровня
- •4.3. Клиентская и серверная стороны приложения
- •4.4. Взаимодействие процессов через сеть
- •5. Транспортный уровень
- •Протокол tcp (Transmission Control Protocol — протокол управления передачей):
- •5.1. Службы транспортного уровня
- •5.2. Взаимодействие между транспортным и сетевым уровнями
- •5.3. Транспортный уровень в Интернете
- •6. Сетевой уровень и маршрутизация
- •6.1. Функции сетевого уровня
- •6.2. Понятие модели сетевого обслуживания
- •7. Канальный уровень
- •7.1. Службы канального уровня
- •7.2. Адаптеры
- •8. Физический уровень
4.4. Взаимодействие процессов через сеть
Как было сказано выше, многие приложения состоят из двух сторон, взаимодействующих друг с другом через компьютерную сеть. Взаимодействие осуществляется путем передачи и приема сообщений.
Процесс выполняет прием и передачу сообщений через свой сокет (или API – см. выше) - интерфейс между прикладным и транспортным уровнями хоста, осуществляющий связь приложения и компьютерной сети.
Взаимодействие двух процессов через Интернет посредством сокетов (TCP или UDP) осуществляется следующим образом (Слайд 10). Когда процессу необходимо произвести отправку сообщения, он проводит сообщение через сокет, предполагая, службы более низких уровней осуществят доставку сообщения до адресата. Там сообщение через сокет адресата непосредственно передается приложению, которое и осуществляет его обработку.
Разработчик приложения отвечает за часть сокета, относящуюся к прикладному уровню. На транспортном уровне в компетенции разработчика лишь выбор протокола этого уровня и установка значений его нескольких параметров (максимальный размер буфера, максимальный размер сегмента и др.). Приложение всегда строится с использованием единственного транспортного протокола.
5. Транспортный уровень
Главная функция транспортного уровня заключается в передаче сообщений прикладного уровня между клиентом и сервером. В Интернете существуют два транспортных протокола:
Протокол tcp (Transmission Control Protocol — протокол управления передачей):
обеспечивает передачу с установлением логического соединения, (надежную передачу с контролем переполнения),
производит разбиение длинных сообщений на более короткие сообщения,
выполняет контроль перегрузки - принудительное снижение скорости передачи оконечной системы при высокой загрузке сети.
Протокол UDP (User Datagram Protocol — протокол пользовательских дейтаграмм) обеспечивает передачу сообщений без установления логического соединения (ненадежный вид связи, где допускаются искажения и потери данных).
Транспортный уровень расположен между прикладным и сетевым уровнями коммуникационной модели. У него ключевая роль в архитектуре Интернета, т.к. он предоставляет услуги непосредственно прикладным процессам, выполняющимся на оконечных системах.
5.1. Службы транспортного уровня
Протокол транспортного уровня обеспечивает логическое соединение между прикладными процессами, выполняющимися на разных хостах. Логическое соединение с точки зрения приложений выглядит как канал, непосредственно соединяющий процессы, хотя реальная связь между процессами может осуществляться с помощью длинной цепи маршрутизаторов и разнообразных линий связи. С помощью логического соединения независимо от его физической инфраструктуры процессы могут осуществлять обмен данными. (Слайд 11).
Очевидно, что протоколы транспортного уровня поддерживаются оконечными системами, но не поддерживаются маршрутизаторами.
Маршрутизаторы обрабатывают сообщения сетевого уровня и не оказывают влияния на сообщения транспортного уровня. На передающей стороне транспортный протокол преобразует сообщения приложения в сообщения транспортного уровня. Это преобразование обычно подразумевает разбиение сообщения, полученного от приложения, на несколько фрагментов с добавлением к каждому фрагменту заголовка транспортного уровня. Затем транспортный уровень передает свои сообщения сетевому уровню. На приемной стороне транспортный уровень получает сообщения сетевого уровня, преобразует их в сообщения транспортного уровня, отбрасывает заголовки, производит необходимую обработку (например, сборку) и передает результат приложению.