Понимание принципов функционирования UDP и TCP. Часть 1.
Нужны новые клиенты? Тогда Вам рекомендуем посмотреть этот раздел нашего сайта
_____
Для нормального функционирования большинства локальных и глобальных сетей важно поддерживать надёжную передачу данных. Разработчики приложений могут обеспечить надежность передачи путем разработки соответствующего программного обеспечения или с помощью определенных служб, поддерживаемых сетевым протоколом. В модели взаимодействия открытых систем (Open System Interconnection – OSI) процессом поддержки надежности передачи данных управляет транспортный уровень. Транспортный уровень скрывает подробности любой информации, имеющей отношение к сети от вышележащих уровней, обеспечивая тем самым прозрачную передачу данных. UDP и TCP – два протокола, которые работают между сетевым уровнем и уровнем приложений. Изучение того, как протоколы UDP и TCP работают между сетевым уровнем и уровнем приложений, обеспечивает более полное понимание процесса передачи данных в сетях TCP/IP. Этот урок направлен на изучение функций транспортного уровня и работы протоколов UDP и TCP.
Функции транспортного уровня
Расположенный между уровнем приложений и сетевым уровнем, транспортный уровень является основой работы многоуровневой сетевой архитектуры TCP/IP.
Сетевой уровень маршрутизирует информацию к получателю, но не гарантирует, что данные придут в правильном порядке, без ошибок и потерь. На транспортном уровне работают два протокола – UDP и TCP. Эти протоколы обеспечивают работу коммуникационных сервисов до приложения, работающего на хосте. «Базовый сервис», обеспечиваемый транспортным уровнем – мультиплексирование сеансов связи (session multiplexing), которое выполняется как протоколом UDP, так и TCP. «Премиальный сервис» обеспечивает надежную доставку на транспортном уровне. Этот сервис поддерживается только протоколом TCP.
Первоочередная обязанность транспортного уровня — присоединение сеансов приложений к сетевому уровню, которое обеспечивается как UDP, так и TCP. Если применяется протокол TCP, то на транспортный уровень возлагается большая ответственность за установление сквозных операций, сегментацию, управление потоком и применение механизмов повышения надёжности передачи.
Пример: UDP – отправка обычной почты
Аналогией работы протокола UDP может служить работа почтового отделения, когда Вы отправляете оплаченные счета. Вы отправляете каждый счёт согласно определенному адресу компании в запечатанном конверте, указав обратный адрес. Почтовая служба гарантирует только доставку по принципу «лучшая из возможной» для каждого счёта. Почтовое отделение не гарантирует доставку и не высылает клиенту уведомление об удачной или не удачной доставке письма. По аналогии с работой почтового отделения, протокол UDP является простым протоколом, который обеспечивает только основные сервисы передачи данных.
Пример: TCP – отправка заказных писем
В качестве аналогии работы протокола TCP можно привести отправку заказных писем по почте. Допустим, что вы проживаете в Сан-Франциско и хотите отправить книгу своей маме в Нью-Йорк, но почтовое отделение отправляет только письма. Вы вырываете страницы из книги и вкладываете каждую страницу в отдельный конверт. Что бы Ваша мама смогла правильно сшить книгу, Вы нумеруете каждый конверт. Далее Вы проставляете адреса на конвертах и посылаете первый конверт заказным письмом. Почтовая служба доставляет конверт абоненту любым транспортом по любому маршруту. После доставки конверта адресату, почтальон обязан получить письменное подтверждение о получении корреспонденции от Вашей мамы и вернуть это подтверждение Вам.
Отправка каждой страницы книги по отдельности – очень трудоёмкий процесс, поэтому Вы принимаете решение об отправки конвертов вместе. В этом случае почтовая служба точно также сама выбирает любой маршрут и транспорт для доставки. Ваша мама просматривает по отдельности каждую квитанцию для каждого полученного конверта из всей пачки. Если один из конвертов потерялся в пути, то Вы не получите уведомление о доставке для этого конверта и в этом случае Вы отправляете страницу заново. После приёма всех конвертов, Ваша мама складывает страницы в правильном порядке и сшивает книгу. TCP – сложный протокол, схожий с заказной почтой, и предлагающий более точные и пригодные для контроля сервисы передачи данных чем UDP.