- •Российская открытая академия транспорта Инфокоммуникационные системы и сети
- •Глава 1. Введение в сетевые технологии
- •1.1. Эволюция вычислительных систем
- •1.2. Назначение компьютерной сети
- •1.3. Конфигурация сети
- •1.4. Топология сети
- •1.4.1. Базовые топологии
- •1.4.2. Выбор топологии
- •Глава 2. Физическая среда передачи нформации
- •2.2. Передача дискретных данных на физическом уровне
- •2.3 Методы доступа
- •Глава 3. Сетевые стандарты
- •3.1. Модель osi
- •3.1.1 Уровни модели osi
- •3.1.2. Взаимодействие уровней модели osi
- •3.1.3. Другие сетевые модели
- •3.2. Стандарты Project ieee 802.X
- •Глава 4. Набор протоколов tcp/ip
- •4.1. Описание наиболее распространенных протоколов tcp/ip
- •4.1.1. Межсетевой протокол последовательной линии slip
- •4.1.2. Протокол соединения “точка-точка” ppp
- •4.1.3. Межсетевой протокол ip
- •4.1.4. Протокол управляющих сообщений Internet
- •4.1.5. Протокол преобразования адресов arp
- •4.1.6. Обратный протокол arp
- •2.1.7. Протокол udp
- •2.1.8. Протокол tcp
- •2.1.9. Протокол dhcp
- •4.2. Схема ip адресации
- •4.2.1. Классы и структура ip-адресов
- •4.2.2. Маски подсетей
- •4.2.3. Широковещательные домены и шлюзы по умолчанию
- •4.3 Другие способы адресации, используемые в протоколах tcp/ip
- •4.3.1. Бесклассовая междоменная маршрутизация
- •4.3.2. Адресация уровня 4
- •4.3.3. Трансляция сетевых адресов и адресация в закрытой сети
- •4.3.4. Маршрутизация
- •5. Проектирование лвс
- •Литература
2.1.7. Протокол udp
Протокол пользовательских дейтаграмм (User Datagram Protocol – UDP) в стеке протоколов TCP/IP выполняет функции транспортного протокола без установления логического соединения. Протокол UDP обеспечивает совместное обслуживание сразу нескольких приложений. При этом передается минимальное количество служебной информации. В отличие от TCP, в протоколе UDP отсутствуют механизмы исправления ошибок, упорядочивания или управления потоком данных. Единственное предусмотренное в нем средство, связанное с обработкой ошибок, позволяет обнаруживать ошибки в любой части дейтаграммы UDP, включая область данных. В связи этим протокол UDP обеспечивает значительно большую эффективность использования каналов связи, чем протокол TCP. Для примера, все дополнительные поля в заголовке дейтаграммы TCP могут занимать до 200 бит, а заголовок UDP имеет длину только 64 бита.
Кроме того, протокол UDP проще, чем TCP, поэтому клиентский и серверный компьютер должны затрачивать меньше ресурсов для передачи данных с помощью UDP. Но поскольку протокол UDP является ненадежным, он применяется лишь в немногих приложениях, к числу которых относятся: простейший протокол передачи файлов (Trivial File Transfer Protocol – TFTP) и система доменных имен (Domain Name System – DNS).
Протокол UDP определен в документе RFC 768 (стандарт 6), который находится по адресу ftp://ftp.isi.edu/in-notes/stcl/std6.txt.
2.1.8. Протокол tcp
Протокол управления передачей (Transmission Control Protocol – TCP) является протоколом транспортного уровня с установлением логического соединения и содержит средства управления потоком данных и исправления ошибок.
Высокая надежность передачи данных, которая обеспечивается протоколом TCP, обусловлена тем, что до начала передачи устанавливается сеанс TCP. Процесс установления сеанса TCP между клиентом и сервером (называемый также трехэтапным квитированием) происходит следующим образом. Клиент инициирует сеанс, передавая сегмент с установленным битом синхронизации (SYNchronization – SYN). Этот сегмент содержит данные о размере окна клиента и его текущем порядковом номере. Сервер отвечает на запрос SYN клиента сегментом подтверждение (ACK – acknowledgement) и включает в передаваемый им сегмент бит SYN, данные о размере окна и начальном порядковом номере. Наконец, клиент отвечает на сегмент SYN сервера подтверждением АСК.
После установления сеанса TCP начинается передача данных по методу с применением окон. Существует несколько разновидностей метода передачи с применением окон. Вариант с остановом и ожиданием является самым простым, который состоит из следующих шагов (рис. 4.2):
1. Отправитель (передатчик) посылает данные и заголовок получателю (приемнику) информации, одновременно запуская таймер тайм-аута, и переходит в состояние ожидания до тех пор пока не получит подтверждения от приемника или до истечения времени тайм-аута.
2. Приемник, получив данные и заголовок, посылает передатчику подтверждение (ACK – acknowledgement) приема информации.
3. Передатчик, получив подтверждение ACK, посылает приемнику следующую порцию информации. Если же по каким-либо причинам передатчик не получает подтверждение, то после обнуления таймера тайм-аута, он осуществляет повторную передачу ранее переданных данных.
Рисунок 4.2. Передача данных по методу с остановом и ожиданием
Метод передачи с применением окон позволяет предотвратить передачу одним устройством другому чрезмерно интенсивного потока данных в процессе обмена данными по сети, поскольку передача не возобновляется до тех пор, пока не будет получено подтверждение ACK.
Метод передачи с применением окон, предусмотренный в протоколе TCP, является динамическим, т.е. размер окна может изменяться на протяжении одного сеанса передачи данных. В процессе первоначального установления сеанса определяется базовый размер окна. Кроме того, отправителю передается начальный порядковый номер (SEQuence number – SEQ), который указывает номер начального байта. В заголовке TCP каждого передаваемого сегмента содержится поле размера окна, который указывает размер окна, установленный другим участником соединения. Если возникает ошибка и часть данных теряется (вызывая повторную передачу данных программным обеспечением TCP), хост получателя может уменьшить размер окна. С другой стороны, если значительные объемы данных были приняты без ошибок, хост отправителя может увеличить размер окна.
Метод передачи с применением окон, предусмотренный в протоколе TCP, не только представляет собой динамический процесс, но и осуществляется в дуплексном режиме. Это означает, что на каждом хосте предусмотрена возможность и передавать, и принимать данные о размере и положении окна. Каждое окно применяется независимо от другого и может увеличиваться или уменьшаться с учетом условий передачи в соответствующем направлении.
Еще одним важным средством протокола TCP является способность мультиплексировать логические сеансы между удаленными хостами. Такая возможность предусмотрена и в TСР, и в UDP и позволяет применять одновременно сразу несколько соединений, поскольку данные, передаваемые по каждому из них, различаются с помощью транспортного протокола.
Процесс разрыва сеанса TCP аналогичен процессу его установления. Вначале участник соединения, желающий закрыть сеанс (предположим, что в данном примере это – клиент), инициализирует процесс завершения сеанса, отправляя сегмент с установленным битом завершения (FINish – FIN). Сервер отвечает, передавая в ответ на сегмент FIN клиента подтверждение АСК. Затем сервер передает собственный сегмент с установленным битом FIN. После этого клиент передает в ответ на сегмент FIN сервера подтверждение АСК и сеанс закрывается.
Протокол TCP определен документом RFC 793 (стандарт 7), который находится по адресу ftp://ftp.isi.edu/in-notes/std/std7.txt.
