Протоколы TCP и UDP
И TCP, и UDP соответствуют четвертому уровню модели OSI, который является транспортным уровнем чуть выше уровня IP. TCP и UDP поддерживают передачу данных двумя разными способами: TCP ориентирован на соединение, а UDP - без соединения.
При транспортировке пакетов существуют два основных ограничения: надежность и задержка. Надежность - это гарантированная доставка пакета, а задержка - своевременная доставка пакета. Оба не могут быть достигнуты до пика одновременно, но могут быть оптимизированы.
Чтобы инициировать передачу данных между двумя узлами, отправитель должен знать IP-адрес получателя, а также номер порта. IP-адрес предназначен для маршрутизации пакета, а номер порта - для передачи пакета нужному человеку. Продолжая объяснять этот сценарий на примере реального мира, подумайте о среде с несколькими торговыми комплексами, и кто-то направил вас в магазин 30 (это парикмахерская), Golden Plaza, No 21 Park Ave, чтобы добраться до этого места, вам нужно знать только Нет 21 park avenue, но чтобы получить услугу от салона, вам нужно знать номер магазина, который равен 30. Вы можете принять номер 21 в качестве IP-адреса и номер магазина 30 в качестве номера порта.
То же, что и в модели передачи данных и сервисов приложений TCP-приложения прослушивают номера портов, чтобы принять TCP-соединения. Так же, как приложения UDP, также прослушивают номера портов для доставки услуг UDP.
TCP:
Определено в RFC 793
TCP - это сквозной надежный протокол, ориентированный на соединение, для поддержки гарантированной передачи данных. От самого установления соединения TCP обеспечивает надежность. Некоторыми из основных функций TCP являются 3-стороннее рукопожатие (SYN, SYN-ACK, ACK), обнаружение ошибок, медленный запуск, управление потоком и управление перегрузкой.
TCP - надежный транспортный механизм, поэтому он будет использоваться там, где доставка пакетов необходима даже в условиях перегрузки. Типичным примером для приложений TCP и номеров портов являются данные FTP (20), управление FTP (21), SSH (222), Telnet (23), почта (25), DNS (53), HTTP (80), POP3 (110)., SNMP(161) и HTTPS(443). Это хорошо известные TCP-приложения.
UDP:
Определено в RFC 768
UDP (протокол пользовательских дейтаграмм) - это простой протокол передачи, обеспечивающий ненадежное обслуживание. Это не означает, что UDP не будет доставлять данные, но нет механизмов для контроля перегрузки, потери пакетов и т. д. Поскольку он прост, он позволяет избежать служебной обработки на сетевом интерфейсе. Приложения реального времени в основном используют UDP, потому что отбрасывание пакетов предпочтительнее, чем задержанные пакеты. Типичным примером являются мультимедийные потоки передачи голоса по IP.
Обзор:
(1) TCP ориентирован на соединение и надежен, в то время как UDP не обеспечивает соединения и ненадежен.
(2) TCP требует дополнительной обработки на уровне сетевого интерфейса, в отличие от UDP.
(3) TCP использует трехстороннее рукопожатие, управление перегрузкой, управление потоком и другие механизмы для обеспечения надежной передачи.
(4) UDP в основном используется в тех случаях, когда задержка пакетов более серьезна, чем потеря пакетов. (Приложения в реальном времени)