Лекция №1 Тема: Содержание, предмет и метод «Коммуникация данных»


Протокол управления передачей (TCP)



Download 13,57 Mb.
Pdf ko'rish
bet90/188
Sana15.11.2022
Hajmi13,57 Mb.
#866044
TuriЛекции
1   ...   86   87   88   89   90   91   92   93   ...   188
Bog'liq
передача данных

Протокол управления передачей (TCP) 
Протокол TCP отвечает за надежную передачу данных от одного узла сети 
к другому. Он создает сеанс с установлением соединения, иначе говоря 
виртуальный канал между машинами. Установление соединения происходит в 
три шага: 
1.
Клиент, запрашивающий соединение, отправляет серверу пакет, 
указывающий номер порта, который клиент желает использовать, а также код 
(определенное число) ISN (Initial Sequence number). 
2.
Сервер отвечает пакетом, содержащий ISN сервера, а также ISN 
клиента, увеличенный на 1. 
3.
Клиент должен подтвердить установление соединения, вернув ISN 
сервера, увеличенный на 1. 
Трехступенчатое открытие соединения устанавливает номер порта, а также 
ISN клиента и сервера. Каждый, отправляемый TCP – пакет содержит номера 
TCP – портов отправителя и получателя, номер фрагмента для сообщений, 
разбитых на меньшие части, а также контрольную сумму, позволяющую 
убедиться, что при передачи не произошло ошибок. 
Адресация в IP-сетях.Каждый компьютер в сетях TCP/IP имеет адреса трех 
уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя).
Физический, или локальный адрес узла, определяемый технологией, с 
помощью которой построена сеть, в которую входит узел. Для узлов, входящих 
в локальные сети - это МАС–адрес сетевого адаптера или порта маршрутизатора, 
например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями 
оборудования и являются уникальными адресами, так как управляются 
централизовано. Для всех существующих технологий локальных сетей МАС – 
адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы 
производителя, а младшие 3 байта назначаются уникальным образом самим 
производителем. 
Сетевой, или IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот 
адрес используется на сетевом уровне. Он назначается администратором во 
время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из 


251 
двух частей: номера сети и номера узла. Номер сети может быть выбран 
администратором произвольно, либо назначен по рекомендации специального 
подразделения Internet (Network Information Center, NIC), если сеть должна 
работать как составная часть Internet. Обычно провайдеры услуг Internet 
получают диапазоны адресов у подразделений NIC, а затем распределяют их 
между своими абонентами. Номер узла в протоколе IP назначается независимо 
от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла 
- гибкое, и граница между этими полями может устанавливаться произвольно. 
Узел может входить в несколько IP-сетей. В этом случае узел должен иметь 
несколько IP-адресов, по числу сетевых связей. IP-адрес характеризует не 
отдельный компьютер или маршрутизатор, а одно сетевое соединение. 
Современный мир немыслим без средств связи. Десятки миллионов 
устройств по всему миру связываются посредством компьютерных сетей. И 
каждая компьютерная сеть организована по определенным стандартам. Любые 
устройства взаимодействуют по общепринятой модели OSI, или Базовой 
Эталонной Модели Взаимодействия Открытых Систем. Данная модель 
определяет взаимодействие различных сетевых устройств на семи уровнях 
– Media (к ним относятся физический, канальный и сетевой) и Host – 
(транспортный, сеансовый, представления и прикладной). В данной статье мы 
рассмотрим два самых распространенных сетевых протокола транспортного 
уровня – TCP и UDP, примеры их применения, а также сравним их 
характеристики. 
Рис.14.2 
Протокол TCP (Transmission Control Protocol) – это сетевой протокол, 
который «заточен» под соединение. Иными словами, прежде, чем начать обмен 
данными, данному протоколу требуется установить соединение между двумя 


