2.2. Транспортный уровень моделей osi, tcp/ip
Транспортный уровень моделей OSI и TCP/IP одинаков как по функциям, так и по названию (см. рис.1.6). TCP/IP – это комбинация двух протоколов. Протокол IP функционирует на сетевом Уровне 3 OSI модели, он является протоколом без предварительного соединения типа connectionless, который обеспечивает наилучшую доставку через сеть (best-effort delivery), но без гарантий, т.е. доставка не надежная. Протокол TCP работает на транспортном Уровне 4 OSI модели и является протоколом типа connection-oriented, т.е. ориентированным на предварительное соединение, которое обеспечивает контроль потока и надежность доставки. Когда эти протоколы объединены, они обеспечивают более широкий объем услуг. Объединение протоколов IP и TCP является базовым для всего набора протоколов TCP/IP. Всемирная сеть Интернет строится на основе набора протоколов TCP/IP.
Основной функцией транспортного уровня является транспортировка и управление потоком информации от источника до устройства назначения, обеспечение надежности и точности. Контроль доставки сообщения из одного конца соединения до другого и надежность обеспечены скользящим окном, последовательностью номеров передаваемых фрагментов данных и квитированием (acknowledgment), т.е. подтверждением приема сообщения.
Транспортный уровень устанавливает логическое соединение между двумя конечными точками сети. Протоколы транспортного уровня сегментируют данные, посланные приложениями верхнего уровня на передающей стороне, и повторно собирают данные на приемной стороне. Этот поток данных транспортного уровня обеспечивается от начала до конца (end-to-end) транспортными услугами.
Таким образом, главными функциями транспортного уровня являются:
Сегментация данных и повторная сборка целого сообщения из полученных сегментов. Большинство сетей имеет ограничение на объем передаваемых сообщений. Поэтому Транспортный уровень делит большое сообщение прикладного уровня на сегменты данных, размер которых соответствует требованиям PDU более низких уровней сетевой модели. Кроме того, если в процессе контроля обнаружится, что принятое сообщение содержит ошибку, то возникает необходимость повторной передачи всего большого сообщения. При обнаружении ошибки в одном из принятых сегментов только данный сегмент и будет передан повторно. Сегменты могут быть направлены к одному или различным узлам назначения. Многие приложения могут разделять одно транспортное соединение. Многочисленные одновременные обмены данными верхнего уровня могут быть мультиплексированы поверх единственного соединения.
Обеспечение многочисленных одновременно протекающих обменов данными верхнего уровня. Эти данные могут быть мультиплексированы поверх единственного соединения (Conversation Multiplexing). На каждом конечном узле сети может быть запущено много разных приложений. Чтобы передавать потоки данных соответствующим приложениям, протокол транспортного уровня должен идентифицировать каждое приложение. В протоколе TCP в качестве идентификатора используют номер порта. Номер порта в заголовке сегмента транспортного уровня указывает, какое приложение создало передаваемые данные и должно обрабатывать полученные данные на приемной стороне. При множественных одновременно протекающих обменах данными каждому из приложений или услуг назначается свой адрес (номер порта) так, чтобы транспортный уровень мог определить, с каким конкретно приложением или службой передаваемые данные должны взаимодействовать.
Наиболее известными протоколами транспортного уровня являются протокол контроля передачи (Transmission Control Protocol – TCP) и протокол дейтаграмм пользователя (User Datagram Protocol – UDP). Протокол контроля передачи (TCP) является ориентированным на предварительное соединение типа connection-oriented. Он обеспечивает контроль потока и надежность, взаимодействует с протоколами прикладного уровня: HTTP, SMTP, FTP и другими. UDP является протоколом дейтаграммного типа connectionless, взаимодействует с такими протоколами прикладного уровня, как система доменных имен – DNS, передачи потока видеоданных – Video Steaming, голос поверх IP – Voice over IP и рядом других. Следует отметить, что система DNS взаимодействует как с TCP, так и с UDP.
Протокол транспортного уровня TCP имеет две первичных обязанности:
Обеспечение контроля потока.
Обеспечение надежности.
Для облегчения контроля и обеспечения надежности сообщения передаются частями (порциями), т.е. сегментами. При этом процессы транспортного уровня узла источника должны прослеживать трассу передаваемых сегментов данных при каждом обмене и повторно передавать любую из этих частей данных, прием которой не был подтвержден устройством назначения. Транспортный уровень хоста на приемной стороне должен проследить получение данных и подтвердить это получение.
Контроль потока необходим, чтобы гарантировать, что источник, передавая данные с некоторой скоростью, не переполняет буферные устройства узла назначения. Если узел назначения не может обрабатывать данные в темпе их поступления, то может произойти потеря данных. Чтобы обеспечивать контроль потока, TCP позволяет узлам источника и назначения связываться и устанавливать скорость передачи данных, которая приемлема обоим. Управление скоростью передачи данных обеспечивается изменением размера скользящего окна (Window), которое указывает, сколько байт данных может быть передано за один прием. После получения порции данных узел назначения посылает источнику подтверждение (acknowledgment). При переполнении буферных устройств узел назначения посылает источнику требование уменьшения размера окна.
Надежность обеспечивается целым рядом мер:
- прослеживание (tracking) переданных данных,
- подтверждение (acknowledging) полученных данных,
- повторная передача любых не подтвержденных (unacknowledged) данных.
Контроль надежности реализуетcя путем задания ряда параметров в заголовке сегмента TCP (рис.2.6), который содержит 20 байт.
Поля TCP сегмента определяют следующее:
- Source Port – номер порта, который посылает данные,
- Destination Port – номер порта, который принимает данные,
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
Source Port | Destination Port | ||||||||||||||||||||||||||||||
Sequence number | |||||||||||||||||||||||||||||||
Acknowledgement Number | |||||||||||||||||||||||||||||||
H L | Reserved | Code Bits | Window | ||||||||||||||||||||||||||||
Checksum | Urgent | ||||||||||||||||||||||||||||||
Options | |||||||||||||||||||||||||||||||
Data |
Рис.2.6. Формат сегмента TCP
- Sequence Number – номер последовательности, используемый, чтобы гарантировать объединение (reassemble) частей (порций) данных в корректном порядке в устройстве назначения,
- Acknowledgment Number – 32 бита последовательного номера подтверждения принятых данных, следующая ожидаемая порция TCP,
- HL – число 32-разрядных слов в заголовке,
- Reserved – разряды поля, установленные в ноль,
- Code bits – 6 разрядов, выполняющих функции контроля, таких как установка и завершение сеанса,
- Window – число октетов в окне,
- Checksum – вычисленная контрольная сумма заголовка и поля данных,
- Urgent pointer – индицирует конец срочных данных,
- Option – Каждая текущая опция определяет максимальный размер TCP сегмента.
Data – Данные протокола верхнего уровня.
Поскольку UDP является протоколом дейтаграммного типа, то в заголовке его сегмента (рис.2.7) отсутствуют такие параметры, как Acknowledgement Number, Window.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
Source Port | Destination Port | ||||||||||||||||||||||||||||||
Length | Checksum | ||||||||||||||||||||||||||||||
Data |
Рис.2.7. Формат сегмента UDP
Поля UDP сегмента определяют следующее:
Source port – номер порта, который посылает данные,
Destination port – номер порта, который принимает данные,
Length – число байт в заголовке и данных,
Checksum –контрольная сумма заголовка и поля данных,
Data – данные протокола верхнего уровня.
Поскольку протокол UDP не обладает механизмами надежности, то она обеспечивается протоколами прикладного уровня. Однако небольшой размер заголовка UDP и отсутствие дополнительной обработки номера последовательности, окна и подтверждения получения данных повышают скорость передачи данных по сравнению с ТСР.
Комбинация номера порта и IP-адреса образует комплексный адрес, так называемый сокет (socket), который определяет не только уникальное устройство, но и программное обеспечение, используемое для создания и обработки сообщения.
Номера портов делятся на несколько типов:
известные номера (Well Known Ports), диапазон адресов которых находится в пределах от 0 до 1023;
зарегистрированные порты с номерами от 1024 до 49151;
динамические частные порты с номерами от 49151 до 65535, которые обычно динамически присваиваются пользователям.
Номера известных портов заданы организацией Internet Assigned Numbers Authority (IANA). Номера известных портов назначаются службам сервиса. Номера некоторых известных портов протокола TCP приведены в табл.2.1
Таблица 2.1
Номера известных портов
-
Протоколы
FTP
Telnet
SMTP
HTTP
HTTPS
POP3
Порты
20, 21
23
25
80
443
110
В приложении протокола передачи файлов FTP используются два стандартных номера порта 20 и 21. Порт 20 используется для передачи данных, а порт 21 – для управления.
Среди известных номеров протокола UDP наиболее распространенные: протокол TFTP – 69, RIP – 520.
Протоколы DNS с номером порта 53 и SNMP – 161 используются как протоколом TCP, так и UDP.
Зарегистрированные порты назначаются как пользователям, так и приложениям. Когда зарегистрированные порты не используются для ресурсов сервера, они могут быть использованы динамически клиентом как номер порта источника. Из зарегистрированных портов можно отметить альтернативные порты HTTP – 8008 и 8080.
Заголовок TCP сегмента (рис.2.6) содержит последовательный номер (Sequence Number), используемый, чтобы гарантировать объединение частей (порций) данных в том порядке, в котором они были переданы. Протокол UDP не имеет такого механизма, поэтому возможны ошибки при объединении частей (порций) данных при передаче по сложной сети. Однако скорость передачи данных с использованием протокола UDP выше, чем TCP.
Если необходимо узнать, какие TCP соединения активны на сетевом узле, то можно использовать команду netstat. В распечатке команды (рис.2.8) указан протокол (TCP), локальный адрес с номером порта, внешний адрес (или имя) с номером порта и состояние связи.
Рис.2.8. Результат выполнения команды netstat
Номер порта локального адреса является динамически назначаемым зарегистрированным портом источника с номером больше 1023. Для адреса www.cisco.com внешний порт задан символически: http. Состояние связи может быть с установленным соединением (ESTABLISHED) или с ожиданием окончания соединения (TIME_WAIT), когда был послан запрос окончания соединения (FIN).
- Федеральное агентство связи
- Государственное образовательное учреждение высшего профессионального образования «Поволжский государственный университет телекоммуникаций и информатики»
- Оглавление
- Предисловие Настоящий курс лекций предназначен для студентов дневной и заочной форм обучения, изучающих аналогичную дисциплину, специальностей:
- Введение
- Лекция 1. Основы построения сетей
- 1.1. Основы сетевых технологий
- 1.2. Классификация сетей передачи данных
- 1.3. Семиуровневая модель взаимодействия открытых систем
- Контрольный тест по Лекции 1
- Лекция 2. Верхние уровни моделей osi, tcp/ip
- 2.1. Прикладной уровень
- Система доменных имен dns
- Протокол http
- Протоколы передачи файлов ftp и tftp
- Протокол разделения сетевых ресурсов smb
- Приложение peer-to-peer (p2p)
- Протоколы передачи электронной почты
- Протокол удаленного доступа Telnet
- 2.2. Транспортный уровень моделей osi, tcp/ip
- Установление соединения
- Управление потоком данных
- Контрольный тест по Лекции 2
- Лекция 3. Нижние уровни модели сети
- 3.1. Физический уровень. Медные кабели
- 3. 2. Волоконно-оптические кабели
- 3.3. Беспроводная среда
- 3.4. Топология сетей
- Контрольный тест по Лекции 3
- Лекция 4. Канальный уровень. Локальные сети
- 4.1. Подуровни llc и mac
- 4.2. Локальные сети технологии Ethernet
- 4.3. Коммутаторы в локальных сетях
- Режимы коммутации
- Протокол охватывающего дерева (Spanning-Tree Protocol)
- Контрольный тест по Лекции 4
- Лекция 5. Ethernet-совместимые технологии
- 5.1. Технология Fast Ethernet
- 5.2. Технология Gigabit Ethernet
- 5.3. Технология 10-Gigabit Ethernet
- Контрольный тест по Лекции 5
- Лекция 6. Принципы и средства межсетевого взаимодействия
- 6.1. Маршрутизаторы в сетевых технологиях
- 6.2. Принципы маршрутизации
- Протокол arp
- Контрольный тест по Лекции 6
- Лекция 7. Адресация в ip - сетях
- 7.1. Логические адреса версии iPv4
- 7.2. Формирование подсетей
- 7.3. Частные и общедоступные адреса
- Контрольный тест по Лекции 7
- Лекция 8. Функционирование маршрутизаторов
- 8.1. Назначение ip-адресов
- 8.2. Передача данных в сетях с маршрутизаторами
- 8.3. Сетевые протоколы. Формат пакета протокола ip
- Контрольный тест по Лекции 8
- Лекция 9. Протоколы маршрутизации
- 9.1. Общие сведения о маршрутизирующих протоколах
- 9.2. Протоколы вектора расстояния и состояния канала
- Меры борьбы с маршрутными петлями
- Контрольный тест по Лекции 9
- Лекция 10. Основы конфигурирования маршрутизаторов
- 10.1. Режимы конфигурирования маршрутизаторов
- 10.2. Создание начальной конфигурации маршрутизатора
- 10.3. Конфигурирование интерфейсов
- Контрольный тест по Лекции 10
- Лекция 11. Конфигурирование маршрутизации
- 11.1. Конфигурирование статической маршрутизации
- Конфигурирование статической маршрутизации по умолчанию
- 11.2. Конфигурирование конечных узлов и верификация сети
- 11.3. Динамическая маршрутизация. Конфигурирование протокола rip
- Конфигурирование динамической маршрутизации по умолчанию
- Контрольный тест по Лекции 11
- Лекция 12. Протокол маршрутизации eigrp
- 12.1. Общие сведения о протоколе eigrp
- 12.2. Конфигурирование протокола eigrp
- Контрольный тест по Лекции 12
- Лекция 13. Протокол маршрутизации ospf
- 13.1. Общие сведения о протоколе ospf
- Метрика протокола ospf
- 13.2. Конфигурирование протокола ospf
- Контрольный тест по Лекции 13
- Лекция 14. Сетевые фильтры
- 14.2. Конфигурирование стандартных списков доступа
- 14.3. Конфигурирование расширенных списков доступа
- Для этого создается список доступа:
- Именованные списки доступа
- Контроль списков доступа
- Контрольный тест по Лекции 14
- Лекция 15. Конфигурирование коммутаторов
- 15.1. Общие вопросы конфигурирования коммутаторов
- Адресация коммутаторов, конфигурирование интерфейсов
- 15.2. Управление таблицей коммутации
- 15.3. Конфигурирование безопасности на коммутаторе
- Контрольный тест по Лекции 15
- Лекция 16. Виртуальные локальные сети
- 16.1. Общие сведения о виртуальных сетях
- 16.2. Конфигурирование виртуальных сетей
- 16.3. Маршрутизация между виртуальными локальными сетями
- Конфигурирование транковых соединений
- Контрольный тест по Лекции 16
- Заключение
- Список литературы
- Список терминов и сокращений