252 
хостами. Данный протокол имеет высокую надежность, поскольку позволяет не 
терять данные при передаче, запрашивает подтверждения о получении от 
принимающей стороны и в случае необходимости отправляет данные повторно. 
При этом отправляемые пакеты данных сохраняют порядок отправки, то есть 
можно сказать, что передача данных упорядочена. Минусом данного протокола 
является относительно низкая скорость передачи данных, за счет того что 
выполнение надежной и упорядоченной передачи занимает больше времени, чем 
в альтернативном протоколе UDP. 
Рис.14.3 
Протокол UDP (User Datagram Protocol), в свою очередь, более прост. Для 
передачи данных ему не обязательно устанавливать соединение между 
отправителем и получателем. Информация передается без предварительной 
проверки готовности принимающей стороны. Это делает протокол менее 
надежным – при передаче некоторые фрагменты данных могут теряться. Кроме 
того, упорядоченность данных не соблюдается – возможен непоследовательный 
прием данных получателем. Зато скорость передачи данных по данному 
транспортному протоколу будет более высокой. 


253 
Рис.14.4 
Приведем несколько основных пунктов: 

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

Упорядоченность: опять будет предпочтительнее TCP, поскольку 
этот протокол гарантирует передачу пакетов данных именно в том порядке, в 
котором они были отправлены. В случае с UDP такой порядок не соблюдается; 

Скорость: здесь уже лидировать будет UDP, так как более 
тяжеловесному TCP-протоколу будет требоваться больше времени для 
установки соединения, подтверждения получения, повторной отправки данных 
и т.д. ; 

Метод передачи данных: в случае с TCP данные передаются 
потоково, границы фрагментов данных не имеют обозначения. В случае с UDP 
данные передаются в виде датаграмм – проверка пакетов на целостность 
осуществляется принимающей стороной только в случае получения сообщения. 
Также пакеты данных имеют определенные обозначения границ; 
Сравнивая оба протокола, очевидно, что протокол TCP – это, можно 
сказать, «снайпер». Прицелился, выстрелил, зафиксировал попадание, ищет 
следующую цель. UDP – это, скорее, «пулеметчик» - выставил ствол в 
направлении врага и начал долбить очередями, не слишком заботясь о точности. 
Как в войсках важны обе эти воинские специальности, так и в интернете важны 
оба этих протокола. TCP применяется там, где требуется точная и 
подтверждаемая передача данных – например, отправка фотографий, или 
переписка между пользователями. UDP, в свою очередь, нужен для общения в 


254 
голосовом формате, или при передаче потокового видео, например, с веб-камер 
или IP-камер. 
TCP (Transmission Control Protocol) Обмен данными, ориентированный на 
соединения, может использовать надежную связь, для обеспечения которой 
протокол уровня 4 посылает подтверждения о получении данных и запрашивает 
повторную передачу, если данные не получены или искажены. Протокол TCP 
использует именно такую надежную связь. TCP используется в таких 
прикладных протоколах, как HTTP, FTP, SMTP и Telnet. Протокол TCP требует, 
чтобы перед отправкой сообщения было открыто соединение. Серверное 
приложение должно выполнить так называемое пассивное открытие (passive 
open), чтобы создать соединение с известным номером порта, и, вместо того 
чтобы отправлять вызов в сеть, сервер переходит в ожидание поступления 
входящих запросов. Клиентское приложение должно выполнить активное 
открытие (active open), отправив серверному приложению синхронизирующий 
порядковый номер (SYN), идентифицирующий соединение. Клиентское 
приложение может использовать динамический номер порта в качестве 
локального порта. 
Поля заголовка TCP перечислены в следующей таблице: 
Заголовок TCP 
Поле 
Длина 
Описание 
Порт источника 
2 байта 
Номер порта источника 
Порт назначения 
2 байта 
Номер порта назначения 
Последовательный 
номер 
4 байта 
Последовательный номер 
генерируется источником и 
используется назначением, чтобы 
переупорядочить пакеты для 
создания исходного сообщения и 
отправить подтверждение 
источнику. 
Номер 
подтверждения 
4 байта 
Если установлен бит АСК поля 
"Управление", в данном поле 
содержится следующий ожидаемый 
последовательный номер. 
Смещение данных 
4 бита 
Информация о начале пакета 
данных. 


255 
Резерв 
6 битов 
Резервируются для будущего 
использования. 
Управление 
6 битов 
Биты управления содержат флаги, 
указывающие, верны ли поля 
подтверждения (АСК), указателя 
срочности 
(URG), 
следует 
ли 
сбрасывать 
соединение 
(RST), 
послан 
ли 
синхронизирующий 
последовательный номер (SYN) и т. 
д. 
Размер окна 
2 байта 
В этом поле указывается размер 
приемного 
буфера. 
Используя 
подтверждающие 
сообщения, 
получатель может информировать 
отправителя 
о 
максимальном 
размере данных, которые тот может 
отправить. 
Контрольная 
сумма 
2 байта 
Контрольная сумма заголовка и 
данных; по ней определяется, был ли 
искажен пакет. 
Указатель 
срочности 
2 байта 
В этом поле целевое устройство 
получает информацию о срочности 
данных. 
Опции 
переменная 
Необязательные значения, которые 
указываются при необходимости. 
Дополнение 
переменная 
В поле дополнения добавляется 
столько нулей, чтобы заголовок 
заканчивался на 32-битной границе. 
TCP — это сложный, требующий больших затрат времени протокол, что 
объясняется его механизмом установления соединения, но он берет на себя 
заботу о гарантированной доставке пакетов, избавляя нас от необходимости 
включать эту функциональную возможность в прикладной протокол. Протокол 
TCP имеет встроенную возможность надежной доставки. Если сообщение не 


256 
отправлено корректно, мы получим сообщение об ошибке. Протокол TCP 
определен в RFC 793. 
UDP (User Datagram Protocol) В отличие от TCP UDP — очень быстрый 
протокол, поскольку в нем определен самый минимальный механизм, 
необходимый для передачи данных. Конечно, он имеет некоторые недостатки. 
Сообщения поступают в любом порядке, и то, которое отправлено первым, 
может быть получено последним. Доставка сообщений UDP вовсе не 
гарантируется, сообщение может потеряться, и могут быть получены две копии 
одного и того же сообщения. Последний случай возникает, если для отправки 
сообщений в один адрес использовать два разных маршрута. 
UDP не требует открывать соединение, и данные могут быть отправлены 
сразу же, как только они подготовлены. UDP не отправляет подтверждающие 
сообщения, поэтому данные могут быть получены или потеряны. Если при 
использовании UDP требуется надежная передача данных, ее следует 
реализовать в протоколе более высокого уровня. 
Так в чем же преимущества UDP, зачем может понадобиться такой 
ненадежный протокол? Чтобы понять причину использования UDP, нужно 
различать однонаправленную передачу, широковещательную передачу и 
групповую рассылку. 
Однонаправленное (unicast) сообщение отправляется из одного узла 
только в один другой узел. Это также называется связью "точка-точка". 
Протокол TCP поддерживает лишь однонаправленную связь. Если серверу 
нужно с помощью TCP взаимодействовать с несколькими клиентами, каждый 
клиент должен установить соединение, поскольку сообщения могут 
отправляться только одиночным узлам. 
Широковещательная передача (broadcast) означает, что сообщение 
отправляется всем узлам сети. Групповая рассылка (multicast) - это 
промежуточный механизм: сообщения отправляются выбранным группам узлов. 
UDP может использоваться для однонаправленной связи, если требуется 
быстрая передача, например для доставки мультимедийных данных, но главные 
преимущества UDP касаются широковещательной передачи и групповой 
рассылки. 
Обычно, когда мы отправляем широковещательные или групповые 
сообщения, не нужно получать подтверждения из каждого узла, поскольку тогда 
сервер будет наводнен подтверждениями, а загрузка сети возрастет слишком 
сильно. Примером широковещательной передачи является служба времени. 
Сервер времени отправляет широковещательное сообщение, содержащее 
текущее время, и любой хост, если пожелает, может синхронизировать свое 
время с временем из широковещательного сообщения. 


257 
Заголовок UDP гораздо короче и проще заголовка TCP 
Заголовок UDP 
Поле 
Длина 
Описание 
Порт 
источника 

байта 
Указание порта источника для UDP 
необязательно. Если это поле используется, 
получатель может отправить ответ этому 
порту. 
Порт 
назначения 

байта 
Номер порта назначения 
Длина 

байта 
Длина сообщения, включая заголовок и 
данные. 
Контрольная 
сумма 

байта 
Контрольная сумма заголовка и данных для 
проверки 
UDP — это быстрый протокол, не гарантирующий доставки. Если 
требуется поддержание порядка сообщений и надежная доставка, нужно 
использовать TCP. UDP главным образом предназначен для широковещательной 
и групповой передачи. Протокол UDP определен в RFC 786. 

Download 13,57 Mb.

Do'stlaringiz bilan baham:
1   ...   86   87   88   89   90   91   92   93   ...   188




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish